Skip to content

Commit

Permalink
adapt patches to each version
Browse files Browse the repository at this point in the history
  • Loading branch information
SpaceIm committed Oct 1, 2023
1 parent 27b45dc commit 9938beb
Show file tree
Hide file tree
Showing 5 changed files with 77 additions and 8 deletions.
16 changes: 8 additions & 8 deletions recipes/qt/5.x.x/conandata.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,12 +78,12 @@ patches:
"patch_file": "patches/android-openssl.diff"

Check warning on line 78 in recipes/qt/5.x.x/conandata.yml

View workflow job for this annotation

GitHub Actions / Lint changed files (YAML files)

conandata.yml schema warning

Schema outlined in https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/conandata_yml_format.md#patches-fields is not followed. required key(s) 'patch_description', 'patch_type' not found in - base_path: qt5/qtbase ^ (line: 77)
- "base_path": "qt5/qtbase"
"patch_file": "patches/android-new-ndk.diff"
- patch_file: "patches/fix-qmake-default-libdirs-apple-clang-15.patch"
- patch_file: "patches/5.15.8-fix-qmake-default-libdirs-apple-clang-15.patch"
base_path: "qt5/qtbase"
patch_description: "Fix qmake build with apple-clang>=15"
patch_type: "portability"
patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/503916"
- patch_file: "patches/fix-macos-cpp-lib-memory-resource.patch"
- patch_file: "patches/5.15.10-fix-macos-cpp-lib-memory-resource.patch"
base_path: "qt5/qtbase"
patch_description: "Fix usage of memory_resource with apple-clang>=15 and deployment target of macOS < 14"
patch_type: "portability"
Expand Down Expand Up @@ -111,12 +111,12 @@ patches:
"patch_file": "patches/android-openssl.diff"
- "base_path": "qt5/qtbase"
"patch_file": "patches/android-new-ndk.diff"
- patch_file: "patches/fix-qmake-default-libdirs-apple-clang-15.patch"
- patch_file: "patches/5.15.8-fix-qmake-default-libdirs-apple-clang-15.patch"
base_path: "qt5/qtbase"
patch_description: "Fix build with apple-clang 15"
patch_type: "portability"
patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/503916"
- patch_file: "patches/fix-macos-cpp-lib-memory-resource.patch"
- patch_file: "patches/5.15.7-fix-macos-cpp-lib-memory-resource.patch"
base_path: "qt5/qtbase"
patch_description: "Fix usage of memory_resource with apple-clang>=15 and deployment target of macOS < 14"
patch_type: "portability"
Expand Down Expand Up @@ -144,12 +144,12 @@ patches:
base_path: "qt5/qtbase"
- patch_file: "patches/android-new-ndk.diff"
base_path: "qt5/qtbase"
- patch_file: "patches/fix-qmake-default-libdirs-apple-clang-15.patch"
- patch_file: "patches/5.15.8-fix-qmake-default-libdirs-apple-clang-15.patch"
base_path: "qt5/qtbase"
patch_description: "Fix build with apple-clang 15"
patch_type: "portability"
patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/503916"
- patch_file: "patches/fix-macos-cpp-lib-memory-resource.patch"
- patch_file: "patches/5.15.7-fix-macos-cpp-lib-memory-resource.patch"
base_path: "qt5/qtbase"
patch_description: "Fix usage of memory_resource with apple-clang>=15 and deployment target of macOS < 14"
patch_type: "portability"
Expand Down Expand Up @@ -185,12 +185,12 @@ patches:
base_path: "qt5/qtbase"
- patch_file: "patches/android-new-ndk.diff"
base_path: "qt5/qtbase"
- patch_file: "patches/fix-qmake-default-libdirs-apple-clang-15.patch"
- patch_file: "patches/5.15.7-fix-qmake-default-libdirs-apple-clang-15.patch"
base_path: "qt5/qtbase"
patch_description: "Fix build with apple-clang 15"
patch_type: "portability"
patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/503916"
- patch_file: "patches/fix-macos-cpp-lib-memory-resource.patch"
- patch_file: "patches/5.15.7-fix-macos-cpp-lib-memory-resource.patch"
base_path: "qt5/qtbase"
patch_description: "Fix usage of memory_resource with apple-clang>=15 and deployment target of macOS < 14"
patch_type: "portability"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
--- a/src/corelib/global/qcompilerdetection.h
+++ b/src/corelib/global/qcompilerdetection.h
@@ -1041,16 +1041,22 @@
# endif // !_HAS_CONSTEXPR
# endif // !__GLIBCXX__ && !_LIBCPP_VERSION
# endif // Q_OS_QNX
-# if (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC) && defined(__GNUC_LIBSTD__) \
- && ((__GNUC_LIBSTD__-0) * 100 + __GNUC_LIBSTD_MINOR__-0 <= 402)
+# if (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC)
+# if defined(__GNUC_LIBSTD__) && ((__GNUC_LIBSTD__-0) * 100 + __GNUC_LIBSTD_MINOR__-0 <= 402)
// Apple has not updated libstdc++ since 2007, which means it does not have
// <initializer_list> or std::move. Let's disable these features
-# undef Q_COMPILER_INITIALIZER_LISTS
-# undef Q_COMPILER_RVALUE_REFS
-# undef Q_COMPILER_REF_QUALIFIERS
+# undef Q_COMPILER_INITIALIZER_LISTS
+# undef Q_COMPILER_RVALUE_REFS
+# undef Q_COMPILER_REF_QUALIFIERS
// Also disable <atomic>, since it's clearly not there
-# undef Q_COMPILER_ATOMICS
-# endif
+# undef Q_COMPILER_ATOMICS
+# endif
+# if defined(__cpp_lib_memory_resource) \
+ && ((defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 140000) \
+ || (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 170000))
+# undef __cpp_lib_memory_resource // Only supported on macOS 14 and iOS 17
+# endif
+# endif // (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC)
# if defined(Q_CC_CLANG) && defined(Q_CC_INTEL) && Q_CC_INTEL >= 1500
// ICC 15.x and 16.0 have their own implementation of std::atomic, which is activated when in Clang mode
// (probably because libc++'s <atomic> on OS X failed to compile), but they're missing some
--- a/src/corelib/tools/qduplicatetracker_p.h
+++ b/src/corelib/tools/qduplicatetracker_p.h
@@ -52,7 +52,7 @@

#include <qglobal.h>

-#if QT_HAS_INCLUDE(<memory_resource>) && __cplusplus > 201402L
+#if defined(__cpp_lib_memory_resource) && __cplusplus > 201402L
# include <unordered_set>
# include <memory_resource>
#else
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
--- a/mkspecs/features/toolchain.prf
+++ b/mkspecs/features/toolchain.prf
@@ -283,9 +283,12 @@ isEmpty($${target_prefix}.INCDIRS) {
}
}
}
- isEmpty(QMAKE_DEFAULT_LIBDIRS)|isEmpty(QMAKE_DEFAULT_INCDIRS): \
+ isEmpty(QMAKE_DEFAULT_INCDIRS): \
!integrity: \
- error("failed to parse default search paths from compiler output")
+ error("failed to parse default include paths from compiler output")
+ isEmpty(QMAKE_DEFAULT_LIBDIRS): \
+ !integrity:!darwin: \
+ error("failed to parse default library paths from compiler output")
QMAKE_DEFAULT_LIBDIRS = $$unique(QMAKE_DEFAULT_LIBDIRS)
} else: ghs {
cmd = $$QMAKE_CXX $$QMAKE_CXXFLAGS -$${LITERAL_HASH} -o /tmp/fake_output /tmp/fake_input.cpp
@@ -407,7 +410,7 @@ isEmpty($${target_prefix}.INCDIRS) {
QMAKE_DEFAULT_INCDIRS = $$split(INCLUDE, $$QMAKE_DIRLIST_SEP)
}

- unix:if(!cross_compile|host_build) {
+ unix:!darwin:if(!cross_compile|host_build) {
isEmpty(QMAKE_DEFAULT_INCDIRS): QMAKE_DEFAULT_INCDIRS = /usr/include /usr/local/include
isEmpty(QMAKE_DEFAULT_LIBDIRS): QMAKE_DEFAULT_LIBDIRS = /lib /usr/lib
}

0 comments on commit 9938beb

Please sign in to comment.