Commit Graph

8 Commits

Author SHA1 Message Date
Robert Helgesson
7ca412a2fa nix-generate-from-cpan: fix core module detection
This makes the detection of core modules a bit more robust by checking
the module inclusion in a pure Perl interpreter. This ensures that any
extra path in the `nix-generate-from-cpan` script's `PERL5LIB` does not
affect the generated package expression.
2016-05-18 20:39:44 +02:00
Eelco Dolstra
e2ad72342e nix-generate-from-cpan: Skip "if" package since it's part of Perl now 2016-03-03 12:43:11 +01:00
Eelco Dolstra
50b950fe8d nix-generate-from-cpan: Don't quote names that don't need it 2016-03-03 12:43:11 +01:00
Robert Helgesson
c90c30dd1e 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.
2016-01-23 18:54:05 +01:00
Eelco Dolstra
97a2de297e Fix various Perl packages
Perl 5.20 removed some modules, in particular Module::Pluggable. So
now other modules need to get it from CPAN.

http://hydra.nixos.org/build/17450281
2014-11-25 00:29:48 +01:00
Eelco Dolstra
01294254a0 nix-generate-from-cpan: Handle META.json
Fixes #761.
2013-07-16 13:45:24 +02:00
Eelco Dolstra
15c1ca9d21 nix-generate-from-cpan: Hack to handle non-UTF-8 META.yml files 2013-06-16 18:34:32 +02:00
Eelco Dolstra
629daa2102 Rewrite the CPAN generator to Perl
Also:

- It's now installable by doing "nix-env -i nix-generate-from-cpan".

- It maps dependencies to the correct attribute (e.g. HTML::HeadParser
  is mapped to HTMLParser).

- It automatically selects buildPerlPackage or buildPerlModule.

- It's documented in the manual.
2013-06-13 15:56:23 +02:00