Changes:
- Fetches rocks and builds Nix expressions for them in parallel
- Passes 'maintainers' list to luarocks-nix
- Constructs the luarocks argument list more cleanly, by using an
indexed array
- Made indentation consistent
the recent luarocks can install for a different interpreter than the one
running luarocks.
Due to the way the update is done on nix, it seems more practical to use
this feature than running the script with different luarocks-nix ?
For update script parallelization, we have started calling builtins.toJSON
on updateScripts, which triggers evaluation of paths and therefore their copying
to Nix store. This breaks update scripts that assume that they exist in nixpkgs
like dwarf-fortress.
https://github.com/NixOS/nixpkgs/issues/61935
Let’s stringify the paths before JSONification to prevent the evaluation.
One bugfix patch is included - merged upstream but not released yet.
knot-resolver wrapper would need to add binaryheap explicitly,
so it's migrated to the automatic LUA path discovery instead.
Similarly rename std.normalize to std_normalize.
Having a dot in the name prevents some changes to the lua infrastructure,
for instance passing attribute names { std._debug }: to a function would fail with
`syntax error, unexpected ',', expecting '.' or '=',`
Also made changes to lua package generation system to account for packages like cqueues
that have one version per lua interpreter.
The csv file also accepts comments now.
* neovim-unwrapped: now use lua environments
* mpv: use lua environments
* luaPackages.inspect: init at 3.1.1-0
* luaPackages.lgi: mark as a lua module
* luaPackages.vicious: mark as a lua module
* lua: generate packages from luarocks
* luarocks-nix: update
* removed packages already available in nixpkgs
* adressing reviews
update script can now accept another csv file as input with -c
* Remove obsolete comment
All Python packages now have an updateScript. The script calls
`update-python-libraries` and passes it the position of the derivation
expression obtained using `meta.position`. This works fine in case a Nix
expression represents only a single derivation. If there are more in it,
`update-python-libraries` will fail.
To make updating large attribute sets faster, the update scripts
are now run in parallel.
Please note the following changes in semantics:
- The string passed to updateScript needs to be a path to an executable file.
- The updateScript can also be a list: the tail elements will then be passed
to the head as command line arguments.
* Print Dependency failures as well as direct failures and update to Python3
some package fail due to non-exposed dependencies and would thus not appear in the list, for example gcj
* hydra-eval-failures: simpler hashbang
Based on https://github.com/NixOS/nixpkgs/pull/34842, the
nix-instantiate output was pretty-printed and the validity of the github handles
manually verified, by automatically checking whether the user handles exist on
github (https://github.com/userhandle, status 200 or 404).
Each handle under 5 characters was manually checked (because the collision
probability with non-maintainer accounts is high), each missing entry was
manually researched.
The script used is kept in `maintainers/scripts` as an example of how to work
with the mainainers list through nix’ JSON interface.
Lot of my GNOME packages have several legacy aliases,
which causes them to be updated multiple times.
This patch uses lib.unique to remove the duplicates.
This commit introduces two new features:
1. specify with --target whether major, minor or patch updates should be made
2. use --commit to create commits for each of the updates
- Gucharmap no longer follow the GNOME major versioning.
- Gucharmap no longer includes Unicode data. Instead the data should be
downloaded from unicode.org.
* gnome3: only maintain single GNOME 3 package set
GNOME 3 was split into 3.10 and 3.12 in #2694. Unfortunately, we barely have the resources
to update a single version of GNOME. Maintaining multiple versions just does not make sense.
Additionally, it makes viewing history using most Git tools bothersome.
This commit renames `pkgs/desktops/gnome-3/3.24` to `pkgs/desktops/gnome-3`, removes
the config variable for choosing packageset (`environment.gnome3.packageSet`), updates
the hint in maintainer script, and removes the `gnome3_24` derivation from `all-packages.nix`.
Closes: #29329
* maintainers/scripts/gnome: Use fixed GNOME 3 directory
Since we now allow only a single GNOME 3 package set, specifying
the working directory is not necessary.
This commit sets the directory to `pkgs/desktops/gnome-3`.
This should avoid the 28 lines of unnecessary spam about fetching stdenv
and bash:
````
=== Building pull request #28261
these paths will be fetched (0.51 MiB download, 2.50 MiB unpacked):
/nix/store/2pm24nzym7z11nddnf6vmqhsqmzx9h3g-bash-4.4-p12-dev
/nix/store/3n6g5nmyn63gsgjc7z03rsd88s2q7b7i-stdenv
/nix/store/7mpcc6x6b3db595rsqr1qjckpaj1dym8-bash-4.4-p12-info
/nix/store/d9hb8f6j2syq08hw97qajdcdkl9lwg9n-bash-4.4-p12-doc
fetching path ‘/nix/store/d9hb8f6j2syq08hw97qajdcdkl9lwg9n-bash-4.4-p12-doc’...
*** Downloading ‘https://cache.nixos.org/nar/013kcshsm2hzpngmrf4izq3ag8s9avrkhz5z8l8mgnxay1lxlz99.nar.xz’ to ‘/nix/store/d9hb8f6j2syq08hw97qajdcdkl9lwg9n-bash-4.4-p12-doc’...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 357k 100 357k 0 0 3342k 0 --:--:-- --:--:-- --:--:-- 3408k
fetching path ‘/nix/store/2pm24nzym7z11nddnf6vmqhsqmzx9h3g-bash-4.4-p12-dev’...
*** Downloading ‘https://cache.nixos.org/nar/1225myjpymp5bv0x5zl08dmdz786jf86fshc2dwa3zgxasrppcfi.nar.xz’ to ‘/nix/store/2pm24nzym7z11nddnf6vmqhsqmzx9h3g-bash-4.4-p12-dev’...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 54312 100 54312 0 0 231k 0 --:--:-- --:--:-- --:--:-- 232k
fetching path ‘/nix/store/7mpcc6x6b3db595rsqr1qjckpaj1dym8-bash-4.4-p12-info’...
*** Downloading ‘https://cache.nixos.org/nar/04dzl4jlhxhisiby9lyw2k6q2w5ns3xy1h6gfdc14qn649lshy2f.nar.xz’ to ‘/nix/store/7mpcc6x6b3db595rsqr1qjckpaj1dym8-bash-4.4-p12-info’...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 107k 100 107k 0 0 1179k 0 --:--:-- --:--:-- --:--:-- 1198k
fetching path ‘/nix/store/3n6g5nmyn63gsgjc7z03rsd88s2q7b7i-stdenv’...
*** Downloading ‘https://cache.nixos.org/nar/013xg2cnv9wf3fkhcl3b3b6iihqnwhy65m6ijb6ynwavy584w2xi.nar.xz’ to ‘/nix/store/3n6g5nmyn63gsgjc7z03rsd88s2q7b7i-stdenv’...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 8640 100 8640 0 0 143k 0 --:--:-- --:--:-- --:--:-- 148k
=== Reviewing PR 28261 : busybox: 1.26.2 -> 1.27.1, fix bootstrap
````
(From https://travis-ci.org/NixOS/nixpkgs/jobs/264390932)
This script determines whether there is an update available for the
package and if so, updates the version and sha256 attributes.
This only works for packages that have their own expression, and `pname`
and `sha256` attribute.
- Fix a bug in the script which prevented it from finding its helper script.
- Automatically redirect the output of the script to make it even easier
to use.
- Update from Applications 16.04.2 to 16.04.3.
- Remove the version number from the directory storing the Applications
Nix expressions. It is not necessary to version the Nix expressions
now that we keep only one version in Nixpkgs.
- Fix a bug in generate-kde-applications.sh which prevented it from
finding its helper script.
- Automatically redirect the output of generate-kde-applications.sh to
make the update script even easier to use.
- Update from Plasma 5.7.0 to 5.7.1.
- Remove the version number from the directory storing the Plasma Nix
expressions. It is not necessary to version the Nix expressions now
that we keep only one version in Nixpkgs.
- Fix a bug in generate-kde-plasma.sh which prevented it from finding
its helper script.
- Automatically redirect the output of generate-kde-plasma.sh to make
the update script even easier to use.
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.)