commit
1dc9931937
@ -1,49 +1,56 @@ |
|||||||
{ stdenv, meson, ninja, lib, nixosTests, fetchFromGitHub }: |
{ lib |
||||||
|
, stdenv |
||||||
|
, fetchFromGitHub |
||||||
|
, meson |
||||||
|
, ninja |
||||||
|
, nixosTests |
||||||
|
}: |
||||||
let |
let |
||||||
self = stdenv.mkDerivation { |
libDir = if builtins.elem stdenv.system [ "x86_64-linux" "mips64-linux" "powerpc64le-linux" ] |
||||||
name = "nix-ld"; |
then "/lib64" |
||||||
src = fetchFromGitHub { |
else "/lib"; |
||||||
owner = "Mic92"; |
in |
||||||
repo = "nix-ld"; |
stdenv.mkDerivation rec { |
||||||
rev = "1.0.0"; |
pname = "nix-ld"; |
||||||
sha256 = "sha256-QYPg8wPpq7q5Xd1jW17Lh36iKFSsVkN/gWYoQRv2XoU="; |
version = "1.0.2"; |
||||||
}; |
|
||||||
|
src = fetchFromGitHub { |
||||||
doCheck = true; |
owner = "mic92"; |
||||||
|
repo = "nix-ld"; |
||||||
nativeBuildInputs = [ meson ninja ]; |
rev = version; |
||||||
|
sha256 = "sha256-DlWU5i/MykqWgB9vstYbECy3e+XagXWCxi+XDJNey0s="; |
||||||
mesonFlags = [ |
}; |
||||||
"-Dnix-system=${stdenv.system}" |
|
||||||
]; |
doCheck = true; |
||||||
|
|
||||||
hardeningDisable = [ |
nativeBuildInputs = [ meson ninja ]; |
||||||
"stackprotector" |
|
||||||
]; |
mesonFlags = [ |
||||||
|
"-Dnix-system=${stdenv.system}" |
||||||
postInstall = '' |
]; |
||||||
mkdir -p $out/nix-support |
|
||||||
basename $(< ${stdenv.cc}/nix-support/dynamic-linker) > $out/nix-support/ld-name |
hardeningDisable = [ |
||||||
''; |
"stackprotector" |
||||||
|
]; |
||||||
passthru.tests.nix-ld = nixosTests.nix-ld; |
|
||||||
passthru.ldPath = let |
postInstall = '' |
||||||
libDir = if stdenv.system == "x86_64-linux" || |
mkdir -p $out/nix-support |
||||||
stdenv.system == "mips64-linux" || |
|
||||||
stdenv.system == "powerpc64le-linux" |
ldpath=${libDir}/$(basename $(< ${stdenv.cc}/nix-support/dynamic-linker)) |
||||||
then |
echo "$ldpath" > $out/nix-support/ldpath |
||||||
"/lib64" |
mkdir -p $out/lib/tmpfiles.d/ |
||||||
else |
cat > $out/lib/tmpfiles.d/nix-ld.conf <<EOF |
||||||
"/lib"; |
L+ $ldpath - - - - $out/libexec/nix-ld |
||||||
ldName = lib.fileContents "${self}/nix-support/ld-name"; |
EOF |
||||||
in "${libDir}/${ldName}"; |
''; |
||||||
|
|
||||||
meta = with lib; { |
passthru.tests.nix-ld = nixosTests.nix-ld; |
||||||
description = "Run unpatched dynamic binaries on NixOS"; |
|
||||||
homepage = "https://github.com/Mic92/nix-ld"; |
meta = with lib; { |
||||||
license = licenses.mit; |
description = "Run unpatched dynamic binaries on NixOS"; |
||||||
maintainers = with maintainers; [ mic92 ]; |
homepage = "https://github.com/Mic92/nix-ld"; |
||||||
platforms = platforms.linux; |
license = licenses.mit; |
||||||
}; |
maintainers = with maintainers; [ mic92 ]; |
||||||
|
platforms = platforms.unix; |
||||||
}; |
}; |
||||||
in self |
} |
||||||
|
Loading…
Reference in new issue