dash/depends/patches/qt
fanquake f670118cce
Merge bitcoin/bitcoin#28851: build: Patch Qt to handle minimum macOS version properly
05aca093819be276ac7d648472c6ed5c7d235cc5 build: Patch Qt to handle minimum macOS version properly (Hennadii Stepanov)

Pull request description:

  This PR is:
  - required to [switch](https://github.com/bitcoin/bitcoin/pull/28622) to macOS 14 SDK (Xcode 15).
  - an alternative to https://github.com/bitcoin/bitcoin/pull/28732 and https://github.com/bitcoin/bitcoin/pull/28775.

  Qt relies on the `__MAC_OS_X_VERSION_MIN_REQUIRED` macro, which is set in the `AvailabilityInternal.h` SDK header to
  the value provided by the Clang driver from the `-mmacos-version-min` / `-mmacosx-version-min` option.

  Xcode 12 SDK expects the OS-specific `__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__` macro:
  ```c++
  #ifndef __MAC_OS_X_VERSION_MIN_REQUIRED
      #ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
          /* compiler for Mac OS X sets __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ */
          #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
      #endif
  #endif /* __MAC_OS_X_VERSION_MIN_REQUIRED*/
  ```

  In the other hand, Xcode 15 SDK expects a general `__ENVIRONMENT_OS_VERSION_MIN_REQUIRED__` macro:
  ```c++
  #ifndef __MAC_OS_X_VERSION_MIN_REQUIRED
      #if defined(__has_builtin) && __has_builtin(__is_target_os)
          #if __is_target_os(macos)
              #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
              #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_14_0
          #endif
      #elif  __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
          #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
          #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_14_0
      #endif /*  __has_builtin(__is_target_os) && __is_target_os(macos) */
  #endif /* __MAC_OS_X_VERSION_MIN_REQUIRED */
  ```

  The latter macro is not provided by LLVM Clang until c8e2dd8c6f, which is available in Clang 17.

  The suggested patch makes Qt "borrow" the `__MAC_OS_X_VERSION_MIN_REQUIRED` value from `MAC_OS_X_VERSION_MIN_REQUIRED`, which is set in the `AvailabilityMacros.h` SDK header.

ACKs for top commit:
  maflcko:
    lgtm ACK 05aca093819be276ac7d648472c6ed5c7d235cc5

Tree-SHA512: 8891aefde4b8a48885abf0648f4ec71a22f7fcfca1e17ebb8c70ce1ef44751ea5db6b8b652de6ee8a716ca5f96f720fef01600bc23986162d0146c946e2e8743
2024-10-24 13:50:33 -05:00
..
dont_hardcode_pwd.patch partial merge #19761: improve sed robustness by not using sed 2021-09-04 10:19:31 +05:30
duplicate_lcqpafonts.patch merge bitcoin#24722: patch around qt duplicate symbol issue 2023-08-08 06:05:02 -05:00
fast_fixed_dtoa_no_optimize.patch merge bitcoin#25643: compile FastFixedDtoa with -O1 to fix cross-arch reproducibility for arm32 2023-06-29 12:31:03 -05:00
fix_android_jni_static.patch Merge bitcoin/bitcoin#28769: build: Update qt package up to 5.15.11 2024-05-24 13:21:05 -05:00
fix_qt_configure.patch Fix qt configure to detect clang version correctly (#2344) 2018-10-20 17:08:23 +03:00
fix_qt_pkgconfig.patch merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
fix_qt_placeholders.patch fix(qt): fix 3 gui issues (#5596) 2023-10-04 09:47:08 -05:00
fix-macos-linker.patch Merge bitcoin/bitcoin#28561: build: Update qt package up to 5.15.10 2023-12-07 09:14:57 -06:00
fix-minimum-macos.patch Merge bitcoin/bitcoin#28851: build: Patch Qt to handle minimum macOS version properly 2024-10-24 13:50:33 -05:00
guix_cross_lib_path.patch merge bitcoin#25719: Bump Qt to 5.15.5 in depends 2023-08-08 06:05:02 -05:00
mac-qmake.conf Merge bitcoin/bitcoin#24613: build: remove unused QMAKE_* VARs 2024-01-01 17:48:18 -06:00
memory_resource.patch Merge bitcoin/bitcoin#28561: build: Update qt package up to 5.15.10 2023-12-07 09:14:57 -06:00
no-xlib.patch Merge bitcoin/bitcoin#28561: build: Update qt package up to 5.15.10 2023-12-07 09:14:57 -06:00
qt.pro merge bitcoin#20641: Use Qt top-level build facilities 2022-04-26 20:36:54 +05:30
qtbase-moc-ignore-gcc-macro.patch merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
qttools_src.pro merge bitcoin#20641: Use Qt top-level build facilities 2022-04-26 20:36:54 +05:30
rcc_hardcode_timestamp.patch merge bitcoin#23862: Hardcode last modified timestamp in Qt RCC 2023-08-08 06:05:02 -05:00
use_android_ndk23.patch merge bitcoin#24668: bump Qt5 version to 5.15.3 2023-08-08 06:05:02 -05:00
windows_lto.patch Merge bitcoin/bitcoin#28532: qt: enable -ltcg for windows under LTO 2024-10-24 11:17:28 -05:00