From bea54d116e572366b21bcbdeb85d567df00ef4a4 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sat, 6 Jul 2024 17:49:58 +0200 Subject: [PATCH] Add resolvePath, filesetToSource indirections for Nixpkgs --- packaging/dependencies.nix | 11 ++++++++++- tests/unit/libexpr/package.nix | 3 ++- tests/unit/libfetchers/package.nix | 3 ++- tests/unit/libflake/package.nix | 3 ++- tests/unit/libstore/package.nix | 3 ++- 5 files changed, 18 insertions(+), 5 deletions(-) diff --git a/packaging/dependencies.nix b/packaging/dependencies.nix index 78a857d85..34b344971 100644 --- a/packaging/dependencies.nix +++ b/packaging/dependencies.nix @@ -14,9 +14,16 @@ let inherit (pkgs) lib; + root = ../.; + + # Nixpkgs implements this by returning a subpath into the fetched Nix sources. + resolvePath = p: p; + + # Indirection for Nixpkgs to override when package.nix files are vendored + filesetToSource = lib.fileset.toSource; + localSourceLayer = finalAttrs: prevAttrs: let - root = ../.; workDirPath = # Ideally we'd pick finalAttrs.workDir, but for now `mkDerivation` has # the requirement that everything except passthru and meta must be @@ -104,5 +111,7 @@ scope: { meta.platforms = lib.platforms.all; }); + inherit resolvePath filesetToSource; + mkMesonDerivation = f: stdenv.mkDerivation (lib.extends localSourceLayer f); } diff --git a/tests/unit/libexpr/package.nix b/tests/unit/libexpr/package.nix index 6394b595d..6b7e12c4a 100644 --- a/tests/unit/libexpr/package.nix +++ b/tests/unit/libexpr/package.nix @@ -18,6 +18,7 @@ # Configuration Options , version +, resolvePath }: let @@ -84,7 +85,7 @@ mkMesonDerivation (finalAttrs: { run = runCommand "${finalAttrs.pname}-run" { } '' PATH="${lib.makeBinPath [ finalAttrs.finalPackage ]}:$PATH" - export _NIX_TEST_UNIT_DATA=${./data} + export _NIX_TEST_UNIT_DATA=${resolvePath ./data} nix-expr-tests touch $out ''; diff --git a/tests/unit/libfetchers/package.nix b/tests/unit/libfetchers/package.nix index 563481cc5..9522f9639 100644 --- a/tests/unit/libfetchers/package.nix +++ b/tests/unit/libfetchers/package.nix @@ -17,6 +17,7 @@ # Configuration Options , version +, resolvePath }: let @@ -82,7 +83,7 @@ mkMesonDerivation (finalAttrs: { run = runCommand "${finalAttrs.pname}-run" { } '' PATH="${lib.makeBinPath [ finalAttrs.finalPackage ]}:$PATH" - export _NIX_TEST_UNIT_DATA=${./data} + export _NIX_TEST_UNIT_DATA=${resolvePath ./data} nix-fetchers-tests touch $out ''; diff --git a/tests/unit/libflake/package.nix b/tests/unit/libflake/package.nix index 15bf44907..859bc49d0 100644 --- a/tests/unit/libflake/package.nix +++ b/tests/unit/libflake/package.nix @@ -17,6 +17,7 @@ # Configuration Options , version +, resolvePath }: let @@ -82,7 +83,7 @@ mkMesonDerivation (finalAttrs: { run = runCommand "${finalAttrs.pname}-run" { } '' PATH="${lib.makeBinPath [ finalAttrs.finalPackage ]}:$PATH" - export _NIX_TEST_UNIT_DATA=${./data} + export _NIX_TEST_UNIT_DATA=${resolvePath ./data} nix-flake-tests touch $out ''; diff --git a/tests/unit/libstore/package.nix b/tests/unit/libstore/package.nix index 2de8af103..efffd0063 100644 --- a/tests/unit/libstore/package.nix +++ b/tests/unit/libstore/package.nix @@ -19,6 +19,7 @@ # Configuration Options , version +, filesetToSource }: let @@ -86,7 +87,7 @@ mkMesonDerivation (finalAttrs: { run = let # Some data is shared with the functional tests: they create it, # we consume it. - data = lib.fileset.toSource { + data = filesetToSource { root = ../..; fileset = lib.fileset.unions [ ./data