Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, stdenv 3, fetchFromGitHub 4, meson 5, ninja 6, nixosTests 7}: 8let 9 libDir = if builtins.elem stdenv.system [ "x86_64-linux" "mips64-linux" "powerpc64le-linux" ] 10 then "/lib64" 11 else "/lib"; 12in 13stdenv.mkDerivation rec { 14 pname = "nix-ld"; 15 version = "1.1.0"; 16 17 src = fetchFromGitHub { 18 owner = "mic92"; 19 repo = "nix-ld"; 20 rev = version; 21 sha256 = "sha256-dM9YPN+yq6sHmRhJQinYdAVXBkTgEtrVQcsd/mIIX0o="; 22 }; 23 24 doCheck = true; 25 26 nativeBuildInputs = [ meson ninja ]; 27 28 mesonFlags = [ 29 "-Dnix-system=${stdenv.system}" 30 ]; 31 32 hardeningDisable = [ 33 "stackprotector" 34 ]; 35 36 postInstall = '' 37 mkdir -p $out/nix-support 38 39 ldpath=${libDir}/$(basename $(< ${stdenv.cc}/nix-support/dynamic-linker)) 40 echo "$ldpath" > $out/nix-support/ldpath 41 mkdir -p $out/lib/tmpfiles.d/ 42 cat > $out/lib/tmpfiles.d/nix-ld.conf <<EOF 43 L+ $ldpath - - - - $out/libexec/nix-ld 44 EOF 45 ''; 46 47 passthru.tests.nix-ld = nixosTests.nix-ld; 48 49 meta = with lib; { 50 description = "Run unpatched dynamic binaries on NixOS"; 51 homepage = "https://github.com/Mic92/nix-ld"; 52 license = licenses.mit; 53 maintainers = with maintainers; [ mic92 ]; 54 platforms = platforms.linux; 55 }; 56}