diff options
author | Matthew Justin Bauer <mjbauer95@gmail.com> | 2018-04-12 14:27:00 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-12 14:27:00 -0500 |
commit | 29bc5237333663b8cd2e8ed97b37dae84f26f150 (patch) | |
tree | 1a4c8b23554738e0e697cf1b5f4c98c0773bae46 /pkgs/os-specific | |
parent | 39da015578c3b28e6f4d030d43937af759212383 (diff) | |
parent | 59bcd129e5a89dfcc49703de4499d9d83ed4305b (diff) | |
download | nixpkgs-29bc5237333663b8cd2e8ed97b37dae84f26f150.tar nixpkgs-29bc5237333663b8cd2e8ed97b37dae84f26f150.tar.gz nixpkgs-29bc5237333663b8cd2e8ed97b37dae84f26f150.tar.bz2 nixpkgs-29bc5237333663b8cd2e8ed97b37dae84f26f150.tar.lz nixpkgs-29bc5237333663b8cd2e8ed97b37dae84f26f150.tar.xz nixpkgs-29bc5237333663b8cd2e8ed97b37dae84f26f150.tar.zst nixpkgs-29bc5237333663b8cd2e8ed97b37dae84f26f150.zip |
Merge pull request #38865 from matthewbauer/darwin-security-fixes
[darwin] Security fixes
Diffstat (limited to 'pkgs/os-specific')
19 files changed, 242 insertions, 15 deletions
diff --git a/pkgs/os-specific/darwin/CoreSymbolication/default.nix b/pkgs/os-specific/darwin/CoreSymbolication/default.nix new file mode 100644 index 00000000000..aa73c7f86c4 --- /dev/null +++ b/pkgs/os-specific/darwin/CoreSymbolication/default.nix @@ -0,0 +1,19 @@ +{ fetchFromGitHub, stdenv }: + +# Reverse engineered CoreSymbolication to make dtrace buildable + +stdenv.mkDerivation rec { + name = "CoreSymbolication"; + + src = fetchFromGitHub { + repo = name; + owner = "matthewbauer"; + rev = "671fcb66c82eac1827f3f53dc4cc4e9b1b94da0a"; + sha256 = "0qpw46gwgjxiwqqjxksb8yghp2q8dwad6hzaf4zl82xpvk9n5ahj"; + }; + + installPhase = '' + mkdir -p $out/include + cp -r CoreSymbolication $out/include + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/SmartCardServices/default.nix b/pkgs/os-specific/darwin/apple-source-releases/SmartCardServices/default.nix new file mode 100644 index 00000000000..1cb85b1e988 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/SmartCardServices/default.nix @@ -0,0 +1,41 @@ +{ stdenv, appleDerivation, xcbuild, gnumake, Security +, libsecurity_utilities, libsecurity_cdsa_utilities }: + +appleDerivation { + buildInputs = [ xcbuild libsecurity_utilities libsecurity_cdsa_utilities ]; + + DSTROOT = "$out"; + + NIX_CFLAGS_COMPILE = "-I."; + preBuild = '' + mkdir -p Security + cp ${Security}/Library/Frameworks/Security.framework/Headers/*.h Security + ''; + + patchPhase = '' + substituteInPlace SmartCardServices.xcodeproj/project.pbxproj \ + --replace "/usr/bin/gnumake" "${gnumake}/bin/make" + substituteInPlace src/PCSC/PCSC.exp \ + --replace _PCSCVersionString "" \ + --replace _PCSCVersionNumber "" + substituteInPlace Makefile.installPhase \ + --replace chown "# chown" \ + --replace /usr/bin/ "" + ''; + + installPhase = '' + make -f Makefile.installPhase install + make -f Makefile-exec.installPhase install + mv $out/usr/* $out + rmdir $out/usr + + mkdir -p $out/Library/Frameworks + cp -r Products/Release/PCSC.bundle $out/Library/Frameworks/PCSC.framework + ''; + + meta = with stdenv.lib; { + maintainers = with maintainers; [ matthewbauer ]; + platforms = platforms.darwin; + license = licenses.apsl20; + }; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/xcode.nix b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/xcode.nix index a3d4099399b..1d5c0defcbf 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/xcode.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/xcode.nix @@ -34,7 +34,7 @@ appleDerivation { # temporary install phase until xcodebuild has "install" support installPhase = '' mkdir -p $out/bin/ - install adv_cmds-*/Build/Products/Release/* $out/bin/ + install Products/Release/* $out/bin/ for n in 1 8; do mkdir -p $out/share/man/man$n diff --git a/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix index 9e8b78e57d6..b52ec3306dc 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix @@ -14,7 +14,7 @@ appleDerivation rec { # temporary install phase until xcodebuild has "install" support installPhase = '' mkdir -p $out/bin/ - install basic_cmds-*/Build/Products/Release/* $out/bin/ + install Products/Release/* $out/bin/ for n in 1; do mkdir -p $out/share/man/man$n diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix index cca729016c2..6019c20dd40 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix @@ -7,6 +7,7 @@ let # now it's staying here. versions = { "osx-10.11.6" = { + SmartCardServices = "55111"; dtrace = "168"; xnu = "3248.60.10"; libpthread = "138.10.4"; @@ -53,6 +54,7 @@ let ICU = "531.48"; libdispatch = "442.1.4"; Security = "57031.40.6"; + security_systemkeychain = "55202"; IOAudioFamily = "203.3"; IOFireWireFamily = "458"; @@ -191,6 +193,8 @@ let adv_cmds = applePackage "adv_cmds" "osx-10.5.8" "102ssayxbg9wb35mdmhswbnw0bg7js3pfd8fcbic83c5q3bqa6c6" {}; packages = { + SmartCardServices = applePackage "SmartCardServices" "osx-10.11.6" "1qqjlbi6j37mw9p3qpfnwf14xh9ff8h5786bmvzwc4kblfglabkm" {}; + inherit (adv_cmds) ps locale; architecture = applePackage "architecture" "osx-10.11.6" "1pbpjcd7is69hn8y29i98ci0byik826if8gnp824ha92h90w0fq3" {}; bootstrap_cmds = applePackage "bootstrap_cmds" "dev-tools-7.0" "1v5dv2q3af1xwj5kz0a5g54fd5dm6j4c9dd2g66n4kc44ixyrhp3" {}; @@ -201,7 +205,8 @@ let configd = applePackage "configd" "osx-10.8.5" "1gxakahk8gallf16xmhxhprdxkh3prrmzxnmxfvj0slr0939mmr2" {}; copyfile = applePackage "copyfile" "osx-10.11.6" "1rkf3iaxmjz5ycgrmf0g971kh90jb2z1zqxg5vlqz001s4y457gs" {}; Csu = applePackage "Csu" "osx-10.11.6" "0yh5mslyx28xzpv8qww14infkylvc1ssi57imhi471fs91sisagj" {}; - dtrace = applePackage "dtrace" "osx-10.11.6" "0pp5x8dgvzmg9vvg32hpy2brm17dpmbwrcr4prsmdmfvd4767wc0" {}; + dtrace = applePackage "dtrace" "osx-10.11.6" "04mi0jy8gy0w59rk9i9dqznysv6fzz1v5mq779s41cp308yi0h1c" {}; + dtrace-xcode = applePackage "dtrace/xcode.nix" "osx-10.11.6" "04mi0jy8gy0w59rk9i9dqznysv6fzz1v5mq779s41cp308yi0h1c" {}; dyld = applePackage "dyld" "osx-10.11.6" "0qkjmjazm2zpgvwqizhandybr9cm3gz9pckx8rmf0py03faafc08" {}; eap8021x = applePackage "eap8021x" "osx-10.11.6" "0iw0qdib59hihyx2275rwq507bq2a06gaj8db4a8z1rkaj1frskh" {}; ICU = applePackage "ICU" "osx-10.10.5" "1qihlp42n5g4dl0sn0f9pc0bkxy1452dxzf0vr6y5gqpshlzy03p" {}; @@ -243,6 +248,8 @@ let shell_cmds = applePackage "shell_cmds" "osx-10.11.6" "0084k271v66h4jqp7q7rmjvv7w4mvhx3aq860qs8jbd30canm86n" {}; system_cmds = applePackage "system_cmds" "osx-10.11.6" "1h46j2c5v02pkv5d9fyv6cpgyg0lczvwicrx6r9s210cl03l77jl" {}; + security_systemkeychain = applePackage "security_systemkeychain" "osx-10.10.5" "0xviskdgxsail15npi0billyiysvljlmg38mmhnr7qi4ymnnjr90" {}; + libsecurity_apple_csp = libsecPackage "libsecurity_apple_csp" "osx-10.7.5" "1ngyn1ik27n4x981px3kfd1z1n8zx7r5w812b6qfjpy5nw4h746w" {}; libsecurity_apple_cspdl = libsecPackage "libsecurity_apple_cspdl" "osx-10.7.5" "1svqa5fhw7p7njzf8bzg7zgc5776aqjhdbnlhpwmr5hmz5i0x8r7" {}; libsecurity_apple_file_dl = libsecPackage "libsecurity_apple_file_dl" "osx-10.7.5" "1dfqani3n135i3iqmafc1k9awmz6s0a78zifhk15rx5a8ps870bl" {}; diff --git a/pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix index 67fbf83496e..1f35e3008b3 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix @@ -11,7 +11,7 @@ appleDerivation rec { # temporary install phase until xcodebuild has "install" support installPhase = '' mkdir -p $out/bin/ - install developer_cmds-*/Build/Products/Release/* $out/bin/ + install Products/Release/* $out/bin/ for n in 1; do mkdir -p $out/share/man/man$n diff --git a/pkgs/os-specific/darwin/apple-source-releases/dtrace/xcode.nix b/pkgs/os-specific/darwin/apple-source-releases/dtrace/xcode.nix new file mode 100644 index 00000000000..dd193f2c07d --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/dtrace/xcode.nix @@ -0,0 +1,45 @@ +{ appleDerivation, xcbuild, CoreSymbolication, xnu, bison, flex, darling, stdenv }: + +appleDerivation { + buildInputs = [ xcbuild CoreSymbolication xnu bison flex darling ]; + NIX_CFLAGS_COMPILE = "-DCTF_OLD_VERSIONS -DPRIVATE -DYYDEBUG=1 -I${xnu}/Library/Frameworks/System.framework/Headers"; + NIX_LDFLAGS = "-L./Products/Release"; + xcbuildFlags = "-target dtrace"; + + patchPhase = '' + substituteInPlace dtrace.xcodeproj/project.pbxproj --replace "/usr/sbin" "" + substituteInPlace libdtrace/dt_open.c \ + --replace "/usr/bin/clang" "${stdenv.cc}/bin/cpp" \ + --replace "/usr/bin/ld" "${stdenv.cc}/bin/ld" \ + --replace "/usr/bin/dtrace" $out/lib/dtrace + ''; + + # hack to handle xcbuild's broken lex handling + preBuild = '' + cd libdtrace + yacc -d dt_grammar.y + flex -l -d dt_lex.l + cd .. + + substituteInPlace dtrace.xcodeproj/project.pbxproj \ + --replace '6EBC9800099BFBBF0001019C /* dt_grammar.y */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.yacc; name = dt_grammar.y; path = libdtrace/dt_grammar.y; sourceTree = "<group>"; };' '6EBC9800099BFBBF0001019C /* y.tab.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = y.tab.c; path = libdtrace/y.tab.c; sourceTree = "<group>"; };' \ + --replace '6EBC9808099BFBBF0001019C /* dt_lex.l */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.lex; name = dt_lex.l; path = libdtrace/dt_lex.l; sourceTree = "<group>"; };' '6EBC9808099BFBBF0001019C /* lex.yy.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = lex.yy.c; path = libdtrace/lex.yy.c; sourceTree = "<group>"; };' + ''; + + # xcbuild doesn't support install + installPhase = '' + mkdir -p $out + + cp -r Products/Release/usr $out + mv $out/usr/* $out + rmdir $out/usr + + mkdir $out/lib + cp Products/Release/*.dylib $out/lib + + mkdir $out/bin + cp Products/Release/dtrace $out/bin + + mkdir -p $out/lib/dtrace + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/file_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/file_cmds/default.nix index 8346ca7a9a7..47a587966b4 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/file_cmds/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/file_cmds/default.nix @@ -19,7 +19,7 @@ appleDerivation rec { # temporary install phase until xcodebuild has "install" support installPhase = '' mkdir -p $out/bin/ - install file_cmds-*/Build/Products/Release/* $out/bin + install Products/Release/* $out/bin for n in 1; do mkdir -p $out/share/man/man$n diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_x509_tp/GNUmakefile b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_x509_tp/GNUmakefile index 083a8a85d17..166b4e631c8 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_x509_tp/GNUmakefile +++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_apple_x509_tp/GNUmakefile @@ -5,6 +5,7 @@ LIBRARY_NAME = security_apple_x509_tp security_apple_x509_tp_HEADER_FILES = $(notdir $(wildcard lib/*.h)) security_apple_x509_tp_HEADER_FILES_DIR = lib +security_apple_x509_tp_C_FILES = $(wildcard lib/*.c) security_apple_x509_tp_CC_FILES = $(wildcard lib/*.cpp) include $(GNUSTEP_MAKEFILES)/library.make diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_codesigning/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_codesigning/default.nix index c5ba9cc8d7e..2a05855bd52 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_codesigning/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_codesigning/default.nix @@ -1,7 +1,33 @@ -{ appleDerivation, libsecurity_cdsa_utilities, libsecurity_utilities }: +{ appleDerivation, libsecurity_cdsa_utilities, libsecurity_utilities +, Security, xnu, xar, antlr, libsecurityd, apple_sdk +, dtrace-xcode, osx_private_sdk }: appleDerivation { - buildInputs = [ - libsecurity_utilities - libsecurity_cdsa_utilities - ]; -} \ No newline at end of file + buildInputs = [ libsecurity_utilities libsecurity_cdsa_utilities dtrace-xcode + Security xar antlr libsecurityd ]; + NIX_CFLAGS_COMPILE = "-Iinclude -I${xnu}/Library/Frameworks/System.framework/Headers"; + patchPhase = '' + substituteInPlace lib/policydb.cpp \ + --replace "new MutableDictionary::MutableDictionary()" NULL + substituteInPlace lib/xpcengine.h \ + --replace "#include <xpc/private.h>" "" + substituteInPlace lib/policyengine.cpp \ + --replace "#include <OpenScriptingUtilPriv.h>" "" + + rm lib/policyengine.cpp lib/quarantine++.cpp lib/codedirectory.cpp lib/xpcengine.cpp + ''; + preBuild = '' + mkdir -p include + cp ${osx_private_sdk.src}/PrivateSDK10.10.sparse.sdk/usr/include/quarantine.h include + mkdir -p include/CoreServices/ + cp ${osx_private_sdk.src}/PrivateSDK10.10.sparse.sdk/System/Library/Frameworks/CoreServices.framework/PrivateHeaders/*.h include/CoreServices/ + + unpackFile ${Security.src} + mkdir -p include/securityd_client + cp Security-*/libsecurityd/lib/*.h include/securityd_client + mkdir -p include/xpc + cp ${apple_sdk.sdk}/include/xpc/*.h include/xpc + + sed -i '1i #define bool int' lib/security_codesigning.d + dtrace -h -C -s lib/security_codesigning.d -o codesigning_dtrace.h + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_utilities/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_utilities/default.nix index bb55fd48d8b..e811c4c11a8 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_utilities/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_utilities/default.nix @@ -4,9 +4,12 @@ appleDerivation { libauto libobjc IOKit + ]; + propagatedBuildInputs = [ sqlite apple_sdk.frameworks.PCSC ]; + NIX_LDFLAGS = "-framework PCSC"; patchPhase = '' substituteInPlace lib/errors.h --replace \ '<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>' \ diff --git a/pkgs/os-specific/darwin/apple-source-releases/libutil/new.nix b/pkgs/os-specific/darwin/apple-source-releases/libutil/new.nix index 860a74f61f7..2c75f3966db 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libutil/new.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libutil/new.nix @@ -18,8 +18,8 @@ appleDerivation { installPhase = '' mkdir -p $out/lib $out/include - cp libutil-*/Build/Products/Release/*.dylib $out/lib - cp libutil-*/Build/Products/Release/*.h $out/include + cp Products/Release/*.dylib $out/lib + cp Products/Release/*.h $out/include # TODO: figure out how to get this to be right the first time around install_name_tool -id $out/lib/libutil.dylib $out/lib/libutil.dylib diff --git a/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix index dc7edface9a..23777c94157 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix @@ -19,7 +19,7 @@ appleDerivation rec { # temporary install phase until xcodebuild has "install" support installPhase = '' mkdir -p $out/bin/ - install network_cmds-*/Build/Products/Release/* $out/bin/ + install Products/Release/* $out/bin/ for n in 1 5; do mkdir -p $out/share/man/man$n diff --git a/pkgs/os-specific/darwin/apple-source-releases/security_systemkeychain/default.nix b/pkgs/os-specific/darwin/apple-source-releases/security_systemkeychain/default.nix new file mode 100644 index 00000000000..1a0208ef3a0 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/security_systemkeychain/default.nix @@ -0,0 +1,31 @@ +{ appleDerivation, xcbuild, Security +, libsecurity_codesigning, libsecurity_utilities, libsecurity_cdsa_utilities +, xnu, osx_private_sdk, pcsclite}: + +appleDerivation { + buildInputs = [ xcbuild Security libsecurity_utilities + libsecurity_cdsa_utilities libsecurity_codesigning + pcsclite ]; + + NIX_LDFLAGS = "-lpcsclite"; + + # can't build the whole thing + xcbuildFlags = "-target codesign"; + + preBuild = '' + mkdir -p include/Security + cp ${osx_private_sdk.src}/PrivateSDK10.10.sparse.sdk/System/Library/Frameworks/Security.framework/PrivateHeaders/*.h include/Security + cp ${osx_private_sdk.src}/PrivateSDK10.10.sparse.sdk/System/Library/Frameworks/Security.framework/Headers/*.h include/Security + + unpackFile ${xnu.src} + mkdir -p include/sys + cp -r xnu-*/bsd/sys/codesign.h include/sys/codesign.h + ''; + + NIX_CFLAGS_COMPILE = "-Iinclude"; + + installPhase = '' + mkdir -p $out/bin + cp Products/Release/codesign $out/bin/codesign + ''; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix index 4f527acc950..8ce916feb38 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix @@ -29,7 +29,7 @@ appleDerivation rec { # temporary install phase until xcodebuild has "install" support installPhase = '' mkdir -p $out/usr/bin - install shell_cmds-*/Build/Products/Release/* $out/usr/bin + install Products/Release/* $out/usr/bin export DSTROOT=$out export SRCROOT=$PWD diff --git a/pkgs/os-specific/darwin/darling/default.nix b/pkgs/os-specific/darwin/darling/default.nix new file mode 100644 index 00000000000..8c94b2d878d --- /dev/null +++ b/pkgs/os-specific/darwin/darling/default.nix @@ -0,0 +1,34 @@ +{stdenv, lib, fetchFromGitHub, cmake, bison, flex}: + +stdenv.mkDerivation rec { + pname = "darling"; + name = pname; + + src = fetchFromGitHub { + repo = pname; + owner = "darlinghq"; + rev = "d2cc5fa748003aaa70ad4180fff0a9a85dc65e9b"; + sha256 = "1mkcnzy1cfpwghgvb9pszhy9jy6534y8krw8inwl9fqfd0w019wz"; + }; + + # only packaging sandbox for now + buildPhase = '' + cc -c src/sandbox/sandbox.c -o src/sandbox/sandbox.o + cc -dynamiclib -flat_namespace src/sandbox/sandbox.o -o libsystem_sandbox.dylib + ''; + + installPhase = '' + mkdir -p $out/lib + cp -rL src/sandbox/include/ $out/ + cp libsystem_sandbox.dylib $out/lib/ + ''; + + # buildInputs = [ cmake bison flex ]; + + meta = with lib; { + maintainers = with maintainers; [ matthewbauer ]; + license = licenses.gpl3; + description = "Darwin/macOS emulation layer for Linux"; + platforms = platforms.unix; + }; +} diff --git a/pkgs/os-specific/darwin/swift-corefoundation/default.nix b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix index 969168fa54b..969168fa54b 100644 --- a/pkgs/os-specific/darwin/swift-corefoundation/default.nix +++ b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix diff --git a/pkgs/os-specific/darwin/swift-corelibs/default.nix b/pkgs/os-specific/darwin/swift-corelibs/default.nix new file mode 100644 index 00000000000..fdc97304528 --- /dev/null +++ b/pkgs/os-specific/darwin/swift-corelibs/default.nix @@ -0,0 +1,8 @@ +{callPackage, stdenv, darwin, xcbuild}: + +rec { + corefoundation = callPackage ./corefoundation.nix {}; + libdispatch = callPackage ./libdispatch.nix { + inherit (darwin) apple_sdk_sierra xnu; + }; +} diff --git a/pkgs/os-specific/darwin/swift-corelibs/libdispatch.nix b/pkgs/os-specific/darwin/swift-corelibs/libdispatch.nix new file mode 100644 index 00000000000..bd143b6071b --- /dev/null +++ b/pkgs/os-specific/darwin/swift-corelibs/libdispatch.nix @@ -0,0 +1,12 @@ +{ stdenv, fetchFromGitHub, cmake, apple_sdk_sierra, xnu-new }: + +stdenv.mkDerivation rec { + name = "swift-corelibs-libdispatch"; + src = fetchFromGitHub { + owner = "apple"; + repo = name; + rev = "f83b5a498bad8e9ff8916183cf6e8ccf677c346b"; + sha256 = "1czkyyc9llq2mnqfp19mzcfsxzas0y8zrk0gr5hg60acna6jkz2l"; + }; + buildInputs = [ cmake apple_sdk_sierra.sdk xnu-new ]; +} |