bitcoin/depends/packages
fanquake 160d23677a
Merge bitcoin/bitcoin#28851: build: Patch Qt to handle minimum macOS version properly
05aca09381 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 05aca09381

Tree-SHA512: 8891aefde4b8a48885abf0648f4ec71a22f7fcfca1e17ebb8c70ce1ef44751ea5db6b8b652de6ee8a716ca5f96f720fef01600bc23986162d0146c946e2e8743
2023-12-01 20:28:23 +00:00
..
bdb.mk depends: fix compiling bdb with clang-16 on aarch64 2023-04-17 10:14:25 +01:00
boost.mk build: Update Boost to 1.81.0 in depends 2022-12-14 15:25:02 +00:00
capnp.mk depends: Bump to capnproto-c++-1.0.1 2023-11-03 12:48:42 +01:00
expat.mk depends: re-enable using -flto when building expat 2022-07-26 11:37:55 +01:00
fontconfig.mk depends: make fontconfig build under clang-16 2023-03-27 16:33:15 +01:00
freetype.mk build: freetype 2.11.0 2021-12-03 14:07:10 +08:00
libevent.mk depends: add NO_HARDEN option 2023-04-04 10:07:41 +01:00
libmultiprocess.mk depends: reuse _config_opts for CMake options 2023-04-19 17:19:51 -04:00
libnatpmp.mk depends: libnatpmp 07004b97cf691774efebe70404cf22201e4d330d 2022-08-24 16:03:21 +01:00
libXau.mk build: libXau 1.0.9 2021-12-03 14:07:10 +08:00
libxcb.mk libxcb: use a patch instead of sed 2022-07-29 14:02:23 +01:00
libxcb_util.mk build: Use config_opts instead of passing a compiler flag directly 2021-12-12 18:08:43 +02:00
libxcb_util_image.mk build: add libxcb_util_image 0.4.0 2021-12-03 14:07:11 +08:00
libxcb_util_keysyms.mk build: add libxcb_util_keysyms 0.4.0 2021-12-03 14:07:11 +08:00
libxcb_util_render.mk build: add libxcb_util_render 0.3.9 2021-12-03 14:07:11 +08:00
libxcb_util_wm.mk build: add libxcb_util_wm 0.4.1 2021-12-03 14:07:12 +08:00
libxkbcommon.mk build: suppress array-bounds errors in libxkbcommon 2022-06-23 17:29:31 +01:00
miniupnpc.mk build: set D_WIN32_WINNT=0x0601 for mingw miniupnpc 2022-09-22 14:36:05 +01:00
native_capnp.mk depends: Bump to capnproto-c++-1.0.1 2023-11-03 12:48:42 +01:00
native_cctools.mk depends: cctools 986 & ld64 711 2023-09-06 16:36:40 +01:00
native_clang.mk depends: use LLVM/Clang 15.0.6 for macOS cross-compile 2023-08-27 10:02:55 +01:00
native_libmultiprocess.mk depends: bump libmultiprocess to fix capnproto deprecation warnings 2023-11-17 15:27:19 -05:00
native_libtapi.mk depends: libtapi 1300.0.6.5 2023-09-06 16:36:33 +01:00
packages.mk build: remove dmg dependencies 2023-09-15 13:47:50 +01:00
qrencode.mk depends: qrencode 4.1.1 2023-03-23 10:31:25 +00:00
qt.mk build: Patch Qt to handle minimum macOS version properly 2023-11-10 23:25:13 +00:00
sqlite.mk depends: ensure we are appending to sqlite cflags 2023-01-30 17:15:01 +00:00
systemtap.mk depends: systemtap: remove variadic params that trigger compiler warnings 2023-01-23 18:12:26 +00:00
xcb_proto.mk depends: xcb-proto 1.15.2 2023-07-18 11:27:24 +01:00
xproto.mk build: xproto 7.0.31 2021-12-03 14:07:09 +08:00
zeromq.mk depends: zeromq 4.3.5 2023-10-24 12:11:11 +01:00