diff --git a/pkgs/by-name/ni/nix-ld/package.nix b/pkgs/by-name/ni/nix-ld/package.nix index 09b555b077d5..36b6917fcf40 100644 --- a/pkgs/by-name/ni/nix-ld/package.nix +++ b/pkgs/by-name/ni/nix-ld/package.nix @@ -1,35 +1,36 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, nixosTests +{ + stdenv, + fetchFromGitHub, + nixosTests, + rustPlatform, + lib, }: -stdenv.mkDerivation rec { - pname = "nix-ld"; - version = "1.2.3"; +rustPlatform.buildRustPackage { + name = "nix-ld"; src = fetchFromGitHub { owner = "mic92"; repo = "nix-ld"; - rev = version; - hash = "sha256-h+odOVyiGmEERMECoFOj5P7FPiMR8IPRzroFA4sKivg="; + rev = "2.0.0"; + sha256 = "sha256-rmSXQ4MYQe/OFDBRlqqw5kyp9b/aeEg0Fg9c167xofg="; }; - doCheck = true; + cargoHash = "sha256-w6CQx9kOyBtM2nMwdFb+LtU4oHVEYrTNVmH1A6R5DHM="; - nativeBuildInputs = [ meson ninja ]; + hardeningDisable = [ "stackprotector" ]; - mesonFlags = [ - "-Dnix-system=${stdenv.system}" - ]; + NIX_SYSTEM = stdenv.system; + RUSTC_BOOTSTRAP = "1"; - hardeningDisable = [ - "stackprotector" - ]; + preCheck = '' + export NIX_LD=${stdenv.cc.bintools.dynamicLinker} + ''; postInstall = '' + mkdir -p $out/libexec + ln -s $out/bin/nix-ld $out/libexec/nix-ld + mkdir -p $out/nix-support ldpath=/${stdenv.hostPlatform.libDir}/$(basename ${stdenv.cc.bintools.dynamicLinker})