From 9c1f3b305a16581259888edc12adbd18bef01ba8 Mon Sep 17 00:00:00 2001 From: sunder Date: Wed, 3 Apr 2024 20:59:22 +0300 Subject: [PATCH] buildCrystalPackage: add copyShardDeps flag --- pkgs/development/compilers/crystal/build-package.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/crystal/build-package.nix b/pkgs/development/compilers/crystal/build-package.nix index cb5869392b6b..536ad3acda7b 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" ]