diff options
Diffstat (limited to 'pkgs/os-specific/darwin/apple-source-releases')
19 files changed, 343 insertions, 46 deletions
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 000000000000..1cb85b1e9884 --- /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 a3d4099399b3..dcfb4aefe1f5 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 @@ -27,14 +27,14 @@ appleDerivation { | grep -v -e Desktop -e Embedded -e mklocale -e colldef) for i in $targets; do - xcodebuild -target $i + xcodebuild SYMROOT=$PWD/Products OBJROOT=$PWD/Intermediates -target $i done ''; # 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 9e8b78e57d6c..b52ec3306dc4 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 cca729016c25..3120d8ae3d10 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"; @@ -43,6 +44,9 @@ let file_cmds = "264.1.1"; shell_cmds = "187"; system_cmds = "550.6"; + diskdev_cmds = "593"; + top = "108"; + text_cmds = "99"; }; "osx-10.11.5" = { Libc = "1082.50.1"; # 10.11.6 still unreleased :/ @@ -53,6 +57,7 @@ let ICU = "531.48"; libdispatch = "442.1.4"; Security = "57031.40.6"; + security_systemkeychain = "55202"; IOAudioFamily = "203.3"; IOFireWireFamily = "458"; @@ -191,6 +196,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 +208,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" {}; @@ -238,10 +246,15 @@ let adv_cmds = applePackage "adv_cmds/xcode.nix" "osx-10.11.6" "12gbv35i09aij9g90p6b3x2f3ramw43qcb2gjrg8lzkzmwvcyw9q" {}; basic_cmds = applePackage "basic_cmds" "osx-10.11.6" "0hvab4b1v5q2x134hdkal0rmz5gsdqyki1vb0dbw4py1bqf0yaw9" {}; developer_cmds = applePackage "developer_cmds" "osx-10.11.6" "1r9c2b6dcl22diqf90x58psvz797d3lxh4r2wppr7lldgbgn24di" {}; + diskdev_cmds = applePackage "diskdev_cmds" "osx-10.11.6" "1ssdyiaq5m1zfy96yy38yyknp682ki6bvabdqd5z18fa0rv3m2ar" {}; network_cmds = applePackage "network_cmds" "osx-10.11.6" "0lhi9wz84qr1r2ab3fb4nvmdg9gxn817n5ldg7zw9gnf3wwn42kw" {}; file_cmds = applePackage "file_cmds" "osx-10.11.6" "1zfxbmasps529pnfdjvc13p7ws2cfx8pidkplypkswyff0nff4wp" {}; shell_cmds = applePackage "shell_cmds" "osx-10.11.6" "0084k271v66h4jqp7q7rmjvv7w4mvhx3aq860qs8jbd30canm86n" {}; system_cmds = applePackage "system_cmds" "osx-10.11.6" "1h46j2c5v02pkv5d9fyv6cpgyg0lczvwicrx6r9s210cl03l77jl" {}; + text_cmds = applePackage "text_cmds" "osx-10.11.6" "1f93m7dd0ghqb2hwh905mjhzblyfr7dwffw98xhgmv1mfdnigxg0" {}; + top = applePackage "top" "osx-10.11.6" "0i9120rfwapgwdvjbfg0ya143i29s1m8zbddsxh39pdc59xnsg5l" {}; + + 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" {}; 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 67fbf83496ed..1f35e3008b3b 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/diskdev_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix new file mode 100644 index 000000000000..aba2472af602 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix @@ -0,0 +1,32 @@ +{ stdenv, appleDerivation, xcbuild, lib, hostPlatform, Libc, xnu, libutil-new }: + +appleDerivation { + buildInputs = [ xcbuild libutil-new ]; + + NIX_CFLAGS_COMPILE = "-I."; + NIX_LDFLAGS = "-lutil"; + patchPhase = '' + # ugly hacks for missing headers + # most are bsd related - probably should make this a drv + unpackFile ${Libc.src} + unpackFile ${xnu.src} + mkdir System sys machine i386 + cp xnu-*/bsd/sys/disklabel.h sys + cp xnu-*/bsd/machine/disklabel.h machine + cp xnu-*/bsd/i386/disklabel.h i386 + cp -r xnu-*/bsd/sys System + cp -r Libc-*/uuid System + ''; + installPhase = '' + install -D Products/Release/libdisk.a $out/lib/libdisk.a + rm Products/Release/libdisk.a + for bin in Products/Release/*; do + install -D $bin $out/bin/$(basename $bin) + done + ''; + + meta = { + platforms = stdenv.lib.platforms.darwin; + maintainers = with stdenv.lib.maintainers; [ matthewbauer ]; + }; +} 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 000000000000..dd193f2c07dc --- /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 8346ca7a9a76..47a587966b44 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/libiconv/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix index 13b6156492bb..d9b3dfb74049 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix @@ -14,6 +14,8 @@ appleDerivation { -Wl,-reexport_library -Wl,$out/lib/libcharset.dylib ''; + setup-hook = ../../../../development/libraries/libiconv/setup-hook.sh; + meta = { platforms = stdenv.lib.platforms.darwin; }; 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 083a8a85d17d..166b4e631c84 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 c5ba9cc8d7ef..2a05855bd521 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 bb55fd48d8b2..e811c4c11a82 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 860a74f61f7f..7facea2b8936 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libutil/new.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libutil/new.nix @@ -4,22 +4,18 @@ appleDerivation { buildInputs = [ xcbuild ]; - dontUseXcbuild = true; - prePatch = '' substituteInPlace tzlink.c \ --replace '#include <xpc/xpc.h>' "" ''; - buildPhase = '' - xcodebuild -target util - ''; + xcbuildFlags = "-target util"; 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 dc7edface9a0..23777c941576 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 000000000000..1a0208ef3a08 --- /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 4f527acc950c..8ce916feb38a 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/apple-source-releases/system_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix index 2247ef3ddd2f..1bbda6ab7add 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix @@ -1,37 +1,104 @@ -{ stdenv, appleDerivation, xcbuild }: +{ stdenv, appleDerivation, xcbuild, lib, hostPlatform +, Librpcsvc, apple_sdk, pam, CF, openbsm }: appleDerivation rec { # xcbuild fails with: # /nix/store/fc0rz62dh8vr648qi7hnqyik6zi5sqx8-xcbuild-wrapper/nix-support/setup-hook: line 1: 9083 Segmentation fault: 11 xcodebuild OTHER_CFLAGS="$NIX_CFLAGS_COMPILE" OTHER_CPLUSPLUSFLAGS="$NIX_CFLAGS_COMPILE" OTHER_LDFLAGS="$NIX_LDFLAGS" build + # see issue facebook/xcbuild#188 # buildInputs = [ xcbuild ]; - # # temporary install phase until xcodebuild has "install" support - # installPhase = '' - # mkdir -p $out/bin/ - # install system_cmds-*/Build/Products/Release/* $out/bin/ - - # for n in 1 5 8; do - # mkdir -p $out/share/man/man$n - # install */*.$n $out/share/man/man$n - # done - # ''; - - # For now we just build sysctl because that's all I need... Please open a - # PR if you need any other utils before we fix the xcodebuild. - buildPhase = "cc sysctl.tproj/sysctl.c -o sysctl"; - - installPhase = - '' - mkdir -p $out/bin - install sysctl $out/bin - for n in 5 8; do - mkdir -p $out/share/man/man$n - install sysctl.tproj/*.$n $out/share/man/man$n + buildInputs = [ Librpcsvc apple_sdk.frameworks.OpenDirectory pam CF + apple_sdk.frameworks.IOKit openbsm ]; + # NIX_CFLAGS_COMPILE = lib.optionalString hostPlatform.isi686 "-D__i386__" + # + lib.optionalString hostPlatform.isx86_64 "-D__x86_64__" + # + lib.optionalString hostPlatform.isAarch32 "-D__arm__"; + NIX_CFLAGS_COMPILE = [ "-DDAEMON_UID=1" + "-DDAEMON_GID=1" + "-DDEFAULT_AT_QUEUE=\'a\'" + "-DDEFAULT_BATCH_QUEUE=\'b\'" + "-DPERM_PATH=\"/usr/lib/cron/\"" + "-DOPEN_DIRECTORY" + "-DNO_DIRECT_RPC" + "-DAPPLE_GETCONF_UNDERSCORE" + "-DAPPLE_GETCONF_SPEC" + "-DUSE_PAM" + "-DUSE_BSM_AUDIT" + "-D_PW_NAME_LEN=MAXLOGNAME" + "-D_PW_YPTOKEN=\"__YP!\"" + "-DAHZV1=64 " + "-DAU_SESSION_FLAG_HAS_TTY=0x4000" + "-DAU_SESSION_FLAG_HAS_AUTHENTICATED=0x4000" + ] ++ lib.optional (!stdenv.isLinux) " -D__FreeBSD__ "; + + patchPhase = '' + substituteInPlace login.tproj/login.c \ + --replace bsm/audit_session.h bsm/audit.h + substituteInPlace login.tproj/login_audit.c \ + --replace bsm/audit_session.h bsm/audit.h + ''; + + buildPhase = '' + for dir in *.tproj; do + name=$(basename $dir) + name=''${name%.tproj} + + CFLAGS="" + case $name in + arch) CFLAGS="-framework CoreFoundation";; + atrun) CFLAGS="-Iat.tproj";; + chkpasswd) + CFLAGS="-framework OpenDirectory -framework CoreFoundation -lpam";; + getconf) + for f in getconf.tproj/*.gperf; do + cfile=''${f%.gperf}.c + LC_ALL=C awk -f getconf.tproj/fake-gperf.awk $f > $cfile + done + ;; + iostat) CFLAGS="-framework IOKit -framework CoreFoundation";; + login) CFLAGS="-lbsm -lpam";; + nvram) CFLAGS="-framework CoreFoundation -framework IOKit";; + sadc) CFLAGS="-framework IOKit -framework CoreFoundation";; + sar) CFLAGS="-Isadc.tproj";; + esac + + echo "Building $name" + + case $name in + + # These are all broken currently. + arch) continue;; + chpass) continue;; + dirhelper) continue;; + dynamic_pager) continue;; + fs_usage) continue;; + latency) continue;; + pagesize) continue;; + passwd) continue;; + reboot) continue;; + sc_usage) continue;; + shutdown) continue;; + trace) continue;; + + *) cc $dir/*.c -I''${dir} $CFLAGS -o $name ;; + esac + done + ''; + + installPhase = '' + for dir in *.tproj; do + name=$(basename $dir) + name=''${name%.tproj} + [ -x $name ] && install -D $name $out/bin/$name + for n in 1 2 3 4 5 6 7 8 9; do + for f in $dir/*.$n; do + install -D $f $out/share/man/man$n/$(basename $f) + done done - ''; + done + ''; meta = { platforms = stdenv.lib.platforms.darwin; - maintainers = with stdenv.lib.maintainers; [ shlevy ]; + maintainers = with stdenv.lib.maintainers; [ shlevy matthewbauer ]; }; } diff --git a/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix new file mode 100644 index 000000000000..196276b0b273 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix @@ -0,0 +1,25 @@ +{ stdenv, appleDerivation, fetchurl, xcbuild, ncurses, bzip2, zlib, lzma }: + +appleDerivation { + buildInputs = [ xcbuild ncurses bzip2 zlib lzma ]; + + # patches to use ncursees + # disables md5 + patchPhase = '' + substituteInPlace text_cmds.xcodeproj/project.pbxproj \ + --replace 'FC6C98FB149A94EB00DDCC47 /* libcurses.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libcurses.dylib; path = /usr/lib/libcurses.dylib; sourceTree = "<absolute>"; };' 'FC6C98FB149A94EB00DDCC47 /* libncurses.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libncurses.dylib; path = /usr/lib/libncurses.dylib; sourceTree = "<absolute>"; };' \ + --replace 'FC7A7EB5149875E00086576A /* PBXTargetDependency */,' "" + ''; + + installPhase = '' + mkdir -p $out/bin + for f in Products/Release/*; do + install -D $f $out/bin/$(basename $f) + done + ''; + + meta = { + platforms = stdenv.lib.platforms.darwin; + maintainers = with stdenv.lib.maintainers; [ matthewbauer ]; + }; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/top/default.nix b/pkgs/os-specific/darwin/apple-source-releases/top/default.nix new file mode 100644 index 000000000000..4ddec2a30c90 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/top/default.nix @@ -0,0 +1,15 @@ +{xcbuild, appleDerivation, apple_sdk, ncurses, libutil-new, lib}: + +appleDerivation { + buildInputs = [ xcbuild apple_sdk.frameworks.IOKit ncurses libutil-new ]; + NIX_LDFLAGS = "-lutil"; + installPhase = '' + install -D Products/Release/libtop.a $out/lib/libtop.a + install -D Products/Release/libtop.h $out/include/libtop.h + install -D Products/Release/top $out/bin/top + ''; + meta = { + platforms = lib.platforms.darwin; + maintainers = with lib.maintainers; [ matthewbauer ]; + }; +} |