diff options
author | Yureka <yuka@yuka.dev> | 2022-10-02 22:41:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-02 22:41:31 +0200 |
commit | aa3dc6440efbf5ad99b77ccb170f74c3784c17fd (patch) | |
tree | cd8199b0267a2bab64ea1a1643c134f786d484c7 /pkgs/build-support | |
parent | 770492307c0118c4afac3934dd982da5116dff05 (diff) | |
download | nixlib-aa3dc6440efbf5ad99b77ccb170f74c3784c17fd.tar nixlib-aa3dc6440efbf5ad99b77ccb170f74c3784c17fd.tar.gz nixlib-aa3dc6440efbf5ad99b77ccb170f74c3784c17fd.tar.bz2 nixlib-aa3dc6440efbf5ad99b77ccb170f74c3784c17fd.tar.lz nixlib-aa3dc6440efbf5ad99b77ccb170f74c3784c17fd.tar.xz nixlib-aa3dc6440efbf5ad99b77ccb170f74c3784c17fd.tar.zst nixlib-aa3dc6440efbf5ad99b77ccb170f74c3784c17fd.zip |
fetchYarnDeps: support passing src attribute (#193047)
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/node/fetch-yarn-deps/default.nix | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/pkgs/build-support/node/fetch-yarn-deps/default.nix b/pkgs/build-support/node/fetch-yarn-deps/default.nix index 6d67b87915ac..4cf2507706ae 100644 --- a/pkgs/build-support/node/fetch-yarn-deps/default.nix +++ b/pkgs/build-support/node/fetch-yarn-deps/default.nix @@ -42,31 +42,36 @@ in { fetchYarnDeps = let f = { name ? "offline", - yarnLock, + src ? null, hash ? "", sha256 ? "", - }: let + ... + }@args: let hash_ = if hash != "" then { outputHashAlgo = null; outputHash = hash; } else if sha256 != "" then { outputHashAlgo = "sha256"; outputHash = sha256; } else { outputHashAlgo = "sha256"; outputHash = lib.fakeSha256; }; - in stdenv.mkDerivation { + in stdenv.mkDerivation ({ inherit name; - dontUnpack = true; + dontUnpack = src == null; dontInstall = true; nativeBuildInputs = [ prefetch-yarn-deps ]; GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt"; buildPhase = '' + runHook preBuild + + yarnLock=''${yarnLock:=$PWD/yarn.lock} mkdir -p $out - (cd $out; prefetch-yarn-deps --verbose --builder ${yarnLock}) + (cd $out; prefetch-yarn-deps --verbose --builder $yarnLock) + + runHook postBuild ''; outputHashMode = "recursive"; - inherit (hash_) outputHashAlgo outputHash; - }; + } // hash_ // (removeAttrs args ["src" "name" "hash" "sha256"])); in lib.setFunctionArgs f (lib.functionArgs f) // { tests = callPackage ./tests {}; |