maloader: unstable-2014-02-25 -> 0-unstable-2018-05-02

This commit is contained in:
Weijia Wang 2024-03-18 00:39:50 +01:00
parent ad87dc75d6
commit ea012e17f7
3 changed files with 63 additions and 43 deletions

View File

@ -0,0 +1,63 @@
{
lib,
llvmPackages,
fetchFromGitHub,
opencflite,
libuuid,
zlib,
}:
let
stdenv = llvmPackages.libcxxStdenv;
in
stdenv.mkDerivation {
pname = "maloader";
version = "0-unstable-2018-05-02";
src = fetchFromGitHub {
owner = "shinh";
repo = "maloader";
rev = "464a90fdfd06a54c9da5d1a3725ed6229c0d3d60";
hash = "sha256-0N3+tr8XUsn3WhJNsPVknumBrfMgDawTEXVRkIs/IV8=";
};
postPatch = ''
substituteInPlace ld-mac.cc \
--replace-fail 'loadLibMac(mypath)' 'loadLibMac("${placeholder "out"}/lib/")' \
--replace-fail 'libCoreFoundation.so' '${opencflite}/lib/libCoreFoundation.so'
substituteInPlace libmac/stack_protector-obsd.c \
--replace-fail 'sys/sysctl.h' 'linux/sysctl.h'
'';
buildInputs = [
libuuid
zlib
];
buildFlags = [
"USE_LIBCXX=1"
"release"
];
env.NIX_CFLAGS_COMPILE = "-Wno-error=unused-command-line-argument";
installPhase = ''
runHook preInstall
install -vD libmac.so "$out/lib/libmac.so"
for bin in extract macho2elf ld-mac; do
install -vD "$bin" "$out/bin/$bin"
done
runHook postInstall
'';
meta = {
description = "Mach-O loader for Linux";
homepage = "https://github.com/shinh/maloader";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ wegank ];
inherit (opencflite.meta) platforms;
};
}

View File

@ -1,40 +0,0 @@
{ lib, stdenv, fetchFromGitHub, opencflite, clang, libcxx }:
stdenv.mkDerivation {
pname = "maloader";
version = "unstable-2014-02-25";
src = fetchFromGitHub {
owner = "shinh";
repo = "maloader";
rev = "5f220393e0b7b9ad0cf1aba0e89df2b42a1f0442";
sha256 = "0dd1pn07x1y8pyn5wz8qcl1c1xwghyya4d060m3y9vx5dhv9xmzw";
};
postPatch = ''
sed -i \
-e '/if.*loadLibMac.*mypath/s|mypath|"'"$out/lib/"'"|' \
-e 's|libCoreFoundation\.so|${opencflite}/lib/&|' \
ld-mac.cc
'';
env.NIX_CFLAGS_COMPILE = "-I${lib.getDev 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 = lib.licenses.bsd2;
platforms = lib.platforms.linux;
broken = true; # 2018-09-08, no succesful build since 2017-08-21
};
}

View File

@ -153,9 +153,6 @@ impure-cmds // appleSourcePackages // chooseLibs // {
propagatedBuildInputs = [ self.signingUtils ];
} ../os-specific/darwin/signing-utils/auto-sign-hook.sh;
maloader = callPackage ../os-specific/darwin/maloader {
};
insert_dylib = callPackage ../os-specific/darwin/insert_dylib { };
iosSdkPkgs = callPackage ../os-specific/darwin/xcode/sdk-pkgs.nix {