summary refs log tree commit diff
path: root/pkgs/os-specific/darwin
diff options
context:
space:
mode:
authorAndrew Childs <lorne@cons.org.nz>2021-04-19 13:11:17 +0900
committerAndrew Childs <lorne@cons.org.nz>2021-05-17 00:28:05 +0900
commit3706fe567ba0eaf9af899e6949fb298d4d222c07 (patch)
treebacc4286729b88aaa89fc865a09d6d78bc542c32 /pkgs/os-specific/darwin
parentc022642fec40e38948a1efcd306852f2783c7b15 (diff)
downloadnixpkgs-3706fe567ba0eaf9af899e6949fb298d4d222c07.tar
nixpkgs-3706fe567ba0eaf9af899e6949fb298d4d222c07.tar.gz
nixpkgs-3706fe567ba0eaf9af899e6949fb298d4d222c07.tar.bz2
nixpkgs-3706fe567ba0eaf9af899e6949fb298d4d222c07.tar.lz
nixpkgs-3706fe567ba0eaf9af899e6949fb298d4d222c07.tar.xz
nixpkgs-3706fe567ba0eaf9af899e6949fb298d4d222c07.tar.zst
nixpkgs-3706fe567ba0eaf9af899e6949fb298d4d222c07.zip
darwin.DarwinTools: remove reference to CFPriv.h
Fixes build on aarch64-darwin.
Diffstat (limited to 'pkgs/os-specific/darwin')
-rw-r--r--pkgs/os-specific/darwin/DarwinTools/default.nix6
-rw-r--r--pkgs/os-specific/darwin/DarwinTools/sw_vers-CFPriv.patch19
2 files changed, 24 insertions, 1 deletions
diff --git a/pkgs/os-specific/darwin/DarwinTools/default.nix b/pkgs/os-specific/darwin/DarwinTools/default.nix
index 5badf2434d6..588769c7bfc 100644
--- a/pkgs/os-specific/darwin/DarwinTools/default.nix
+++ b/pkgs/os-specific/darwin/DarwinTools/default.nix
@@ -8,7 +8,11 @@ stdenv.mkDerivation rec {
     sha256 = "0hh4jl590jv3v830p77r3jcrnpndy7p2b8ajai3ldpnx2913jfhp";
   };
 
-  patchPhase = ''
+  patches = [
+    ./sw_vers-CFPriv.patch
+  ];
+
+  postPatch = ''
     substituteInPlace Makefile \
       --replace gcc cc
   '';
diff --git a/pkgs/os-specific/darwin/DarwinTools/sw_vers-CFPriv.patch b/pkgs/os-specific/darwin/DarwinTools/sw_vers-CFPriv.patch
new file mode 100644
index 00000000000..6faeaa75025
--- /dev/null
+++ b/pkgs/os-specific/darwin/DarwinTools/sw_vers-CFPriv.patch
@@ -0,0 +1,19 @@
+--- a/sw_vers.c	2021-04-19 13:06:50.131346864 +0900
++++ b/sw_vers.c	2021-04-19 13:07:32.481967474 +0900
+@@ -28,7 +28,15 @@
+  */
+ 
+ #include <CoreFoundation/CoreFoundation.h>
+-#include <CoreFoundation/CFPriv.h>
++
++// Avoid dependency on CoreFoundation/CFPriv, which no longer appears to be
++// part of the upstream sdk.
++
++CFDictionaryRef _CFCopyServerVersionDictionary(void);
++CFDictionaryRef _CFCopySystemVersionDictionary(void);
++extern CFStringRef _kCFSystemVersionProductNameKey;
++extern CFStringRef _kCFSystemVersionProductVersionKey;
++extern CFStringRef _kCFSystemVersionBuildVersionKey;
+ 
+ void usage(char *progname) {
+ 	fprintf(stderr, "Usage: %s [-productName|-productVersion|-buildVersion]\n", progname);