From c6e8899d9eed425dc1bdcde7a008f30e2947d814 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 14 Jun 2023 18:32:38 +0200 Subject: [PATCH 1/4] nix-ld: 1.1.0 -> 1.2.1 Diff: https://github.com/mic92/nix-ld/compare/1.1.0...1.2.1 --- pkgs/os-specific/linux/nix-ld/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/nix-ld/default.nix b/pkgs/os-specific/linux/nix-ld/default.nix index 6e0af1217219..534955f0b857 100644 --- a/pkgs/os-specific/linux/nix-ld/default.nix +++ b/pkgs/os-specific/linux/nix-ld/default.nix @@ -12,13 +12,13 @@ let in stdenv.mkDerivation rec { pname = "nix-ld"; - version = "1.1.0"; + version = "1.2.1"; src = fetchFromGitHub { owner = "mic92"; repo = "nix-ld"; rev = version; - sha256 = "sha256-dM9YPN+yq6sHmRhJQinYdAVXBkTgEtrVQcsd/mIIX0o="; + sha256 = "sha256-NitUt9LBJMpAbbKC98aRPYMfxZFq3PHH6ieqM4MVO08="; }; doCheck = true; From f3ae11b096bfd522de2c1afb69a4e53b4a71d188 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 14 Jun 2023 18:35:21 +0200 Subject: [PATCH 2/4] nixos/nix-ld: also test NIX_LD fallback --- nixos/tests/nix-ld.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/tests/nix-ld.nix b/nixos/tests/nix-ld.nix index 8733f5b0c397..c62c0437e04e 100644 --- a/nixos/tests/nix-ld.nix +++ b/nixos/tests/nix-ld.nix @@ -13,5 +13,8 @@ import ./make-test-python.nix ({ lib, pkgs, ...} : testScript = '' start_all() machine.succeed("hello") + + # test fallback if NIX_LD is not set + machine.succeed("unset NIX_LD; unset NIX_LD_LIBRARY_PATH; hello") ''; }) From b60f21e1356efe71a8f6f5688b4aa2fbbe13eb7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 5 Jun 2023 09:56:05 +0200 Subject: [PATCH 3/4] nixos/nix-ld: also include ld.so in nixos profile --- nixos/modules/programs/nix-ld.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/nixos/modules/programs/nix-ld.nix b/nixos/modules/programs/nix-ld.nix index f0c265f0e5a3..9e1297479ed4 100644 --- a/nixos/modules/programs/nix-ld.nix +++ b/nixos/modules/programs/nix-ld.nix @@ -2,15 +2,14 @@ let cfg = config.programs.nix-ld; - # TODO make glibc here configurable? - nix-ld-so = pkgs.runCommand "ld.so" {} '' - ln -s "$(cat '${pkgs.stdenv.cc}/nix-support/dynamic-linker')" $out - ''; - nix-ld-libraries = pkgs.buildEnv { name = "lb-library-path"; pathsToLink = [ "/lib" ]; paths = map lib.getLib cfg.libraries; + # TODO make glibc here configurable? + postBuild = '' + ln -s ${pkgs.stdenv.cc.bintools.dynamicLinker} $out/share/nix-ld/lib/ld.so + ''; extraPrefix = "/share/nix-ld"; ignoreCollisions = true; }; @@ -60,7 +59,7 @@ in environment.pathsToLink = [ "/share/nix-ld" ]; environment.variables = { - NIX_LD = toString nix-ld-so; + NIX_LD = "/run/current-system/sw/share/nix-ld/lib/ld.so"; NIX_LD_LIBRARY_PATH = "/run/current-system/sw/share/nix-ld/lib"; }; }; From 5ac7371bd1b99ca76930decc457e79fbae7e49ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 5 Jun 2023 10:20:29 +0200 Subject: [PATCH 4/4] nixos/nix-ld: use mkPackageOptionMD --- nixos/modules/programs/nix-ld.nix | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/nixos/modules/programs/nix-ld.nix b/nixos/modules/programs/nix-ld.nix index 9e1297479ed4..d54b3917f89a 100644 --- a/nixos/modules/programs/nix-ld.nix +++ b/nixos/modules/programs/nix-ld.nix @@ -37,12 +37,7 @@ in meta.maintainers = [ lib.maintainers.mic92 ]; options.programs.nix-ld = { enable = lib.mkEnableOption (lib.mdDoc ''nix-ld, Documentation: ''); - package = lib.mkOption { - type = lib.types.package; - description = lib.mdDoc "Which package to use for the nix-ld."; - default = pkgs.nix-ld; - defaultText = lib.literalExpression "pkgs.nix-ld"; - }; + package = lib.mkPackageOptionMD pkgs "nix-ld" { }; libraries = lib.mkOption { type = lib.types.listOf lib.types.package; description = lib.mdDoc "Libraries that automatically become available to all programs. The default set includes common libraries.";