mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-01 23:22:37 +00:00
darwin: Add new package maloader.
This is the mentioned Mach-O loader that we're yoing to use to execute Apple's proprietary binaries. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
This commit is contained in:
parent
53a267e535
commit
45cd9994bc
36
pkgs/os-specific/darwin/maloader/default.nix
Normal file
36
pkgs/os-specific/darwin/maloader/default.nix
Normal file
@ -0,0 +1,36 @@
|
||||
{ stdenv, fetchgit, opencflite, clang, libcxx }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "maloader-0git";
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://github.com/shinh/maloader.git";
|
||||
rev = "5f220393e0b7b9ad0cf1aba0e89df2b42a1f0442";
|
||||
sha256 = "07j9b7n0grrbxxyn2h8pnk6pa8b370wq5z5zwbds8dlhi7q37rhn";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -i \
|
||||
-e '/if.*loadLibMac.*mypath/s|mypath|"'"$out/lib/"'"|' \
|
||||
-e 's|libCoreFoundation\.so|${opencflite}/lib/&|' \
|
||||
ld-mac.cc
|
||||
'';
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-I${libcxx}/include/c++/v1";
|
||||
buildInputs = [ clang libcxx ];
|
||||
buildFlags = [ "USE_LIBCXX=1" "release" ];
|
||||
|
||||
installPhase = ''
|
||||
install -vD libmac.so "$out/lib/libmac.so"
|
||||
|
||||
for bin in extract macho2elf ld-mac; do
|
||||
install -vD "$bin" "$out/bin/$bin"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Mach-O loader for Linux";
|
||||
homepage = "https://github.com/shinh/maloader";
|
||||
license = stdenv.lib.licenses.bsd2;
|
||||
};
|
||||
}
|
@ -6551,11 +6551,15 @@ let
|
||||
|
||||
cramfsswap = callPackage ../os-specific/linux/cramfsswap { };
|
||||
|
||||
darwin = {
|
||||
darwin = rec {
|
||||
cctools = forceNativeDrv (callPackage ../os-specific/darwin/cctools-port {
|
||||
cross = assert crossSystem != null; crossSystem;
|
||||
});
|
||||
|
||||
maloader = callPackage ../os-specific/darwin/maloader {
|
||||
inherit opencflite;
|
||||
};
|
||||
|
||||
opencflite = callPackage ../os-specific/darwin/opencflite {};
|
||||
|
||||
xcode = callPackage ../os-specific/darwin/xcode {};
|
||||
|
Loading…
Reference in New Issue
Block a user