summary refs log tree commit diff
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2018-05-28 13:46:45 +0200
committerDaiderd Jordan <daiderd@gmail.com>2018-05-28 13:46:45 +0200
commit02dcc8d734302b22ba635844c1c2a57ddca83853 (patch)
tree64dc75e142cb621cd43737d9000f197e6a148cb2
parente1b501a7f66f5b9ead02db1240da27fc2bb5c6f6 (diff)
downloadnixlib-02dcc8d734302b22ba635844c1c2a57ddca83853.tar
nixlib-02dcc8d734302b22ba635844c1c2a57ddca83853.tar.gz
nixlib-02dcc8d734302b22ba635844c1c2a57ddca83853.tar.bz2
nixlib-02dcc8d734302b22ba635844c1c2a57ddca83853.tar.lz
nixlib-02dcc8d734302b22ba635844c1c2a57ddca83853.tar.xz
nixlib-02dcc8d734302b22ba635844c1c2a57ddca83853.tar.zst
nixlib-02dcc8d734302b22ba635844c1c2a57ddca83853.zip
cmake: fix darwin build
HAVE_APPLICATION_SERVICES always gets set if cmake is available.
-rw-r--r--pkgs/development/tools/build-managers/cmake/application-services.patch16
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix6
2 files changed, 21 insertions, 1 deletions
diff --git a/pkgs/development/tools/build-managers/cmake/application-services.patch b/pkgs/development/tools/build-managers/cmake/application-services.patch
new file mode 100644
index 000000000000..0ef710fa0195
--- /dev/null
+++ b/pkgs/development/tools/build-managers/cmake/application-services.patch
@@ -0,0 +1,16 @@
+diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
+index 2008a0b..5a3e8ee 100644
+--- a/Source/cmGlobalXCodeGenerator.cxx
++++ b/Source/cmGlobalXCodeGenerator.cxx
+@@ -35,11 +35,6 @@
+ 
+ struct cmLinkImplementation;
+ 
+-#if defined(CMAKE_BUILD_WITH_CMAKE) && defined(__APPLE__)
+-#define HAVE_APPLICATION_SERVICES
+-#include <ApplicationServices/ApplicationServices.h>
+-#endif
+-
+ #if defined(CMAKE_BUILD_WITH_CMAKE)
+ #include "cmXMLParser.h"
+ 
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 4675014880ba..051b8107703d 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -57,6 +57,8 @@ stdenv.mkDerivation rec {
 
   # Don't search in non-Nix locations such as /usr, but do search in our libc.
   patches = [ ./search-path-3.9.patch ]
+    # Don't depend on frameworks.
+    ++ optional useSharedLibraries ./application-services.patch  # TODO: remove conditional
     ++ optional stdenv.isCygwin ./3.2.2-cygwin.patch;
 
   outputs = [ "out" ];
@@ -101,7 +103,9 @@ stdenv.mkDerivation rec {
     "-DCMAKE_AR=${getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar"
     "-DCMAKE_RANLIB=${getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ranlib"
     "-DCMAKE_STRIP=${getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}strip"
-  ] ++ optionals (!useNcurses) [ "-DBUILD_CursesDialog=OFF" ];
+  ]
+    # Avoid depending on frameworks.
+    ++ optional (!useNcurses) "-DBUILD_CursesDialog=OFF";
 
   dontUseCmakeConfigure = true;
   enableParallelBuilding = true;