diff options
author | sunder <evenquantity@gmail.com> | 2024-04-03 20:59:22 +0300 |
---|---|---|
committer | Peter Hoeg <peter@hoeg.com> | 2024-04-19 01:38:55 -0700 |
commit | 9c1f3b305a16581259888edc12adbd18bef01ba8 (patch) | |
tree | 12a947a909110abef1d5532f3366f1ffeaa035d6 /pkgs | |
parent | a0692d3b21b4da1f041839884195a33fbbd3c5e7 (diff) |
buildCrystalPackage: add copyShardDeps flag
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/development/compilers/crystal/build-package.nix | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/pkgs/development/compilers/crystal/build-package.nix b/pkgs/development/compilers/crystal/build-package.nix index cb5869392b6b9..536ad3acda7b5 100644 --- a/pkgs/development/compilers/crystal/build-package.nix +++ b/pkgs/development/compilers/crystal/build-package.nix @@ -26,6 +26,9 @@ # The default `crystal build` options can be overridden with { foo.options = [ "--optionname" ]; } , crystalBinaries ? { } , enableParallelBuilding ? true + # Copy all shards dependencies instead of symlinking and add write permissions + # to make environment more local-like +, copyShardDeps ? false , ... }@args: @@ -78,7 +81,8 @@ stdenv.mkDerivation (mkDerivationArgs // { ++ lib.optional (lockFile != null) "cp ${lockFile} ./shard.lock" ++ lib.optionals (shardsFile != null) [ "test -e lib || mkdir lib" - "for d in ${crystalLib}/*; do ln -s $d lib/; done" + (if copyShardDeps then "for d in ${crystalLib}/*; do cp -r $d/ lib/; done; chmod -R +w lib/" + else "for d in ${crystalLib}/*; do ln -s $d lib/; done") "cp shard.lock lib/.shards.info" ] ++ [ "runHook postConfigure" ] |