From a8be3a74ccafe990aeb59f51fabd22b77f7c416d Mon Sep 17 00:00:00 2001 From: Luke Granger-Brown Date: Sat, 11 Sep 2021 15:11:42 +0100 Subject: [PATCH] cmake: revert cmake support for 10.4 Tiger This is a reversed patch of https://gitlab.kitware.com/cmake/cmake/-/merge_requests/6426. _CURRENT_OSX_VERSION isn't set properly, which causes this condition to fail, which means we don't get CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG which means we can't compile libcxx. Ugh. --- .../cmake/darwin-always-set-runtime-c-flag.patch | 14 ++++++++++++++ .../tools/build-managers/cmake/default.nix | 4 +++- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/tools/build-managers/cmake/darwin-always-set-runtime-c-flag.patch diff --git a/pkgs/development/tools/build-managers/cmake/darwin-always-set-runtime-c-flag.patch b/pkgs/development/tools/build-managers/cmake/darwin-always-set-runtime-c-flag.patch new file mode 100644 index 000000000000..dc10e6b34231 --- /dev/null +++ b/pkgs/development/tools/build-managers/cmake/darwin-always-set-runtime-c-flag.patch @@ -0,0 +1,14 @@ +Revert of commit 1af23c4de2c7d58c06171d70b37794b5c860d5f4. +--- b/Modules/Platform/Darwin.cmake ++++ a/Modules/Platform/Darwin.cmake +@@ -47,9 +47,7 @@ + set(CMAKE_SHARED_MODULE_SUFFIX ".so") + set(CMAKE_MODULE_EXISTS 1) + set(CMAKE_DL_LIBS "") ++set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,") +-if(NOT "${_CURRENT_OSX_VERSION}" VERSION_LESS "10.5") +- set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,") +-endif() + + foreach(lang C CXX OBJC OBJCXX) + set(CMAKE_${lang}_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ") diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index 6cb257256fc0..33dbc25d9bf8 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -36,7 +36,9 @@ stdenv.mkDerivation rec { ] ++ lib.optional stdenv.isCygwin ./3.2.2-cygwin.patch # Derived from https://github.com/curl/curl/commit/31f631a142d855f069242f3e0c643beec25d1b51 - ++ lib.optional (stdenv.isDarwin && isBootstrap) ./remove-systemconfiguration-dep.patch; + ++ lib.optional (stdenv.isDarwin && isBootstrap) ./remove-systemconfiguration-dep.patch + # On Darwin, always set CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG. + ++ lib.optional stdenv.isDarwin ./darwin-always-set-runtime-c-flag.patch; outputs = [ "out" ] ++ lib.optionals buildDocs [ "man" "info" ];