about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/perl-modules/expression-generator/write-nix-expression.sh
blob: cfe1506640b315d8c9b94e42a27a7f294ea13062 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#! /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";