Merge pull request #9 from DeversiFi/feature/hangle-git-dependencies

feature: handle git dependencies
This commit is contained in:
Stéphan Kochen
2022-01-25 20:03:21 +01:00
committed by GitHub
2 changed files with 5 additions and 4 deletions
+1
View File
@@ -245,6 +245,7 @@ export default async (project: Project, cache: Cache, report: Report) => {
`${isolatedProp} = optionalOverride (args.${overrideArg} or null) (mkIsolatedBuild { ${[
`pname = ${json(pkg.name)};`,
`version = ${json(pkg.version)};`,
`reference = ${json(pkg.reference)};`,
`locators = [\n${locators}];`,
].join(` `)} });`
);
+4 -4
View File
@@ -1,7 +1,7 @@
# This file is generated by running "yarn install" inside your project.
# Manual changes might be lost - proceed with caution!
{ lib, nodejs, stdenv, fetchurl, writeText }:
{ lib, nodejs, stdenv, fetchurl, writeText, git, cacert }:
{ src, overrideAttrs ? null, ... } @ args:
let
@@ -43,7 +43,7 @@ let
in lib.mapAttrs (locator: { filename, sha512 }: stdenv.mkDerivation {
inherit src builder locator;
name = lib.strings.sanitizeDerivationName locator;
buildInputs = [ nodejs ];
buildInputs = [ nodejs git cacert ];
outputFilename = filename;
outputHashMode = "flat";
outputHashAlgo = "sha512";
@@ -64,7 +64,7 @@ let
mkCacheBuilderForDrvs (pickCacheDrvs locators);
# Create a derivation that builds a node-pre-gyp module in isolation.
mkIsolatedBuild = { pname, version, locators }: stdenv.mkDerivation (drvCommon // {
mkIsolatedBuild = { pname, version, reference, locators }: stdenv.mkDerivation (drvCommon // {
inherit pname version;
phases = [ "buildPhase" "installPhase" ];
@@ -74,7 +74,7 @@ let
source ${mkCacheBuilderForLocators locators}
popd > /dev/null
echo '{ "dependencies": { "${pname}": "${version}" } }' > package.json
echo '{ "dependencies": { "${pname}": "${reference}" } }' > package.json
install -m 0600 ${lockfile} ./yarn.lock
export yarn_global_folder="$TMP"
export YARN_ENABLE_IMMUTABLE_INSTALLS=false