depot/pkgs/development/perl-modules/expression-generator/write-nix-expression.sh
Luke Granger-Brown 57725ef3ec Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce
git-subtree-dir: third_party/nixpkgs
git-subtree-split: 76612b17c0ce71689921ca12d9ffdc9c23ce40b2
2024-11-10 23:59:47 +00:00

34 lines
908 B
Bash
Executable file

#! /bin/sh
cd $(dirname $0);
source lib-cache.sh;
print_expression () {
module_name="$1";
module_basename="${module_name//::/-}";
module_compressedname="perl${module_name//::/}";
sourcelink="$(./source-download-link.sh "${module_name}")";
version_name="${sourcelink%.tar.*}";
version_name="${version_name##*/}";
dependencies="$(./filtered-requirements.sh "$module_name" | sed -e 's/^/perl/; s/:://g' | xargs)";
source_hash=$(nix-prefetch-url "$sourcelink" 2>/dev/null);
cat <<EOF
${module_compressedname} = import ../development/perl-modules/generic perl {
name = "${version_name}";
src = fetchurl {
url = ${sourcelink};
sha256 = "$source_hash";
};
propagatedBuildInputs = [${dependencies}];
};
EOF
};
module_name="$1";
module_basename="${module_name//::/-}";
cached_output print_expression "$module_basename" "$module_name" "nix";