summary refs log tree commit diff
path: root/pkgs/development/perl-modules/expression-generator/write-nix-expression.sh
blob: 9f5cdb9142eb2b5edb973d16c88d748a1abeaf29 (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";