summary refs log tree commit diff
path: root/maintainers/scripts/nix-generate-from-cpan.nix
diff options
context:
space:
mode:
authorRobert Helgesson <robert@rycee.net>2015-10-30 01:04:31 +0100
committerRobert Helgesson <robert@rycee.net>2016-01-23 18:54:05 +0100
commitc90c30dd1e9db82d8a60c9578cddd87dd130e89b (patch)
treeb4da19a09b1102eb31f9dafa582ab7de5eab4c62 /maintainers/scripts/nix-generate-from-cpan.nix
parent8f9aea9ccc1fda3fc3b1573d4afa9c26d96ad693 (diff)
downloadnixpkgs-c90c30dd1e9db82d8a60c9578cddd87dd130e89b.tar
nixpkgs-c90c30dd1e9db82d8a60c9578cddd87dd130e89b.tar.gz
nixpkgs-c90c30dd1e9db82d8a60c9578cddd87dd130e89b.tar.bz2
nixpkgs-c90c30dd1e9db82d8a60c9578cddd87dd130e89b.tar.lz
nixpkgs-c90c30dd1e9db82d8a60c9578cddd87dd130e89b.tar.xz
nixpkgs-c90c30dd1e9db82d8a60c9578cddd87dd130e89b.tar.zst
nixpkgs-c90c30dd1e9db82d8a60c9578cddd87dd130e89b.zip
nix-generate-from-cpan: large refactor
This commit includes a substantial refactoring of
`nix-generate-from-cpan`. This somewhat simplifies the code through the
use of the CPAN::Meta module while adding the following features:

 - The program now takes an optional maintainer on the command line that
   is subsequently added into the generated package.

 - An attempt is made to convert the license specified inside the
   META.json or META.yaml file to a license in `stdenv.lib.licenses`.

 - An attempt is made to disambiguate attribute names of packages whose
   name is a reserved word in Nix.

 - Write logging output using Log::Log4perl.

 - Print module RSS feed URL. The RSS feed, hosted by MetaCPAN, can be
   used to track updates to the module.
Diffstat (limited to 'maintainers/scripts/nix-generate-from-cpan.nix')
-rw-r--r--maintainers/scripts/nix-generate-from-cpan.nix12
1 files changed, 7 insertions, 5 deletions
diff --git a/maintainers/scripts/nix-generate-from-cpan.nix b/maintainers/scripts/nix-generate-from-cpan.nix
index 056cd994ba2..864fd4e83f6 100644
--- a/maintainers/scripts/nix-generate-from-cpan.nix
+++ b/maintainers/scripts/nix-generate-from-cpan.nix
@@ -1,22 +1,24 @@
 { stdenv, makeWrapper, perl, perlPackages }:
 
 stdenv.mkDerivation {
-  name = "nix-generate-from-cpan-1";
+  name = "nix-generate-from-cpan-2";
 
-  buildInputs = [ makeWrapper perl perlPackages.YAMLLibYAML perlPackages.JSON perlPackages.CPANPLUS ];
+  buildInputs = with perlPackages; [
+    makeWrapper perl CPANMeta GetoptLongDescriptive CPANPLUS Readonly Log4Perl
+  ];
 
-  unpackPhase = "true";
-  buildPhase = "true";
+  phases = [ "installPhase" ];
 
   installPhase =
     ''
       mkdir -p $out/bin
       cp ${./nix-generate-from-cpan.pl} $out/bin/nix-generate-from-cpan
+      patchShebangs $out/bin/nix-generate-from-cpan
       wrapProgram $out/bin/nix-generate-from-cpan --set PERL5LIB $PERL5LIB
     '';
 
   meta = {
-    maintainers = [ stdenv.lib.maintainers.eelco ];
+    maintainers = with stdenv.lib.maintainers; [ eelco rycee ];
     description = "Utility to generate a Nix expression for a Perl package from CPAN";
   };
 }