mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-10-22 21:33:21 +03:00
26 lines
663 B
Nix
26 lines
663 B
Nix
{ configuredSrc
|
|
, runCommand
|
|
, cabal2nix
|
|
, yq
|
|
}:
|
|
|
|
runCommand "stage0.nix" {
|
|
buildInputs = [cabal2nix yq];
|
|
} ''
|
|
(
|
|
printf '{ callPackage, configuredSrc }:\n\n{\n\n'
|
|
yq '.packages | .[]' ${configuredSrc}/stack.yaml -r | sed 's|^\.$|./.|' | sed 's|^\.||' | while read f; do
|
|
printf ' %s = callPackage\n' \
|
|
"$(find ${configuredSrc}/$f -name "*.cabal" -maxdepth 1 \
|
|
| xargs basename \
|
|
| sed 's/.cabal$//')"
|
|
printf '(%s) {};' \
|
|
"$(cabal2nix ${configuredSrc}/$f \
|
|
| sed 's|${configuredSrc}/|configuredSrc + |g')" \
|
|
| sed 's/^/ /'
|
|
printf '\n\n'
|
|
done
|
|
printf '}\n'
|
|
) > $out
|
|
''
|