This adds the "slug" arguments and also the "token" argument. The slug
argument provides the "owner_name/repo_name" format base repo to use for
the pull request. The token argument provides the GitHub presonal access
token to use for the requests to the GitHub API.
This adds a 3rd matrix to be built by Travis. The new matrix "checks"
the NixPkgs evaluation so the other 2 can save their resources for
building. Hopefully, this will lead to less "out of space" errors that
seem to be happening with Travis. Also adds folding.
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.
Looks like --show-trace wasn't as useful as I'd hoped. Also, because checking
nixos options is cheaper than checking the tarball, it makes sense to check the
options first to fail faster.
This will at least catch simple errors in default values and is fairly
cheap, in terms of resource and time consumption, and adds very little
additional output unless there's a failure.
Find-tarballs was failing on some `requireFile` that was fixed-output
but didn't specify `outputHashMode`. Apparently, nix is fine with that
and uses the "flat" default, although that's undocumented.
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.
Tarballs.nixos.org is now stored in an S3 bucket rather than an EBS
volume. Redirects are used to simulate symlinks.
The function find-tarballs.nix now filters out fetchzip, fetchpatch
and the like.
Travis builds sometimes fail because Travis doesn't have much memory.
When it happens, the failure reason is often hard to see in the logs and
is confusing (especially for new contributors).
Try to detect OOM errors in dmesg and give a warning when it happens.
Should now work equally well with bash (as on NixOS) and dash (on
various other distributions).
The only truly required change was on line 10: "function" is a
superfluous keyword that's not present in posix sh.
Change-Id: If917499b2e24c0d039e8c61208227b90c9fc5c0d
nox-review should review against master, it's travis that should check out a hydra-available master commit to set the PR on. Perhaps we could rebase the current HEAD on the hydra-built commitish instead?
It now only checks that each derivation's drvPath attribute evaluates.
Previously it checked everything (via toXML) but that causes
derivations with dubious passthru attribute to fail (see commit
70fee5da11).
This is a simple tool to scan Nixpkgs for violations of the packaging
guidelines, such as multiple packages with the same name, packages
that lack a description or license, and so on.
To use:
$ nix-env -i nixpkgs-lint
$ cd .../nixpkgs
$ nixpkgs-lint
Current statistics:
Number of packages: 8666
Number of missing maintainers: 3711
Number of missing licenses: 6159
Number of missing descriptions: 1337
Number of bad descriptions: 633
Number of name collisions: 277
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.
Now that we don't need to pass "system" arguments anymore, this thing
is *almost* obsolete. (Except for the need to handle assertion
failures, you could just do "nix-instantiate --eval-only ..." on
release.nix.)