diff options
author | Daniel Peebles <pumpkin@me.com> | 2014-09-29 22:54:45 -0400 |
---|---|---|
committer | Daniel Peebles <pumpkin@me.com> | 2014-09-30 01:14:14 -0400 |
commit | 58ea86bd872b5a098b61b0bc2c8ee8a134774ee0 (patch) | |
tree | 532487132b5655c167a4b46aa7fdb087383529ec /pkgs/os-specific/darwin | |
parent | a4a35032113c90d64ec48d85b495e1cddc4a3d17 (diff) | |
download | nixlib-58ea86bd872b5a098b61b0bc2c8ee8a134774ee0.tar nixlib-58ea86bd872b5a098b61b0bc2c8ee8a134774ee0.tar.gz nixlib-58ea86bd872b5a098b61b0bc2c8ee8a134774ee0.tar.bz2 nixlib-58ea86bd872b5a098b61b0bc2c8ee8a134774ee0.tar.lz nixlib-58ea86bd872b5a098b61b0bc2c8ee8a134774ee0.tar.xz nixlib-58ea86bd872b5a098b61b0bc2c8ee8a134774ee0.tar.zst nixlib-58ea86bd872b5a098b61b0bc2c8ee8a134774ee0.zip |
Let’s compile the Mac OS X SecurityTool ourselves
Diffstat (limited to 'pkgs/os-specific/darwin')
-rw-r--r-- | pkgs/os-specific/darwin/osx-private-sdk/default.nix | 34 | ||||
-rw-r--r-- | pkgs/os-specific/darwin/osx-sdk/default.nix | 26 | ||||
-rw-r--r-- | pkgs/os-specific/darwin/security-tool/default.nix | 30 |
3 files changed, 90 insertions, 0 deletions
diff --git a/pkgs/os-specific/darwin/osx-private-sdk/default.nix b/pkgs/os-specific/darwin/osx-private-sdk/default.nix new file mode 100644 index 000000000000..d12ad24c9f8a --- /dev/null +++ b/pkgs/os-specific/darwin/osx-private-sdk/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, python, osx_sdk }: + +let + sdkVersion = "10.9"; +in stdenv.mkDerivation { + name = "PrivateMacOSX${sdkVersion}.sdk"; + + src = fetchFromGitHub { + owner = "copumpkin"; + repo = "OSXPrivateSDK"; + rev = "bde9cba13e6ae62a8e4e0f405008ea719526e7ad"; + sha256 = "1vj3fxwp32irxjk987p7a223sm5bl5rrlajcvgy69k0wb0fp0krc"; + }; + + buildInputs = [ python ]; + + configurePhase = "true"; + + buildPhase = '' + python PrivateSDK.py -i ${osx_sdk}/Developer/SDKs/MacOSX${sdkVersion}.sdk -o PrivateMacOSX${sdkVersion}.sdk + ''; + + installPhase = '' + mkdir -p $out/Developer/SDKs/ + mv PrivateMacOSX${sdkVersion}.sdk $out/Developer/SDKs + ''; + + meta = with stdenv.lib; { + description = "A private Mac OS ${version} SDK, suitable for building many of Apple's open source releases"; + maintainers = with maintainers; [ copumpkin ]; + platforms = platforms.darwin; + license = licenses.unfree; + }; +} \ No newline at end of file diff --git a/pkgs/os-specific/darwin/osx-sdk/default.nix b/pkgs/os-specific/darwin/osx-sdk/default.nix new file mode 100644 index 000000000000..612bf003743c --- /dev/null +++ b/pkgs/os-specific/darwin/osx-sdk/default.nix @@ -0,0 +1,26 @@ +{ stdenv }: + +let + version = "10.9"; +in stdenv.mkDerivation { + name = "MacOSX10.9.sdk"; + + src = "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk"; + + unpackPhase = "true"; + configurePhase = "true"; + buildPhase = "true"; + + installPhase = '' + mkdir -p $out/Developer/SDKs/ + echo "Source is: $src" + cp -r $src $out/Developer/SDKs/ + ''; + + meta = with stdenv.lib; { + description = "The Mac OS ${version} SDK"; + maintainers = with maintainers; [ copumpkin ]; + platforms = platforms.darwin; + license = licenses.unfree; + }; +} \ No newline at end of file diff --git a/pkgs/os-specific/darwin/security-tool/default.nix b/pkgs/os-specific/darwin/security-tool/default.nix new file mode 100644 index 000000000000..49d61f392c5e --- /dev/null +++ b/pkgs/os-specific/darwin/security-tool/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, osx_private_sdk }: + +stdenv.mkDerivation rec { + version = "55115"; + name = "SecurityTool-${version}"; + + src = fetchurl { + url = "http://opensource.apple.com/tarballs/SecurityTool/SecurityTool-${version}.tar.gz"; + sha256 = "0apcz4vy2z5645jhrs60wj3w27mncjjqv42h5lln36g6qs2n9113"; + }; + + configurePhase = ""; + + # Someday we shall purge this impurity! + buildPhase = '' + /usr/bin/xcodebuild SDKROOT=${osx_private_sdk}/Developer/SDKs/PrivateMacOSX10.9.sdk/ + ''; + + installPhase = '' + mkdir -p $out/bin/ + cp build/Release/security $out/bin + ''; + + meta = with stdenv.lib; { + description = "Command line interface to Mac OS X keychains and Security framework"; + maintainers = with maintainers; [ copumpkin ]; + platforms = platforms.darwin; + license = licenses.apsl20; + }; +} \ No newline at end of file |