Leave license empty when it is not provided. This prevents packages from
failing to build because the license is set to
`stdenv.lib.licenses.unkown`.
There will still be a warning about the unkown license.
The `name` parameter to buildPerlPackage is deprecated, and
everything currently in perl-packages.nix has already been
converted to use pname/version instead.
This also changes the URLs to be pure string literals,
matching the convention used in nixpkgs in practice.
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.
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.
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.