parallel-full: fix missing files and meta
Previously, this was not usable as a drop-in replacement for `parallel` since it only included the one exe. This changes to additionally symlink all files from $out as well as symlink all other outputs. So no files are missing compared to `parallel`, while being efficiently symlinked. Further, copy meta and version from the base package.
This commit is contained in:
parent
63c3a29ca8
commit
a52252c919
@ -1,10 +1,18 @@
|
|||||||
{ lib, runCommand, makeWrapper, parallel, perlPackages
|
{ lib, symlinkJoin, makeWrapper, parallel, perlPackages
|
||||||
, extraPerlPackages ? with perlPackages; [ DBI DBDPg DBDSQLite DBDCSV TextCSV ]
|
, extraPerlPackages ? with perlPackages; [ DBI DBDPg DBDSQLite DBDCSV TextCSV ]
|
||||||
, willCite ? false }:
|
, willCite ? false }:
|
||||||
|
|
||||||
runCommand "parallel-full" { nativeBuildInputs = [ makeWrapper ]; } ''
|
symlinkJoin {
|
||||||
mkdir -p $out/bin
|
name = "parallel-full";
|
||||||
|
inherit (parallel) outputs;
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
paths = [ parallel ];
|
||||||
|
postBuild = ''
|
||||||
|
${lib.concatMapStringsSep "\n" (output: "ln -s --no-target-directory ${parallel.${output}} \$${output}") (lib.remove "out" parallel.outputs)}
|
||||||
|
|
||||||
|
rm $out/bin/parallel
|
||||||
makeWrapper ${parallel}/bin/parallel $out/bin/parallel \
|
makeWrapper ${parallel}/bin/parallel $out/bin/parallel \
|
||||||
--set PERL5LIB "${perlPackages.makeFullPerlPath extraPerlPackages}" \
|
--set PERL5LIB "${perlPackages.makeFullPerlPath extraPerlPackages}" \
|
||||||
${lib.optionalString willCite "--add-flags --will-cite"}
|
${lib.optionalString willCite "--add-flags --will-cite"}
|
||||||
''
|
'';
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user