Compare commits

..

1430 Commits

Author SHA1 Message Date
Robin Gloster
39cd40f7be NixOS 17.09 "Hummingbird" is released on 2017-09-29 2017-09-29 06:06:15 +02:00
Robin Gloster
e73c24084a manual/releasing: update 2017-09-29 06:05:46 +02:00
Robin Gloster
3663760225 tests.hibernate: disable on 32 bit
very flaky due to not having 9pfs mounted after hibernation and
therefore needs nc in memory, which often fails on 32bit
2017-09-29 03:36:18 +02:00
Robin Gloster
309f965c91 tests.cjdns: only on 64-bit + python pkg fixup 2017-09-29 03:33:07 +02:00
WilliButz
4dbde1f10e spotify: 1.0.49.125.g72ee7853-111 -> 1.0.64.401.g9d720389-21
(cherry picked from commit ee6b48cc1f)
2017-09-29 03:24:40 +02:00
Franz Pletz
72550585cd pythonPackages.pyalgotrade: fix typo
(cherry picked from commit e68e149447)
2017-09-29 03:24:34 +02:00
Franz Pletz
b772ca9d21 pythonPackages.pyalgotrade: incompatible with python3
(cherry picked from commit 538b016ae0)
2017-09-29 03:24:26 +02:00
Franz Pletz
4beb7d1196 djbdns: don't try to build on hydra 2017-09-29 02:14:42 +02:00
Franz Pletz
5b09ca07b8 gplates: mark as broken 2017-09-29 02:13:55 +02:00
Franz Pletz
90c8b6eb51 pythonPackages.pyalgotrade: incompatible with python3
(cherry picked from commit 538b016ae0)
2017-09-29 02:11:31 +02:00
Franz Pletz
d9298e3a00 openmodelica: mark as broken, unmaintained 2017-09-29 02:00:12 +02:00
Franz Pletz
1a5acb9883 17.09 release notes: mention KDE upgrades
(cherry picked from commit 5b8a798137)
2017-09-29 01:55:11 +02:00
Franz Pletz
1e2711efd8 17.09 release notes: fix typos & ordering
(cherry picked from commit c22d717c75)
2017-09-29 01:55:11 +02:00
Franz Pletz
dcf1273fe1 firefox-bin: 55.0.3 -> 56.0
(cherry picked from commit 5b71411413)
2017-09-29 01:55:10 +02:00
Franz Pletz
c5c082a111 kicad: don't try to build on hydra
(cherry picked from commit 0dc882e3d4)
2017-09-29 01:55:10 +02:00
Robin Gloster
4b5cc4e808 python packages: mark as broken/disabled 2017-09-29 00:38:34 +02:00
Robin Gloster
ecd2a1a398 python.pkgs.futurist: dontCheck
(cherry picked from commit 169a344ab8)
2017-09-29 00:38:34 +02:00
Franz Pletz
49d34a4965 17.09 release notes: add network interface rename note
Fixes #29197.

(cherry picked from commit 49f175cd0c)
2017-09-29 00:08:21 +02:00
Franz Pletz
273e4afda5 virt-what: init at 1.18
(cherry picked from commit df86f19968)
2017-09-29 00:08:21 +02:00
Robin Gloster
23fdbaa375 treewide: mark a bunch of failing builds as broken 2017-09-28 23:16:18 +02:00
Robin Gloster
be9cd9aef7 qpid-cpp: fix build
(cherry picked from commit f0fa565dfb)
2017-09-28 23:16:14 +02:00
Robin Gloster
f349c2338c 17.09 release notes: update information on gitlab
(cherry picked from commit 83405798e6)
2017-09-28 23:15:58 +02:00
Joerg Thalheim
c12a3e2d47 nullmailer: simplify config generation
(cherry picked from commit 91eb6cf82c)
2017-09-28 22:43:50 +02:00
Marius Bergmann
4a8c74019e nullmailer: add remotesFile option
The current `remotes` option is a string option containing nullmailer remote
definitions. However, those definitions may contain secret credentials and
should therefore not be put world-readable in the nix store.

I added a `remotesFile` option, which allows to specify a path to the remotes
definition file instead. This way, the definitions can be kept outside of the
nix store with more secure file permissions.

(cherry picked from commit e741cc4881)
2017-09-28 22:43:50 +02:00
Marius Bergmann
e9356fd0df nullmailer: use proper description for remotes option
(cherry picked from commit 02e89de71c)
2017-09-28 22:43:50 +02:00
Marius Bergmann
89b75ba92f nullmailer: fix relative -> absolute path in preStart script
(cherry picked from commit f9d64a068b)
2017-09-28 22:43:49 +02:00
Cray Elliott
5b6ec42ca3 nvidia-x11: fix eval error from 4ef82339c9
(cherry picked from commit d4bdf302a3)
2017-09-28 22:43:49 +02:00
volth
75fe95076e collectd: fix darwin build (#29841)
- liboping supported on darwin since #29849
- libmicrohttpd supported on darwin since #29848

(cherry picked from commit e713349922)
2017-09-28 22:06:17 +02:00
Valérian Galliat
e9e037f871 perl-Mail-SPF: fix lib path
(cherry picked from commit f68b1c1a1c)
2017-09-28 21:56:20 +02:00
volth
bd0b1fedc5 mosquitto: fix darwin build (#29851)
(cherry picked from commit 144914121c)
2017-09-28 21:19:13 +02:00
volth
8133dbf9b2 libmicrohttpd: fix darwin build
(cherry picked from commit 547dba10c0)
2017-09-28 21:16:23 +02:00
Robin Gloster
3011e93486 mesos: fix for different protobuf outputs vs master 2017-09-28 21:05:01 +02:00
berdario
1f3087b069 rhino: enable on darwin
(cherry picked from commit d84d8af862)
2017-09-28 20:51:52 +02:00
Robin Gloster
3c31adf461 gitlab: 9.5.5 -> 10.0.2
(cherry picked from commit 19681fbffb8ba92284eada496ce68e500434c0ef)
2017-09-28 20:33:49 +02:00
Herwig Hochleitner
1c914df4c1 chromium: 61.0.3163.79 -> 61.0.3163.100
(cherry picked from commit e78bf2d1e9)
2017-09-28 20:33:49 +02:00
Orivej Desh
ad9c16bad1 gcsfuse: 0.19.0 -> 0.23.0
(cherry picked from commit ad3efa3b54)
2017-09-28 20:33:48 +02:00
Franz Pletz
3ac8986fb6 flightgear: 2016.4.4 -> 2017.3.1 for CVE-2017-13709
(cherry picked from commit dffd77b037)
2017-09-28 19:13:29 +02:00
Robin Gloster
53749d8eb2 openrw: 2016-06-29 -> 2017-09-17
fixes build

(cherry picked from commit 595c8fad83)
2017-09-28 19:00:14 +02:00
Robin Gloster
93a80a4a29 firebirdSuper: pin to gcc5
(cherry picked from commit 8e38de4e0c)
2017-09-28 19:00:14 +02:00
Eelco Dolstra
7d52f83676 Don't generate instance-store AMIs
These are obsolete, use EBS AMIs instead.

(cherry picked from commit 6c72efe0ba)
2017-09-28 19:00:06 +02:00
Mathias Schreck
794aaaa71b nodejs: 8.5.0 -> 8.6.0
(cherry picked from commit f8ffbcb520)
2017-09-28 19:00:06 +02:00
Robin Gloster
7bc3afdf5b amtterm: fix build
(cherry picked from commit 8fb9d37f27)
2017-09-28 18:59:48 +02:00
Yegor Timoshenko
6a0d99f840 fakenes: mark as broken
(cherry picked from commit 9aae605fe7)
2017-09-28 18:59:47 +02:00
Jan Tojnar
373dc7a130 nixos/tests/gnome3-gdm: Increase memory limit
The test was failing on x86_64 prematurely due to memory being exhausted.

See also 3b9f0c6a46

(cherry picked from commit dfdfb97f0f)
2017-09-28 18:59:47 +02:00
Robin Gloster
5faf5c25b6 treewide: mark batch of packages broken for 17.09 2017-09-28 18:59:17 +02:00
Franz Pletz
f8eac437a5 qemu: 2.9.0 -> 2.9.1
Security and bugfix release.

(cherry picked from commit 536ab403d4)
2017-09-28 17:09:04 +02:00
Franz Pletz
16dacbaad0 ettercap: fix CVE-2017-8366 & CVE-2017-6430
(cherry picked from commit b29051b2f5)
2017-09-28 17:09:04 +02:00
Franz Pletz
45a92ea43c fossil: 2.2 -> 2.3
Fixes XSS vulnerability on the /help webpage. No CVE known.

(cherry picked from commit faed026cd4)
2017-09-28 17:09:03 +02:00
Franz Pletz
1c82f5f98e augeas: 1.8.0 -> 1.8.1 for CVE-2017-7555
(cherry picked from commit d2b6e9cdb0)
2017-09-28 17:09:03 +02:00
Franz Pletz
9c5ce7642e postfix: 3.1.3 -> 3.2.3
Possibly fixes security issues. No CVE yet.

(cherry picked from commit 14e53aa0b1)
2017-09-28 17:09:03 +02:00
Franz Pletz
3411c42fca mpg123: 1.25.4 -> 1.25.7 for multiple CVEs
Fixes at least CVE-2017-10683, CVE-2017-11126, CVE-2017-9545,
CVE-2017-12797.

(cherry picked from commit 6c283ae8f3)
2017-09-28 17:09:02 +02:00
Robin Gloster
2231930b7d 17.09 release notes: reformat and generate added services
(cherry picked from commit a19c52a101)
2017-09-28 16:42:32 +02:00
Alastair Pharo
2d521bfb4f purePackages.gen: Don't build on Hydra (#29763)
Until https://github.com/agraef/pure-lang/issues/8 is resolved, this
package can't be compiled.  This patch turns off Hydra builds of this
package as part of #28643 (zero Hydra failures)

(cherry picked from commit 8ac4682e85)
2017-09-28 15:59:50 +02:00
Robin Gloster
06cf955c7a Revert "hsevm: project was renamed to hevm"
This reverts commit 743a1d5609.

needs haskell dependency only on master
2017-09-28 15:31:45 +02:00
Tom Hunger
ec24d2b24b flake8-future-import: Add patch to fix tests.
(cherry picked from commit 09fa385995)
2017-09-28 15:13:14 +02:00
Franz Pletz
9418365655 mongoc: don't use bundled zlib & snappy
(cherry picked from commit bc5ec7b1d4)
2017-09-28 15:12:46 +02:00
Robin Gloster
481fe76e63 guile-gnome: nitpicks fixed
(cherry picked from commit b3dab5b088)
2017-09-28 14:56:28 +02:00
xd1le
3d45679923 gwrap: set version in mkDerivation
(cherry picked from commit d063880986)
2017-09-28 14:56:28 +02:00
xd1le
3d9e5a1bc0 gwrap: switch maintainer from taktoa to vyp
(cherry picked from commit de9c86f81a)
2017-09-28 14:56:28 +02:00
xd1le
37f1f9b40a gwrap: code style nits
(cherry picked from commit 468626ce86)
2017-09-28 14:56:28 +02:00
xd1le
1daada3988 guile-gnome: fix build by building gwrap with guile-2.0
Apparently gwrap will not compile with guile-2.2 [1], even though the
news for version 1.9.15 says it "allows" Guile 2.2 [2]:

> it will _not_ compile using 2.2

Furthermore, it seems like it isn't being developed anymore either [1]:

> Also note that g-wrap itself is not being further developed anymore,
> it is recommended for new projects to use Guile's dynamic FFI.

Also, guile-gnome-2.16.5 is apparently compatible with guile-2.2 [3],
but I'm not sure how they built it with guile-2.2 because gwrap 1.9.15
(latest release) apparently doesn't build with guile-2.2. (And certainly
when I try to build gwrap 1.9.15 with guile-2.2 it doesn't work. Maybe
it can be made to work with certain compile flags, but I haven't pursued
that further due to [1] anyway.) This is why guile-gnome is still on
2.16.4 here. Because, although 2.16.5 can still (apparently) build with
guile-2.0.14, guile_2_0 is only at guile-2.0.13.

So to update guile-gnome to 2.16.5, guile_2_0 would first have to be
updated to 2.0.14.

[1]: http://lists.nongnu.org/archive/html/g-wrap-dev/2016-08/msg00001.html
[2]: http://www.nongnu.org/g-wrap/news.html
[3]: https://www.gnu.org/software/guile-gnome/news.html

(cherry picked from commit f1b7d0a54f)
2017-09-28 14:56:28 +02:00
xd1le
3062d28673 guile-gnome: code style formatting nitpicks
(cherry picked from commit 88ef99e2c3)
2017-09-28 14:56:27 +02:00
xd1le
3deecec6d1 guile-gnome: remove taktoa and amiloradovsky from maintainers and add
vyp

See discussion in [1].

[1]: https://github.com/NixOS/nixpkgs/pull/29732

(cherry picked from commit 16012ff98a)
2017-09-28 14:56:27 +02:00
xd1le
0aa13f1f3c guile-modules: stylistic nix expression changes to modules with sole
maintainer vyp

(cherry picked from commit 3579d7e2b2)
2017-09-28 14:56:27 +02:00
xd1le
8530b3ab73 guile-modules: add vyp as maintainer to unmaintained guile modules
(cherry picked from commit 796b69318f)
2017-09-28 14:56:27 +02:00
xd1le
debc5a9514 guile-modules: rename top level attributes to be consistent
(cherry picked from commit d7d33bd17c)
2017-09-28 14:56:27 +02:00
Franz Pletz
65e93e3f5c pyjwt: 1.4.2 -> 1.5.3 for CVE-2017-11424
(cherry picked from commit 232340f35b)
2017-09-28 14:54:14 +02:00
Franz Pletz
ddcdfea18c kerberos: 1.15 -> 1.15.2 for CVE-2017-11462
(cherry picked from commit 8678f14ac9)
2017-09-28 14:54:14 +02:00
Franz Pletz
d043bbb05e php71: 7.1.8 -> 7.1.9
(cherry picked from commit 09b6f1e605)
2017-09-28 14:54:13 +02:00
Franz Pletz
77d6cd7ec9 php70: 7.0.22 -> 7.0.24
(cherry picked from commit d27ebcbae3)
2017-09-28 14:54:13 +02:00
Franz Pletz
73454e4be2 unrar: 5.5.5 -> 5.5.7 for multiple CVEs
Fixes CVE-2012-6706, CVE-2017-12940, CVE-2017-12941, CVE-2017-12942.

(cherry picked from commit 58f15c1f95)
2017-09-28 14:54:13 +02:00
Franz Pletz
adaceb1331 libraw: 0.18.2 -> 0.18.5 for multiple CVEs
Fixes at least CVE-2017-13735, CVE-2017-14265, CVE-2017-14348.

(cherry picked from commit c7e16f5ce5)
2017-09-28 14:54:12 +02:00
Franz Pletz
e678842b76 oniguruma: 5.9.5 -> 6.6.1 for multiple CVEs
Fixes CVE-2017-9224, CVE-2017-9225, CVE-2017-9226, CVE-2017-9227,
 CVE-2017-9228, CVE-2017-9229.

(cherry picked from commit 41b43b201e)
2017-09-28 14:54:12 +02:00
Franz Pletz
a71be13260 samba3: mark as vulnerable
(cherry picked from commit c02c47d1eb)
2017-09-28 14:53:39 +02:00
Franz Pletz
dc9fe44312 samba: 4.6.7 -> 4.6.8 for multiple CVEs
Fixes CVE-2017-12150, CVE-2017-12151, CVE-2017-12163.

(cherry picked from commit 15a6c2c4fc)
2017-09-28 14:53:39 +02:00
Franz Pletz
c680d7fce3 libtiff: use patches from newer debian revision
(cherry picked from commit 8a5b8aeaf5)
2017-09-28 14:53:39 +02:00
Franz Pletz
d9b4e70c5f mongoc: 1.7.0 -> 1.8.0
(cherry picked from commit cc258a671a)
2017-09-28 14:53:38 +02:00
Franz Pletz
9e2e252e57 libbson: 1.6.1 -> 1.8.0 for CVE-2017-14227
(cherry picked from commit 6dd6f10615)
2017-09-28 14:53:38 +02:00
Robin Gloster
9766dde7b1 Revert "kubernetes: fix hashes after dockerTools change"
This reverts commit 9ba024f6d8.

(cherry picked from commit 4aeb38e5b9)
2017-09-28 14:12:11 +02:00
Robin Gloster
00dc83bfa0 dockerTools: fix hash to accomodate the pullImage revert
(cherry picked from commit 20677fca59)
2017-09-28 14:12:10 +02:00
Robin Gloster
289358e277 Revert "dockerTools.pullImage: use skopeo to pull the image"
This reverts commit 01174c5f4d.

See https://github.com/NixOS/nixpkgs/pull/29302#issuecomment-332809092
for more information. This broke image format compatibility and
therefore amongst others mesos.

(cherry picked from commit 5c6dc717a6)
2017-09-28 14:12:10 +02:00
Robin Gloster
8f923bfa48 mesos: use static protobuf libraries
(cherry picked from commit c2ce38473b)
2017-09-28 13:21:28 +02:00
Robin Gloster
5d7edb8e81 protobuf: build static libraries
mesos needs them

(cherry picked from commit 49e9a26e77)
2017-09-28 13:21:28 +02:00
Robin Gloster
38fd0a2f23 Revert "dockerTools.buildImage: Switch to the format image generated by Skopeo"
This reverts commit 35f205a4b6.

This does not use a standard format and by that breaks mesos

(cherry picked from commit dabb296c76)
2017-09-28 13:21:28 +02:00
lassulus
604aed80a4 electron-cash: init at 2.9.3
(cherry picked from commit 64d63907d8)
2017-09-28 13:20:58 +02:00
Yann Hodique
e3b405b521 hugo: 0.27.1 -> 0.29
(cherry picked from commit b3433aba3a)
2017-09-28 13:20:43 +02:00
Mikael Brockman
743a1d5609 hsevm: project was renamed to hevm
This also upgrades the hsevm package from v0.6.4 to v0.8.5.

The project `dapp` which depends on hsevm was also updated to use the
new name, so I have also upgraded that package from version v0.5.3 to
v0.5.7.

I also added a `dontCheck` to a Hackage dependency because its test
suite depends on Git and runs a bunch of Git repository manipulations.

(cherry picked from commit 74edd2c5db)
2017-09-28 13:20:23 +02:00
amorsillo
c92059e422 mongodb-tools: 3.0.12 -> 3.5.13 (#29884)
* Upgrade mongodb-tools to 3.5.13 with ssl

* mongodb-tools: fix go references

(cherry picked from commit b46b0468ca)
2017-09-28 13:19:10 +02:00
Orivej Desh
55b305a94d go: fix tests and impurity
(cherry picked from commit 589574e5c9)
2017-09-28 13:18:29 +02:00
Daiderd Jordan
f1955bf826 go: fix darwin build
(cherry picked from commit 57ef1a3564)
2017-09-28 13:18:25 +02:00
Charles Strahan
bf5c474db9 go: init 1.9 (and set as default)
(cherry picked from commit 3189b01647)
2017-09-28 13:18:15 +02:00
Orivej Desh
a2cf76a122 envoy: mark as broken
building
Extracting Bazel installation...
Loading:
Analyzing: target //source/exe:envoy-static
ERROR: java.io.IOException: Could not read the crosstool configuration file 'CROSSTOOL file /tmp/nix-build-envoy-1.3.0.drv-0/envoy-v1.3.0-src/.home/.cache/bazel/_bazel_nixbld1/cbe181aaebf3d7253cbcf6057028e514/external/local_config_cc/CROSSTOOL', because of a parser error (945:1: Expected identifier. Found '%')
INFO: Elapsed time: 3.065s
FAILED: Build did NOT complete successfully
builder for ‘/nix/store/09wh9hd81529pgr3ddwfw68higfzkfgr-envoy-1.3.0.drv’ failed with exit code 2
error: build of ‘/nix/store/09wh9hd81529pgr3ddwfw68higfzkfgr-envoy-1.3.0.drv’ failed

(cherry picked from commit 49a060ea1f)
2017-09-28 13:17:44 +02:00
Orivej Desh
2f2d1af65b docker: fix docker_17_06 build
Broken by #29843

(cherry picked from commit f1ffca9ac6)
2017-09-28 13:15:38 +02:00
Cray Elliott
01a800595b nvidia-x11: 384.69 -> 384.90
(cherry picked from commit 56d1a14419)
2017-09-28 13:13:59 +02:00
Joachim Fasting
0aa0af6d8b tinycc: 0.9.27pre-20170911 -> 0.9.27pre-20170924
Improves `long` handling

(cherry picked from commit 35c15d4a61)
2017-09-28 13:13:27 +02:00
Nikolay Amiantov
5fc4188780 octoprint-plugins.m33-fio: 1.20 -> 1.21
(cherry picked from commit c766092193)
2017-09-28 13:13:21 +02:00
Franz Pletz
9a10cd16dc network-interfaces: device routes for default gateway
Iff interface is set, it makes sense to add device route by default.

(cherry picked from commit d0435ba032)
2017-09-28 13:13:04 +02:00
Joerg Thalheim
a1f349b401 bitcoin-abc: build against qt5
(cherry picked from commit 589cff44bc)
2017-09-28 13:12:38 +02:00
lassulus
2d4e9aca23 bitcoin-abc: init at 0.15.0
(cherry picked from commit d82578addb)
2017-09-28 13:12:33 +02:00
Ryan Mulligan
0554733f57 nixos/monit: install monit as system package, use default config file path
(cherry picked from commit c6f513b56a)
2017-09-28 13:12:21 +02:00
Silvan Mosberger
890ab83a8b xwinwrap: init at 4
(cherry picked from commit 5a9e28190c)
2017-09-28 13:12:03 +02:00
Robin Gloster
938fcba622 mesos test: fix python handling
Still does not succeed but advances further

(cherry picked from commit 30d09f717aa94a78105bff22da548b904887b394)
(cherry picked from commit d05b0b6b70)
2017-09-28 13:11:51 +02:00
Samuel Leathers
3544c4f6da mesos: 1.1.1 -> 1.4.0
(cherry picked from commit 80021094b7)
2017-09-28 13:11:35 +02:00
Pascal Bach
1e137755f4 ipxe: 20160831 -> 20170922
(cherry picked from commit ece9245a4d)
2017-09-28 13:11:04 +02:00
Yegor Timoshenko
faf6166b4f snes9x-gtk: 1.53 -> 1.54.1
(cherry picked from commit 22b0c966aa)
2017-09-28 13:10:57 +02:00
Robin Gloster
179b357a66 freebayes: clean up build
(cherry picked from commit 7cbf3a27de)
2017-09-28 13:10:37 +02:00
Samuel Leathers
9bed9124e3 freebayes: 1.1.0 -> 2017-08-23
(cherry picked from commit a3e2ecd7f7)
2017-09-28 13:10:30 +02:00
José Romildo Malaquias
a7ca4e2909 lxqt.screengrab: 2017-02-18 -> 1.97 (#29835)
(cherry picked from commit 7d883056a0)
2017-09-28 13:10:23 +02:00
Tim Steinbach
34af32d860 i3-gaps: 4.14 -> 4.14.1
(cherry picked from commit bee055fa96)
2017-09-28 13:10:10 +02:00
Tim Steinbach
e0ee3d01e6 i3: 4.14 -> 4.14.1
(cherry picked from commit fc7f4f6fc3)
2017-09-28 13:10:05 +02:00
volth
8473519bf3 liboping: 1.9.0 -> 1.10.0
(cherry picked from commit ad38b7c9ae)
2017-09-28 13:10:00 +02:00
PanAeon
fd1b89a142 buildGo19Package: init (#29470)
(cherry picked from commit b39c42d5d0)
2017-09-28 13:06:56 +02:00
Samuel Leathers
f2d5a450d7 opencascade: remove 6.5.5 and 6.6.0
(cherry picked from commit 672a402122)
2017-09-28 13:06:01 +02:00
Nikolay Amiantov
7ae513564a mupdf: cleanup dependencies
This slims down build inputs (notably not requiring mesa anymore).

(cherry picked from commit 47f099777c)
2017-09-28 13:05:24 +02:00
Nikolay Amiantov
29810aea4d glfw3: cleanup dependencies, propagate mesa_noglu
(cherry picked from commit 98ef62e51a)
2017-09-28 13:05:09 +02:00
Nikolay Amiantov
d6a9d78d53 glfw2: don't use mesa
(cherry picked from commit d68e9b4938)
2017-09-28 13:05:04 +02:00
Franz Pletz
dc4750b3c3 weechat: 1.9 -> 1.9.1 for CVE-2017-14727
https://lists.nongnu.org/archive/html/weechat-security/2017-09/msg00000.html
(cherry picked from commit 15189140dd)
2017-09-28 13:02:33 +02:00
Franz Pletz
94fd15e1dc openvpn: 2.4.3 -> 2.4.4 for CVE-2017-12166
https://community.openvpn.net/openvpn/wiki/CVE-2017-12166
(cherry picked from commit 8e4586d077)
2017-09-28 12:28:02 +02:00
Sukant Hajra
3b83be98be hdf5: remove references to stdenv.cc
The build provides as text a summary of the build, including the
absolute path of the compiler used for compilation.  Unfortunately, this
pulls in stdenv.cc as a transitive closure.

So this change just calls remove-references-to as a postInstall step for
the one stdenv.cc dependency.

See #29889 for details.

(cherry picked from commit 405c7f9e437a89bbebc3e2663e8fcc74e69783d6)
2017-09-28 10:42:19 +02:00
Bjørn Forsman
772d5c03c0 nixos/iso-image.nix: add top-level /version.txt file
This makes it easy to identify which NixOS version is written to an USB
stick without actually booting it.

(cherry picked from commit 3c6eb3a247)
2017-09-28 08:11:30 +02:00
Robin Gloster
64a73dfc08 elasticsearch: use jre_headless
(cherry picked from commit c57e5d1aa9)
2017-09-28 04:17:20 +02:00
volth
c868d427cb nixos/tinc: add "restartTriggers" back
Add "restartTriggers" back to restart the Tinc daemon when its peer is removed.
Reverted #27660
2017-09-28 00:58:15 +01:00
Niklas Hambüchen
e9bbe85605 consul service: Restart on failure.
Consul is a service you typically want to have running all the time;
it's not supposed to quit by itself.

(cherry picked from commit f4c53f1940)

Closes #29861.
2017-09-28 00:44:55 +02:00
makefu
e1bcebfd2a udpt: 2016-02-20 -> 2017-09-27
(cherry picked from commit 9636e75464)
2017-09-28 00:44:55 +02:00
Nick Novitski
e5ebf5cdc9 youtube-dl: 2017.09.15 -> 2017.09.24 (#29866)
(cherry picked from commit ff15b852c1)
2017-09-28 00:44:55 +02:00
Yann Hodique
31bc7c0075 dgraph: 0.8.1 -> 0.8.2
(cherry picked from commit d02fac35a5)
2017-09-28 00:44:54 +02:00
Yann Hodique
bf87b8091d lftp: 4.8.0 -> 4.8.2
(cherry picked from commit ae259ff83b)
2017-09-28 00:44:54 +02:00
Rostislav Beneš
33494a75d7 nixos/xserver,gdm: let GDM handle X server verbosity.
(cherry picked from commit 0cad98dde1)
2017-09-28 00:44:54 +02:00
Rostislav Beneš
4500e11fda nixos/gdm,nvidia: new options to enable GDM on Wayland and disabling it for nvidia drivers.
(cherry picked from commit 4ef82339c9)
2017-09-28 00:44:53 +02:00
Rostislav Beneš
9e280b0c16 nixos/nvidia: populating /dev with nvidia devices at boot
(cherry picked from commit 4f91397c98)
2017-09-28 00:44:53 +02:00
Joachim Fasting
46c4c62373 nixos/release-notes: notable changes to the dnscrypt-proxy service
(cherry picked from commit a06f839439)
2017-09-28 00:44:53 +02:00
Franz Pletz
f76d2aa6e3 kbd service: systemd-vconsole-setup is triggered by udev
cc #22470

(cherry picked from commit 0ee866ed72)
2017-09-28 00:44:53 +02:00
Franz Pletz
2ae16ef5d7 wpa_supplicant service: restart instead of stop & start
We now wait for dhcpcd to acquire a lease but dhcpcd is restarted on
system activation. As wpa_supplicant is stopped while dhcpcd is
restarting a significant delay is introduced on systems with wireless
network connections only. This changes the wpa_supplicant service to
also be restarted together with dhcpcd in case both services were
changed.

(cherry picked from commit 725dee203a)
2017-09-28 00:44:52 +02:00
Alexander Ried
48465ae259 Revert "kbd service: use /dev/tty1 for systemd-vconsole-setup"
This reverts commit 0c81594a29.

It's no longer needed since systemd-vconsole-setup enumerates all ttys
until it finds a suitable one since systemd v234.

(cherry picked from commit 4a2442032e)
2017-09-28 00:44:52 +02:00
Marius Bergmann
b9935c7c5d znc: fix openFirewall option
The current version is broken:
- there's no `openFirewall` attribute directly in the `cfg` set
- the `port` option is an attribute of the `confOptions` set

I used the proper attribute for the firewall port and moved the `openFirewall`
option directly up to the `services.znc` set, as it's rather a general option
for the whole service than a znc-specific option (which are located inside the
`confOptions` set).
2017-09-27 23:09:56 +01:00
Joerg Thalheim
24f0aecab7 nixos: skip restarting systemd-logind to not break x11
(cherry picked from commit 23f398012b)

fixes #29579
2017-09-27 22:29:04 +01:00
Robin Gloster
455ed26f20 17.09 release notes: redis cluster mass-restart needed
see #29516

(cherry picked from commit 34750bb51c)
2017-09-27 22:15:28 +02:00
Franz Pletz
6f938a1115 postgresql: default to 9.6 like in the nixos module
(cherry picked from commit 259df64ef5)
2017-09-27 22:06:41 +02:00
Robin Gloster
81a229e0f9 Revert "postgresql: Add dev output"
Firstly this creates a cycle in 9.6 .out <-> .dev after fixing the PGXS
path.

Secondly this breaks extension handling and the pg_config as it
resolves a lot of paths relatively resulting in the following bogus
output:

BINDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/bin
DOCDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/share/doc
HTMLDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/share/doc
INCLUDEDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/include
PKGINCLUDEDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/include
INCLUDEDIR-SERVER = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/include/server
LIBDIR = /nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib
PKGLIBDIR = /nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib
LOCALEDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/share/locale
MANDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/share/man
SHAREDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/share
SYSCONFDIR = /etc/postgresql
PGXS = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/lib/pgxs/src/makefiles/pgxs.mk
CONFIGURE = '--prefix=/nix/store/irqqq4g173g9xrk1mh12kxv0s1d8dbyh-postgresql-9.5.9' '--with-openssl' '--with-libxml' '--sysconfdir=/etc' '--libdir=/nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib' '--with-ossp-uuid' 'CC=gcc'
CC = gcc
CPPFLAGS = -D_GNU_SOURCE -I/nix/store/z6r0j2b4bcdfw3pck2x6ay0vvx0qzb92-libxml2-2.9.5-dev/include/libxml2
CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2
CFLAGS_SL = -fPIC
LDFLAGS = -L../../../src/common -L/nix/store/ighspl5sa3qi1zy7nkih0c9p73xjfqa6-libxml2-2.9.5/lib -Wl,--as-needed -Wl,-rpath,'/nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib',--enable-new-dtags
LDFLAGS_EX =
LDFLAGS_SL =
LIBS = -lpgcommon -lpgport -lxml2 -lssl -lcrypto -lz -lreadline -lrt -lcrypt -ldl -lm
VERSION = PostgreSQL 9.5.9

This can probably only be properly fixed by rewriting pg_config in large
parts as it does not in any way respect splitting the postgres tree and
assumes it can simply resolve paths relative to its location. This does
not even handle symlinks:

$ result-dev/bin/pg_config
BINDIR = /home/robin/dev/nixpkgs-upstream/result-dev/bin
DOCDIR = /home/robin/dev/nixpkgs-upstream/result-dev/share/doc
HTMLDIR = /home/robin/dev/nixpkgs-upstream/result-dev/share/doc
INCLUDEDIR = /home/robin/dev/nixpkgs-upstream/result-dev/include
PKGINCLUDEDIR = /home/robin/dev/nixpkgs-upstream/result-dev/include
INCLUDEDIR-SERVER = /home/robin/dev/nixpkgs-upstream/result-dev/include/server
LIBDIR = /nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib
PKGLIBDIR = /nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib
LOCALEDIR = /home/robin/dev/nixpkgs-upstream/result-dev/share/locale
MANDIR = /home/robin/dev/nixpkgs-upstream/result-dev/share/man
SHAREDIR = /home/robin/dev/nixpkgs-upstream/result-dev/share
SYSCONFDIR = /etc/postgresql
PGXS = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/lib/pgxs/src/makefiles/pgxs.mk
CONFIGURE = '--prefix=/nix/store/irqqq4g173g9xrk1mh12kxv0s1d8dbyh-postgresql-9.5.9' '--with-openssl' '--with-libxml' '--sysconfdir=/etc' '--libdir=/nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib' '--with-ossp-uuid' 'CC=gcc'
CC = gcc
CPPFLAGS = -D_GNU_SOURCE -I/nix/store/z6r0j2b4bcdfw3pck2x6ay0vvx0qzb92-libxml2-2.9.5-dev/include/libxml2
CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2
CFLAGS_SL = -fPIC
LDFLAGS = -L../../../src/common -L/nix/store/ighspl5sa3qi1zy7nkih0c9p73xjfqa6-libxml2-2.9.5/lib -Wl,--as-needed -Wl,-rpath,'/nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib',--enable-new-dtags
LDFLAGS_EX =
LDFLAGS_SL =
LIBS = -lpgcommon -lpgport -lxml2 -lssl -lcrypto -lz -lreadline -lrt -lcrypt -ldl -lm
VERSION = PostgreSQL 9.5.9

cc @edolstra

Revert "bacula: fix after postgresql output splitting"

This reverts commit 13c9cbacdd.

Revert "postgresql: fix pgxs dir in pg_config"

This reverts commit 21998d597b.

Revert "rubyGems.pg: fix postgresql path"

This reverts commit e253ae7d3a.

Revert "kea: fix path to pg_config"

This reverts commit 086c636eb7.

Revert "php: fix build wrt. new postgres.dev build output"

This reverts commit 2f23a83920.

Revert "gdal: fix path to pg_config"

This reverts commit 032c50d45b.

Revert "postgresql: Add dev output"

This reverts commit b0280f598e.

(cherry picked from commit 6b05651c20)
2017-09-27 21:59:45 +02:00
Robin Gloster
ef52776f70 bluez: remove unneeded dependencies and fix test bins
(cherry picked from commit 50fb62994b)
2017-09-27 21:27:00 +02:00
Lancelot SIX
394aa5af2b ibus-engines.hangul: add python dependency
(cherry picked from commit f39ead7c74)
2017-09-27 20:48:54 +02:00
Vladimír Čunát
9fbad9bf16 manuals: document removal of newStdcpp from steam
/cc #29180.
(cherry-picked from 4013b381b3 and f2955e4fde)
2017-09-27 20:35:16 +02:00
Lancelot SIX
86e35b7b9b ibus-anthy: fix pygobject3 dependency
(cherry picked from commit be697dca4c)
2017-09-27 20:31:56 +02:00
Michael Weiss
c35be631b4 wlc: Downgrade back to 0.0.9
Unfortunately wlc 0.0.10 seems to be the cause for segfaults on sway,
way-cooler and orbment.

This will also build wlc with all optional packages (i.e. zlib,
valgrind and doxygen).

(cherry picked from commit 2d640b9d6e)
2017-09-27 20:25:27 +02:00
Stefan Siegl
53068f41ad kea: fix path to pg_config
refs commit b0280f598e

(cherry picked from commit 086c636eb7)
2017-09-27 20:20:31 +02:00
Robin Gloster
cdf4d69b1c bacula: fix after postgresql output splitting
(cherry picked from commit 13c9cbacdd)
2017-09-27 20:10:06 +02:00
Robin Gloster
ba86884c61 Revert "ibus: Move ibus-setup to .dev"
This reverts commit af44f99dca.

ibus-with-plugins was broken by this.

cc @edolstra

(cherry picked from commit e0771a2410)
2017-09-27 19:42:53 +02:00
Robin Gloster
645c591949 postgresql: fix pgxs dir in pg_config
(cherry picked from commit 21998d597b)
2017-09-27 19:20:44 +02:00
Tim Steinbach
165bc51f41 linux: 4.13.3 -> 4.13.4
(cherry picked from commit ab3ff4af9f)
2017-09-27 13:08:51 -04:00
Tim Steinbach
67402a34d3 linux: 4.9.51 -> 4.9.52
(cherry picked from commit 2ca84cfa29)
2017-09-27 13:08:50 -04:00
Tim Steinbach
65a718c4d4 linux: Remove 4.12 (EOL)
(cherry picked from commit 964672dde5)
2017-09-27 13:08:50 -04:00
Rodney Lorrimar
86528f928a mysqlBackup service: let it work with default settings
* Grants enough privileges to the configured user so that it can run
  mysqldump.

* Adds a nixos test.

* Use systemd timers instead of a cronjob (by @fadenb).

* Creates a new user for backups by default, instead of using mysql
  user.

* Ensures that backup user has write permissions on backup location.

* Write backup to a temporary file before renaming so that a failed
  backup won't overwrite the previous backup, and so that the backup
  location will never contain a partial backup.

Breaking changes:

 * Renamed period to calendar to reflect the change in how to
   configure the backup time.

 * A failed backup will no longer result in cron sending an e-mail --
   users' monitoring systems must be updated.

Resolves #24728

(cherry picked from commit 56eba66f77)
2017-09-27 18:46:21 +02:00
Rodney Lorrimar
d2cb5cd0cd nixos/release-notes: MySQL backup service breaking changes
(cherry picked from commit 34eefdfb9d)
2017-09-27 18:46:02 +02:00
Joerg Thalheim
e8278f584f nixos/tinc: remove useless script argument
ExecStart is sufficient and more transparent to the user.

(cherry picked from commit 75ba415fbc)
2017-09-27 18:21:27 +02:00
Joerg Thalheim
3615636fa0 nixos/tinc: do not add Device= by default
tinc can figure this out based on DeviceType.
I also got `/dev/net/tun FD in bad state` after a particular upgrade.

(cherry picked from commit ad8cb0917f)
2017-09-27 18:21:22 +02:00
Joerg Thalheim
b7ebe55ea2 metasploit: use makeWrapper instead
(cherry picked from commit b775b2cd4f)
2017-09-27 18:21:14 +02:00
Eelco Dolstra
861987c70e nix-daemon: Bump the default number of build users
While it's annoying to pollute the user database with a lot of nixbld*
users, 10 users is really too low for many modern systems.

(cherry picked from commit 79d547b4bb)
2017-09-27 18:20:55 +02:00
Tristan Helmich
dc4c56ab7f emby: 3.2.30.0 -> 3.2.32.0
(cherry picked from commit 71cc54300e)
2017-09-27 18:20:38 +02:00
Robin Gloster
e6e7c0fe5a libnfs: fix eval
(cherry picked from commit c0235ef611)
2017-09-27 18:20:27 +02:00
Peter Simons
930759d024 libnfs: fix broken meta.license attribute
A license called "bsd" does not exist. Ping @peterhoeg.

(cherry picked from commit 4398872523)
2017-09-27 18:20:19 +02:00
makefu
9fc37e24dd gdal: fix path to pg_config
(cherry picked from commit 032c50d45b)
2017-09-27 17:41:51 +02:00
Tim Steinbach
57e1610901 docker: add 17.09.0-ce
(cherry picked from commit 825e417457)
2017-09-27 11:36:00 -04:00
Tim Steinbach
8f09851a98 openjdk: Fix build
(cherry picked from commit 24bed29809)
2017-09-27 11:33:50 -04:00
Matt McHenry
20aa2dc228 openjdk9: init at 9.0.0+180
* openjdk 8: code cleanup

as recommended by 0xABAB in #27194

* openjdk 9: init at ea build 176

this starts with copy of 8.nix and just updates hashes and replaces 8
with 9.  it also tweaks the version handling because we aren't dealing
with an update version yet.

* openjdk 9: adapt patches from openjdk 8

fix-java-home: surrounding code changed slightly

swing-use-gtk-jdk9: location of the file being patched changed due to
modularization

read-truststore-from-env: the code that handles the trustStore was
refactored out into a helper class in upstream commit
http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/904861872c0e

adlc_updater: this isn't present anymore

* openjdk 9: make two more warnings-as-errors non-fatal

this requires that we switch to configureFlagsArray to deal with
whitespace

the errors being suppressed are show below:

* For target support_native_java.desktop_libawt_xawt_awt_Robot.o:
/tmp/nix-build-openjdk-9ea-b176.drv-0/jdk9-jdk-9+176/jdk/src/java.desktop/unix/native/libawt_xawt/awt/awt_Robot.c: In function 'isXCompositeDisplay':
/tmp/nix-build-openjdk-9ea-b176.drv-0/jdk9-jdk-9+176/jdk/src/java.desktop/unix/native/libawt_xawt/awt/awt_Robot.c:152:50: error: embedded '\0' in format
[-Werror=format-contains-nul]
     snprintf(NET_WM_CM_Sn, sizeof(NET_WM_CM_Sn), "_NET_WM_CM_S%d\0", screenNumber);
                                                  ^
/tmp/nix-build-openjdk-9ea-b176.drv-0/jdk9-jdk-9+176/jdk/src/java.desktop/unix/native/libawt_xawt/awt/awt_Robot.c:152:50: error: embedded '\0' in format
[-Werror=format-contains-nul]
cc1: all warnings being treated as errors
* For target support_native_jdk.hotspot.agent_libsa_ps_core.o:
/tmp/nix-build-openjdk-9ea-b176.drv-0/jdk9-jdk-9+176/hotspot/src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c: In function 'read_exec_segments':
/tmp/nix-build-openjdk-9ea-b176.drv-0/jdk9-jdk-9+176/hotspot/src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c:834:7: error: ignoring return value of 'pread', declared
with attribute warn_unused_result [-Werror=unused-result]
       pread(ph->core->exec_fd, interp_name, exec_php->p_filesz, exec_php->p_offset);
       ^
cc1: all warnings being treated as errors

* openjdk 9: ea+176 -> ea+180

* openjdk 9: TODO disable infinality patches, at least to start

the code being patched here seems to have changed substantially or
perhaps even disappeared altogether.  need to investigate whether
these patches are still relevant.

* openjdk 9: update installPhase for modularization

* separate jdk and jre images are now present under build/*/images

* samples have been removed (JEP 298)
  -- TODO that JEP says demos will be gone too, but it seems some are still present?

* bina directory is no longer present

* openjdk 9: TODO handle *.pf files or purge this code completely

* openjdk 9: update minimal jre components

in particular, the name of the config option for headless has changed,
per https://bugs.openjdk.java.net/browse/JDK-8163102

* TODO about echo -n vs printWords, #27427

(cherry picked from commit 02fe1207ab)
2017-09-27 11:33:49 -04:00
Robin Gloster
4d59b04bd9 rubyGems.pg: fix postgresql path
(cherry picked from commit e253ae7d3a)
2017-09-27 17:26:10 +02:00
Robin Gloster
794a22bfed urllib3: revert multiple outputs
only moved propagated build inputs to dev which broke packages depending
on it e.g. glusterfs

cc @edolstra

(cherry picked from commit d0d992a9a0)
2017-09-27 17:11:21 +02:00
WilliButz
9da34752a7 splUnstable: fix hash
(cherry picked from commit 43b7e69d13)
2017-09-27 15:35:17 +02:00
makefu
cbe02b52ba pyramid: fix propagated builds
hupper and plaster need to be propagated to dependent packages

(cherry picked from commit 3abee357e6)
2017-09-27 15:35:16 +02:00
Tristan Helmich
15c5cfd600 pythonPackages.phonenumbers: 8.8.1 -> 8.8.2
(cherry picked from commit b015f62965)
2017-09-27 15:35:16 +02:00
Rodney Lorrimar
9dd4263464 bower2nix: 3.1.1 -> 3.2.0
(cherry picked from commit 3d4ed0181e)
2017-09-27 15:35:16 +02:00
Peter Hoeg
f79ef8d63d cwiid: boy scout cleanups
(cherry picked from commit eba5dd84ef)
2017-09-27 15:35:16 +02:00
Peter Hoeg
c6ca4c3ce9 libnfs: init at 2.0.0
(cherry picked from commit 97e586b812)
2017-09-27 15:35:16 +02:00
Peter Simons
11d0942d66 nixos(spamassassin): fix trailing whitespace
(cherry picked from commit 99e24590cb)
2017-09-27 14:51:42 +02:00
Peter Simons
a30571c1cf nixos(spamassassin): provide /etc/spamassassin to fix sa-learn et al
Spamassassin expects its system-wide configuration at /etc/spamassassin, and
some user tools (like sa-learn) need to read those configuration files.
Therefore, we provide a symlink from /etc/spamassassin to the appropriate Nix
store path to make sure those tools work without the user having to pass an
elaborate --siteconfig path that, potentially, changes every time the system
updates.

Fixes https://github.com/NixOS/nixpkgs/issues/29414.

(cherry picked from commit bfab392e6e)
2017-09-27 14:51:42 +02:00
Florian Jacob
d30e143c05 mariadb: 10.1.25 -> 10.1.26
(cherry picked from commit e911e39c26)
2017-09-27 07:30:34 -04:00
Stefan Siegl
9b4b940fb6 php: fix build wrt. new postgres.dev build output
Refs commit b0280f598e

(cherry picked from commit 2f23a83920)
2017-09-27 12:33:27 +02:00
Eelco Dolstra
ea6947d6d2 Add even more dev outputs
(cherry picked from commit 28299f669a)
2017-09-27 12:33:12 +02:00
Eelco Dolstra
a97a8771bb network-manager-applet: Don't depend on webkitgtk by default
This added significant bloat to non-Gnome systems.

(cherry picked from commit 65b04b8bef)
2017-09-27 12:33:07 +02:00
Eelco Dolstra
25b76f8c4f ibus: Move ibus-setup to .dev
This removes python3.buildEnv from the runtime closure.

(cherry picked from commit af44f99dca)
2017-09-27 12:33:02 +02:00
Eelco Dolstra
5d348cf891 firefox: Remove about:buildconfig
Storing the build configuration caused Firefox to retain a dependency
on gcc, glibc.dev and icu4c.dev.

This reduces the size of the firefox closure from 587 to 415 MiB.

(cherry picked from commit c03326445b)
2017-09-27 12:32:58 +02:00
Eelco Dolstra
0208f54229 Add more dev outputs
(cherry picked from commit 8ccce8de89)
2017-09-27 12:32:51 +02:00
Eelco Dolstra
71e6e0c1d1 emacs: Clear the environment while dumping
This reduces the closure size of Emacs from 575 to 279 MiB. Dumping
Emacs had a chance of leaking parts of the environment (such as $PATH)
into the dumped executable. This hopefully fixes it. (It's a bit hard
to tell since the effect is not deterministic.)

(cherry picked from commit cf599d3f99)
2017-09-27 12:32:33 +02:00
Joerg Thalheim
cba8066e9f libproxy: 0.4.13 -> 0.4.15
reduces closure size from ~200mb to ~100mb

fixes #29775

(cherry picked from commit 30c380556c)
2017-09-27 12:32:28 +02:00
Eelco Dolstra
bf92abb6ab Add some dev outputs
(cherry picked from commit 60aaced9a0)
2017-09-27 12:32:23 +02:00
Eelco Dolstra
d2bfefe9bf postgresql: Add dev output
This reduces the closure size of postgresql.out by 72 MiB.

(cherry picked from commit b0280f598e)
2017-09-27 12:32:18 +02:00
Eelco Dolstra
f50da7bbca kdoctools: Move bin stuff to the "out" output
In particular, this moves share/kf5 to the "out" output. This prevents
kdelibs4support from pulling kdoctools.dev into its closure (via
share/kf5/kdoctools/customization/dtd/kdex.dtd, which references
${kdoctools}/share/kf5).

This reduces the closure size of kdelibs4support by 156 MiB.

(cherry picked from commit b790a31204)
2017-09-27 12:32:13 +02:00
Robin Gloster
b06336377b gdal: fix backport 2017-09-27 00:59:35 +02:00
Dario Bertini
f9db9c8ff1 sshuttle: fix tests for darwin
(cherry picked from commit 7055b4aa45)
2017-09-26 23:47:36 +02:00
Tuomas Tynkkynen
3dcd59f164 caffe: Make 'bin' the first output
So ${caffe}/bin/foo always works in scripts.

(cherry picked from commit 9824ca6975)
2017-09-27 00:41:13 +03:00
Tuomas Tynkkynen
9a3658d6f2 imlib2: Make 'bin' the first output
(cherry picked from commit 3ee733aafb)
2017-09-27 00:20:03 +03:00
John Ericson
21d9031802 ghc prebuilt: Fix indentation
Doing this separately so the other commits are more readable

(cherry picked from commit 2d52156793)
2017-09-26 17:16:07 -04:00
John Ericson
ab9218d01c ghc prebuilt: Clean up syntax, without changes hashes
If I'm going to make a bunch more of these, I think it's a good idea to
make them more uniform first.

(cherry picked from commit a8ef3f6742)
2017-09-26 17:16:07 -04:00
John Ericson
d626fc602d ghc prebuilt: Don't hardcode the version in a few more places
This removes noise in the diff, making creating new versions easier. No
hashes should be changed.

(cherry picked from commit 17de435533)
2017-09-26 17:16:07 -04:00
John Ericson
95f22fbfc1 ghc-6.10.2-binary: Remove dead Darwin code
This looks like a WIP attempt from 2008

(cherry picked from commit d72647bc05)
2017-09-26 17:16:07 -04:00
Vaibhav Sagar
189ec715ac vim: 8.0.0442 -> 8.0.1150
(cherry picked from commit 6498ac609a)
2017-09-26 23:13:35 +02:00
Robin Gloster
0405eaf127 17.09 release notes: fix typo
(cherry picked from commit 6ab200b066)
2017-09-26 23:12:53 +02:00
Yegor Timoshenko
fdf61a4269 epsxe: fix install, 32-bit executable uses mixed case
(cherry picked from commit c3e6e9b765)
2017-09-26 23:12:45 +02:00
Yegor Timoshenko
2de0784f22 epsxe: init at 2.0.5 (#29810)
* epsxe: init at 2.0.5

* epsxe: nitpicks

(cherry picked from commit 0ddca0715a)
2017-09-26 23:10:38 +02:00
Yegor Timoshenko
b2fd3ebb2f mba6x_bl: update to 2016-12-08
(cherry picked from commit fbc8fa8b42)
2017-09-26 23:10:15 +02:00
Frederik Rietdijk
8e3dc8999d wlc: fix homepage / eval
(cherry picked from commit a33402b890)
2017-09-26 23:08:46 +02:00
Yegor Timoshenko
145eeb6809 sct: fix segfault when DISPLAY is empty, clean up derivation
(cherry picked from commit 44beb56540)
2017-09-26 23:08:28 +02:00
Michael Weiss
87557cbab6 sway: Fix the build
While the last wlc upgrade (05d79c03ec)
makes it possible to build sway 0.14.0 it also breaks the current build
of sway 0.13.0.

Unfortunately sway 0.14.0 segfaults on launch and I couldn't fix it yet
(there are multiple upstream issues as well). I'll overwrite the wlc
version for sway in order to have a usable version in nixpkgs for the
meantime.

(cherry picked from commit 676f5cb02c)
2017-09-26 23:08:13 +02:00
Michael Weiss
6b6989e552 wlc: 0.0.9 -> 0.0.10
Initially the build was failing but it seems like
4b85b23534 already fixed it.

(cherry picked from commit 05d79c03ec)
2017-09-26 23:07:20 +02:00
Michael Weiss
1ee3559c4c wlc: Refactor the code
The code was a bit messy (unused parameters, etc.) and caused some
warnings/errors which could potentially cause some problems.

(cherry picked from commit 4b85b23534)
2017-09-26 23:07:12 +02:00
taku0
d2f824f5b9 oraclejdk: add version 9
Oracle JDK 9 does not seems to contain jre directory, so oraclejre9
package now uses a dedicated archive file.

There is no 32-bit version nor arm version (yet). If Oracle releases
them, I will update the package.

(cherry picked from commit 692fcd9f53)
2017-09-26 23:06:53 +02:00
Tim Steinbach
276cddd260 skopeo: 0.1.22 -> 0.1.23
(cherry picked from commit 4ec02cc332)
2017-09-26 23:06:01 +02:00
Yegor Timoshenko
e96e0a21c6 libmirage: add to top level
(cherry picked from commit 8815b81926)
2017-09-26 23:05:15 +02:00
Tristan Helmich
aaed97d6c5 oath-toolkit: 2.6.1 -> 2.6.2
(cherry picked from commit 62597385c3)
2017-09-26 23:05:02 +02:00
Yegor Timoshenko
a9f7a2e44b clojure: correct license (three-clause BSD -> EPLv1.0)
This is retroactive. See: https://clojure.org/community/license

(cherry picked from commit 2f3af251be)
2017-09-26 23:04:43 +02:00
Tim Steinbach
03ff20e53b kotlin: 1.1.4-2 -> 1.1.50
(cherry picked from commit bec98b765d)
2017-09-26 23:03:50 +02:00
berdario
17c4f379df rhino: remove dependency on GCJ (#29759)
(cherry picked from commit 472bb9681d)
2017-09-26 23:02:30 +02:00
Peter Hoeg
df997bd717 uchiwa: 0.25.3 -> 0.26.0
(cherry picked from commit dd6591c506)
2017-09-26 23:02:16 +02:00
makefu
9e8f046940 gdal: fix path to pg_config
(cherry picked from commit 032c50d45b)
2017-09-26 23:01:54 +02:00
Joerg Thalheim
d1b41428a8 celery: fix eventlet tests
(cherry picked from commit 1b628fb023)
2017-09-26 23:01:46 +02:00
makefu
27c46a7cd9 pyramid: 1.7 -> 1.9.1
(cherry picked from commit dcc36a4a04)
2017-09-26 23:01:39 +02:00
makefu
7f532c37e4 celery: disable eventlet tests
eventlet cannot be imported in any tests because it fails to be imported
inside the sandboxed environment

(cherry picked from commit d00ba8091f)
2017-09-26 23:01:32 +02:00
makefu
a3969e2f0d oslo-config,sqlalchemy: add makefu to list of maintainers
(cherry picked from commit d7c26f24b9)
2017-09-26 23:01:26 +02:00
makefu
743e2cc3b4 oslo-service: 0.10.0 -> 1.26.0, with dependencies
oslo-service:
  needs to disable tests due to network errors when importing eventlet
  for tests ( socket.getprotobyname('tcp') -> no such protocol )
eventlet: 0.17.4 -> 0.20.0
  cannot update to 0.21.0 due to version pinning ( < 0.21.0 ) of oslo-service
monotonic: 0.4 -> 1.3
oslo-serialization: 1.10.0 -> 2.20.0
oslo-utils: 2.6.0 -> 3.29.0
oslo-concurrency: 2.7.0 -> 3.22.0
oslo-log: 1.12.1 -> 3.31.0
oslo-context: 0.7.0 -> 2.18.1
routes: 1.12.3 -> 2.4.1
webob: 1.4.1 -> 1.7.3

when updating i rewrote the package to use fetchPypi for making future
updating easier

(cherry picked from commit 78621e384c)
2017-09-26 23:01:20 +02:00
makefu
4b26ccd475 sqlalchemy-migrate: re-enable tests
(cherry picked from commit 42edc6f35e)
2017-09-26 22:54:29 +02:00
makefu
7af7e873b3 keystoneauth1: enable tests
requires a later version of betamax, bumped to 0.8.0

(cherry picked from commit 97644a9f4f)
2017-09-26 22:53:13 +02:00
makefu
e6fff35eb7 oslo-config: 4.11.0 -> 4.12.0, fix build
also updated the following dependencies:
keystoneauth1: 3.1.0 -> 3.2.0
  disabled tests which require oslo-config, oslo-test or requests-kerberos
oslo-i18n: 2.7.0 -> 3.18.0
oslotest: 1.12.0 -> 2.18.0
os-client-config: 1.8.1 -> 1.28.0
  needed to disable testing due to circular dependency with oslotest
mox3: 0.11.0 -> 0.23.0
  disable tests for py36 due to upstream bug
debtcollector: 0.9.0 -> 1.17.0
  tests enabled

extra packages:
requestsexceptions: init at 1.3.0

(cherry picked from commit 7251699081)
2017-09-26 22:52:57 +02:00
Joerg Thalheim
16ad9ed52f {zfsUnstable,splUnstable}: 2017-09-12 -> 2017-09-26
(cherry picked from commit 8fcf95f102)
2017-09-26 22:52:48 +02:00
Jörg Thalheim
b97384ac14 nixos/zfs: import encrypted datasets by default for zfsUnstable
(cherry picked from commit 9164517c18)
2017-09-26 22:52:27 +02:00
Samuel Dionne-Riel
b968e8af94 mediawiki: 1.27.3 -> 1.29.1
(cherry picked from commit 0b1c73f4da)
2017-09-26 22:49:33 +02:00
Lancelot SIX
877c957ebc pythonPackages.channels: 1.1.6 -> 1.1.8 (#29772)
(cherry picked from commit f1a2b8627e)
2017-09-26 22:49:24 +02:00
Dan Peebles
a9d62189e7 nixos-install: re-enable --chroot option
I forgot to implement it the first time around. Whoops!

(cherry picked from commit 186c120bed)
2017-09-26 21:57:01 +02:00
Jan Solanti
c7842d024d nvidia-x11: generate nvidia_icd.json from template
(cherry picked from commit 4ec3d311cb)
2017-09-26 21:54:41 +02:00
Jörg Thalheim
9726f8edf8 dino: 2017-06-21 -> 2017-09-20
(cherry picked from commit f27feb5481)
2017-09-26 19:48:58 +01:00
Franz Pletz
abaa8ce24c libressl_2_6: 2.6.0 -> 2.6.2
(cherry picked from commit 4d7d5c8c34)
2017-09-26 17:29:46 +02:00
Franz Pletz
defa5d664a imagemagick7: 7.0.6-4 -> 7.0.7-4 for multiple CVEs
Too many CVEs to list because they are not tracked upstream by release
versions.

(cherry picked from commit de4abf7054)
2017-09-26 17:29:46 +02:00
Franz Pletz
614c302796 imagemagick: 6.9.9-7 -> 6.9.9-15 for multiple CVEs
Too many CVEs to list because they are not tracked upstream by release
versions.

(cherry picked from commit 2d854c4c92)
2017-09-26 17:29:46 +02:00
Tim Steinbach
a193400216 oh-my-zsh: 2017-06-22 -> 2017-09-24
(cherry picked from commit 1c3ba450acf6739429ea24af742b5ad55479a38e)
2017-09-26 08:59:24 -04:00
Tim Steinbach
735329ab9e git: 2.14.1 -> 2.14.2
(cherry picked from commit 5a2a35aef3)
2017-09-26 08:50:22 -04:00
Rodney Lorrimar
10bb7fddb9 gnuradio: fix build for gcc6 and newer boost (#29740)
(cherry picked from commit 3766637bdd)
2017-09-26 03:31:14 +02:00
Joerg Thalheim
461fab1376 sysdig: 0.17.0 -> 0.18.0
(cherry picked from commit b064137b7b)
2017-09-26 03:30:53 +02:00
Robin Gloster
0c9f99e01b 17.09 release notes: add module changes
(cherry picked from commit 3414265efa)
2017-09-26 03:29:03 +02:00
Robin Gloster
e6f075b07e termite: fix eval 2017-09-26 02:20:58 +02:00
Jan Tojnar
edf780b54f gnome3.at-spi2-core: fix service not found error
The service was not registered as a systemd service resulting in errors
in the system journal every time a GNOME application was launched.

See: #16327
2017-09-26 00:40:57 +01:00
Daiderd Jordan
e19b5ef047 reattach-to-user-namespace: 2.5 -> 2.6
(cherry picked from commit b196241f42)
2017-09-26 01:03:07 +02:00
Thomas Tuegel
e5a864fa6d hplip: remove 3.15.9
hplip-3.15.9 has not been buildable in some time due to changes in CUPS.

(cherry picked from commit 4c09acad5c)
2017-09-26 00:34:06 +02:00
Tim Steinbach
a6e79559fa linux: 4.14-rc1 -> 4.14-rc2
(cherry picked from commit b13a6d5720)
2017-09-26 00:32:15 +02:00
Tim Steinbach
65494c8b28 linux: 4.13-rc7 -> 4.14-rc1
(cherry picked from commit c8f43edaf5)
2017-09-26 00:32:07 +02:00
Jörg Thalheim
c6f102bbce docs/python: more infos regarding failing tests
(cherry picked from commit 9d9a28f014)
2017-09-26 00:31:00 +02:00
Elis Hirwing
8b7634aa43 testssl.sh: init at 2.9.5-1
Add testssl.sh which is a nice utility for testing TLS/SSL
capabilities of servers without having to use any kind of
web-service. It's very useful for testing setups of services before
deployment and such.

(cherry picked from commit 02d9d40d99)
2017-09-26 00:27:13 +02:00
Joachim Fasting
629b3f3835 mg: 20161005 -> 20170828
(cherry picked from commit 4429559aa1)
2017-09-26 00:26:11 +02:00
Kamil Chmielewski
4b9aae63fb ponyc: 0.19.1 -> 0.19.2
https://github.com/ponylang/ponyc/issues/2248
(cherry picked from commit 5835b1a156)
2017-09-26 00:25:48 +02:00
Antoine Eiche
572a0e1b12 dockerTools.examples.nix: set NIX_PAGER=cat environment variable
(cherry picked from commit ff4d7f0fd2)
2017-09-26 00:25:24 +02:00
Antoine Eiche
1231f40731 dockerTools.buildImageWithNixDb: populate the Nix Db of the image Nix store
Currently, the contents closure is copied to the layer but there is no
nix database initialization. If pkgs.nix is added in the contents,
nix-store doesn't work because there is no nix database.

From the contents of the layer, this commit generates and loads the
database in the nix store of the container. This only works if there
is no parent layer that already have a nix store (to support several
nix layers, we would have to merge nix databases of parent layers).

We also add an example to play with the nix store inside the
container. Note it seems `more` is a missing dependency of the nix
package!

(cherry picked from commit df589a438e)
2017-09-26 00:25:24 +02:00
Peter Hoeg
83dcd01968 open-vm-tools: 10.1.0 -> 10.1.10
(cherry picked from commit 4f25b7b6b3)
2017-09-26 00:19:38 +02:00
ibor
fcfd281892 js_of_ocaml: fix jbuild (explicitly call bash) (#29749)
* js_of_ocaml: fix jbuild (explicitly call bash)

* js_of_ocaml: Use patchShebangs instead of manual patch

(cherry picked from commit 00422b2279)
2017-09-26 00:19:24 +02:00
Aneesh Agrawal
fbe380a5d2 audit: Remove openldap dependency
The openldap dependency is only used for the audisp z/OS plugin.
This is not useful on Linux, so always disable this.

(cherry picked from commit 49fc06ed0a)
2017-09-26 00:16:48 +02:00
Vladimír Čunát
b5ec075d9e perl-XML-LibXML: update and avoid failing tests
The test failures were caused by #29431: libxml-2.9.4 -> 2.9.5

(cherry picked from commit c88fa59559)
2017-09-26 00:16:27 +02:00
Orivej Desh
e9c0481881 libxml2: 2.9.4 -> 2.9.5
(cherry picked from commit 604ca93182)
2017-09-26 00:14:24 +02:00
Richard Ipsum
434a0e7e7a luxio: Add maintainer
(cherry picked from commit 3d278be9ae)
2017-09-26 00:11:15 +02:00
Joerg Thalheim
3f1ef725c3 luxio: fix package build
(cherry picked from commit dd6691aa05)
2017-09-26 00:11:03 +02:00
Richard Ipsum
88683846c6 luxio: init at 13
(cherry picked from commit d42c062821)
2017-09-26 00:10:54 +02:00
David Izquierdo
2310682c56 latte dock: 0.6.0 -> 0.7.1
(cherry picked from commit 4105d02f70)
2017-09-26 00:10:34 +02:00
David Izquierdo
ce56b5a1db tdesktop: 1.1.22 -> 1.1.23
(cherry picked from commit f79c0b8627)
2017-09-26 00:10:25 +02:00
Joerg Thalheim
3e1940744a python.pkgs.simanneal: enable tests
(cherry picked from commit dd99592952)
2017-09-26 00:10:17 +02:00
Dmitry Kalinkin
1a747a017c pythonPackages.simanneal: init at 0.4.1
(cherry picked from commit de1480e079)
2017-09-26 00:10:12 +02:00
Joerg Thalheim
cd54c92211 nixos/tinydns: default data to empty string
(not strictly required to start the service)

(cherry picked from commit 735b41c34f)
2017-09-26 00:09:24 +02:00
Matt McHenry
80e8a10c47 nixos/dnscache: add module
with improvements suggested by Jörg Thalheim <joerg@thalheim.io>

(cherry picked from commit 1b7e5eaa79)
2017-09-26 00:09:08 +02:00
Matt McHenry
e92e498ad5 nixos/tinydns: add module
with improvements suggested by Jörg Thalheim <joerg@thalheim.io>

(cherry picked from commit ab851b63da)
2017-09-26 00:08:51 +02:00
Matt McHenry
7eeda5754e djbdns: init at 1.05
(cherry picked from commit a80ef5b88a)
2017-09-26 00:08:23 +02:00
Francois-Rene Rideau
bc149176ac nfsd: add extraNfsdConfig
(cherry picked from commit 62983f5cae)
2017-09-26 00:03:09 +02:00
gnidorah
5d00e52de8 termite: fix fonts in wayland
(cherry picked from commit 42dcf914d1)
2017-09-26 00:01:22 +02:00
Kranium Gikos Mendoza
2bbc6958da gpxsee: 4.9 -> 4.14
(cherry picked from commit 12b1852301)
2017-09-26 00:00:56 +02:00
Maximilian Bosch
42349942f6 vimPlugins.xptemplate: init at 2017-04-18
(cherry picked from commit 0a5d4ca5a8)
2017-09-26 00:00:32 +02:00
Matthias Beyer
9c7c88d044 mutt: 1.9.0 -> 1.9.1
(cherry picked from commit 3491f6a873)
2017-09-26 00:00:17 +02:00
Kranium Gikos Mendoza
8a3d960bd6 pick: 1.7.0 -> 1.9.0
(cherry picked from commit f43baf94a3)
2017-09-25 23:59:34 +02:00
Itai Zukerman
9c6cabe758 plex: 1.8.4 -> 1.9.1
(cherry picked from commit e24dc4d7ba)
2017-09-25 23:59:19 +02:00
Francois-Rene Rideau
1ff620567b gerbil: 0.12-DEV -> 0.12-DEV-777-gd855915
(cherry picked from commit fc82bad4a9)
2017-09-25 23:59:02 +02:00
Francois-Rene Rideau
53779dd249 gambit: 4.8.8-f3ffeb6 -> 4.8.8-300db59
(cherry picked from commit 34739b3cc6)
2017-09-25 23:57:59 +02:00
Neil Mayhew
21934a1a9b spideroak: 6.0.1 -> 6.1.9
(cherry picked from commit 9d01b511b5)
2017-09-25 23:57:31 +02:00
Bjørn Forsman
9da04799cc vimPlugins.robotframework-vim: init at 2017-04-14
(cherry picked from commit d757d8142e)
2017-09-25 22:41:13 +02:00
Pavel Goran
a35620e5f2 nixos/gitolite: add enableGitAnnex option
(cherry picked from commit cee657f9a3)
2017-09-25 22:12:59 +02:00
Peter Hoeg
f5af8a757a pywbem: hash keeps changing - why? Embed the patch
(cherry picked from commit 23ef826139)
2017-09-25 21:32:59 +08:00
Silvan Mosberger
6a1978f7b4 nixos/radicale: fix default version (#29743)
(cherry picked from commit a8c97ad23e)
2017-09-25 14:12:43 +02:00
Joachim Fasting
66384f9e52 tor-browser-bundle-bin: optionally disable multiprocess support
Multiprocess tabs always crash, as first reported by the issue mentioned
below.  It is now consistently reproducible both on NixOS and non-NixOS
for me, so I've decided to add a toggle to conveniently disable
multiprocess support as a work-around.

Closes https://github.com/NixOS/nixpkgs/issues/27759 but does
not really fix the underlying problem ...

(cherry picked from commit 69e3817eb6)
2017-09-25 14:12:41 +02:00
Jan Malakhovski
7c80f69bb6 linuxPackages: properly propagate features and extraConfig
`kernel.override { features = ... }` didn't work before, now it works as
expected.

(cherry picked from commit 8525b78d05)
2017-09-25 14:12:40 +02:00
Franz Pletz
cc7ed96716 nixos/network-interfaces: ensure slave interfaces are up
Fixes #28620.

(cherry picked from commit 263185aa68)
2017-09-25 14:07:25 +02:00
Franz Pletz
35cbbeb146 nixos/network-interfaces: cannot delay device units
Systemd is complaining that it can't delay the startup of device units.
We have a before dependency on the respective device unit for every
netdev service, which doesn't make any sense because we create the
actual interface in this service.

(cherry picked from commit 13a110e696)
2017-09-25 14:07:24 +02:00
Franz Pletz
2d178d8793 nixos/network-interfaces: IPs must always be set
Previously, depending on the environment and the type of interface that
was created, the configured IPs of an interface wouldn't be applied on a
nixos-rebuild switch. It works after a reboot.

This patch ensures that the network-addresses service is started
either via the network-link service or if the networking target is
activated (i.e. on system activation).

Fixes #28474 #16230.

(cherry picked from commit 3a670daa98)
2017-09-25 14:07:24 +02:00
Kai Harries
d9dabb0e66 libvirt: Add qemu to runtime closure
The program `qemu-img` is needed during creation of virtual machines
with qcow2 images. Otherwise creation of such VMs (e.g. with
virt-manager) are failing.

(cherry picked from commit 32e4e2c47b)
2017-09-25 07:52:45 +02:00
Peter Hoeg
e075c65956 pywbem: changed hash
(cherry picked from commit 0353ddc5c5)
2017-09-25 09:51:50 +08:00
Peter Hoeg
6540bc5b02 pywbem: make the tests pass again with patch from upstream
(cherry picked from commit 4c496c0232)
2017-09-25 09:44:20 +08:00
Jean-François Roche
773e5ddef1 Update kbfs: 20170429.44efa06 -> 20170922.f76290 (#29716)
kbfs was not working with the lastest keybase update
(ef3cb5cc47).

We should enforce update of keybase/keybase-ui and kbfs (like done here:
f74a1e6bcb)
all together to avoid API problems.

(cherry picked from commit b50ae94ed3)
2017-09-24 18:09:10 +01:00
zimbatm
58b7abc2fc keybase: add darwin support
Fixes the cyclic dependency issue as described in #18131.

(cherry picked from commit eaa0e19a34)
2017-09-24 17:53:54 +01:00
Kranium Gikos
ad0f639d43 influxdb sevice: make postStart test work with non-localhost configurations (#29734)
make postStart test work with non-localhost configurations

(cherry picked from commit 412fa16bff)
2017-09-24 15:38:16 +01:00
Robert Scott
40b0653486 python.pkgs.pyscss: 1.3.4 -> 1.3.5
this also:
 - enables tests (properly)
 - fixes build on python 3.6

(cherry picked from commit a358c43975)
2017-09-24 15:11:09 +01:00
Joerg Thalheim
550a7c9fbb termite: use wrapGAppsHook
(cherry picked from commit 4d4c32504a)
2017-09-24 14:50:02 +01:00
Robin Gloster
49be64017f kupfer: fixup merge
This had not been backported and does not exist in 17.09 (cc @zimbatm)
2017-09-24 13:57:09 +02:00
Robin Gloster
34cc80018d kube-dns: fixup merge
Should've been removed here, is built with kubernetes.
2017-09-24 13:54:06 +02:00
Jan Tojnar
bc28875f8c gnome3: only maintain single GNOME 3 package set (#29397)
* 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`.

(cherry picked from commit 69698ec11c)
2017-09-24 12:45:23 +01:00
zimbatm
0e60332559 kubernetes-helm: 2.5.1 -> 2.6.1
(cherry picked from commit f069ee7af6)

Conflicts:
	pkgs/top-level/all-packages.nix
2017-09-24 12:40:07 +01:00
Stefan Siegl
c05c38296c owncloud-client: 2.3.2 -> 2.3.3
(cherry picked from commit 9fc87cc376)
2017-09-24 13:24:51 +02:00
Robin Gloster
1c641c46d6 systemd-tmpfiles: fix docs
We have been doing this since 4e4161c212

(cherry picked from commit 43404d9acf)
2017-09-24 13:22:15 +02:00
Peter Jones
f4653e55b2 playbar2: init at 2.5
(cherry picked from commit f1355079b9)
2017-09-24 13:06:21 +02:00
Michal Rus
7efb9fa5f9 xpad: init at 5.0.0 (#29720)
* xpad: init at 5.0.0

* xpad: wrapGAppsHook is required

(cherry picked from commit 0e71e03583)
2017-09-24 13:05:47 +02:00
Robin Gloster
24a8c6d5a4 kubernetes: fix bad merge 2017-09-24 13:05:04 +02:00
Robin Gloster
cc668d5dea kubernetes: fix hashes after dockerTools change
(cherry picked from commit 9ba024f6d8)
2017-09-24 13:05:04 +02:00
Matej Cotman
0a029ead07 kubernetes: fix tests
(cherry picked from commit 6ef8cad2a7)
2017-09-24 13:05:04 +02:00
Matej Cotman
65120b99e2 kubernetes: build e2e.test
(cherry picked from commit 1febe07de7)
2017-09-24 13:05:03 +02:00
Matej Cotman
0c7ff1e626 kubernetes: fix dns addon hashes, fix clusterDns, enable proxy on master
(cherry picked from commit 6ea272ced4)
2017-09-24 13:05:03 +02:00
Jaka Hudoklin
d4c9d7ed0e kubernetes module: refactor module system, kube-dns as module
(cherry picked from commit ddf5de5de0)
2017-09-24 13:05:03 +02:00
Jaka Hudoklin
30b99fed97 kubernetes module: seedDockerImages option for seeding docker images built with nix
(cherry picked from commit 2beadcf181)
2017-09-24 13:05:03 +02:00
Jaka Hudoklin
bbefc9eb13 kubernetes module: webhook authorization for kubelet
(cherry picked from commit 9d97c92d68)
2017-09-24 13:05:03 +02:00
Jaka Hudoklin
b913ef9358 kubernetes module: fix documentation links
(cherry picked from commit 7c893623d4)
2017-09-24 13:05:03 +02:00
Jaka Hudoklin
e901b8c15e kubernetes module: add featureGates option
(cherry picked from commit 74f99525e0)
2017-09-24 13:05:03 +02:00
Jaka Hudoklin
bffd00bb38 kuberentes: expose kube-addons script
(cherry picked from commit f10138bd32)
2017-09-24 13:05:03 +02:00
Jaka Hudoklin
db96b84055 kubernetes: 1.6.4 -> 1.7.1
(cherry picked from commit bff428616a)
2017-09-24 13:05:02 +02:00
Jaka Hudoklin
0c543a52ff cni: 0.3.0 -> 0.5.2
(cherry picked from commit ff6413850b)
2017-09-24 13:05:02 +02:00
Jaka Hudoklin
f8971667d1 kubernetes module: kubelet, add socat to path for kubectl portforward
(cherry picked from commit 55dbbfd899)
2017-09-24 13:05:02 +02:00
Jaka Hudoklin
613cc03b62 kubernetes module: enable leader elect by default
(cherry picked from commit 8e48fff268)
2017-09-24 13:05:02 +02:00
Jaka Hudoklin
0603b6c6f1 kubernetes module: add storage and tolerations addmission controllers
(cherry picked from commit 856ca7347f)
2017-09-24 13:05:02 +02:00
Jaka Hudoklin
77f08ce157 kubernetes module: fix cidr ranges
(cherry picked from commit d842d539d9)
2017-09-24 13:05:02 +02:00
Jaka Hudoklin
cec76e3b8a kubernetes module: default auth mode to only RBAC
(cherry picked from commit b25d155976)
2017-09-24 13:05:02 +02:00
Jaka Hudoklin
c75998c202 kubernetes module: add support for common CA file
(cherry picked from commit c2622910ab)
2017-09-24 13:05:01 +02:00
Jaka Hudoklin
99af0a66e5 kubernetes module: per service kubeconfig support
(cherry picked from commit c96ca5f3bd)
2017-09-24 13:05:01 +02:00
Jaka Hudoklin
11bbff3883 kubernetes module: flannel support, minor fixes
- add flannel support
- remove deprecated authorizationRBACSuperAdmin option
- rename from deprecated poratalNet to serviceClusterIpRange
- add nodeIp option for kubelet
- kubelet, add br_netfilter to kernelModules
- enable firewall by default
- enable dns by default on node and on master
- disable iptables for docker by default on nodes
- dns, restart on failure
- update tests

and other minor changes

(cherry picked from commit 7dfeac88ac)
2017-09-24 13:05:01 +02:00
Matej Cotman
29617dfc97 kubernetes: fix minor issues
(cherry picked from commit 8e14e978c8)
2017-09-24 13:05:01 +02:00
Matej Cotman
4b93a73f32 kubernetes: add tests
(cherry picked from commit 7f9d1a7aaf)
2017-09-24 13:05:01 +02:00
Matej Cotman
05dc4e6bf6 kubernetes: update service
(cherry picked from commit ed322f4235)
2017-09-24 13:05:01 +02:00
Matej Cotman
dc596ef734 kube-dns: 1.14.1
(cherry picked from commit 7332179285)
2017-09-24 13:05:01 +02:00
Jaka Hudoklin
51f0056f85 kubernetes module: authorization improvements
(cherry picked from commit 90d5468ad6)
2017-09-24 13:05:01 +02:00
Florian Jacob
4fad98082e tinc: 1.0.31 -> 1.0.32
(cherry picked from commit 8704e82eba)
2017-09-24 13:05:00 +02:00
Robin Gloster
5f41bf128c maintainers/hydra-eval-failures: fix with new lib
lib/maintainers.nix now is a function

(cherry picked from commit 1554282290)
2017-09-24 13:05:00 +02:00
Matt McHenry
3b03b528ec minecraft-server: 1.12 -> 1.12.2
(cherry picked from commit aedfc0d8d3)
2017-09-24 13:05:00 +02:00
Pascal Bach
b662fcd5f4 riot-web: 0.12.5 -> 0.12.6
(cherry picked from commit 8a249c51b6)
2017-09-24 13:05:00 +02:00
danbst
a164105477 salt: 2016.11.5 -> 2017.7.1, patch fix
The libcrypto patch didn't work well with `salt-ssh` (that code failed on
remote machines), so let's make Nix-based library lookup as fallback.

https://github.com/saltstack/salt/issues/43350
(cherry picked from commit a5b8c0c2de)
2017-09-24 13:05:00 +02:00
Joachim Fasting
a769d908fc encfs: 1.9.1 -> 1.9.2
See https://github.com/vgough/encfs/releases/tag/v1.9.2

(cherry picked from commit c951a0ad07)
2017-09-24 13:05:00 +02:00
Joachim Fasting
f439ce677e openafs-client: 1.6.21 -> 1.6.21.1
Per https://www.openafs.org/dl/openafs/1.6.21.1/RELNOTES-1.6.21.1
this release adds support for linux 4.13

Related to https://github.com/NixOS/nixpkgs/issues/28643

(cherry picked from commit cb94feb2d1)
2017-09-24 13:05:00 +02:00
Michael Weiss
af367259ab sshfs: 3.2.0 -> 3.3.0
(cherry picked from commit 699231ed78)
2017-09-24 13:05:00 +02:00
Joachim Fasting
be26a1c06f apulse: 0.1.6 -> 0.1.10
(cherry picked from commit c97e5f2670)
2017-09-24 13:04:59 +02:00
Michael Weiss
d020624a16 fuse3: 3.1.1 -> 3.2.0
(cherry picked from commit 1a9467edd5)
2017-09-24 13:04:59 +02:00
mimadrid
f09a976729 axel: 2.13.1 -> 2.14.1
(cherry picked from commit 9c46ef3d9a)
2017-09-24 13:04:59 +02:00
mimadrid
b971730f58 entr: 3.7 -> 3.8
(cherry picked from commit 47974b2670)
2017-09-24 13:04:59 +02:00
mimadrid
2da5e958dd filezilla: 3.27.0.1 -> 3.27.1
(cherry picked from commit ece5c1482b)
2017-09-24 13:04:59 +02:00
mimadrid
47edac9039 libfilezilla: 0.10.0 -> 0.10.1
(cherry picked from commit 00bdbcd99e)
2017-09-24 13:04:59 +02:00
mimadrid
5a9ac44972 gsource: 0.44 -> 0.47
(cherry picked from commit 80a14bf5fb)
2017-09-24 13:04:59 +02:00
Robert Scott
93441f1a69 python.pkgs.python-gnupg: disable failing test test_search_keys
reading the code, it's hard to see how this test was *ever* supposed to
pass. interestingly, peeking across the fence, guix have disabled this test
too for the same reason.

note that tests don't actually run *at all* on py27 but that's a problem
for another day

(cherry picked from commit 9ca4f39b97)
2017-09-24 13:04:58 +02:00
Rodney Lorrimar
240f529269 guile-lib: Disable a test which doesn't work with Guile 2.2
Error is:

    ERROR: In procedure %resolve-variable:
    ERROR: Unbound variable: use-syntax
    FAIL: sxml.ssax.scm

Also add pkg-config so that configure script can find libguile.

Relevant to #28643

(cherry picked from commit 913e770fa8)
2017-09-24 11:35:33 +01:00
Graham Christensen
beb1f1ea91 nixos/rabbitmq: fix restarts and sasl logs
1. The chmod 400 with the preset cookie prevented restarts, as
on the second boot it would fail to write to the cookie. Oops.

2. As far as I can tell, sasl logs were disabled because of the
following error:

{error,{cannot_log_to_tty,sasl_report_tty_h,not_installed}}

Not because we actually wanted to disable them. This meant the
management plugin wasn't usable due to a bug set to be fixed in
3.7.0.

(cherry picked from commit f3b9ac73e2)
2017-09-23 17:59:07 -04:00
Daiderd Jordan
5a59b45811 libjack2: fix darwin build
(cherry picked from commit 7d98316a97)
2017-09-23 22:37:09 +02:00
Daiderd Jordan
cb78d96a64 darwin-frameworks: add impure version of CoreFoundation
(cherry picked from commit bb02b800a2)
2017-09-23 22:36:57 +02:00
Patrick Callahan
8d34b090a7 varnish: enable Darwin build
(cherry picked from commit 8be447b522)
2017-09-23 21:33:03 +02:00
Daiderd Jordan
ae583307ef qt5-qtbase: fix darwin build
Fixes #27474

(cherry picked from commit db2538fb0c)
2017-09-23 21:07:06 +02:00
Franz Pletz
7bd9dac1bd nixos-generate-config: add programs options examples
(cherry picked from commit 0f5cd17f2c)
2017-09-23 20:05:01 +02:00
Franz Pletz
8c5fdf1baf nixos/install: disable kernel debug console logging
Add another option for debugging instead. Lots of users have been
complaining about this default behaviour.

This patch also cleans up the EFI bootloader entries in the ISO.

(cherry picked from commit 3d040f9305)
2017-09-23 20:05:01 +02:00
Silvan Mosberger
aca6a2bd3f encrypted devices: add label set assertion (#29651) 2017-09-23 19:02:58 +01:00
Michael Raskin
81e4fbefda asymptote: do not install sty-files, let texlive care of it
TeXLive version is effectively identical anyway, and it caused an
unneccessary file name collision.

Fixes: #29671
(cherry picked from commit 8d001911db)
2017-09-23 19:36:01 +02:00
Robin Gloster
5825331856 fanctl, fan module: remove
This has been broken nearly all the time due to the patches needed to
iproute2 not being compatible with the newer versions we have been
shipping. As long as Ubuntu does not manage to upstream these changes
so they are maintained with iproute2 and we don't have a maintainer
updating these patches to new iproute2 versions it is not feasible to
have this available.

(cherry picked from commit 08b09fdc5c)
2017-09-23 18:00:40 +02:00
Peter Simons
bfbbfa09e1 yi: mark builds broken
Yi and its libraries have inconsistent versions because some of them are in LTS
Haskell and others aren't. Ping @fuuzetsu.
2017-09-23 17:28:27 +02:00
Bjørn Forsman
1cdb055879 nixos/gitolite: use group 'gitolite' instead of 'nogroup'
Having files (git repositories) owned by 'nogroup' is a bad idea.

(cherry picked from commit 3a58e41e43)
2017-09-23 17:13:06 +02:00
Samuel Leathers
5aa76ba06d kodi: 17.3 -> 17.4
(cherry picked from commit 694e7e08d6)
2017-09-23 17:08:12 +02:00
Peter Simons
23a021d12e Revert "nixos: add option for bind to not resolve local queries (#29503)"
This reverts commit 670b4e29ad. The change
added in this commit was controversial when it was originally suggested
in https://github.com/NixOS/nixpkgs/pull/29205. Then that PR was closed
and a new one opened, https://github.com/NixOS/nixpkgs/pull/29503,
effectively circumventing the review process. I don't agree with this
modification. Adding an option 'resolveLocalQueries' to tell the locally
running name server that it should resolve local DNS queries feels
outright nuts. I agree that the current state is unsatisfactory and that
it should be improved, but this is not the right way.
2017-09-23 16:36:05 +02:00
aszlig
f7411b81ed nixos/dovecot: Fix createMailUser implementation
This option got introduced in 7904499542
and it didn't check whether mailUser and mailGroup are null, which they
are by default.

Now we're only creating the user if createMailUser is set in conjunction
with mailUser and the group if mailGroup is set as well.

I've added a NixOS VM test so that we can verify whether dovecot works
without any additional options set, so it serves as a regression test
for issue #29466 and other issues that might come up with future changes
to the Dovecot service.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Fixes: #29466
Cc: @qknight, @abbradar, @ixmatus, @siddharthist, @peti
(cherry picked from commit 3ba2095a42)
2017-09-23 15:00:33 +02:00
Jörg Thalheim
3b2e3dfef3 traefik: link against libc, set build version/codename
this way gethostbyname() works as indented

(cherry picked from commit ad2004afd3)
2017-09-23 14:06:31 +02:00
Hamish Hutchings
c0f4005e4a Change to using source files to build traefik
(cherry picked from commit 0cc4cb96bb)
2017-09-23 14:06:25 +02:00
Hamish Hutchings
ea18f35e76 Traefik init at 1.3.8
(cherry picked from commit e0b81b9c3c)
2017-09-23 14:06:17 +02:00
Antoine Eiche
d41f20e9cc dockerTools.buildImage: Switch to the format image generated by Skopeo
We were using 'Combined Image JSON + Filesystem Changeset Format' [1] to
unpack and pack image and this patch switches to the format used by the registry.

We used the 'repository' file which is not generated by Skopeo when it
pulls an image. Moreover, all information of this file are also in the
manifest.json file.
We then use the manifest.json file instead of 'repository' file. Note
also the manifest.json file is required to push an image with Skopeo.

Fix #29636

[1] 749d90e10f/image/spec/v1.1.md (combined-image-json--filesystem-changeset-format)

(cherry picked from commit 35f205a4b6)
2017-09-23 14:00:32 +02:00
Michael Raskin
5cf35d7ae4 singular: use gcc5
Progress on: #28643
Fixes: #29682

(cherry picked from commit f7d7c7bedf)
2017-09-23 14:00:25 +02:00
Frederik Rietdijk
d5cc00eca4 python.pkgs: alias dateutil to python-dateutil
(cherry picked from commit 5e916914ef)
2017-09-23 13:58:44 +02:00
Andreas Rammhold
7dda5471d7 ferm: 2.3.1 -> 2.4.1
(cherry picked from commit e9a56e798a)
2017-09-23 13:31:06 +02:00
Joachim Fasting
8dd308c031 nixos/lock-kernel-modules: fix deferred fileSystem mounts
Ensure that modules required by all declared fileSystems are explicitly
loaded.  A little ugly but fixes the deferred mount test.

See also https://github.com/NixOS/nixpkgs/issues/29019

(cherry picked from commit 1df6cf5d1d)
2017-09-23 13:30:18 +02:00
Joachim Fasting
cf4e7c0181 nixos/hardened test: add failing test-case for deferred mounts
(cherry picked from commit bccaf63067)
2017-09-23 13:29:47 +02:00
Joachim Fasting
ce59db3423 nixos/hardened: simplify script
(cherry picked from commit 15a4f9d8ef)
2017-09-23 13:29:35 +02:00
Joachim Fasting
6a17d11ff7 snapper: 0.3.3 -> 0.5.0
(cherry picked from commit 6bf56656f0)
2017-09-23 13:29:17 +02:00
Joachim Fasting
a8120e1828 tor: enable parallel building
(cherry picked from commit fd3a9e6468)
2017-09-23 13:27:42 +02:00
Kranium Gikos Mendoza
06caa2ac3a trackballs: 1.1.4 (broken) -> 1.2.3
(cherry picked from commit 92ec5cddbc)
2017-09-23 13:25:55 +02:00
Kranium Gikos Mendoza
99d7dcdf61 giv: 20150811-git (broken) -> 0.9.26
(cherry picked from commit 5da75526f7)
2017-09-23 13:22:17 +02:00
mimadrid
8d4cb4e214 calc: 2.12.6.1 -> 2.12.6.3
(cherry picked from commit 676db57c37)
2017-09-23 09:10:01 +02:00
Daiderd Jordan
980cbaea1e lmdb: fix library id on darwin
(cherry picked from commit 84bd2f4ab0)
2017-09-22 23:35:28 +02:00
Daiderd Jordan
90a034b67c textql: fix darwin build
(cherry picked from commit 1acf6716aa)
2017-09-22 21:26:19 +02:00
Tuomas Tynkkynen
83b72a90c5 darwin: Disable yet another bunch of packages never having built successfully
cjdns: https://hydra.nixos.org/build/61134279
jonprl: https://hydra.nixos.org/build/61123711
mate.libmatemixer: https://hydra.nixos.org/build/61126968
dirac: https://hydra.nixos.org/build/61132432
idnkit: https://hydra.nixos.org/build/61123544
trousers: https://hydra.nixos.org/build/61109766
packetdrill: https://hydra.nixos.org/build/61116190
osm2pgsql: https://hydra.nixos.org/build/61118017
nawk: https://hydra.nixos.org/build/61139000

(cherry picked from commit 4acb425c39)
2017-09-22 21:20:08 +03:00
Daiderd Jordan
a8214f6e33 tw-rs: fix darwin build
(cherry picked from commit 8a0d857aa9)
2017-09-22 19:46:02 +02:00
Tuomas Tynkkynen
71f5290b4a hdf5: Re-enable on darwin
Oops, ab71280823 intended to only disable hdf5-fortran but also
disabled the others that are fine.

(cherry picked from commit a7440aa7c6)
2017-09-22 19:59:02 +03:00
Tuomas Tynkkynen
733336153d darwin: Disable another bunch of packages never having built successfully
tecoc: https://hydra.nixos.org/build/61141995
shallot: https://hydra.nixos.org/build/61145497
plink-ng: https://hydra.nixos.org/build/61130149
tshark: https://hydra.nixos.org/build/61479600
(cherry picked from commit 4b4bfbf3e5)
2017-09-22 19:59:01 +03:00
Pavel Goran
5b1d686a22 nixos/gitolite: customize .gitolite.rc declaratively
Add the `extraGitoliteRc` option to customize the `.gitolite.rc`
configuration file declaratively.

Resolves #29249.

(cherry picked from commit c73a3813fa)
2017-09-22 18:30:22 +02:00
Michael Weiss
b8919e7ba0 sshfs-fuse: Fix the build on i686-linux
The last upgrade (137142a72c) broke the
build on i686. Thanks @globin for noticing this.

(cherry picked from commit 6f02c3bf77)
2017-09-22 17:23:44 +02:00
Tuomas Tynkkynen
f5d5180562 darwin: Disable some packages that have never built successfully
mate.mate-desktop: https://hydra.nixos.org/build/61110037
gdmap: https://hydra.nixos.org/build/61144743
redsocks: https://hydra.nixos.org/build/61123106
resolv_wrapper: https://hydra.nixos.org/build/61121132
ogmtools: https://hydra.nixos.org/build/61108726
mp3info: https://hydra.nixos.org/build/61139015
lxappearance-gtk3: https://hydra.nixos.org/build/61126327
hdf5-fortran: https://hydra.nixos.org/build/61146631
pqiv: https://hydra.nixos.org/build/61124724

(cherry picked from commit ab71280823)
2017-09-22 17:27:49 +03:00
Michael Weiss
d108cafd0e pythonPackages.raven: 6.1.0 -> 6.2.0
(cherry picked from commit 8758a4dde2)
2017-09-22 16:03:47 +02:00
Joerg Thalheim
18822c3263 jetbrains.datagrip: 2017.1.5 -> 2017.2.2
(cherry picked from commit e4a859a95d)
2017-09-22 16:03:36 +02:00
Lancelot SIX
b05b750eb3 qtcreator: 4.3.1 -> 4.4.0
See http://blog.qt.io/blog/2017/09/05/qt-creator-4-4-0-released/ for
release information

(cherry picked from commit bd170e778b)
2017-09-22 16:02:58 +02:00
Joerg Thalheim
2007c5171b neomutt: fix missing libidn
(cherry picked from commit a2444a2831)
2017-09-22 16:02:14 +02:00
Brandon Barker
56d062ea3a jetbrains: update.pl fixes
* indentation, retab
  * url handling for alternative version names
  * handling for alt. download url format
  * made unknown channel error non-fatal

(cherry picked from commit 14f2e0cd36)
2017-09-22 16:02:07 +02:00
André-Patrick Bubel
f9efede475 nixos/fileystems: Fix boot fails with encrypted fs
Boot fails when a keyfile is configured for all encrypted filesystems
and no other luks devices are configured. This is because luks support is only
enabled in the initrd, when boot.initrd.luks.devices has entries. When a
fileystem has a keyfile configured though, it is setup by a custom
command, not by boot.initrd.luks.

This commit adds an internal config flag to enable luks support in the
initrd file, even if there are no luks devices configured.

(cherry picked from commit 2000fba561)
2017-09-22 16:01:53 +02:00
Mathias Schreck
1fdd60ff08 nodejs: 8.4.0 -> 8.5.0
(cherry picked from commit 9d2a2dc43e)
2017-09-22 16:01:19 +02:00
Mathias Schreck
4abcec18f9 libuv: 1.13.1 -> 1.14.1
(cherry picked from commit f4b207438d)
2017-09-22 16:01:12 +02:00
John M. Harris, Jr
5d20f56ca5 pim-data-exporter: init at 17.08.1
* Add pim-data-exporter

* pim-data-exporter: fix indentation

(cherry picked from commit b2924389ac)
2017-09-22 16:00:57 +02:00
Edward Tjörnhammar
f7182dc53d jetbrains.clion: set CL_JDK
(cherry picked from commit 4e12dbb092)
2017-09-22 16:00:06 +02:00
Russell O'Connor
8694cec1be bitcoin: 0.15.0 -> 0.15.0.1
(cherry picked from commit 6075d4ad07)
2017-09-22 15:59:58 +02:00
Cray Elliott
19a0166eb8 wineUnstable: 2.16 -> 2.17
per usual, staging has been updated as well!

(cherry picked from commit 5522cd5cb1)
2017-09-22 15:59:28 +02:00
Vincent Laporte
6aa5fbed97 abella: fix build with OCaml ≥ 4.03
(cherry picked from commit 3b7c68615e)
2017-09-22 15:59:15 +02:00
Ruben Maher
4070c95d3c nfs-utils: set /etc/krb5.keytab as default path for rpc-gssd
Currently the `rpc-gssd.service` has a `ConditionPathExists` clause that can
never be met, because it's looking for stateful data inside `/nix/store`.

`auth-rpcgss-module.service` also only starts if this file exists.

Fixes NixOS/nixpkgs#29509.

(cherry picked from commit 98a2316166)
2017-09-22 15:59:06 +02:00
Thomas Mader
d59fd99b90 dmd: Disable check phase because some tests are not working if build has
sandboxing enabled

(cherry picked from commit 4535008a4c)
2017-09-22 15:57:50 +02:00
Thomas Mader
6fd611c5ba dmd: Fix bootstrap dmd to build with sandboxing of nixUnstable
(cherry picked from commit 8fa1b39279)
2017-09-22 15:57:39 +02:00
Ben Darwin
f36c13564f ants: bump version and fix sandboxed build
(cherry picked from commit c7bbe471b0)
2017-09-22 15:57:21 +02:00
Jörg Thalheim
4d86845c68 assh: add openssh to PATH
(cherry picked from commit 81569ecd72)
2017-09-22 15:56:56 +02:00
Diego Zamboni
631bed3947 assh: init at 2.6.0
Powerful wrapper around ssh.

(cherry picked from commit 334dfc3086)
2017-09-22 15:56:47 +02:00
Michael Weiss
c1c0717f81 sshfs-fuse: 2.10 -> 3.2.0
(cherry picked from commit 137142a72c)
2017-09-22 15:55:09 +02:00
Michael Weiss
586db45da0 fuse3: init at 3.1.1
This includes fuse-common (fusePackages.fuse_3.common) as recommended by
upstream. But while fuse(2) and fuse3 would normally depend on
fuse-common we can't do that in nixpkgs while fuse-common is just
another output from the fuse3 multiple-output derivation (i.e. this
would result in a circular dependency). To avoid building fuse3 twice I
decided it would be best to copy the shared files (i.e. the ones
provided by fuse(2) and fuse3) from fuse-common to fuse (version 2) and
avoid collision warnings by defining priorities. Now it should be
possible to install an arbitrary combination of "fuse", "fuse3", and
"fuse-common" without getting any collision warnings. The end result
should be the same and all changes should be backwards compatible
(assuming that mount.fuse from fuse3 is backwards compatible as stated
by upstream [0] - if not this might break some /etc/fstab definitions
but that should be very unlikely).

My tests with sshfs (version 2 and 3) didn't show any problems.

See #28409 for some additional information.

[0]: https://github.com/libfuse/libfuse/releases/tag/fuse-3.0.0

(cherry picked from commit 351f5fc585)
2017-09-22 15:54:59 +02:00
Joachim Fasting
47d2582533 hydra: 2017-07-27 -> 2017-09-14
Builds against recent nixUnstable

(cherry picked from commit 3e96cee147)
2017-09-22 15:54:23 +02:00
Pascal Bach
85ae319351 gluster service: use str instead of path for private key
This pervents the user from accidently commiting the key to the nix store.
If providing a path instead of a string.

(cherry picked from commit 8ed758696c)
2017-09-22 15:53:49 +02:00
Pascal Bach
5f996d59d9 glusterfs service: add support for TLS communication
TLS settings are implemented as submodule.

(cherry picked from commit c68118ce65)
2017-09-22 15:53:35 +02:00
Pascal Bach
2f3e3c6348 riot-web: 0.12.3 -> 0.12.5
(cherry picked from commit 50f12373af)
2017-09-22 15:53:15 +02:00
José Romildo Malaquias
f1e01bc2b2 google-drive-ocamlfuse: 0.6.17 -> 0.6.21
(cherry picked from commit 2bbef7658a)
2017-09-22 15:52:16 +02:00
dywedir
be0f44bd1a tokei: 6.0.1 -> 6.1.2
(cherry picked from commit 69379fcf10)
2017-09-22 15:52:05 +02:00
Théo Zimmermann
16254ddb63 compcert: fix license
The license of CompCert is not a generic "INRIA" license. It is "INRIA Non-Commercial
Agreement for the CompCert verified compiler". As unfortunate as it may seem, this
is a non-free license (clearly mentioned as such in its preamble). See also #20256.

(cherry picked from commit 8fde5790b4)
2017-09-22 15:48:24 +02:00
Théo Zimmermann
a955480320 compcert: 3.0.1 -> 3.1
Note that the fix of the VERSION file can likely be removed at the next update.

(cherry picked from commit 3370615a7f)
2017-09-22 15:48:11 +02:00
Robert Helgesson
7972f6c59a perl-Scope-Upper: 0.24 -> 0.29
(cherry picked from commit 41cca299ef)
2017-09-22 15:46:13 +02:00
Robert Helgesson
bdda999ce8 perl-File-Slurper: 0.009 -> 0.010
(cherry picked from commit 2dae9980cc)
2017-09-22 15:46:04 +02:00
Robert Helgesson
9264d3d413 svtplay-dl: 1.9.4 -> 1.9.6
(cherry picked from commit 25a2b4b3ec)
2017-09-22 15:45:58 +02:00
Edward Tjörnhammar
d699866fd2 jetbrains.jdk: style fixes, platform restriction
(cherry picked from commit 85cd648778)
2017-09-22 15:45:34 +02:00
Aleksey Kladov
c94a1f6a18 jetbrains.jdk: init at 152b970.2
(cherry picked from commit 53337c0fc8)
2017-09-22 15:45:11 +02:00
Andreas Rammhold
1df3a94254 jetbrains.webstorm: 2017.2.2 -> 2017.2.4
(cherry picked from commit ac9353b815)
2017-09-22 15:45:01 +02:00
Andreas Rammhold
5ab5ba8684 jetbrains.rider: 171.4456.1432 -> 2017.1.1
(cherry picked from commit 4948b09524)
2017-09-22 15:44:49 +02:00
Andreas Rammhold
b72287dd40 jetbrains.pycharm-professional: 2017.2.2 -> 2017.2.3
(cherry picked from commit eb363ff3dc)
2017-09-22 15:44:41 +02:00
Andreas Rammhold
5bf43ab50e jetbrains.pycharm-community: 2017.2.2 -> 2017.2.3
(cherry picked from commit 0d6b50f2eb)
2017-09-22 15:44:33 +02:00
Andreas Rammhold
491227305e jetbrains.phpstorm: 2017.2.1 -> 2017.2.2
(cherry picked from commit 5f9a4cb163)
2017-09-22 15:44:25 +02:00
Andreas Rammhold
af9fef4777 jetbrains.idea-ultimate: 2017.2.2 -> 2017.2.4
(cherry picked from commit 74d7542892)
2017-09-22 15:44:15 +02:00
Andreas Rammhold
7ed7f686a7 jetbrains.idea-community: 2017.2.2 -> 2017.2.4
(cherry picked from commit d6663a559c)
2017-09-22 15:44:09 +02:00
Andreas Rammhold
1466d9f375 jetbrains.gogland: 172.3757.46 -> 172.3968.45
(cherry picked from commit 5b3dad3b1c)
2017-09-22 15:44:00 +02:00
Andreas Rammhold
8cfa0f8a3c jetbrains.clion: 2017.2.1 -> 2017.2.2
(cherry picked from commit 42e13a85ed)
2017-09-22 15:43:52 +02:00
Neil Mayhew
f7ca2a5d47 spideroak: fix crash due to zlib version mismatch
Fixes #23960

(cherry picked from commit 4d7dd8169c)
2017-09-22 15:43:44 +02:00
Jörg Thalheim
b9e95f5c43 khal: use fetchPypi
(cherry picked from commit d5b46fdd80)
2017-09-22 15:43:33 +02:00
Matthias Beyer
e85ec8617b khal: 0.9.5 -> 0.9.7
(cherry picked from commit d697403303)
2017-09-22 15:43:22 +02:00
Diego Zamboni
50fd6b73f3 elvish: 0.9 -> 0.10; fix darwin build (#29587)
* First attempt at making elvish compile on darwin

* Fixed cyclic dependency on darwin

This fixes the "cycle detected in the references of" error when building
on darwin. The fix is based on the solution in issue #18131.

* Use version 0.10 and not 0.10.1, which is not officially released yet

(cherry picked from commit 8b8a2fd542)
2017-09-22 15:42:44 +02:00
José Romildo Malaquias
41fdc7aa34 ocamlfuse: 2.7-3 -> 2.7.1_cvs5 (#29606)
(cherry picked from commit 595d92eb7a)
2017-09-22 15:42:23 +02:00
Linus Heckemann
d5549f722d oil: 0.0.0 -> 0.1.0
(cherry picked from commit 6988537835)
2017-09-22 15:41:55 +02:00
Robert Schütz
92fc55b281 texworks: init at 0.6.2
(cherry picked from commit 50d52ac8a8)
2017-09-22 15:41:28 +02:00
Andreas Rammhold
b1f0ae87c0 afew: git-2017-02-8 -> 1.2.0
(cherry picked from commit 559d8d4c3a)
2017-09-22 15:25:45 +02:00
Jörg Thalheim
4ec394bf1b nifticlib: use mirror for sourceforge
(cherry picked from commit aab8f8df4b)
2017-09-22 15:25:27 +02:00
Ben Darwin
31614f59f2 nifticlib: init at 2.0.0
(cherry picked from commit 0d981c5761)
2017-09-22 15:25:19 +02:00
Nick Novitski
6e4da2a7e1 gemconfig: add curb
(cherry picked from commit 5ddfcc774c)
2017-09-22 15:24:15 +02:00
Robert Schütz
828dcf805a pythonPackages.py3status: add file as a dependency
(cherry picked from commit d58a88277d)
2017-09-22 15:22:39 +02:00
Raphael Das Gupta
47bc25a916 xonsh: fix typo ("xnosh") in "enable" description
(cherry picked from commit 42d6e933d6)
2017-09-22 15:22:29 +02:00
Bas van Dijk
9858d7ee80 elk: 5.5.2 -> 5.6.1
Release notes:

* https://www.elastic.co/guide/en/elasticsearch/reference/5.6/release-notes-5.6.1.html
* https://www.elastic.co/guide/en/logstash/5.6/logstash-5-6-1.html
* https://www.elastic.co/guide/en/kibana/current/release-notes-5.6.1.html

(cherry picked from commit ea8e7ed1e3)
2017-09-22 15:22:19 +02:00
José Romildo Malaquias
6c08148ec2 tint2: 0.14.6 -> 15.1
(cherry picked from commit ee88bd3424)
2017-09-22 15:21:28 +02:00
José Romildo Malaquias
739a070db0 numix-icon-theme: 2017-01-25 -> 2017-09-17
(cherry picked from commit b9907fc6fe)
2017-09-22 15:21:17 +02:00
José Romildo Malaquias
6d263a3658 numix-icon-theme-circle: 2016-11-10 -> 17-09-13
(cherry picked from commit c40b6862f2)
2017-09-22 15:21:11 +02:00
José Romildo Malaquias
7d1ffbaf2f numix-icon-theme-square: 2016-11-23 -> 17-09-13
(cherry picked from commit 79941a3bf4)
2017-09-22 15:21:05 +02:00
José Romildo Malaquias
5ee4a2044f flat-plat: 20170605 -> 20170917
(cherry picked from commit f89ba64f00)
2017-09-22 15:20:55 +02:00
Samuel Leathers
b331778066 mqtt-bench: init at 0.3.0
(cherry picked from commit f8ad84ad23)
2017-09-22 15:19:56 +02:00
Michael Weiss
638abc6b49 gengetopt: Fix the build
Thanks @orivej for providing this fix.

Fix #28255 (the build was broken since
2bc7b4e134).

(cherry picked from commit 9182927998)
2017-09-22 15:17:44 +02:00
Tuomas Tynkkynen
5b8be60bee esptool: Fix tests in sandbox
It actually requires flake8-future-import but manages to download it
from the Internet when run outside the sandbox.

(cherry picked from commit 2c2cd34b54)
2017-09-22 15:11:39 +02:00
Tuomas Tynkkynen
4acbf1ed2b pythonPackages.flake8-future-import: Init at 0.4.3
(cherry picked from commit ecebb6090a)
2017-09-22 15:11:07 +02:00
Peter Hoeg
b347e5951b calibre: 3.5.0 -> 3.7.0
(cherry picked from commit 55c58c0826)
2017-09-22 15:09:31 +02:00
Jörg Thalheim
4eff61a87b valauncher: 1.2 -> 1.3.1
(cherry picked from commit e3141bc1b1)
2017-09-22 15:08:33 +02:00
Jörg Thalheim
0d5f45340a nvim-cm-racer: init at 2017-07-27
(cherry picked from commit 2ebfdf972f)
2017-09-22 15:07:57 +02:00
Jörg Thalheim
7d4b13f1fa vimPlugins.LanguageClient-neovim: init at 2017-09-05
(cherry picked from commit 276d234659)
2017-09-22 15:07:50 +02:00
Jean-Francois Roche
68d7d26616 openfortivpn: 1.2.0 -> 1.5.0
fixes #29578

(cherry picked from commit 0b39118494)
2017-09-22 15:07:23 +02:00
Lancelot SIX
a654fa6af9 gnupg: 2.2.0 -> 2.2.1
See http://lists.gnu.org/archive/html/info-gnu/2017-09/msg00010.html
for release information

(cherry picked from commit 4935d5f376)
2017-09-22 15:07:07 +02:00
John Ericson
dfff946215 vim: Properly categorize pkgconfig dependency
(cherry picked from commit 100db4fa3b)
2017-09-22 15:06:18 +02:00
Jörg Thalheim
2dd2baaf97 libwebsockets: revert making libuv a propagated build input
it is possible to use libwebsockets without libuv

cc @volth

(cherry picked from commit c1de354a3d)
2017-09-22 15:05:52 +02:00
Bas van Dijk
5eadc1fe7a journalbeat: 5.5.0 -> 5.6.0
(cherry picked from commit 8d07b99b96)
2017-09-22 15:05:31 +02:00
Ruben Maher
a34dc6cd1c flow: 0.54.0 -> 0.55.0
(cherry picked from commit 1787043323)
2017-09-22 15:05:25 +02:00
Peter Hoeg
eef72844de syncthing: 0.14.37 -> 0.14.38
(cherry picked from commit f170dbe16f)
2017-09-22 15:05:18 +02:00
Frank Doepper
8c853bbf67 circumvent hdaps name clash
(cherry picked from commit 28dd1158ff)
2017-09-22 15:05:10 +02:00
Frank Doepper
6f6602b93d tp_smapi with hdaps
(cherry picked from commit a3e806ef0f)
2017-09-22 15:04:58 +02:00
Samuel Leathers
91aa0f43f5 lenmus: removing custom cmakeFlags
(cherry picked from commit 2c2252247c)
2017-09-22 15:03:20 +02:00
Thomas Tuegel
c57bf23a76 alacritty: respect pre- and post-hooks of overridden phases
Failing to `runHook` when overriding phases can have unpredictable results.

fixes #29572

(cherry picked from commit 6e01011211)
2017-09-22 15:03:06 +02:00
Thomas Tuegel
63c5978fae alacritty: install desktop icon
(cherry picked from commit a50d0b719f)
2017-09-22 15:02:53 +02:00
Joerg Thalheim
053d9a4dab topydo: use throw instead of trace to not break evaluation
(cherry picked from commit f2aecac5c7)
2017-09-22 10:56:21 +01:00
Joerg Thalheim
ae26449964 topydo: really move out of python-packages
(cherry picked from commit 446f9c96f5)
2017-09-22 10:56:21 +01:00
Samuel Leathers
1c8872bfeb topydo: 0.9 -> 0.13
(cherry picked from commit be530263bc)
2017-09-22 10:56:21 +01:00
Vladimír Čunát
beacbecfd7 knot-resolver: 1.3.3 -> 1.4.0
Also drop rarely used dependencies, by default,
and utilize root server addresses from nixpkgs.

(cherry picked from commit fd56648a04)
2017-09-22 11:31:12 +02:00
timor
ee06b11141 ParaView: 4.0.1 -> 5.4.0
(cherry picked from commit 274333e222)
2017-09-22 08:32:28 +01:00
Florian Jacob
e6ca475e24 piwik: 3.1.0 -> 3.1.1
(cherry picked from commit 6aea372e28)
2017-09-21 23:54:04 +01:00
Daiderd Jordan
e53621734e transfig: cleanup and fix darwin clang
(cherry picked from commit 570c0b3a72)
2017-09-22 00:26:05 +02:00
Daiderd Jordan
c2affb9c90 vapoursynth: fix darwin build
(cherry picked from commit 62f8e255a4)
2017-09-21 22:33:15 +02:00
Pascal Bach
0269045390 node-exporter service: fix documentation for enabledCollectors
(cherry picked from commit a217d73381)
2017-09-21 21:04:57 +01:00
Daiderd Jordan
6c34d1dc26 vmmlib: fix darwin frameworks
(cherry picked from commit 7c30c83b7b)
2017-09-21 21:52:33 +02:00
Daiderd Jordan
1f60b1e18b erlang: remove erlangR16 and all versioned variants from all-packages
(re-applies commit 0fafa0d7d7)
2017-09-21 21:34:53 +02:00
Daiderd Jordan
af8d8bf049 vsqlite: fix darwin build
(cherry picked from commit bafb9c4d50)
2017-09-21 21:34:52 +02:00
Vladimír Čunát
1c6357cc0f Merge #29612: unbound: 1.6.5 -> 1.6.6
(cherry picked from commit e15123092c)
2017-09-21 21:14:18 +02:00
Thomas Tuegel
db0b50da2a hplip: fix Python wrappers
We cannot rely on wrapPythonPrograms to wrap the installed executables because
they are symlinks (which it ignores). Instead, we have to emulate it to make
the wrappers ourselves.

(cherry picked from commit 1e2ebee42a)
2017-09-21 13:59:35 -05:00
Thomas Tuegel
ae580c8dbf hplip: install PPDs where CUPS will find them
(cherry picked from commit 5ab37fb913)
2017-09-21 13:59:28 -05:00
Daiderd Jordan
fce9c33905 zroc-ice: cleanup and fix darwin build
(cherry picked from commit 1ae204d2fa)
2017-09-21 20:49:43 +02:00
Tim Steinbach
79cc48735a linux-copperhead: 4.13.2.a -> 4.13.3.a
(cherry picked from commit 28071e9d9c4f6f1bbc7818e6b46a76ec3b8002a6)
2017-09-21 14:38:00 -04:00
Jörg Thalheim
0c59c5f406 Merge pull request #29420 from roberth/release-17.09-arelle
arelle: enable only on python 3.4 (merge as necessary)
2017-09-21 19:32:37 +01:00
Robin Gloster
0ca5090fd8 gitlab: 9.5.2 -> 9.5.5
(cherry picked from commit e2822f6384)
2017-09-21 20:26:59 +02:00
rnhmjoj
1a3072133a vapoursynth-mvtools: 17 -> 19
(cherry picked from commit a7eb2e01bc)
2017-09-21 16:23:37 +01:00
rnhmjoj
80fea39662 vapoursynth: R36 -> R38
(cherry picked from commit 3f9661588b)
2017-09-21 16:23:37 +01:00
Shea Levy
4a5c1a3fe6 openldap: Use a global localstatedir
(cherry picked from commit c3b41a77e6)
2017-09-21 08:18:54 -06:00
Théophane Hufschmitt
6052d2b6cc pythonPackages.pafy: 0.5.2 -> 0.5.3.1 (#29588)
* pythonPackages.pafy: 0.5.2 -> 0.5.3.1

* pythonPackages.pafy: move to its own file

* pythonPackages.pafy: fetchurl -> fetchPypi

(cherry picked from commit e76c2c1496)
2017-09-21 12:46:32 +01:00
Thomas Tuegel
811f15305a dropbox: 34.4.22 -> 35.4.20
(cherry picked from commit b0deb1ed48)
2017-09-21 06:12:47 -05:00
Vaibhav Sagar
3f44159ae1 nginxModules.echo: 0.57 -> 0.61
This fixes #29555.

(cherry picked from commit dea2affe6c)
2017-09-21 12:03:13 +01:00
Linus Heckemann
4a17dea467 impressive: fixes and improvements
- Fix finding SDL (would previously fail unless gcc was in environment)
- Use ghostscript rather than xpdf for rendering as it has a slightly
  smaller closure
- Fix broken link for reasoning behind name change
- Add self to maintainers
- Add reference to DejaVu fonts so it can always find the OSD fonts
- Install manpage into correct location

(cherry picked from commit 05101d32c0)
2017-09-21 08:53:50 +01:00
Peter Hoeg
34efc5b056 kmscon: reset ExecStart to allow override
The getty@.service unit already has an ExecStart so we cannot simply set a new
one in order to override it or we will get this error:

systemd[1]: getty@tty1.service: Service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing.

Instead "reset" ExecStart by setting it to empty which is the systemd way of
doing it.

(cherry picked from commit 6558f81bc9)
2017-09-21 10:03:18 +08:00
aszlig
5f5eb7f0d8 nixos/tests/virtualbox: Fix netcat invocation
This is a backwards-incompatibility in netcat-openbsd introduced due to
bumping the netcat version to 1.130 in
a72ba661ac.

Version 1.130 no longer exits on EOF but now needs to be passed the -N
flag in order to exit on EOF.

The upstream change reads[1] like this:

  Don't shutdown nc(1)'s network socket when stdin closes. Matches
  *Hobbit*'s original netcat and GNU netcat; revert to old behaviour
  with the new -N flag if needed. After much discussion with otto
  deraadt tedu and Martin Pelikan.  ok deraadt@

Here is the diff of this change:

http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/nc/netcat.c.diff?r1=1.110&r2=1.111&f=h

[1]: http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/nc/netcat.c?rev=1.111&content-type=text/x-cvsweb-markup

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit a75265924f)
2017-09-21 03:50:20 +02:00
Samuel Leathers
00ca2b3a6c jfbview: 0.5.3 -> 0.5.4
(cherry picked from commit 2fdb8f9b8f)
2017-09-21 00:52:24 +02:00
Franz Pletz
883ea76934 unifi: 5.5.20 -> 5.6.16
(cherry picked from commit 94a5de61af)
2017-09-20 23:53:09 +02:00
Simon Lackerbauer
a4754a575f atlassian-jira: 7.4.1 -> 7.5.0
(cherry picked from commit 27ed570445)
2017-09-20 23:53:09 +02:00
Simon Lackerbauer
7d0fe7b86e atlassian-confluence: 6.3.1 -> 6.4.0
(cherry picked from commit c95e158143)
2017-09-20 23:53:09 +02:00
Robin Gloster
0fccf291f2 gitlab module: fix shell hook path
(cherry picked from commit 370ac6275e)
2017-09-20 23:53:08 +02:00
Tim Steinbach
ec43a30698 sbt: 1.0.1 -> 1.0.2
(cherry picked from commit e200cfbae1)
2017-09-20 09:42:23 -04:00
Tim Steinbach
31f048e624 vscode: 1.16.0 -> 1.16.1
(cherry picked from commit 605dba0ac9)
2017-09-20 08:41:58 -04:00
Tim Steinbach
0859004342 linux: 4.13.2 -> 4.13.3
(cherry picked from commit eab480ac3d)
2017-09-20 08:37:39 -04:00
Tim Steinbach
93862afe6b linux: 4.12.13 -> 4.12.14
(cherry picked from commit 726765404b)
2017-09-20 08:37:38 -04:00
Tim Steinbach
1eb54ed156 linux: 4.9.50 -> 4.9.51
(cherry picked from commit 7cfa6895e8)
2017-09-20 08:37:38 -04:00
Peter Hoeg
1d7ba9f7d6 mtr nixos module: wrap the proper binary
(cherry picked from commit 4b78d44ab6)
2017-09-20 20:15:44 +08:00
Rob Vermaas
eb873f6c78 Make sure dummy kernel module is loaded for hologram-agent. 2017-09-20 10:57:54 +00:00
Gauthier POGAM--LE MONTAGNER
a695feff16 jetbrains.phpstorm10: remove
(cherry picked from commit bca1c64f4afcbdb208d345ff8c322699aa4bcb38)
2017-09-20 10:48:00 +02:00
Gauthier POGAM--LE MONTAGNER
f276d4fdb5 jetbrains.idea{14,15}-{community,ultimate}: remove
(cherry picked from commit d132887ef30fcd371b0a3ee9a94c124d6ca087d5)
2017-09-20 10:48:00 +02:00
Gauthier POGAM--LE MONTAGNER
27bcf11646 jetbrains.webstorm{10,11}: remove
(cherry picked from commit 3287c23f8edb21ef35d6015f86131096eb5b6c4b)
2017-09-20 10:48:00 +02:00
Gauthier POGAM--LE MONTAGNER
9443496c8e jetbrains.ruby-mine{7,8}: remove
(cherry picked from commit 1487a344bc1de108cd933fa57862552535530b18)
2017-09-20 10:47:59 +02:00
Franz Pletz
f837532664 p11_kit: don't build documentation
This depends ultimately on texlive which is a big build and depends on
lots of libraries which often get security updates. This triggers
mass rebuilds because systemd depends on gnutls which depends on
p11_kit.

This was introduced with 93d80f1951.

(cherry picked from commit 0a2c39e205)
2017-09-19 22:30:37 +02:00
Benjamin Staffin
609290bd94 slack: 2.7.1 -> 2.8.0 (#29339)
(cherry picked from commit 7e6011083d)
2017-09-19 22:30:37 +02:00
Vincent Demeester
aed3fe9676 runc: 1.0.0-rc3 -> 1.0.0-rc4
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit 19ba982b40)
2017-09-19 22:30:37 +02:00
dywedir
8e0e4d8343 fd: 3.0.0 -> 3.1.0
(cherry picked from commit 72129c2cb4)
2017-09-19 22:30:37 +02:00
John Mercier
2c75bfedae obnam: 1.21 -> 1.22
(cherry picked from commit 90e572f40a)
2017-09-19 22:30:37 +02:00
Edward Tjörnhammar
1564b3284e jetbrains: update.pl, make sure hashes are in base32
(cherry picked from commit add7faf539)
2017-09-19 22:30:37 +02:00
Tuomas Tynkkynen
09bf503231 qt4: Add aarch64 patch
(cherry picked from commit bc850cfed5)
2017-09-19 22:30:36 +02:00
Matthieu Coudron
e27e62b9d1 tshark: init at 2.4.0
as an alias to wireshark-cli

(cherry picked from commit bfd6d20c3e)
2017-09-19 22:30:36 +02:00
zimbatm
f8d73885c3 fixes missing attributes
(cherry picked from commit 3920a44628)
2017-09-19 22:30:36 +02:00
timor
4716b5b442 perl-Term-Animation: init at 2.6
(cherry picked from commit ccfce4b958)
2017-09-19 22:30:36 +02:00
Samuel Leathers
dd83590578 pydub 0.16.7 -> 0.20.0
(cherry picked from commit bef916338d)
2017-09-19 22:30:36 +02:00
rybern
6245eb0ab5 pythonPackages.pomegranate: init at 0.7.7 (#29338)
(cherry picked from commit 1d0c8f8687)
2017-09-19 22:30:36 +02:00
Samuel Leathers
652985b233 eve: 0.6.1 -> 0.7.4
(cherry picked from commit 6d367ba9f3)
2017-09-19 22:30:35 +02:00
Samuel Leathers
7569c375e1 pymongo: 3.0.3 -> 3.5.1
(cherry picked from commit 756cd8a6c4)
2017-09-19 22:30:35 +02:00
Ryan Mulligan
9e36b98c9c matterbridge: fix src hash
I used the wrong source hash because of some kind of metadata problem.
See https://github.com/NixOS/nixpkgs/pull/28892#issuecomment-330344570
for details.

(cherry picked from commit 20f949376f)
2017-09-19 22:30:35 +02:00
Samuel Leathers
69a76a3277 dyn: 1.5.0 -> 1.6.3
(cherry picked from commit 96bd8daebc)
2017-09-19 22:30:35 +02:00
Robert Schütz
1476291405 esptool: 1.3 -> 2.1
(cherry picked from commit 7f89abd820)
2017-09-19 22:30:35 +02:00
Samuel Leathers
58405c1332 awesome-slugify: fixes tests
(cherry picked from commit 7fa2c54a60)
2017-09-19 22:30:35 +02:00
Samuel Leathers
88c71be748 logilab_common: 0.63.2 -> 1.4.1
(cherry picked from commit dce4276d5e)
2017-09-19 22:30:34 +02:00
Samuel Leathers
ccefc74081 logilab-constraint: move to python-modules
(cherry picked from commit 4db4f70be6)
2017-09-19 22:30:34 +02:00
Aneesh Agrawal
2c1879863e radicale: Test migration functionality
This also provides an example of how to migrate.

(cherry picked from commit 28c2cea847)
2017-09-19 22:30:34 +02:00
Aneesh Agrawal
e6d5a7828f radicale: 2.1.2 -> 2.1.6
Radicale 2.1.5 is the first to support the `--verify-storage` option.

(cherry picked from commit 61de150aa8)
2017-09-19 22:30:34 +02:00
Aneesh Agrawal
3e9f43b6f3 radicale: Add extraArgs option to assist in data migration
(cherry picked from commit fcd590d116)
2017-09-19 22:30:34 +02:00
Elis Hirwing
1dad6c1010 gocode: 20170530 -> 20170903
(cherry picked from commit 0eb1fdc50a)
2017-09-19 22:30:33 +02:00
volth
64e3f1f1d3 haxe: 3.4.2 -> 3.4.3
(cherry picked from commit 9efe27ee3b)
2017-09-19 22:30:33 +02:00
Franz Pletz
10b71b2a15 newsbeuter: fix CVE-2017-14500
(cherry picked from commit 38c14d7132)
2017-09-19 22:30:33 +02:00
Franz Pletz
09227354cc gd: 2.2.4 -> 2.2.5 for multiple CVEs
Fixes:
  * CVE-2017-6362
  * CVE-2017-7890
(cherry picked from commit 0653abc07a)
2017-09-19 22:30:33 +02:00
Franz Pletz
3347e007d8 geolite-legacy: 2017-05-26 -> 2017-09-17
(cherry picked from commit c7ed26b6a9)
2017-09-19 22:30:33 +02:00
Franz Pletz
562090ebd6 mirrorbits: init at 0.4
(cherry picked from commit ad13618c9b)
2017-09-19 22:30:33 +02:00
Franz Pletz
70882471df mercurial: 4.3.1 -> 4.3.2
(cherry picked from commit 316858466a)
2017-09-19 22:30:32 +02:00
Franz Pletz
a3f35a270a ssh service: add sftpFlags option
(cherry picked from commit dc08dcf6e7)
2017-09-19 22:30:32 +02:00
Franz Pletz
58f7a2dd41 clawsMail: 3.15.0 -> 3.15.1
(cherry picked from commit a796d692c4)
2017-09-19 22:30:32 +02:00
Franz Pletz
1deeb8b7f2 matterircd: 0.11.4 -> 0.12.0
This version is compatible with our current Mattermost.

(cherry picked from commit 05b1e514bc)
2017-09-19 22:30:32 +02:00
Franz Pletz
950d032311 bluez4: remove, unused and probably vulnerable
(cherry picked from commit 94bbe7db22)
2017-09-19 22:30:32 +02:00
Franz Pletz
c8b1784ed4 bluez: 5.43 -> 5.47 for CVE-2017-1000250
Fixes #29289.

(cherry picked from commit dadb16a57f)
2017-09-19 22:30:32 +02:00
WilliButz
17f97e8c93 grafana: 4.5.0 -> 4.5.1
(cherry picked from commit 8eb3e45f37)
2017-09-19 22:30:31 +02:00
Maximilian König
baf06fd7e6 palemoon: 27.4.1 -> 27.4.2
(cherry picked from commit 460cd80729)
2017-09-19 22:30:31 +02:00
Samuel Leathers
49c2e9dc79 mpi4py: disabling tests
(cherry picked from commit 2f9cb45bd4)
2017-09-19 22:30:31 +02:00
Bastian Köcher
05c5b3b669 teamspeak_client: Adds missing dependency
(cherry picked from commit 34b1e4c3db)
2017-09-19 22:30:31 +02:00
Robert Klotzner
00b7744d46 coturn service: Fix coturn to properly come up (#29415)
properly also in case dhcpcd being used.

Without network-online.target, coturn will fail to listen on addresses that
come up with dhcpcd.

(cherry picked from commit a9f60224f8)
2017-09-19 22:30:31 +02:00
Franz Pletz
e4e7f61d8d nixos/networking: network is online if default gw set
Previously services depending on network-online.target would wait until
dhcpcd times out if it was enabled and a static network address
configuration was used. Setting the default gateway statically is enough
for the networking to be considered online.

This also adjusts the relevant networking tests to wait for
network-online.target instead of just network.target.

(cherry picked from commit b179908414)
2017-09-19 22:30:31 +02:00
Maximilian Güntner
50b5587fe5 tests: ipfs: enable autoMount tests
(cherry picked from commit 44475cae27)
2017-09-19 22:30:30 +02:00
Eric Litak
0f2484c34f ipfs: autoMount working without root
(cherry picked from commit 1a15c5d8c6)
2017-09-19 22:30:30 +02:00
Eric Litak
a8d411e3cb ipfs: workaround for upstream bug; doc fixes
(cherry picked from commit 6324317c76)
2017-09-19 22:30:30 +02:00
Florian Jacob
ddbec38741 nixos/mysql: declarative users & databases
using Unix socket authentication, ensured on every rebuild.

(cherry picked from commit 839e3c7666)
2017-09-19 22:30:30 +02:00
Russell O'Connor
daafea2788 bitcoin: 0.14.0 -> 0.15.0
(cherry picked from commit 08824d7ae0)
2017-09-19 22:30:30 +02:00
Samuel Leathers
e90b75dd2c trollius: fix tests
(cherry picked from commit 3a33ed7c46)
2017-09-19 22:30:30 +02:00
Samuel Leathers
68e20d5871 discogs_client: 2.0.2 -> 2.2.0
(cherry picked from commit 28a9f74769)
2017-09-19 22:30:30 +02:00
Kranium Gikos
66eccc7c23 influxdb service: fixup postStart script to handle TLS
(cherry picked from commit 662b409b72)
2017-09-19 22:30:29 +02:00
Justin Humm
e2197ade16 gollum service: init
(cherry picked from commit b5a5d0ba84)
2017-09-19 22:30:29 +02:00
Samuel Leathers
1ae126fd28 marionette-harness: disable for python 3
(cherry picked from commit 700b0945b1)
2017-09-19 22:30:29 +02:00
Samuel Leathers
ca4c570dfe marionette-driver: disable for python 3
(cherry picked from commit cbea57b9c7)
2017-09-19 22:30:29 +02:00
Samuel Leathers
47a8bddcac interruptingcow: 0.6 -> 0.7
(cherry picked from commit d355b55e82)
2017-09-19 22:30:29 +02:00
Bastian Köcher
45a02ffb91 teamspeak_client: 3.1.4 -> 3.1.6
(cherry picked from commit afa8c106fb)
2017-09-19 22:30:29 +02:00
Yurii Rashkovskii
192a73c5fd awesome: specify version
By default, awesome will use "devel" as a version name
(or `git describe`). This has led to awesome always
showing "devel" for its version.

Some extensions depend on version information to figure
out what features they can use.

This change overrides the version for the build from the
derivations' `version` attribute.

(cherry picked from commit 824b30a715)
2017-09-19 22:30:28 +02:00
Kranium Gikos Mendoza
0afa3c0ddb freeswitch: fix build
(cherry picked from commit 50edaffb0c)
2017-09-19 22:30:28 +02:00
Pascal Bach
594b193c7b arangodb: 3.2.2 -> 3.2.3
(cherry picked from commit 6af8b104fd)
2017-09-19 22:30:28 +02:00
Pascal Bach
f6d4769b34 squid service: intial service based on default config
(cherry picked from commit 2ed89eddf3)
2017-09-19 22:30:28 +02:00
yesbox
071e8251db netdata: 1.5.0 -> 1.7.0
(cherry picked from commit 6b3d9144b0)
2017-09-19 22:30:28 +02:00
k0ral
0bee7f3c25 youtube-dl: 2017.08.27 -> 2017.09.15
(cherry picked from commit 579a190cfd)
2017-09-19 22:30:28 +02:00
Rodney Lorrimar
f3c517d5e0 nixos/gogs: Fix module when no passwords provided
If neither database.password or database.passwordFile were provided,
it would try and fail to coerce null to a string.

This fixes the situation where there is no password for the database.

Resolves #27950

(cherry picked from commit 6460e459de)
2017-09-19 22:30:27 +02:00
Jörg Thalheim
841b32a49e libwebsockets: fix eval
(cherry picked from commit 6d423da7cc)
2017-09-19 21:16:48 +01:00
Volth
910eb529a0 mosquitto: 1.4 -> 1.4.14
fixes #29567

(cherry picked from commit 6950da832d)
2017-09-19 20:35:23 +01:00
volth
9383721f46 libwebsockets: 1.4 -> 2.3.0
(cherry picked from commit 4916f64948)
2017-09-19 20:35:23 +01:00
Graham Christensen
97452cc795 Convert libs to a fixed-point
This does break the API of being able to import any lib file and get
its libs, however I'm not sure people did this.

I made this while exploring being able to swap out docFn with a stub
in #2305, to avoid functor performance problems. I don't know if that
is going to move forward (or if it is a problem or not,) but after
doing all this work figured I'd put it up anyway :)

Two notable advantages to this approach:

1. when a lib inherits another lib's functions, it doesn't
   automatically get put in to the scope of lib
2. when a lib implements a new obscure functions, it doesn't
   automatically get put in to the scope of lib

Using the test script (later in this commit) I got the following diff
on the API:

  + diff master fixed-lib
  11764a11765,11766
  > .types.defaultFunctor
  > .types.defaultTypeMerge
  11774a11777,11778
  > .types.isOptionType
  > .types.isType
  11781a11786
  > .types.mkOptionType
  11788a11794
  > .types.setType
  11795a11802
  > .types.types

This means that this commit _adds_ to the API, however I can't find a
way to fix these last remaining discrepancies. At least none are
_removed_.

Test script (run with nix-repl in the PATH):

  #!/bin/sh

  set -eux

  repl() {
      suff=${1:-}
      echo "(import ./lib)$suff" \
          | nix-repl 2>&1
  }

  attrs_to_check() {
      repl "${1:-}" \
          | tr ';'  $'\n' \
          | grep "\.\.\." \
          | cut -d' ' -f2 \
          | sed -e "s/^/${1:-}./" \
          | sort
  }

  summ() {
      repl "${1:-}" \
          | tr ' ' $'\n' \
          | sort \
          | uniq
  }

  deep_summ() {
      suff="${1:-}"
      depth="${2:-4}"
      depth=$((depth - 1))
      summ "$suff"

      for attr in $(attrs_to_check "$suff" | grep -v "types.types"); do
          if [ $depth -eq 0 ]; then
              summ "$attr" | sed -e "s/^/$attr./"
          else
              deep_summ "$attr" "$depth" | sed -e "s/^/$attr./"
          fi
      done
  }

  (
      cd nixpkgs

      #git add .
      #git commit -m "Auto-commit, sorry" || true
      git checkout fixed-lib
      deep_summ > ../fixed-lib
      git checkout master
      deep_summ > ../master
  )

  if diff master fixed-lib; then
      echo "SHALLOW MATCH!"
  fi

  (
      cd nixpkgs
      git checkout fixed-lib
      repl .types
  )

(cherry picked from commit 152c63c9ff)
2017-09-19 10:53:10 -04:00
Peter Simons
db849d3c66 haskell-generic-builder: rename withBenchmarkDepends argument to doBenchmark
This partially undoes the change from 8788bfe762.
The 'doBenchmark' name is more consistent with the naming scheme used for
other phases, like 'doCheck', 'doHaddock', etc.

(cherry picked from commit 33e34aa95b)
2017-09-19 15:46:35 +02:00
Robin Gloster
fb16e57508 dmtcp: fix buffer overflow due to too long ld-linux.so path
fixes #29565

(cherry picked from commit 5c18c55062)
2017-09-19 13:42:48 +02:00
Joachim Fasting
4a524b55ec tor: 0.3.0.10 -> 0.3.1.7
(cherry picked from commit 1ee60e98e2)
2017-09-19 13:32:29 +02:00
dywedir
9c9a10650c feh: 2.19.3 -> 2.20
(cherry picked from commit 1b261730f2)
2017-09-19 13:32:23 +02:00
Robert Hensing
4f7e6a2c20 arelle: enable only on python 3.4 2017-09-19 13:15:10 +02:00
Rob Vermaas
06896f2648 keybase: update to 1.0.30 2017-09-19 07:34:35 +00:00
Jonathan Rudenberg
4197ff7086 kodiPlugins: fix path for shared object links
Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
2017-09-19 08:13:14 +02:00
Tuomas Tynkkynen
f5daefbef6 linuxPackages.mxu11x0: Mark broken on >= 4.13
https://hydra.nixos.org/build/61465503
(cherry picked from commit 779aea8868)
2017-09-19 08:43:31 +03:00
Tuomas Tynkkynen
b54190b8ac linuxPackages.cryptodev: Mark broken on >= 4.13
https://hydra.nixos.org/build/61470492
(cherry picked from commit 3e495bfd94)
2017-09-19 08:43:30 +03:00
Franz Pletz
5fa2fe91c0 Merge branch 'staging-17.09' into release-17.09 2017-09-19 01:36:17 +02:00
Rodney Lorrimar
9e0896334c pythonPackages.unidecode: 0.04.18 -> 0.04.21
Higher version is a requirement of textacy.

(cherry picked from commit 151d0fde19)
2017-09-18 23:20:32 +02:00
Daiderd Jordan
c7957215e0 gperftools: fix darwin build
(cherry picked from commit 69bf06ad6c)
2017-09-18 22:29:45 +02:00
Daiderd Jordan
17c6710100 nmap: patch vendored libz for darwin
(cherry picked from commit 6b7e103870)
2017-09-18 22:04:36 +02:00
Franz Pletz
50bd460ddc Revert "libreoffice-still: 5.2.6.2 -> 5.3.6.1"
This reverts commit fcec6aec78.
2017-09-18 20:14:22 +02:00
Franz Pletz
c9202ce956 Revert "libreoffice-fresh: 5.3.1.2 -> 5.4.1.2; fixes #29379"
This reverts commit 2c131c5e16.
2017-09-18 20:14:14 +02:00
Franz Pletz
ee18a31907 Revert "xmlsec: 1.2.23 -> 1.2.25; enable nss (for LO)"
This reverts commit ab526141b0.
2017-09-18 20:14:05 +02:00
Franz Pletz
3dba8b2a29 potrace: 1.14 -> 1.15
Fixes CVE-2017-12067 and other security issues.

Fixes NixOS/security#107.

(cherry picked from commit ede0ecdc69)
2017-09-18 20:13:44 +02:00
Frederik Rietdijk
9dee43f188 python27: support test/support
In the maintenance release bump in
90059701a8 a certain change to /test/ was
backported from Python 3:

- bpo-30207: To simplify backports from Python 3, the test.test_support
  module was converted into a package and renamed to test.support.  The
  test.script_helper module was moved into the test.support package.
  Names test.test_support and test.script_helper are left as aliases to
  test.support and test.support.script_helper.

(cherry picked from commit 96d15eaddb)
2017-09-18 19:46:41 +02:00
Frederik Rietdijk
b516a2e4fb python.pkgs.subprocess32: 3.2.6 -> 3.2.7
(cherry picked from commit bebdd7ac61)
2017-09-18 19:46:31 +02:00
Frederik Rietdijk
e532d32e03 python27: 2.7.13 -> 2.7.14
The enosys patch is not needed anymore since the patch is included in
this maintenance release.

(cherry picked from commit 90059701a8)
2017-09-18 19:46:21 +02:00
Josef Kemetmueller
f8f126b9a1 valgrind: Fix darwin build
The bzero-patch was merged upstream in
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16103, so it does no
longer apply.

Additionally - to make the build succeed on darwin systems more recent
than our nixpkgs.darwin.xnu kernel version - we need to teach the build
the version of the xnu headers we provide, instead of letting the build
figure out the actual system version using `uname -r`.

(cherry picked from commit c71fd76822)
(cherry picked from commit cab5d25d3081a6d13773264000a308a7e07938b8)
2017-09-18 18:53:54 +02:00
Franz Pletz
e7d8bc1574 apacheHttpd: fix CVE-2017-9798 (Optionsbleed)
https://blog.fuzzing-project.org/60-Optionsbleed-HTTP-OPTIONS-method-can-leak-Apaches-server-memory.html
(cherry picked from commit c9d11b8a1d)
2017-09-18 16:04:29 +02:00
gwitmond
670b4e29ad nixos: add option for bind to not resolve local queries (#29503)
When the user specifies the networking.nameservers setting in the
configuration file, it must take precedence over automatically
derived settings.

The culprit was services.bind that made the resolver set to
127.0.0.1 and ignore the nameserver setting.

This patch adds a flag to services.bind to override the nameserver
to localhost. It defaults to true. Setting this to false prevents the
service.bind and dnsmasq.resolveLocalQueries settings from
overriding the users' settings.

Also, when the user specifies a domain to search, it must be set in
the resolver configuration, even if the user does not specify any
nameservers.
2017-09-18 13:21:44 +02:00
Franz Pletz
49c3ca3f05 Revert "cppunit: 1.14.0"
This reverts commit 12f460962b.
2017-09-18 02:01:14 +02:00
Daiderd Jordan
3ff962d844 gcc: add gccStdenv for darwin
(cherry picked from commit a5168fe457)
2017-09-17 20:06:56 +02:00
Daiderd Jordan
2cbe9488ff darwin-frameworks: move fixup setup-hook
(cherry picked from commit 5a28fd660a)
2017-09-17 19:10:14 +02:00
Daiderd Jordan
f4af3c5408 darwin-frameworks: use the system CF when frameworks are used
This will get propagated down to other libraries loaded because
everything in nixpkgs references CF based on an rpath entry.

(cherry picked from commit cc1bfbd9a7)
2017-09-17 19:10:13 +02:00
Daiderd Jordan
285ed1fdae darwin-CF: use @rpath for library id and add an rpath entry for CF based on NIX_COREFOUNDATION_RPATH
(cherry picked from commit 92652b4d79)
2017-09-17 19:10:13 +02:00
lassulus
07b24cc2e5 altcoins: remove obsolete boost override
(cherry picked from commit 077dd9fca3)
2017-09-17 18:37:18 +02:00
Michael Raskin
fcec6aec78 libreoffice-still: 5.2.6.2 -> 5.3.6.1
(cherry picked from commit ea1d5e9c7a)
2017-09-17 18:33:27 +02:00
Vaibhav Sagar
4d0052dbfb nginx-modules: remove unused fetchpatch
(cherry picked from commit 70eb31c853)
2017-09-17 18:32:28 +02:00
romildo
5976b3514d gnome-shell-extensions: enable all extensions
(cherry picked from commit 349782cee4)
2017-09-17 18:31:44 +02:00
rnhmjoj
0c53e6b7b7 lua-nginx-module: 0.10.5 -> 0.10.10
(cherry picked from commit d0aa64a8e2)
2017-09-17 18:31:25 +02:00
Michael Raskin
2c131c5e16 libreoffice-fresh: 5.3.1.2 -> 5.4.1.2; fixes #29379
(cherry picked from commit 08b1bc9fcb)
2017-09-17 18:31:18 +02:00
Michael Raskin
12f460962b cppunit: 1.14.0
(cherry picked from commit 02f439d062)
2017-09-17 18:31:12 +02:00
Michael Raskin
ab526141b0 xmlsec: 1.2.23 -> 1.2.25; enable nss (for LO)
(cherry picked from commit 44db65d61c)
2017-09-17 18:30:40 +02:00
Vladimír Čunát
90b1a1ad37 gtkmm3: maintenance 3.22.0 -> 3.22.2
(cherry picked from commit 222e18698a)
2017-09-17 18:28:34 +02:00
Eelco Dolstra
96a3fda34a blender: Fix CUDA support
CUDA toolkit 8 doesn't support gcc 6, so we have to build opensubdiv
and blender with gcc 5.

(cherry picked from commit afc0218ecd)
2017-09-17 18:28:26 +02:00
Eelco Dolstra
43e2f2087c cudatoolkit: Move libcudart to a separate output
This prevents opensubdiv (and thus blender) from having all of
cudatoolkit in its closure.

(cherry picked from commit bb1c9b027d)
2017-09-17 18:28:26 +02:00
Eelco Dolstra
e7114a503f opencollada: 1.3 -> 1.6.59
(cherry picked from commit 63f3b35204)
2017-09-17 18:28:26 +02:00
Eelco Dolstra
5845606631 openimage: 1.7.12 -> 1.7.17
(cherry picked from commit 9f740f1f7c)
2017-09-17 18:27:48 +02:00
Georges Dubus
66ae29c09e nox: 0.0.5 -> 0.0.6
(cherry picked from commit 94400c0cd2)
2017-09-17 18:27:33 +02:00
aszlig
6f03d690fa krita: 3.1.4 -> 3.2.1
New features since version 3.2.0:

  * G'MIC Plugin
  * Touch Painting
  * Smart Patch Tool
  * New Brush Presets

The full release notes can be found at:

https://krita.org/en/release-notes-for-krita-3-2/

Version 3.2.1 contains these fixes:

  * Crash on startup if only OpenGL 2.1 is found: if you had to disable
    opengl for 3.2.0, you can try to enable it again
  * A crash when changing layer types in the gmic-qt plugin
  * A bug where gmic-qt could crash on odd-sized images
  * A regression where using the text tool would break the brush tool
  * The option to use the native platform's file dialogs was restored
  * A bug where selecting the line tool would disable the flow slider
  * Some issues with the LUT docker were fixed

Upstream release notes for 3.2.1:

https://krita.org/en/item/krita-3-2-1-released/

I've dropped the patch, because it was already from the upstream
development version and thus is also included in this release.

Built and tested using a few images and just playing around with a few
new features.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @abbradar, @Mic92, @kragniz
(cherry picked from commit 8180085733)
2017-09-17 18:27:14 +02:00
Joachim Fasting
15abcf6237 nixos/tests: move sysctl test to misc
(cherry picked from commit c85cf60c83)
2017-09-17 18:26:32 +02:00
Jaka Hudoklin
b677fa83d3 pkgs/telepresence: init at 0.65
(cherry picked from commit 18245fd222)
2017-09-17 18:25:54 +02:00
Ryan Mulligan
b81ef1e31d matterbridge, modules/matterbridge: init at 1.1.0
(cherry picked from commit 9c786d82f2)
2017-09-17 18:25:27 +02:00
adisbladis
6c60ce8f8b caddy: 0.10.7 -> 0.10.9
(cherry picked from commit 9ede0dea45)
2017-09-17 18:24:54 +02:00
Matt McHenry
73f34f1c7a systemd: better document enabled, wantedBy, and requiredBy (#29453)
the systemd.unit(5) discussion of wantedBy and requiredBy is in the
[Install] section, and thus focused on stateful 'systemctl enable'.
so, clarify that in NixOS, wantedBy & requiredBy are still what most
users want, and not to be confused with enabled.

(cherry picked from commit cfbac1beb4)
2017-09-17 18:24:07 +02:00
Cray Elliott
2f7733c20e zandronum: fix soundfont support, minor cleanup
also add myself to maintainers

(cherry picked from commit 8080285966)
2017-09-17 18:22:12 +02:00
Jörg Thalheim
a3793f7a1f kerberos: store state in /var/lib instead of $out/var
(cherry picked from commit 0016d925e4)
2017-09-17 18:20:51 +02:00
Tuomas Tynkkynen
545d8e7cb4 sd-image-aarch64: Increase CMA memory so RPi3 virtual console works again
(cherry picked from commit c8e7aab0c8)
2017-09-17 18:19:46 +02:00
Cray Elliott
41882d76f4 zandronum: 2.1.2 -> 3.0
remove sqlite-amalgamation and put it internal to the zandronum folder,
as it is only used by zandronum. Patches needed to avoid build impurities
and to get the correct protocol version to connect to public servers.

remove zandronum_bin as it is no longer needed

(cherry picked from commit 990ea8789d)
2017-09-17 18:19:46 +02:00
Cray Elliott
6091fa7c3d doomseeker: 1.0 -> 1.1
(cherry picked from commit ae624c89c1)
2017-09-17 18:19:46 +02:00
Daniel Fullmer
8fbd366a0c gocr: Install libraries and includes
(cherry picked from commit 6182b67228)
2017-09-17 18:19:45 +02:00
Samuel Leathers
ccc94bfd3c cram: fix ignored tests causing failures
(cherry picked from commit a4633ca5a3)
2017-09-17 18:19:45 +02:00
joachim schiele
4ddf1959d0 dovecot2: added quota, changed pop3 default
(cherry picked from commit 7904499542)
2017-09-17 18:19:45 +02:00
Jörg Thalheim
f6d4327d55 zfsUnstable: init at 2017-09-12
(cherry picked from commit 1ecf3e862f)
2017-09-17 18:19:45 +02:00
lassulus
d89d8e818c tinc_pre: 1.1pre14 -> 1.1pre15
Remove an obsolete patch
Add lassulus to maintainers
Supply the build with the correct version number and changelog

(cherry picked from commit f4dfa30d24)
2017-09-17 18:19:45 +02:00
WilliButz
48cd0f7bbf grafana: 4.4.3 -> 4.5.0
(cherry picked from commit e13e3dd2fb)
2017-09-17 18:19:45 +02:00
Maximilian Güntner
79b92d787c emscriptenfastcomp: move wrap magic to own file, use newScope
(cherry picked from commit 8550e4e520)
2017-09-17 18:19:45 +02:00
Linus Heckemann
787bf9292f nixos-install: use FIFO for system closure
This avoids running out of space in space-constrained environments,
e.g. VMs with relatively small amounts of memory and tmp on tmpfs

(cherry picked from commit 77ce02201e)
2017-09-17 18:19:44 +02:00
Linus Heckemann
d0edf75d99 nixos-install: only search for nixpkgs when needed
(cherry picked from commit 8b1f1d93fa)
2017-09-17 18:19:44 +02:00
Eelco Dolstra
887d60d5aa nix: 1.11.14 -> 1.11.15
(cherry picked from commit 6dad1f70ce)
2017-09-17 18:19:44 +02:00
Joachim Fasting
e6dfef0eda tinycc: 0.9.27pre-20170821 -> 0.9.27pre-20170911
Contains various fixes.

(cherry picked from commit 3f7ac92175)
2017-09-17 18:19:44 +02:00
Michael Fellinger
62e6dcf20b ruby: 2.4.1 -> 2.4.2 (#29417)
(cherry picked from commit 2edb7e9b2d)
2017-09-17 18:19:44 +02:00
Robert Schütz
4d2f667df3 abcMIDI: init at 2017.06.10
(cherry picked from commit 608045aed5)
2017-09-17 18:19:44 +02:00
Muhammad Herdiansyah
a45d99a1b2 neofetch: 3.2.0 -> 3.3.0
(cherry picked from commit 25944370e1)
2017-09-17 18:19:43 +02:00
Muhammad Herdiansyah
b92266c1db maintainer: change email
(cherry picked from commit 0e09b79bcc)
2017-09-17 18:19:43 +02:00
Lancelot SIX
9ce29fd755 xorriso: 1.4.6 -> 1.4.8
See http://lists.gnu.org/archive/html/info-gnu/2017-09/msg00009.html
for release information

(cherry picked from commit 259d61b34a)
2017-09-17 18:19:43 +02:00
Nadrieril
33a014211a bitlbee-facebook: 1.1.1 -> 1.1.2
(cherry picked from commit d0090c0941)
2017-09-17 18:19:43 +02:00
adisbladis
5a98afc530 go-ethereum: 1.6.7 -> 1.7.0
(cherry picked from commit 090947b285)
2017-09-17 18:19:43 +02:00
romildo
030ff06053 clearlooks-phenix: 5.0.7 -> 7.0.1
(cherry picked from commit 17c3599ee3)
2017-09-17 18:19:43 +02:00
romildo
534a0a8880 numix-gtk-theme: 2017-02-15 -> 2017-07-26
(cherry picked from commit 32f7c567cd)
2017-09-17 18:19:42 +02:00
romildo
5ba3e43924 zuki-themes: 3.24.2017-06-26 -> 3.24-2
- Update to version 3.24-2, released on 2017 Aug 3

- Remove versions for GNOME 3.22 and 3.20. The version for 3.24 should
  work with them as well.

(cherry picked from commit 6319210b8a)
2017-09-17 18:19:42 +02:00
Gabriel Ebner
ba17627adb lean: 3.2.0 -> 3.3.0
(cherry picked from commit aad00e35db)
2017-09-17 18:19:42 +02:00
Cray Elliott
f74cb90455 ffmpeg, ffmpeg-full: 3.3.3 -> 3.3.4
(cherry picked from commit 739b4091cf)
2017-09-17 18:19:42 +02:00
Tuomas Tynkkynen
0cbb125748 diffoscope: Move cbfstool and poppler_utils to bloat category
(cherry picked from commit 0dc4672d36)
2017-09-17 18:19:42 +02:00
Tuomas Tynkkynen
79862c96c0 diffoscope: Add even more tools
(cherry picked from commit 2581865717)
2017-09-17 18:19:42 +02:00
Kamil Chmielewski
ecbbef8c7b ponyc: 0.19.0 -> 0.19.1
https://github.com/ponylang/ponyc/issues/2226
(cherry picked from commit a2666e3668)
2017-09-17 18:19:41 +02:00
Peter Hoeg
2874ab06dd pdf2odt: 20141217 -> 20170207
(cherry picked from commit d29a8f25c3)
2017-09-17 18:19:41 +02:00
Jörg Thalheim
04d81781b0 vimPlugins.nvim-completion-manager: init at 2017-09-05
(cherry picked from commit 5c544b8c78)
2017-09-17 18:19:41 +02:00
Jörg Thalheim
c2769d7388 vimPlugins.vim-devicons: init at 2017-05-29
(cherry picked from commit e477fa94b5)
2017-09-17 18:19:41 +02:00
romildo
9ee486ec9d adapta-gtk-theme: 3.91.2.10 -> 3.91.2.147
(cherry picked from commit 9b985dfb2f)
2017-09-17 18:19:41 +02:00
Jörg Thalheim
fc592b13ad perlPackages.SCGI: init at 0.6
(cherry picked from commit 4addea54ae)
2017-09-17 18:19:41 +02:00
Jörg Thalheim
97e5fa4cb1 perlPackages.ProtocolHTTP2: init at 1.08
(cherry picked from commit 9b960686bf)
2017-09-17 18:19:40 +02:00
Jörg Thalheim
86071abcb9 perlPackages.HTTPDAV: init at 0.44
(cherry picked from commit 94dc132ff9)
2017-09-17 18:19:40 +02:00
Jörg Thalheim
afd1a906aa perlPackages.TermReadKey: 2.31 -> 2.37
(cherry picked from commit 068fd9fb8e)
2017-09-17 18:19:40 +02:00
Peter Hoeg
9616c99871 mtr: 0.87 -> 0.92
(cherry picked from commit 68764d50b3)
2017-09-17 18:19:40 +02:00
Robert Helgesson
a9a39a201d josm: minor cleanups
- Use `makeWrapper` to generate wrapper script.

- Use `buildCommand` instead of explicit phases.`

(cherry picked from commit 2a36c6c185)
2017-09-17 18:19:40 +02:00
Robert Helgesson
abda418b45 josm: 12545 -> 12712
(cherry picked from commit fd4d957ac4)
2017-09-17 18:19:40 +02:00
Robert Helgesson
b7bab3ca98 cloc: add myself as maintainer
(cherry picked from commit a3a8887b7f)
2017-09-17 18:19:39 +02:00
Robert Helgesson
1173b76249 cloc: 1.72 -> 1.74
(cherry picked from commit d35e4439dd)
2017-09-17 18:19:39 +02:00
zraexy
1b801b8acd streamlink: 0.7.0 -> 0.8.1
(cherry picked from commit e87a72caef)
2017-09-17 18:19:39 +02:00
AndersonTorres
d11e20300a mgba: 0.5.2 -> 0.6.0
(cherry picked from commit 4a67ee9893)
2017-09-17 18:19:39 +02:00
Peter Hoeg
7edb3f1fe5 neomutt: 20170907 -> 20170912
(cherry picked from commit addfb83852)
2017-09-17 18:19:39 +02:00
Sarah Brofeldt
56cb9ef008 s3fs: 1.80 -> 1.82
(cherry picked from commit fc2566e966)
2017-09-17 18:19:39 +02:00
geistesk
05bd6d0549 racket: 6.10 -> 6.10.1
(cherry picked from commit af2ceaf63c)
2017-09-17 18:19:38 +02:00
Frank Doepper
d54a6379ee oysttyer: init at 2.9.1
A Perl Console Twitter Client

(cherry picked from commit 9c4233f7b6)
2017-09-17 18:19:38 +02:00
Tim Steinbach
db92b49ade atom: 1.19.7 -> 1.20.0
(cherry picked from commit 3d812d2037)
2017-09-17 18:19:38 +02:00
Jan Tojnar
7dd575d610 meson: 0.41.2 → 0.42.1
(cherry picked from commit ad8e4c272a)
2017-09-17 18:19:38 +02:00
Emanuele Peruffo
ddf427ec42 epson-alc1100: init at version 1.2-0
Driver for printer Epson AcuLaser C1100

(cherry picked from commit 03187c3e15)
2017-09-17 18:19:38 +02:00
Jan Tojnar
75bc3407dd sublime3: 3126 → 3143
(cherry picked from commit 74065fc780)
2017-09-17 18:19:38 +02:00
Tuomas Tynkkynen
74ca4b651f strace: 4.18 -> 4.19
(cherry picked from commit 1e84bb90d4)
2017-09-17 18:19:37 +02:00
Yann Hodique
5bfb2a80af hugo: 0.27 -> 0.27.1
(cherry picked from commit 85f3834bad)
2017-09-17 18:19:37 +02:00
Robin Gloster
55f626fbb6 nixos/redmine: fix create role
postgresql create role no longer supports NOCREATEUSER option. See
https://www.postgresql.org/docs/9.6/static/release-9-6.html for
details.

(cherry picked from commit f5e0e94b2a)
2017-09-17 18:19:37 +02:00
Matthias Beyer
7e71499756 bean-add: 2017-04-16 -> 2017-09-13
(cherry picked from commit b0237f767e)
2017-09-17 18:19:37 +02:00
Matthias Beyer
195b25c23a rtv: 1.15.1 -> 1.18.0
Disable tests, which try to access the network.

(cherry picked from commit 8c1403066c)
2017-09-17 18:19:37 +02:00
Matthias Beyer
48aaf6237a mdp: 1.0.9 -> 1.0.10
(cherry picked from commit 495dbc2cc2)
2017-09-17 18:19:37 +02:00
Matthias Beyer
f10058e774 ctodo: 1.2 -> 1.3
(cherry picked from commit 30a1e189ac)
2017-09-17 18:19:36 +02:00
Matthias Beyer
36de5d341b buku: 3.0 -> 3.3.1
(cherry picked from commit 678c149e53)
2017-09-17 18:19:36 +02:00
Matthias Beyer
cfbe0fb72b toot: 0.13.0 -> 0.15.0
(cherry picked from commit 56cf561581)
2017-09-17 18:19:36 +02:00
Ryan Mulligan
cc7c4bb36f nixos/mattermost: fix create role
postgresql create role no longer supports NOCREATEUSER option. See
https://www.postgresql.org/docs/9.6/static/release-9-6.html for
details.

(cherry picked from commit 8585898909)
2017-09-17 18:19:36 +02:00
Ryan Mulligan
68374e59aa mattermost: 3.8.2 -> 4.1.0
(cherry picked from commit 65ee687439)
2017-09-17 18:19:36 +02:00
Gabriel Adomnicai
87a687d101 meteor: 1.4.2.3 -> 1.5 (#28905)
(cherry picked from commit 49eb1664d8)
2017-09-17 18:19:36 +02:00
Domen Kožar
f64a4878eb Add atom-beta
(cherry picked from commit 4ffa9ace43)
2017-09-17 18:19:35 +02:00
Symphorien Gibol
ae046076e4 bombono: init at 1.2.4
(cherry picked from commit 945f346f60)
2017-09-17 18:19:35 +02:00
Vincent Laporte
daa0ccd626 proverif: 1.95 -> 1.97pl1
(cherry picked from commit cc5491d02c)
2017-09-17 18:19:35 +02:00
geistesk
935dbdc30a nixos/fireqos: add service
(cherry picked from commit 2316f16ac0)
2017-09-17 18:19:35 +02:00
geistesk
8df4af5e4d firehol: init at 3.1.4
(cherry picked from commit f84a8fb605)
2017-09-17 18:19:35 +02:00
geistesk
b7e4dd7f8a iprange: init at 1.0.3
(cherry picked from commit 5e25459144)
2017-09-17 18:19:35 +02:00
Michael Alan Dorman
b273ab6454 melpa-packages: 2017-09-13
Removals:
 - debian-bug: removed from melpa
 - debian-changelog-mode: removed from melpa
 - rcirc-color: removed from melpa
 - sentence-highlight: removed from melpa
(cherry picked from commit 9feb5bdf06)
2017-09-17 18:19:34 +02:00
Michael Alan Dorman
f5afacd499 melpa-stable-packages: 2017-09-13
Removals:
 - sentence-highlight: removed from melpa
(cherry picked from commit b9eb2d3348)
2017-09-17 18:19:34 +02:00
Michael Alan Dorman
4b9ba2c1ad org-packages: 2017-09-13
(cherry picked from commit cfe5664e04)
2017-09-17 18:19:34 +02:00
Michael Alan Dorman
21cced0782 elpa-packages: 2017-09-13
(cherry picked from commit bae9557826)
2017-09-17 18:19:34 +02:00
Silvan Mosberger
7ba40a38ed s-tui: init at 0.6.0
(cherry picked from commit 753d114b34)
2017-09-17 18:19:33 +02:00
Tuomas Tynkkynen
02886260f7 afl: 2.48b -> 2.51b
(cherry picked from commit 42a3be191d)
2017-09-17 18:19:33 +02:00
Tuomas Tynkkynen
827c4689c7 _915resolution: Only works on x86
https://hydra.nixos.org/build/60928068
(cherry picked from commit 204a15ec42)
2017-09-17 18:19:33 +02:00
Tuomas Tynkkynen
2c1436ac02 libsmbios: Only works on x86
https://hydra.nixos.org/build/60942499
(cherry picked from commit 9aa998eb48)
2017-09-17 18:19:33 +02:00
Tuomas Tynkkynen
6224ed46f2 reptyr: Only works on x86
https://hydra.nixos.org/build/60933200
(cherry picked from commit 4f34a3b230)
2017-09-17 18:19:33 +02:00
Tuomas Tynkkynen
c02952a8b3 seabios: Only works on x86
https://hydra.nixos.org/build/60949790
(cherry picked from commit 84544c5bc2)
2017-09-17 18:19:33 +02:00
Tuomas Tynkkynen
1fea5575c8 syslinux: Only works on x86
https://hydra.nixos.org/build/60930963
(cherry picked from commit f567d0a5a6)
2017-09-17 18:19:32 +02:00
Tuomas Tynkkynen
d55ec1aad2 x86info: only works on x86
https://hydra.nixos.org/build/60931250
(cherry picked from commit 21298fd3f7)
2017-09-17 18:19:32 +02:00
dywedir
8e7ea87607 mpv: 0.26.0 -> 0.27.0
(cherry picked from commit 15002fbf7e)
2017-09-17 18:19:32 +02:00
Robert Schütz
b14457605c seafile-client: add optional Shibboleth support
(cherry picked from commit 7cceee29fb)
2017-09-17 18:19:32 +02:00
Peter Hoeg
2149004768 arc-theme: docs were going to the wrong directory
(cherry picked from commit 3f56114223)
2017-09-17 18:19:32 +02:00
Winnie Quinn
1adc4dd110 aspcud: add darwin platform support
This works because `gringo` now builds on Darwin.

(cherry picked from commit abeb6af482)
2017-09-17 18:19:32 +02:00
Orivej Desh
96e838764f aseprite: install desktop icons
(cherry picked from commit 247fa20962)
2017-09-17 18:19:31 +02:00
Orivej Desh
6b59cddaeb aseprite unfree: init at 1.2-beta12
(cherry picked from commit f0483d59f3)
2017-09-17 18:19:31 +02:00
Orivej Desh
74ed524310 aseprite: 0.9.5 -> 1.1.7
(cherry picked from commit 05eb7ba6e4)
2017-09-17 18:19:31 +02:00
Tristan Helmich
5964f952b5 graylogPlugins: update and add plugins
(cherry picked from commit ea5e03085a)
2017-09-17 18:19:31 +02:00
Yann Hodique
395c626161 hugo: 0.26 -> 0.27
(cherry picked from commit ebf1f8c4e6)
2017-09-17 18:19:31 +02:00
Daiderd Jordan
18fc3525af nginx: disable pie on darwin
(cherry picked from commit 734788b71d)
2017-09-17 18:19:31 +02:00
Franz Pletz
c99d568261 ncurses: 6.0-20170729 -> 6.0-20170902
Fixes issues with xterm terminfo.

(cherry picked from commit fea02e30f1)
2017-09-17 18:19:30 +02:00
Maximilian Güntner
a2238d2ea2 samba: 4.6.4 -> 4.6.7
(cherry picked from commit e6353a82bf)
2017-09-17 18:19:30 +02:00
Robin Gloster
43ea0d6dc0 systemd: use fetchpatch for patch with the correct hash
the fetchurl failed on hydra sometimes

(cherry picked from commit 61733ed6cc)
2017-09-17 18:19:30 +02:00
Vladimír Čunát
22852e0627 pango: maintenance 1.40.9 -> 1.40.11
(cherry picked from commit daa12ab7b9)
2017-09-17 18:19:30 +02:00
Vladimír Čunát
e8e53043ca mesa: maintenance 17.1.7 -> 17.1.8
(cherry picked from commit 6d2d7d5f46)
2017-09-17 18:19:30 +02:00
Tim Steinbach
4bb826c760 gnutls: 3.5.14 -> 3.5.15
(cherry picked from commit 5c66a4e221)
2017-09-17 18:19:30 +02:00
Frederik Rietdijk
a729a1d933 systemd: use fetchurl for patch
because a hash corresponding to fetchurl was provided.

(cherry picked from commit 91ede67a5a)
2017-09-17 18:19:29 +02:00
teh
35e06baae7 systemd: add patch to fix suspend.target
(cherry picked from commit 3e50f0ae0e)
2017-09-17 18:19:29 +02:00
Matthew Robbetts
a62fbe0922 openldap: Fix build with LibreSSL.
(cherry picked from commit e82cb3dfa4)
2017-09-17 18:19:29 +02:00
Casey Rodarmor
3c42f36ff5 ncurses: put tic binary in bin
(cherry picked from commit 555900081d)
2017-09-17 18:19:29 +02:00
WilliButz
e7ffb76a75 highlight: 3.35 -> 3.39
(cherry picked from commit 5b36d3993f)
2017-09-17 18:19:29 +02:00
Jörg Thalheim
a3f5e1c642 openssh: update gssapi patch
(cherry picked from commit 7786aab173)
2017-09-17 18:19:29 +02:00
gnidorah
50e57c4e59 maxx: allow launching individual components
(cherry picked from commit d627ded461)
2017-09-17 18:19:29 +02:00
yesbox
74d1043c9b jackett: 0.7.1308 -> 0.8.151
(cherry picked from commit e70e5de2c7)
2017-09-17 18:19:28 +02:00
Chris Burr
11dbd1876f dns-root-data: 2017-07-26 -> 2017-08-29
(cherry picked from commit 0b356dfb75)
2017-09-17 18:19:28 +02:00
Jörg Thalheim
be8038d7ec cheat: 2.2.0 -> 2.2.1
(cherry picked from commit 7f2f427e8f)
2017-09-17 18:19:28 +02:00
mingchuan
28f6b7fba5 spin: 6.4.6 -> 6.4.7
(cherry picked from commit cb8bfbdbba)
2017-09-17 18:19:28 +02:00
Edward Tjörnhammar
5cd35fe367 i2pd: 2.14.0 -> 2.15.0
(cherry picked from commit 90e78aafad)
2017-09-17 18:19:28 +02:00
Edward Tjörnhammar
fe0ea07417 nixos, i2pd: nat option, default true
(cherry picked from commit 847ce53ab1)
2017-09-17 18:19:28 +02:00
timor
5218059660 physlock: 0.5 -> 11-dev
Update physlock to a more current version which supports PAM and
systemd-logind.  Amongst others, this should work now with the slim
login manager without any additional configuration, because it does
not rely on the utmp mechanism anymore.

(cherry picked from commit ae87a30a83)
2017-09-17 18:19:27 +02:00
Orivej Desh
c6425e3c2b gopherclient: init at 2016-10-02
(cherry picked from commit e47543f1be)
2017-09-17 18:19:27 +02:00
Winnie Quinn
8c23e20e23 gringo: add darwin platform support
(cherry picked from commit a1013287f3)
2017-09-17 18:19:27 +02:00
Jörg Thalheim
141e50fdac buildbot-full: also include wsgi-dashboards
(cherry picked from commit 6844b1375b)
2017-09-17 18:19:27 +02:00
Artem Kazakov
9bb346312d buildbot: add wsgi dashboards plugin
fixes #29236

(cherry picked from commit 60709abb82)
2017-09-17 18:19:27 +02:00
rnhmjoj
83264136ce vapoursynth-mvtools: 17 -> 19
(cherry picked from commit a7eb2e01bc)
2017-09-17 18:19:27 +02:00
rnhmjoj
b99022efba vapoursynth: R36 -> R38
(cherry picked from commit 3f9661588b)
2017-09-17 18:19:26 +02:00
AndersonTorres
c994dbce04 Moe: init at 1.9
Moe is a small text editor.

(cherry picked from commit 6126e3add4)
2017-09-17 18:19:26 +02:00
Tristan Helmich
a26af0221d pythonPackages.phonenumbers: 8.8.0 -> 8.8.1
(cherry picked from commit c3b304e811)
2017-09-17 18:19:26 +02:00
Michael Weiss
29c9481f6d lf: 2017-05-15 -> 2017-09-06
(cherry picked from commit 9f4fa7339b)
2017-09-17 18:19:26 +02:00
Pascal Bach
8e2391d169 nixos/prometheus-collectd-exporter: init module (#29212)
* prometheus-collectd-exporter service: init module

Supports JSON and binary (optional) protocol
of collectd.

* nixos/prometheus-collectd-exporter: submodule is not needed for collectdBinary

(cherry picked from commit 334e23d244)
2017-09-17 18:19:26 +02:00
romildo
80a387df9b greybird: 3.22.4 -> 3.22.5
(cherry picked from commit 3c02edc290)
2017-09-17 18:19:26 +02:00
Roman Volosatovs
ecb46b8f5b mopidy-iris: 3.3.3 -> 3.4.1
(cherry picked from commit 383b7c658a)
2017-09-17 18:19:25 +02:00
lewo
a6bf07155a nixos/nova-image: cleanup image builders (#29242)
There are currently two ways to build Openstack image. This just picks
best of both, to keep only one!

- Image is resizable
- Cloudinit is enable
- Password authentication is disable by default
- Use the same layer than other image builders (ec2, gce...)

(cherry picked from commit 3a377e26b2)
2017-09-17 18:19:25 +02:00
Robert
8563cb9f15 NixOS Manual: document assertions and warnings (#29206)
* NixOS Manual: document assertions and warnings

* NixOS manual: re-wrap assertions text

(cherry picked from commit 1b1fc65505)
2017-09-17 18:19:25 +02:00
lassulus
2117b2ea29 bitcoin-classic: 1.2.5 -> 1.3.6
(cherry picked from commit 0a4a6f71cb)
2017-09-17 18:19:25 +02:00
AndersonTorres
f144015dc7 jupp: init at 3.1
jupp is a fork of joe's editor.

(cherry picked from commit 4f976bdd3e)
2017-09-17 18:19:25 +02:00
Klaas van Schelven
d55e0c9330 andviro/flake8-vim: init at 2017-02-17
(cherry picked from commit 6e6a3c9ba5)
2017-09-17 18:19:25 +02:00
James Kay
d6060457d1 buildbot: 0.9.9post2 -> 0.9.11
(cherry picked from commit cf497c60f0)
2017-09-17 18:19:24 +02:00
Michael Weiss
b5763e0054 dynamips: init at 0.2.17
(cherry picked from commit 1011c76598)
2017-09-17 18:19:24 +02:00
hiberno (Christian Lask)
10cb4e312b tasksh: Add readline support.
(cherry picked from commit 38563d6130)
2017-09-17 18:19:24 +02:00
Ioannis Koutras
a90af04760 sddm: 0.14.0 -> 0.15.0
(cherry picked from commit 01b4c3c13b)
2017-09-17 18:19:24 +02:00
Peter Hoeg
00364fa6bd qtox: drop gtk2 dependency
Tray icon still works without gtk2.

(cherry picked from commit 90b3d2db91)
2017-09-17 18:19:24 +02:00
Thomas Bach
a819f3b18f manual: reworked submodule section for better readability
The section was strange to read, as the initial example already used
`listOf' which is mentioned in the very first paragraph. Then you read
in a subsection about `listOf' and the exact same example is given
once again.

(cherry picked from commit 4d101993bf)
2017-09-17 18:19:24 +02:00
Thomas Bach
d9afaff2be manual: fixed remaining placeholder literal
(cherry picked from commit f37a1e155e)
2017-09-17 18:19:23 +02:00
Thomas Bach
fd059ca1a9 manual: name' is not an argument for mkOption'
(cherry picked from commit 572726a570)
2017-09-17 18:19:21 +02:00
Vaibhav Sagar
07425e43ed nginx-modules: remove unused fetchpatch
(cherry picked from commit 70eb31c853)
2017-09-17 18:17:33 +02:00
rnhmjoj
5687327e29 lua-nginx-module: 0.10.5 -> 0.10.10
(cherry picked from commit d0aa64a8e2)
2017-09-17 18:17:32 +02:00
Anthony Cowley
e7e8d1fd21 emacsMacport: emacs-25.2 => 25.3, macport-6.3 => 6.7
(cherry picked from commit 50a33089c6)
2017-09-17 18:17:27 +02:00
Maximilian Güntner
800e422653 hostapd/wpa_supplicant: update urls
(cherry picked from commit daf07c9d62)
2017-09-17 17:43:40 +02:00
Daniel Fullmer
4f7e499315 k2pdfopt: 2.32 -> 2.42
(cherry picked from commit 8c2895400f)
2017-09-17 17:43:37 +02:00
Matt Smith
777e002054 monero: 0.10.3.1 -> 0.11.0.0
(cherry picked from commit 21e135c8bd)
2017-09-17 17:43:36 +02:00
Paul Hendry
9882b7fcbf ktorrent: Add missing meta.license
(cherry picked from commit f814c3d090)
2017-09-17 17:43:35 +02:00
Hoang Xuan Phu
76b36ad9a6 rabbitmq_server: 3.6.6 -> 3.6.10
(cherry picked from commit 2c58562d48)

Addresses some known vulns in 3.6.6: https://pivotal.io/security/cve-2017-4965
2017-09-17 17:43:34 +02:00
Florian Jacob
c69ee73db1 nixos/tinc: Fix tinc cli wrapper for tinc 1.0.
tinc prior to 1.1 doesn't have the `tinc` executable,
and `tincd` isn't of any use while the daemon already runs.

(cherry picked from commit 8cea87c1eb)
2017-09-17 17:43:33 +02:00
Silvan Mosberger
2fd44d9847 namecoin service: fix typo
(cherry picked from commit fea9e081a9)
2017-09-17 17:43:33 +02:00
Joachim Fasting
884ac056a5 nixos/tests: expand hardened tests
(cherry picked from commit 586d04c588)
2017-09-17 17:43:32 +02:00
Jan Malakhovski
5ae9a94cb0 linuxPackages: hardened-config: enable DEBUG_PI_LIST
(cherry picked from commit 62fa45eac5)
2017-09-17 17:43:31 +02:00
Jan Malakhovski
e8af562d48 linuxPackages: hardened-config: check kernelArch, not system
(cherry picked from commit c345761c13)
2017-09-17 17:43:30 +02:00
Jan Malakhovski
ec00da8d10 linuxPackages: hardened-config: disable BUG_ON_DATA_CORRUPTION for older kernels
They don't support it.

(cherry picked from commit 616a7fe237)
2017-09-17 17:43:30 +02:00
Joachim Fasting
34f867d96e hardened-config: build with fortify source
(cherry picked from commit dd170cd5df)
2017-09-17 17:43:29 +02:00
Joachim Fasting
e15669fa07 hardened-config: enable the randstruct plugin
(cherry picked from commit 9a763f8f59)
2017-09-17 17:43:28 +02:00
Joachim Fasting
84f5bb3e43 hardened-config: additional refcount checking
(cherry picked from commit edd0d2f2e9)
2017-09-17 17:43:23 +02:00
Daiderd Jordan
523fb3c77e opensc: add darwin frameworks
(cherry picked from commit 64bf283104)
2017-09-17 16:26:31 +02:00
Frederik Rietdijk
fe2f16e289 niff: init at 0.1
(cherry picked from commit 8a09e51dc2)
2017-09-17 15:37:59 +02:00
Bjørn Forsman
1d156a60fc fpart: init at 0.9.3
(cherry picked from commit 983d01421e)
2017-09-17 13:07:04 +02:00
Joachim Fasting
676560af25 lttng-uts: 2.9.1 -> 2.10.0
(cherry picked from commit 40d6414863)
2017-09-17 09:49:48 +02:00
Joachim Fasting
622afa9dc7 lttng-tools: 2.9.5 -> 2.10.1
(cherry picked from commit 969db57853)
2017-09-17 09:49:46 +02:00
Joachim Fasting
b967357400 linuxPackages.lttng-modules: broken on kernels >4.11
(cherry picked from commit 7d69e5a18f)
2017-09-17 09:49:45 +02:00
Joachim Fasting
5946d7d2c7 linuxPackages.lttng-modules: 2.9.3 -> 2.10.0
(cherry picked from commit 9e395545e8)
2017-09-17 09:49:43 +02:00
Frederik Rietdijk
20e1833914 aspellWithDicts: use a single env
In c0cf19608f the function
`aspellWithDicts` was introduced, that allows to build a derivation
consisting of aspell and specified dictionaries. In
96457d26dd a fix was included to properly
find the dictionaries.

Issue #29429 describes that, while the current method works for the
aspell binary, it does not in case of the API.

This commit rewrites the wrapper into a single derivation, create a
single tree of symbolic references to both the binary and the
dictionaries so that its possible to find the dictionaries with the API.
Furthermore, the binary is wrapped so it can still find the dictionaries
as well.

(cherry picked from commit 91f7042aa0)
2017-09-17 09:30:19 +02:00
Antoine Eiche
b94ee1a9b5 dockerTools.pullImage: release note regarding sha256 argument value
(cherry picked from commit ea6d37c2bb)
Signed-off-by: Domen Kožar <domen@dev.si>
2017-09-17 09:27:11 +02:00
Antoine Eiche
dc4178e15a dockerTools.pullImage: use skopeo to pull the image
Before this patch, a VM was used to spawn docker that pulled the
VM. Now, the tool Skopeo does this job well so we can simplify our
dockerTools since we doesn't need Docker anymore:)

This also fixe the regression described in
https://github.com/NixOS/nixpkgs/issues/29271 : cntlm proxy doesn't
work in 17.09 while it worked in 17.03.

Note Skopeo doesn't produce the same output than docker pull so, we
have to update sha.

(cherry picked from commit 01174c5f4d)
Signed-off-by: Domen Kožar <domen@dev.si>
2017-09-17 09:27:04 +02:00
Samuel Leathers
f22378c383 python pies: remove packages
(cherry picked from commit 0f0aeed803)
2017-09-17 09:03:41 +02:00
Daiderd Jordan
2ad805568c python-cffi: fix test failures when using clang
(cherry picked from commit 35649750c3)
2017-09-16 17:11:10 +02:00
Vladimír Čunát
a4bf452eb3 vivaldi-ffmpeg-codecs: fix evaluation (forgotten file)
(cherry picked from commit d5724ef2dd)
2017-09-16 15:28:48 +02:00
Samuel Leathers
9284617344 arelle: 2017-06-01 -> 2017-08-24
(cherry picked from commit d15c019edd)
2017-09-16 14:06:16 +01:00
Tim Steinbach
27809dd7a7 linux-copperhead: 4.13.1.b -> 4.13.2.a
(cherry picked from commit 7de078ccae4c9e0a81df7da3440295cc7d8459c7)
2017-09-16 08:58:13 -04:00
Jörg Thalheim
b83dde56bb gns3: 2.0.3 -> 2.1.0rc1
(cherry picked from commit 27e87d8bc8)
2017-09-16 13:57:41 +01:00
Samuel Leathers
ee4c2cbac7 aiohttp-cors: 0.5.1 -> 0.5.3
(cherry picked from commit eb125adf24)
2017-09-16 13:57:41 +01:00
Vladimír Čunát
902a863df5 vivaldi-ffmpeg-codecs: fix evaluation
The patch was removed during chromium update.
It won't build, but the error seems the same as before chromium update...

(cherry picked from commit 9a55f74e43)
2017-09-16 14:32:48 +02:00
Samuel Leathers
2001001d7c hglib: 1.7 -> 2.4
(cherry picked from commit c256a685e8)
2017-09-16 13:27:39 +01:00
Jörg Thalheim
2dceddeaf6 python.pkgs.hcs_utils: fix tests; disable python2
(cherry picked from commit 46c30b2232)
2017-09-16 13:08:11 +01:00
Samuel Leathers
fba5537677 hcs_utils: 1.5 -> 2.0
(cherry picked from commit 755e6eb22e)
2017-09-16 13:07:59 +01:00
Samuel Leathers
4285cdb4b1 jscoverage: fix build with gcc6 (#29423) 2017-09-16 13:21:32 +02:00
Samuel Leathers
81e650b451 moto: 0.4.25 -> 0.4.31
(cherry picked from commit 49fac1f824)
2017-09-16 12:33:24 +02:00
Frederik Rietdijk
0ab6f09539 python.pkgs.PyXAPI: remove old package
url of source and homepage is dead as well.

(cherry picked from commit bb57df26dd)
2017-09-16 12:23:38 +02:00
Frederik Rietdijk
66d3d19b31 python.pkgs.{pitz, clepy}: remove old packages
These were added in 2013 by @bjornfor but haven't been touched since.
They seem to be unmaintained, both in Nixpkgs and by upstream.
2017-09-16 11:47:50 +02:00
Vladimír Čunát
adfd4fe950 Merge #29335: chromium: 60.0.3112.90 -> 61.0.3163.79 [security]
(cherry picked from commit b82b23b25b)
2017-09-16 11:23:04 +02:00
Peter Hoeg
bf75da298b dropbox: 34.4.20 -> 34.4.22
(cherry picked from commit 569867b3e8)
2017-09-16 10:35:48 +08:00
Samuel Leathers
11c88047b8 nilearn: 0.2.5 -> 0.3.1
fixes #29178

(cherry picked from commit f8f62d5216)
2017-09-16 00:26:26 +01:00
Bjørn Forsman
8f37a144e1 nixos/wpa_supplicant: use literalExample
For various reasons, big Nix attrsets look ugly in the generated manual
page[1]. Use literalExample to fix it.

[1] Quotes around attribute names are lost, newlines inside multi-line
strings are shown as '\n' and attrs written on multiple lines are joined
into one.

(cherry picked from commit 6b7a9376f1)
2017-09-15 20:31:53 +02:00
Daiderd Jordan
c90c29550f nntp-proxy: fix clang build
(cherry picked from commit 8554eafb78)
2017-09-15 20:01:47 +02:00
Vincent Laporte
46a68c8680 gtk+: 3.22.19 -> 3.22.21
(cherry picked from commit 2f70241e21)
2017-09-15 20:30:14 +03:00
Vladimír Čunát
831e310f24 gkt3: maintenance 3.22.18 -> 3.22.19
(cherry picked from commit 3980abe191)
2017-09-15 20:30:07 +03:00
Joachim Fasting
838f8617ce pharo-launcher: fix build
As noted by @dtzWill at https://github.com/NixOS/nixpkgs/pull/26924/files#r126686231

(cherry picked from commit 42f2439228)

Re: https://github.com/NixOS/nixpkgs/issues/28643
2017-09-15 18:53:08 +02:00
Peter Simons
2f90efacab ghc-7.2.2 is broken
(cherry picked from commit 33b09c0f0e)
2017-09-15 13:56:33 +02:00
Rob Vermaas
38883f8ddc google-instance-setup: add openssh to path
(cherry picked from commit 0783efb41c)
2017-09-15 10:49:01 +00:00
Frederik Rietdijk
baee496f37 Merge pull request #29353 from disassembler/pgpdump
pgpdump: disable tests
(cherry picked from commit 56f8b3626f)
2017-09-15 12:36:58 +02:00
Frederik Rietdijk
e13c4975c1 Merge pull request #29357 from FRidh/ld_library_path
Python 3.4 and 3.5: support LD_LIBRARY_PATH

(cherry picked from commit fdbe81bab0)
2017-09-15 12:36:18 +02:00
Frederik Rietdijk
631b96acbf Merge pull request #29407 from disassembler/cxfreeze
cx_Freeze: 4.3.4 -> 5.3.2

(cherry picked from commit beaada6c2d)
2017-09-15 12:32:07 +02:00
Samuel Leathers
8067485230 mdp: disable tests
(cherry picked from commit 140136ad95)
2017-09-15 12:29:42 +02:00
Frederik Rietdijk
01aafc644f Merge pull request #29388 from disassembler/arelle
arelle: add py3to2 as a buildInput
(cherry picked from commit 47e1751fd0)
2017-09-15 12:27:05 +02:00
Frederik Rietdijk
329d844c81 Merge pull request #29405 from disassembler/jedi
jedi: disable tests
(cherry picked from commit f5ea99f195)
2017-09-15 12:16:46 +02:00
Eelco Dolstra
cb3203645a nixUnstable: 1.12pre5511_c94f3d55 -> 1.12pre5619_346aeee1
(cherry picked from commit b86fd340f0)
2017-09-15 11:41:10 +02:00
Eelco Dolstra
8e80fa158b blender: 2.78c -> 2.79
(cherry picked from commit e3b562e0e2)
2017-09-15 11:40:54 +02:00
Jörg Thalheim
a3a0594820 dmd: remove broken flag
(cherry picked from commit 3b5245f0c4)
2017-09-15 04:38:39 -05:00
Thomas Mader
7bfde1d2b9 apple-sdk: Move cf-private first in list, otherwise the build fails because CoreFoundation/CFAttributedString.h could not be found.
The problem appeared when building ldc on Mac OSX. See also 13778.

(cherry picked from commit 2a0f1ecdc8)
2017-09-15 04:38:30 -05:00
Thomas Mader
463656e755 dtools: Fix rdmd test when building with newer phobos version which doesn't include std.stdiobase.d anymore.
(cherry picked from commit 930b01ab3d)
2017-09-15 04:38:21 -05:00
Thomas Mader
f5fe80a042 dmd: Run dmd-testsuite in checkPhase
Remove cppa test for now because it isn't working.

(cherry picked from commit 5a35b0707f)
2017-09-15 04:37:54 -05:00
Thomas Mader
e357ee4589 dmd: Fix bootstrap dmd compiler build. Doesn't work with gcc6.
(cherry picked from commit e17fdb9607)
2017-09-15 04:37:44 -05:00
Samuel Leathers
706f3a3833 PyWebDAV: Fix src url
(cherry picked from commit 95f88c458b)
2017-09-15 10:42:15 +02:00
Maarten Hoogendoorn
ec76904f30 mount is in utillinux
(cherry picked from commit d27f710b87)
2017-09-15 08:55:23 +01:00
Maarten Hoogendoorn
d8f979d0e2 Fix oc cluster up
The command `oc cluster up` mainly runs code though Docker containers.

However, in pkg/bootstrap/docker/host/host.go, nsenter is used to run
some commands on the host. For this to work on NixOS, we need to provide
the absolute path to the required programs.

(cherry picked from commit a3dde7776b)
2017-09-15 08:55:23 +01:00
Maarten Hoogendoorn
57ae49b05a openshift: 1.5.0 -> 3.6.0
- Updated from 1.5.0 to 3.6.0 (this is just the next version, but Red
  Hat did quite the version bump there)
- Added 'v' to the version; it is used by `oc cluster up` to determine
  which image should be downloaded.
- Added myself as a maintainer.

(cherry picked from commit f8a72662cf)
2017-09-15 08:55:22 +01:00
Orivej Desh
84cb90d690 include-what-you-use: 0.6 -> 0.8
(cherry picked from commit a4a187fe5f)
2017-09-15 01:04:34 +02:00
Daiderd Jordan
b1c115e211 nixpkgs-tests: add tests for llvm 3.9
(cherry picked from commit 70c4ac12cd)
2017-09-15 00:56:19 +02:00
Daiderd Jordan
af12478dfb llvm-packages: apply cc-wrapper/stdenv changes to older versions
(cherry picked from commit ad486c48a6)
2017-09-15 00:56:06 +02:00
Daiderd Jordan
c13335a5ca clang-stdenv: move libstdcxxHook to cc-wrapper
(cherry picked from commit ac88515052)
2017-09-15 00:55:37 +02:00
Matthias Beyer
bec8a34469 sqlitebrowser: 3.9.1 -> 3.10.0
(cherry picked from commit 65b91cd23b)
2017-09-14 22:31:37 +02:00
Daiderd Jordan
f17ceeab18 irony-server: don't use wrapped clang
(cherry picked from commit d1260ea6aa)
2017-09-14 22:25:40 +02:00
Daiderd Jordan
56b2df0923 rtags: use clang-unwrapped
(cherry picked from commit cd97211358)
2017-09-14 22:04:56 +02:00
Thomas Tuegel
4515d4af50 Merge pull request #29369 from bkchr/remove_kde4_workspace_kde_telepathy
Remove kde4workspace and kdetelepathy

(cherry picked from commit 815135f31b)
2017-09-14 11:19:36 -05:00
Tuomas Tynkkynen
5190526d1c linuxPackages.evdi: Mark broken on >= 4.13
(cherry picked from commit 94454384c2)
2017-09-14 18:55:06 +03:00
Tuomas Tynkkynen
7545ab5f31 linuxPackages.netatop: Mark broken on >= 4.13
(cherry picked from commit 2459616f0f)
2017-09-14 18:55:06 +03:00
Tuomas Tynkkynen
6529d7d2c1 linuxPackages.sch_cake: Mark broken on >= 4.13
(cherry picked from commit 808ddd86fc)
2017-09-14 18:55:06 +03:00
Tuomas Tynkkynen
4215b390d3 swfmill: Fix build on GCC 6
https://hydra.nixos.org/build/60900173
(cherry picked from commit c8c82a67f0)
2017-09-14 18:21:41 +03:00
Bastian Köcher
9475c13a7f mailnag: 1.1.0 -> 1.2.1
(cherry picked from commit 5b91f125aa)
2017-09-14 17:07:00 +03:00
Jörg Thalheim
bd98103fac Merge pull request #29370 from mguentner/urltypofixes
fix src.url typos

(cherry picked from commit 610eac1773)
2017-09-14 14:50:22 +02:00
Tuomas Tynkkynen
6baffd9af5 awesomebump: Yet another RPATH-contains-TMPDIR hack
https://github.com/NixOS/patchelf/pull/98
(cherry picked from commit 14b833e560)
2017-09-14 15:46:16 +03:00
Tuomas Tynkkynen
058cb603f2 pythonmagick: Fix sha256
(cherry picked from commit eab8124939)
2017-09-14 15:46:07 +03:00
Tim Steinbach
1e588f9bc3 linux: 4.9.49 -> 4.9.50
(cherry picked from commit 5e4fcb63ac76e10aa36623477ebbafc00e3bcda1)
2017-09-14 08:40:27 -04:00
Tim Steinbach
ede357afda linux: 4.12.12 -> 4.12.13
(cherry picked from commit e5beeced7a1fd725e203ad88acf1c67b16d5e5fa)
2017-09-14 08:40:27 -04:00
Tim Steinbach
eec780b687 linux: 4.13.1 -> 4.13.2
(cherry picked from commit 0e9599181dd85d68c32c089e95055e7dbffd9f5c)
2017-09-14 08:40:27 -04:00
Samuel Leathers
c6eb5fbe87 ws4py: add git to checkInputs
(cherry picked from commit 3f5f208d13)
2017-09-14 13:19:39 +02:00
Frederik Rietdijk
8822c7f348 python.pkgs.mwlib: mark as broken
(cherry picked from commit 1e16bceb46)
2017-09-14 13:07:38 +02:00
Domen Kožar
71fb65709c vm: remove trusty-updates hash as it changes too often
(cherry picked from commit f49b7d3c88)
Signed-off-by: Domen Kožar <domen@dev.si>
2017-09-14 11:31:00 +02:00
Samuel Leathers
cd2ecbe919 credstash: 1.13.2 -> 1.13.3
(cherry picked from commit dabf89fadd)
2017-09-14 09:52:43 +02:00
Samuel Leathers
304d3a4bce colanderalchemy: fixes tests
(cherry picked from commit 746f20fc7f)
2017-09-14 09:31:43 +02:00
Bjørn Forsman
5e860f6737 OVMF: add 'src' attribute
No functional change, but allows getting the source via the standard
attribute: `nix-build -A OVMF.src`.

(cherry picked from commit 67c70aa581)
2017-09-14 08:08:01 +02:00
Ruben Maher
e61f1a24c4 nextcloud-client: provide optional gnome-keyring integration
`qtkeyring` can use `gnome-keyring`, but it needs some help to find it.

I have not enabled this by default because not everyone who uses this will want
to pull in GNOME dependencies.

(cherry picked from commit e828dcb5cd)
2017-09-14 08:01:06 +02:00
Ruben Maher
d1414523f2 nextcloud-client: enable parallel building
So that the client can build faster.

(cherry picked from commit 4ce18c8367)
2017-09-14 08:01:05 +02:00
Ruben Maher
bb290c95e5 nextcloud-client: add inotify dependency when building on linux
This allows for more efficient change detection.

(cherry picked from commit e02f936b27)
2017-09-14 08:01:04 +02:00
Ruben Maher
6bd0b33261 nextcloud-client: use cmakeDir and cmakeFlags attrs
(cherry picked from commit ebb6488e74)
2017-09-14 08:01:03 +02:00
Jörg Thalheim
892015000a tor: skip ControlPort in torrc, if not set. 2017-09-13 23:34:04 +01:00
Tuomas Tynkkynen
7d7e9673fc treewide: Escape backslash in strings properly
"\." is apparently the same as "." wheras the correct one is "\\."

(cherry picked from commit 0c368ef02f)
2017-09-14 01:06:31 +03:00
Sarah Brofeldt
9483d1641f steam: Get rid of newStdcpp option, always on
(cherry picked from commit 734a04800a)
2017-09-13 22:05:03 +01:00
Daiderd Jordan
70cc6fa727 prometheus-node-exported: fix output cycle on darwin
(cherry picked from commit 56ea313c29)
2017-09-13 22:10:35 +02:00
Tuomas Tynkkynen
708f1683c6 diffoscope: Update tool list
(cherry picked from commit 98d84b1375)
2017-09-13 22:44:42 +03:00
Tuomas Tynkkynen
9e8da964d4 diffoscope: Remove obsolete and unreferenced patch
(cherry picked from commit ab5bd5e596)
2017-09-13 22:44:42 +03:00
Tuomas Tynkkynen
94bba27fed diffoscope: Revive hard links patch
(cherry picked from commit 890d4a2853)
2017-09-13 22:44:42 +03:00
Tuomas Tynkkynen
39acaf7c25 diffoscope: 85 -> 86
(cherry picked from commit 4b28da6fd8)
2017-09-13 22:44:42 +03:00
Andreas Rammhold
f1d6e24bdf afewmail: update meta.homepage (#29313)
(cherry picked from commit f47ab6c2fe)
2017-09-13 20:05:26 +02:00
Samuel Leathers
5879433aa9 irods-icommands: 4.2.0 -> 4.2.1
(cherry picked from commit 5fb93524b3)
2017-09-13 20:05:20 +02:00
Joachim Fasting
1939476ec1 socklog: properly disable the chkshsgr test
My previous attempt d438cbb0b6 was
bogus ...

(cherry picked from commit 705f47f50e)
2017-09-13 18:31:44 +02:00
taku0
23b2ca654b flashplayer: 26.0.0.151 -> 27.0.0.130
(cherry picked from commit c2e7d1f1f2)
2017-09-13 18:31:42 +02:00
Florian Jacob
c4674a88bb piwik: 3.0.4 -> 3.1.0
Patch for Nix was merged upstream and therefore could be removed.

(cherry picked from commit 556dfedda7)
2017-09-13 18:31:39 +02:00
Joachim Fasting
11f8e12aec libffcall: 1.10 -> 2.0
Thanks to Bruno Haible for a notifying me of this.

(cherry picked from commit e2ddc7ffd2)
2017-09-13 18:31:30 +02:00
John Ericson
a9ccf26c3b treewide: Use *Platform.extensions
(cherry picked from commit 5aec3f96a2)
2017-09-13 11:25:02 -04:00
John Ericson
e8e99f7466 lib: Add *Platform.extensions
This is used to platform specific library and exectuable extensions. In
the next commit I'll replace a bunch of ad-hoc logic with it.

(cherry picked from commit 741839a687)
2017-09-13 11:23:01 -04:00
Tim Steinbach
97eef25947 linux-copperhead: 4.13.1.a -> 4.13.1.b
(cherry picked from commit 87fa247867)
2017-09-13 08:21:21 -04:00
Bjørn Forsman
dcb66ca0d7 doc/submitting-changes.xml: suggest "nixos/<module>" prefix for NixOS changes
Commit 8537cf0f81
("CONTRIBUTING.md: suggest "nixos/<module>" prefix for NixOS changes")
only changed CONTRIBUTING.md file and forgot about the Nixpkgs manual.
(I didn't know this information was stored in two places.)

(cherry picked from commit 56a047c7a1)
2017-09-13 14:14:24 +02:00
Tuomas Tynkkynen
221a743514 prelink: Disable on Darwin
https://hydra.nixos.org/build/60439488

A tool that works on ELF files only isn't probably that useful on
Darwin.

(cherry picked from commit 2cd2ee5f85)
2017-09-13 14:49:50 +03:00
Tuomas Tynkkynen
62eeec7486 firebird: Fix build by using gcc5
https://hydra.nixos.org/build/59941948
(cherry picked from commit c78c565245)
2017-09-13 14:43:41 +03:00
Tuomas Tynkkynen
439c2073d2 policycoreutils: Fix setuid install
(cherry picked from commit 4d205eb044)
2017-09-13 14:21:40 +03:00
Antoine Eiche
7c1278d94f dockerTools.pullImage: change the docker deamon readiness mechanism
To wait for the docker deamon, curl requests are sent. However, if a
http proxy is set, it will respond instead of the docker daemon.
To avoid this, we send docker ps command instead of curl command.

(cherry picked from commit 132e790735)
2017-09-13 10:40:43 +01:00
Frederik Rietdijk
6076d9f31b python.pkgs.jupyter_console: 5.0.0 -> 5.2.0
(cherry picked from commit 8d4e37710f)
2017-09-13 10:25:04 +02:00
Frederik Rietdijk
64478a07fe python.pkgs.joblib: move expression
(cherry picked from commit 47dcf634bb)
2017-09-13 09:37:40 +02:00
Rodney Lorrimar
5ea5dbcd56 pythonPackages.ftfy: 5.1.1 -> 4.4.3
ftfy package was added for spaCy and is only used by spaCy.

This change downgrades its version to meet the bounds specified by
spaCy (>=4.4.2,<5.0.0).

Relevant to #28643.

(cherry picked from commit 566f5e9e8d)
2017-09-13 09:19:40 +02:00
Klaas van Schelven
f8cb04b96c PyBrain: Mark as broken
It's broken on all versions of Python (I've tried 2.7, 3.4, 3.5, 3.6)

I think the root cause is that PyBrain is not working with numpy >= 1.12.0 as I reported here:
https://github.com/pybrain/pybrain/issues/217

(The relevant release notes may be found here):
https://docs.scipy.org/doc/numpy-1.12.0/release.html#compatibility-notes

The PyBrain github repo does not seem very active (last commit 18 months ago, last release 3 years),
so I have some doubts as to whether this will be fixed any time soon.

I suppose an alternative solution could be to reintroduce the explicit dependency to numpy 1.11. But,
this is not entirely trivial: in c9b4a2f319, the versions 1.10, 1.11, 1.12 were folded into a single version.
Also, the numpy dependency is not a direct one, but is implied via scipy

(cherry picked from commit 50d36558a4)
2017-09-13 09:09:03 +02:00
Frederik Rietdijk
9bf53d18b5 python.pkgs.wheel: 0.29.0 -> 0.30.0
(cherry picked from commit 88367b1e78)
2017-09-13 09:06:58 +02:00
Vladimír Čunát
0b131dfaeb hpsa service: fallout from #28557 merge and revert
(cherry picked from commit 97ac29cafc)
2017-09-13 07:58:29 +02:00
Jan Tojnar
fd1b9e357d gnome-disk-utility: fix missing schemas for gnome-disk-image-mounter
Continuation of #28053

gnome-disk-image-mounter from gnome-disk-utility was not wrapped, resulting in an
error due to the inability to find gsettings schemas.

This commit replaces the manual wrapping of gnome-disks binary with wrapGAppsHook
so that all binaries are wrapped correctly.

(cherry picked from commit b64f149ea9)
2017-09-13 07:41:26 +02:00
rnhmjoj
3a52fb941a btfs: 2.13 -> 2.17
(cherry picked from commit b9dc49e847)
2017-09-13 01:02:43 +02:00
rnhmjoj
6adb5cbcfb pirate-get: 0.2.10 -> 0.2.12
(cherry picked from commit 375ff71380)
2017-09-13 01:02:40 +02:00
Mikael Brockman
a19583934f emacs: 25.2 -> 25.3
https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00211.html

> This is an emergency release to fix a security vulnerability in Emacs.
>
> Enriched Text mode has its support for decoding 'x-display' disabled.
> This feature allows saving 'display' properties as part of text.
> Emacs 'display' properties support evaluation of arbitrary Lisp forms
> as part of instantiating the property, so decoding 'x-display' is
> vulnerable to executing arbitrary malicious Lisp code included in the
> text (e.g., sent as part of an email message).

(cherry picked from commit 78f457c76c)
2017-09-13 01:02:34 +02:00
Joachim F
68778d0b77 Merge pull request #29286 from abuibrahim/release-17.09
odp-dpdk: fix a typo
2017-09-12 22:42:28 +00:00
Ruslan Babayev
d88ec014ef odp-dpdk: fix a typo
(cherry picked from commit 4ac8529dd4)
2017-09-12 13:43:52 -07:00
Daiderd Jordan
5fe5c843d0 kyotocabinet: fix darwin build
(cherry picked from commit 4d7c3b2f5f)
2017-09-12 22:16:16 +02:00
Daiderd Jordan
b16c73697a python-keyring: disable tests on darwin
(cherry picked from commit f0956b7baf)
2017-09-12 21:04:14 +02:00
Josef Kemetmueller
947f295ef1 pythonPackages.audiotools: Fix darwin build
(cherry picked from commit 6d760d970f)
2017-09-12 19:55:14 +02:00
Jörg Thalheim
30d6f55f47 nixos/openafs-client: update cellServDB 2009-06-29 -> 2017-03-14
(cherry picked from commit 39e327eeb5)
2017-09-12 13:14:01 +01:00
Tuomas Tynkkynen
e39775fd49 lib.cleanSourceFilter: Fix VIM swap file filtering
The backslash wasn't properly escaped, and "\." is apparently equal to
".". So it's accidentally filtering out these valid file names (in
Nixpkgs):

trace: excluding clfswm
trace: excluding larswm
trace: excluding mkpasswd

While at it, turn the file filter stricter to what it was before
e2589b3ca2. That is, the file name must
start with a dot: '.swp', '.foo.swo' are filtered but 'bar.swf' is not.

(cherry picked from commit 9275c3387e)
2017-09-12 15:01:15 +03:00
Tuomas Tynkkynen
6b5eeca9b7 pythonPackages.audiotools: Disable on Darwin
Last successful build 2015-09-20 07:44:17

https://hydra.nixos.org/build/60587519
(cherry picked from commit 8f566f4bde)
2017-09-12 15:01:09 +03:00
Tuomas Tynkkynen
7b05f25ffb pythonPackages.alot: Disable on Darwin
Last successful build 2015-12-31 19:17:08

https://hydra.nixos.org/build/60775312
(cherry picked from commit 8d85d279f2)
2017-09-12 15:01:06 +03:00
Tuomas Tynkkynen
1b6e075e59 toxic: Disable on Darwin
Last successful build 2014-03-12 17:47:58

https://hydra.nixos.org/build/59716009
(cherry picked from commit e6e8565131)
2017-09-12 15:01:03 +03:00
Tuomas Tynkkynen
37fc2c0c0a chromaprint: Disable on Darwin
Last successful build 2015-09-20 08:03:33

https://hydra.nixos.org/build/60589826
(cherry picked from commit 817c20c7ee)
2017-09-12 15:00:59 +03:00
Domen Kožar
3418e73469 pyopenssl: 17.0.0 -> 17.2.0
An attempt to fix tests under 32bit linux to unblock nix build
2017-09-12 13:37:03 +02:00
Dmitry Vyal
eb7b9e1edf tensorflow-1.1.0 for python3.6
Google publishes prebuilt tensorflow whl for python 3.4, 3.5, 3.6,
but nix expression for tensorflow only supported 3.5.
This change adds support for python-3.6.
2017-09-12 12:52:14 +02:00
Maximilian Güntner
124555b7b6 simavr: fix build for separate avr toolchain
(cherry picked from commit b22718d51c)
2017-09-12 10:33:31 +01:00
Maximilian Güntner
bc6561132b microscheme: replaced avrgcclibc with separate dependencies
(cherry picked from commit 414f5eff2d)
2017-09-12 10:33:31 +01:00
Maximilian Güntner
4ed547b94a arduino/ino: remove avrgcclibc as a dependency (see TODO)
(cherry picked from commit 6e54dbb49e)
2017-09-12 10:33:30 +01:00
Maximilian Güntner
ace472e343 avrdudess: add separate avr-{gcc, binutils} dependencies
(cherry picked from commit 0f74f11b03)
2017-09-12 10:33:30 +01:00
Maximilian Güntner
64d008cb73 avr-*: split avr-gcc-libc into separate packages
- avr-gcc 5.3.0 -> 5.4.0

closes #28220

Since the packages do not share a common prefix anymore, you need
to define the current store paths in your project's Makefile.

Example for an atmega644 build:

CFLAGS += -I /nix/store/9rffxzds5crcpm76g3nr03jx0aa657cf-avr-libc-2.0.0/avr/include
CFLAGS += -B /nix/store/9rffxzds5crcpm76g3nr03jx0aa657cf-avr-libc-2.0.0/avr/lib/avr5
CFLAGS += -L /nix/store/9rffxzds5crcpm76g3nr03jx0aa657cf-avr-libc-2.0.0/avr/lib/avr5
CFLAGS += -L /nix/store/8409dj9js4i5901i63275wxdm783l0p6-avr-gcc-5.4.0/lib/gcc/avr/5.4.0/avr5

(cherry picked from commit 6a458c169b)
2017-09-12 10:33:30 +01:00
Tuomas Tynkkynen
99d9f74d9f Revert "libgcrypt: Add pre-ARMv7 patch"
This reverts commit 1cfe9539f9.

No longer needed after the upgrade in 095af3e63b.

(cherry picked from commit ab62b7e9b9)
2017-09-12 12:26:06 +03:00
Bjørn Forsman
b98fda5cad nixos/gitolite: don't leak nix store hash into gitolite-admin username/key
It doesn't look good when the initial admin user is named
"<hash>-gitolite-admin" and the key stored as
"<hash>-gitolite-admin.pub". Instead, make it simply "gitolite-admin"
and "gitolite-admin.pub".

(cherry picked from commit 6b9ee30672)
2017-09-12 10:59:30 +02:00
pvgoran
898924ed5e services.gitolite: Add RequiresMountsFor unit option ...
... to ensure that the filesystem where `dataDir` resides is mounted when we do initialization or upgrade.

(cherry picked from commit 4c4f73c0eb)
2017-09-12 07:04:05 +00:00
rnhmjoj
6d7530563a vapoursynth-mvtools: 17 -> 19
(cherry picked from commit a7eb2e01bc)
2017-09-12 06:58:30 +00:00
rnhmjoj
902afad78e vapoursynth: R36 -> R38
(cherry picked from commit 3f9661588b)
2017-09-12 06:58:22 +00:00
Silvan Mosberger
37340f2f2c namecoin: legacy 0.3.80 -> core 0.13.0rc1
This updates namecoin from a legacy version from about 3 years ago
(https://github.com/namecoin/namecoin-legacy) to
the new namecoin-core.

(cherry picked from commit 8bd3664f373cb78a0526dc8a86e750f55b96420a)
(cherry picked from commit 31f349dbb4)
2017-09-12 07:17:49 +01:00
lassulus
20b9942065 bitcoin-xt: 0.11F -> 0.11G2
(cherry picked from commit f87d4ac2c1)
2017-09-12 07:17:49 +01:00
lassulus
f70f4c68bf altcoins: remove obsolete boost override
(cherry picked from commit 077dd9fca3)
2017-09-12 07:17:49 +01:00
Bjørn Forsman
726c294cae nixos/samba: remove space in "[ global ]" heading
Use consistent no-space style. (All documentation I've seen use no
space, and the generated section headings from the NixOS module also use
no space.)

(cherry picked from commit fc02a0265a)
2017-09-12 08:04:02 +02:00
Daiderd Jordan
5f165451c0 jbigkit: fix substituteInPlace
(cherry picked from commit 2509b629d7)
2017-09-12 00:17:52 +02:00
Daiderd Jordan
f155c98522 html2text: fix clang build
(cherry picked from commit 7b00a6ef15)
2017-09-11 23:42:02 +02:00
Daiderd Jordan
f15742bbaf go-mtpfs: fix darwin build
(cherry picked from commit 77294205ac)
2017-09-11 23:05:01 +02:00
timor
5566ca9fcd coin3d: include fix for newer compilers
This manifests as a segfault in any applications that use the library.

(cherry picked from commit cf32537210)
2017-09-11 21:32:43 +01:00
Jörg Thalheim
a82fe0ec5e Merge pull request #29187 from vanschelven/recaptcha-client
python.pkgs.recaptcha-client: disable broken versions
2017-09-11 19:41:02 +01:00
Markus Mueller
b7144b2db8 desmume: fix build with gcc6 by adding debian patch
Debian also removed the package in testing when building
with gcc7.

(cherry picked from commit 55b5a94d84)
2017-09-11 19:33:01 +01:00
Markus Mueller
6fb2a7c676 dmenu-wayland: git-2014-11-02 -> git-2017-04-07 fix build
Bumped and fixed substitution for package to build successfully.

(cherry picked from commit 301ab39213)
2017-09-11 19:31:28 +01:00
timor
9be724d65b qfsm: fix build with gcc 6 (#29245) 2017-09-11 20:29:16 +02:00
Aristid Breitkreuz
2248565ea4 blitz++: mark as broken 2017-09-11 20:15:15 +02:00
Bjørn Forsman
da832b5855 qmmp: 1.1.9 -> 1.1.10
(cherry picked from commit 88ae298467)
2017-09-11 20:10:04 +02:00
Bjørn Forsman
42caac39d8 qmmp: 1.1.5 -> 1.1.9
(cherry picked from commit 4b84127f1c)
2017-09-11 20:03:58 +02:00
timor
5bdfcbbea2 perl-Class-Autouse: 1.99_02 -> 2.01
(cherry picked from commit f717af03ad)
2017-09-11 18:50:35 +02:00
Robert Helgesson
c5f150d5ed perl-Data-Dumper-Concise: 2.022 -> 2.023
(cherry picked from commit 99b09a2006)
2017-09-11 18:44:54 +02:00
Robert Helgesson
6c773d3ae8 perl-Log-Contextual: 0.006003 -> 0.007001
(cherry picked from commit f6537dafe2)
2017-09-11 18:44:54 +02:00
timor
656cffa68d perl-Data-Dumper: 2.154 -> 2.161 + build fix
(cherry picked from commit dcdbe960f8)
2017-09-11 18:44:54 +02:00
Franz Pletz
cc5202c941 borgbackup: fix build with python36
cffi fails to build with python34.
2017-09-11 18:44:34 +02:00
timor
c22ff5213a perl-Devel-NYTProf: init at 6.04
(cherry picked from commit fdaaaea31e)
2017-09-11 17:43:35 +01:00
timor
2b7db2ea76 perl-Devel-DProf: deprecated, remove
does not build

(cherry picked from commit 60bb058cf5)
2017-09-11 17:38:37 +01:00
Tuomas Tynkkynen
a95a9fb4af make-fonts-cache.nix: Don't build-depend on unnecessary outputs of fontconfig
(cherry picked from commit 886837f479)
2017-09-11 19:22:46 +03:00
Bjørn Forsman
9355706fdb wireshark: 2.4.0 -> 2.4.1
Remove patches that have been merged upstream.

(cherry picked from commit f4bac5cdb7)
2017-09-11 18:01:52 +02:00
Bjørn Forsman
fd65540aa7 t1utils: 1.39 -> 1.41
(cherry picked from commit 835b2ccfa8)
2017-09-11 18:01:52 +02:00
Bjørn Forsman
038580c0c9 gsoap: 2.8.49 -> 2.8.53
(cherry picked from commit 421949e436)
2017-09-11 18:01:52 +02:00
Bjørn Forsman
28fbe0a7cf basex: 8.6.4 -> 8.6.6
(cherry picked from commit 0a7d124eb0)
2017-09-11 18:01:52 +02:00
Bjørn Forsman
b5607c41ca ascii: 3.15 -> 3.18
(cherry picked from commit 0177902337)
2017-09-11 18:01:52 +02:00
Jörg Thalheim
90f8d926ab altcoins: remove pkgs non-sense
(cherry picked from commit bb2e6d131e)
2017-09-11 16:59:14 +01:00
lassulus
4740b2c658 bitcoin-classic: 1.2.5 -> 1.3.6
(cherry picked from commit 0a4a6f71cb)
2017-09-11 16:59:06 +01:00
lassulus
773268eede mupen64plus: 1.5 -> 2.5
(cherry picked from commit f068f3f209)
2017-09-11 15:39:30 +01:00
Tuomas Tynkkynen
ebd90bfdb9 dbench: Disable on Darwin
Assumes Linux versions of xattr system calls. Has never built
successfully.

https://hydra.nixos.org/build/60443210
(cherry picked from commit e61022ac55)
2017-09-11 16:35:22 +03:00
Bjørn Forsman
92ca300cc6 eagle: 7.5 -> 7.7
This is the latest release from Cadsoft, before they were bought by
Autocad. Autocad has released 8.x, but

- it requires reworking the Nix expression (different packaging)
- the paid license version requires a monthly subscription fee, you never
  "own" the software (AFAICT).

Due to the licensing change in 8.x, I think keeping Eagle 7.x around is
a good idea.

(cherry picked from commit 28f780b320)
2017-09-11 14:48:16 +02:00
Domen Kožar
64a563f15b vm: bump trusty-updates hash
In future we might just not use the updates if hash changes too
often.
2017-09-11 13:00:30 +02:00
Tuomas Tynkkynen
b1cb7ee364 pythonPackages.ssdeep: Mark broken
https://hydra.nixos.org/build/59943791

This package is a library and has no reverse dependencies. (It was once
used by diffoscope, but it changed to use a different library).

(cherry picked from commit 373b2231be)
2017-09-11 13:53:06 +03:00
Thomas Tuegel
7921852a33 Merge pull request #29117 from bkchr/kde_applications_17_08_1
kdeApplications: 17.08.0 -> 17.08.1
(cherry picked from commit 6299659da6)
2017-09-11 05:11:16 -05:00
Tim Steinbach
15c04be775 linux-copperhead: 4.13.a -> 4.13.1.a
(cherry picked from commit 114a2bcc80)
2017-09-10 19:22:11 -04:00
John Ericson
b3128d3c48 ghc-8.2.1: Get rid of preReleaseName binding now that it is released
No hashes should be changed

(cherry picked from commit e916917acf)
2017-09-10 17:36:40 -04:00
Daiderd Jordan
2e65ad64fa nixpkgs-tests: add basic test for buildInputs
(cherry picked from commit b91307c2e1)
2017-09-10 22:56:54 +02:00
Daiderd Jordan
6e8d22e851 nixpkgs-tests: add basic test for cc-wrapper
(cherry picked from commit 19c4673310)
2017-09-10 22:56:40 +02:00
Sander van der Burg
471bea8fe6 fast-cli: fix build
(cherry picked from commit 397fc0daca)
2017-09-10 16:30:46 +00:00
Tim Steinbach
2f0cf23905 linux: 4.13 -> 4.13.1
(cherry picked from commit 54a4a22719451ae5b9a899025087d4a6e7f7095d)
2017-09-10 12:13:26 -04:00
Tim Steinbach
f7b2a625ca linux: 4.12.11 -> 4.12.12
(cherry picked from commit e5e8836cd1564ed675678bd4a3f8f279afd22b5a)
2017-09-10 12:13:26 -04:00
Tim Steinbach
b8a8f6f174 linux: 4.9.48 -> 4.9.49
(cherry picked from commit 2ec7d290cd96d7bfb1ed61a1a8a2d5b0625bf260)
2017-09-10 12:13:26 -04:00
Daiderd Jordan
3307386d45 perl-moose: fix darwin build
(cherry picked from commit 259e73d678)
2017-09-10 18:08:15 +02:00
Vaibhav Sagar
cd19919d1e znc: add openFirewall configuration option
(cherry picked from commit c7dd5e146b)
2017-09-10 18:00:34 +02:00
Vaibhav Sagar
d2b00a6a85 znc: open firewall with configured port
The configuration doesn't currently open the configured port, which is
less convenient than opening it.

(cherry picked from commit 83d89e9b22)
2017-09-10 18:00:34 +02:00
Pascal Bach
656f90717c riot-web: 1.12.2 -> 1.12.3
(cherry picked from commit 44ec317a13)
2017-09-10 17:55:52 +02:00
Eelco Dolstra
eeec388ac9 tribler: 7.0.0-beta -> 7.0.0-rc2
Also, fix the xcb plugin error
(https://github.com/NixOS/nixpkgs/issues/24256) and add service-identity which is a required dependency now.

(cherry picked from commit bcd382f032)
2017-09-10 17:55:52 +02:00
dywedir
ec8cc52bc5 fd: 2.0.0 -> 3.0.0
(cherry picked from commit bb0f86be43)
2017-09-10 17:55:52 +02:00
Peter Hoeg
69502062cf sane-frontends: boy scout cleanups
(cherry picked from commit af1f99143f)
2017-09-10 17:55:52 +02:00
Peter Hoeg
e872c9eedf sane-backends: 1.0.25 -> 1.0.27
Use a proper upstream as well.

(cherry picked from commit 67c949a8b6)
2017-09-10 17:55:52 +02:00
Peter Hoeg
8c3343e19d sane-backends: support parallel building
(cherry picked from commit 2dff799a10)
2017-09-10 17:55:52 +02:00
Vaibhav Sagar
a3d4721d3f znc: fix network example configuration
s/ssl/useSSL/

(cherry picked from commit 405050b2cb)
2017-09-10 17:55:51 +02:00
Peter Hoeg
557e1d2030 kget: init at 20170903
(cherry picked from commit 758c597696)
2017-09-10 17:55:51 +02:00
Ruslan Babayev
23d2db8876 ofp: mark as broken due to odp-dpdk change
(cherry picked from commit f319314c35)
2017-09-10 17:55:51 +02:00
Ruslan Babayev
8de61c321c pktgen: 3.1.0 -> 3.4.0
(cherry picked from commit f1e1d71494)
2017-09-10 17:55:51 +02:00
Ruslan Babayev
5053b8144b dpdk: drop examples output; simplify install phase
(cherry picked from commit f6075fc211)
2017-09-10 17:55:51 +02:00
Ruslan Babayev
b0df0af34f odp-dpdk: 1.12.0.0 -> 1.15.0.0
(cherry picked from commit ec85e42c0b)
2017-09-10 17:55:51 +02:00
Peter Hoeg
e6f2c4d51b manual: steam on nouveau also requires newStdCpp
(cherry picked from commit a9a3af423f)
2017-09-10 17:55:50 +02:00
Dan Peebles
46dc8a5450 yubikey-manager: 3.1 -> 4.0
Also, support Darwin properly

(cherry picked from commit 15502421c7)
2017-09-10 17:55:50 +02:00
Ruben Maher
05f1c244dd nixos/transmission: make it possible to use a different home directory (#29138)
(cherry picked from commit 4ff9e9e333)
2017-09-10 17:55:50 +02:00
John Mercier
659f53a05d notion: 3-2015061300 -> 3-2017050501
(cherry picked from commit fc0e22b7a7)
2017-09-10 17:55:50 +02:00
Joachim Fasting
fc7d2aaec9 nixos/hardened: blacklist a few obscure net protocols
(cherry picked from commit 8aa0618cf0)
2017-09-10 17:55:50 +02:00
Joachim Fasting
e7e99f3642 nixos/hardened: set mmap_min_addr
This is set in the hardened linux config as well but sysctl is more
flexible & works with any boot.kernelPackages

(cherry picked from commit 2bce0b13e7)
2017-09-10 17:55:50 +02:00
Joachim Fasting
6bb5c1ba49 tor-browser-bundle-bin: runtime purity improvements
These changes reduce file accesses outside TBB_HOME or the Nix store, as
determined by running under strace -e access,open,stat.

(cherry picked from commit f84125c3b1)
2017-09-10 17:55:49 +02:00
Joachim Fasting
481ccb82c8 tor-browser-bundle-bin: hard-code path to desktop Icon
(cherry picked from commit c8f2dbae9f)
2017-09-10 17:55:49 +02:00
Michael Weiss
639848651b androidenv: Add the Android Instant Apps SDK
(cherry picked from commit af78d76718)
2017-09-10 17:55:49 +02:00
Michael Weiss
cace24242c androidenv: Update all packages using fetch.sh
(cherry picked from commit 498e3a9989)
2017-09-10 17:55:49 +02:00
Thomas Bach
b9638c2014 haproxy: 1.7.8 -> 1.7.9
(cherry picked from commit d34386792d)
2017-09-10 17:55:49 +02:00
Thomas Bach
4d4280a834 haproxy: haproxy.org is now accessible via https
(cherry picked from commit fd84128595)
2017-09-10 17:55:49 +02:00
Michael Weiss
790036dbee pythonPackages.glances: 2.11 -> 2.11.1
(cherry picked from commit 8e3681d8bb)
2017-09-10 17:55:49 +02:00
Vincent Laporte
307ce6c0dc smplayer: 17.8.0 -> 17.9.0
(cherry picked from commit b5c9a47b85)
2017-09-10 17:55:48 +02:00
Will Dietz
d0a976e872 rr: 4.5.0 -> 5.0.0
(cherry picked from commit b95dc6f7d6)
2017-09-10 17:55:48 +02:00
timor
8687d7885e perl-ExtUtils-XSpp: 0.1700 -> 0.18
(cherry picked from commit dd07d9a04d)
2017-09-10 17:55:48 +02:00
timor
8c602e0e82 perl-ExtUtils-ParseXS: 3.24 -> 3.35
(cherry picked from commit 34c76e463e)
2017-09-10 17:55:48 +02:00
Tim Steinbach
2a33eaa7d8 vscode: 1.15.1 -> 1.16.0
(cherry picked from commit 58963fda09)
2017-09-10 17:55:48 +02:00
dywedir
b261baf607 minidlna: 1.1.5 -> 1.2.1
(cherry picked from commit 79770136ff)
2017-09-10 17:55:48 +02:00
Vincent Laporte
9a1253c064 aften: init at 0.0.8
Aften is an audio encoder which generates compressed audio streams based on
ATSC A/52 specification. This type of audio is also known as AC-3 or Dolby®
Digital and is one of the audio codecs used in DVD-Video content.

Homepage: http://aften.sourceforge.net/
(cherry picked from commit 6e009edc41)
2017-09-10 17:55:47 +02:00
Peter Hoeg
de84d8446b neovim-qt: 0.2.7 -> 0.2.8
We now also run some of the tests which is better than nothing.

(cherry picked from commit 608fe16482)
2017-09-10 17:55:47 +02:00
Peter Hoeg
6f1eacac88 neomutt: 20170714 -> 20170907
(cherry picked from commit b21778f43e)
2017-09-10 17:55:47 +02:00
Cray Elliott
77c46580ec wineUnstable: 2.15 -> 2.16
bump staging as well

(cherry picked from commit c892f77e37)
2017-09-10 17:55:47 +02:00
romildo
7a2f00d288 efl: 1.20.2 -> 1.20.3
(cherry picked from commit b776cd02bf)
2017-09-10 17:55:47 +02:00
Jason Miller
f8e518817f tigervnc: correct default ssh client path (#29084)
* tigervnc: correct default ssh client path

The -via command sets up an ssh tunnel, but is hardcoded to /usr/bin/ssh
upstream.  This patches it to use the nixpkgs openssh client.

* tigervnc: patch ssh path correctly

(cherry picked from commit e9183fd2d4)
2017-09-10 17:55:47 +02:00
Jaakko Luttinen
bfa5987ab6 rssguard: 3.4.0 -> 3.4.2
(cherry picked from commit b17ccf39c4)
2017-09-10 17:55:46 +02:00
gnidorah
bc5d6e3250 rambox: 0.5.10 -> 0.5.12
(cherry picked from commit 9810c0c911)
2017-09-10 17:55:46 +02:00
Matthieu Coudron
9530cd9219 offlineimap: 7.1.1 -> 7.1.2
(cherry picked from commit 4551099cb8)
2017-09-10 17:55:46 +02:00
Markus Mueller
300b9f13de mcrl2: 201409 -> 201707
(cherry picked from commit edd94f5fcd)
2017-09-10 17:55:46 +02:00
lassulus
e09335914e centerim: 4.22.10 -> 5.0.1
(cherry picked from commit 72699348c8)
2017-09-10 17:55:46 +02:00
Lancelot SIX
5bedd80b09 gdb: 8.0 -> 8.0.1
See http://lists.gnu.org/archive/html/info-gnu/2017-09/msg00005.html
for release information.

(cherry picked from commit 653cad7a3c)
2017-09-10 17:55:46 +02:00
Andraz Brodnik
9d7ee2e897 Add gosu
(cherry picked from commit 4955943101)
2017-09-10 17:55:46 +02:00
AndersonTorres
586d90215a mcomix: fixup
MComix is failing in the check phase; so, we'll not check it.

(cherry picked from commit f93a019816)
2017-09-10 17:55:45 +02:00
Kamil Chmielewski
dd978b3101 yEd: 3.17 -> 3.17.1
(cherry picked from commit d70e64ceff)
2017-09-10 17:55:43 +02:00
Daiderd Jordan
07602a9176 glslviewer: fix darwin build
(cherry picked from commit 92163ec65c)
2017-09-10 17:26:48 +02:00
Aristid Breitkreuz
302b5af7d6 v8: fix v3 builds by switching to GCC 5 (mksnapshot segfaults with GCC 6) 2017-09-10 17:17:11 +02:00
Daiderd Jordan
4e1bc40607 fox-1.6: add missing frameworks
(cherry picked from commit b310053c01)
2017-09-10 17:11:10 +02:00
Niklas Hambüchen
cf9c0199dc glusterfs: Fix glusterfind's crawlers dlopen() error.
This fixes:

  Traceback (most recent call last):
    File "/nix/store/7f9arl3f9xyj8sm05mkanh2mlp217192-glusterfs-3.10.2/libexec/glusterfs/glusterfind/changelog.py", line 22, in <module>
      import libgfchangelog
    File "/nix/store/7f9arl3f9xyj8sm05mkanh2mlp217192-glusterfs-3.10.2/libexec/glusterfs/glusterfind/libgfchangelog.py", line 21, in <module>
      libgfc = CDLL("libgfchangelog.so", use_errno=True, mode=RTLD_GLOBAL)
    File "/nix/store/nlyr5ankhi7yvva8zndi718zj37js270-python-2.7.13-env/lib/python2.7/ctypes/__init__.py", line 362, in __init__
      self._handle = _dlopen(self._name, mode)
  OSError: libgfchangelog.so: cannot open shared object file: No such file or directory
  Connection to 10.0.0.2 closed.

when running `glusterfind pre`.

Done by setting PYTHONPATH/LD_LIBRARY_PATH as for the other
Python scripts.

(cherry picked from commit abc96aae47)
2017-09-10 16:53:06 +02:00
Niklas Hambüchen
f0a12b8848 glusterfs: Patch upstream bug preventing glusterfind from running.
See: https://bugzilla.redhat.com/show_bug.cgi?id=1489610

Also add patch to correctly log stderr from remote nodes
when glusterfind fails.
This, too, should be removed when fixed upstream.

(cherry picked from commit e7325f82a3)
2017-09-10 16:53:06 +02:00
Niklas Hambüchen
49da03dfff glusterfs: Fix wrong xattr package: xattr -> pyxattr.
Fixes error

  File "/nix/store/lxpsl84km87xpk59nai6a33ihgpfs7qr-glusterfs-3.10.2/libexec/glusterfs/glusterfind/changelog.py", line 105, in populate_pgfid_and_inodegfid
      file_xattrs = xattr.list(p)
  AttributeError: 'module' object has no attribute 'list'

when using `glusterfind pre`.

(cherry picked from commit 8e329da496)
2017-09-10 16:53:06 +02:00
Niklas Hambüchen
6830087d7b glusterfs service: Ensure dirs needed by glusterfind exist
(cherry picked from commit 5bc38fc089)
2017-09-10 16:53:06 +02:00
Sander van der Burg
71f0a68a82 fs-uae: build on x86 linux only
(cherry picked from commit bf9b88f154)
2017-09-10 14:52:00 +00:00
Sander van der Burg
726f45a323 tomcat: bump versions
(cherry picked from commit 631abf835e)
2017-09-10 14:43:28 +00:00
Sander van der Burg
59b18ebd9e fs-uae: 2.8.0 -> 2.8.3
(cherry picked from commit 345e570921)
2017-09-10 14:26:33 +00:00
Rob Vermaas
7f47214526 mpich2: use gfortran 5 2017-09-10 14:11:40 +00:00
Sander van der Burg
3c148e1a54 vice: 2.2 -> 3.1 + fix build procedure
(cherry picked from commit 6e1eedd64e)
2017-09-10 14:00:45 +00:00
Sander van der Burg
cfbb20c8b5 zsnes: restrict building to x86-based Linux platforms only, znses' core is written in x86 asm code
(cherry picked from commit 0d8e157d61)
2017-09-10 14:00:28 +00:00
Aristid Breitkreuz
4d40df403b ispc: use newer version and LLVM 4.0 due to bug in clang++ 3.9 wrapper (see #29204) 2017-09-10 15:44:28 +02:00
Rob Vermaas
9ec0e863b6 Missing self reference 2017-09-10 13:43:45 +00:00
Rob Vermaas
2252998878 Missing semicolon 2017-09-10 13:42:29 +00:00
Jörg Thalheim
ee539d672e python.pkgs.python_simple_hipchat: move out of python-packages
(cherry picked from commit cfb64bdbbd)
2017-09-10 14:33:13 +01:00
Klaas van Schelven
f3522ede1e python-simple-hipchat: 0.1.0 => 0.4.0
0.1.0 does not work on Python 3 but versions >= 0.2 do.

(cherry picked from commit 70fe7ed01e)
2017-09-10 14:33:06 +01:00
Jörg Thalheim
02dd90a3c5 python.pkgs.unicorn: disable python3
fixes #29200

(cherry picked from commit 8f3f64e512)
2017-09-10 14:23:36 +01:00
Matthias Beyer
27e42497b9 audacity: 2.1.2 -> 2.1.3
* Remove gcc-6 patch to make it compile
* Add autoreconf call in preConfigure phase
  Inspired by
  https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/audacity

Suggested-by: Moritz Ulrich <moritz@tarn-vedra.de>
(cherry picked from commit fd1e362205)
2017-09-10 14:23:36 +01:00
Rob Vermaas
eb970de5b6 xonsh: use python 3.5 2017-09-10 13:22:11 +00:00
Rob Vermaas
2ccdac8c9e shaderc: mark as broken 2017-09-10 12:37:55 +00:00
Tristan Helmich
2b1521bfc7 radarr: 0.2.0.778 -> 0.2.0.846
(cherry picked from commit 6d6637549f)
2017-09-10 12:51:41 +01:00
Rob Vermaas
c90698c0a2 seeks: use gcc5, no upstream patch/version available that builds with gcc6 2017-09-10 11:49:26 +00:00
Jörg Thalheim
0f9cda064d perlPackages.Apache-Test: 1.38 -> 1.40
fixes #29155

(cherry picked from commit 87eafdc887)
2017-09-10 12:28:34 +01:00
Jörg Thalheim
ab4a242870 oprofile: fix hardcoded rm/cp paths
(cherry picked from commit a26817b215)
2017-09-10 12:03:03 +01:00
Markus Mueller
7b106c77b1 oprofile: 1.1.0 -> 1.2.0
Fixes build with newer gcc versions.

(cherry picked from commit 79f13f19f0)
2017-09-10 12:02:55 +01:00
Falco Peijnenburg
b31807a93d tests/elk: Fixed failing build on i686.
Too much memory is required for the test.

(cherry picked from commit 11ccf69f75)
2017-09-10 11:54:58 +01:00
Michael Raskin
5d369ba6c4 Merge pull request #29192 from vanschelven/cuneiform
Trying a less disruptive patch for Cuneiform
2017-09-10 12:52:39 +02:00
Jörg Thalheim
ee1aba6ac0 arm-frc-linux-gnueabi-binutils: mark as broken
(cherry picked from commit 72673e67f2)
2017-09-10 11:41:08 +01:00
Michael Raskin
4bc42d9c35 Trying a less disruptive patch for Cuneiform 2017-09-10 12:38:37 +02:00
Aristid Breitkreuz
f6dffbf415 v8: fix 5.4 build 2017-09-10 12:35:39 +02:00
Aristid Breitkreuz
370e2e7caa v8: remove unused old versions 2017-09-10 12:03:28 +02:00
Rob Vermaas
8d5fc1beda dmd: mark as broken 2017-09-10 09:58:37 +00:00
Klaas van Schelven
35009b3a3a python.pkgs.recaptcha-client: disable broken versions
It seems that the recaptcha-client package is no longer maintained.

* The latest released version (1.0.6) is from the year 2011;
* The project page does not mention which Python versions are supported
* The project is hosted on google code, which is discontinued

I was able to succesfully build with Python versions 3.3, 3.4, but not
3.5, 3.6.
2017-09-10 11:51:54 +02:00
Vladimír Čunát
5f15a9f53e stdenv bootstrap: fix evaluation
This is probably a fallout from #28557 merge and revert.
I can't see why exactly this happened, but it seems a safe fix.

(cherry picked from commit c86eb1da5f)
2017-09-10 11:18:50 +02:00
Rob Vermaas
c651a0ccbf gnupg: add gnupg2 alias/symlink for 2.2. Otherwise signing commits with git break. 2017-09-10 09:10:24 +00:00
Rob Vermaas
fbe46c7a24 Snapper: use gcc5, as there is not upstream patch for gcc6 2017-09-10 09:05:14 +00:00
Franz Pletz
c25f2b369d nixos/release: xmonad isn't release-critical
(cherry picked from commit 0d206c0b6c)
2017-09-10 11:02:11 +02:00
Eelco Dolstra
d04de205f3 nifskope: Fix build
https://hydra.nixos.org/build/60608938
(cherry picked from commit 79c9adce65)
2017-09-10 10:58:16 +02:00
timor
32e85cdf04 openafsClient: 1.6.20.2 -> 1.6.21
(cherry picked from commit 602e851052)
2017-09-10 09:36:36 +01:00
Itai Zukerman
29363f276d plex: 1.7.5 -> 1.8.4
(cherry picked from commit 21bac5cbfb)
2017-09-10 10:23:39 +02:00
Peter Simons
f456d206e0 Agda: disable broken build 2017-09-10 09:42:10 +02:00
Peter Simons
19dad71200 Allure & LambdaHack: disable failing Hydra builds 2017-09-10 09:37:18 +02:00
Frederik Rietdijk
45e518d8f0 Merge pull request #29158 from nlewo/ofxclient
pythonPackages.ofxclient and pythonPackages.osprofiler: remove argparse from requirements

(cherry picked from commit 6521a83efe)
2017-09-10 08:54:45 +02:00
Daiderd Jordan
4075187a8c fontforge-fonttools: use $CC
(cherry picked from commit 2317a07fbb)
2017-09-10 00:11:09 +02:00
Daiderd Jordan
830b121571 et: fix build with clang
(cherry picked from commit c0e7983359)
2017-09-09 23:43:26 +02:00
Daiderd Jordan
150195bdf3 eggdrop: fix tcllib reference on darwin
(cherry picked from commit 479c15b08b)
2017-09-09 23:08:00 +02:00
timor
376eb14ac6 perl-File-Modified: 0.07 -> 0.10
(cherry picked from commit e480b4baee)
2017-09-09 17:58:09 +02:00
timor
23b4aa1a8a perl-Filter-Simple: 0.91 -> 0.94
(cherry picked from commit 4bf61ab252)
2017-09-09 17:58:08 +02:00
Peter Simons
f366faa578 haskell-text-zipper: disable test suite to fix the build
(cherry picked from commit e960eb0bf5)
2017-09-09 17:08:44 +02:00
Aleksey Kladov
a6bba8335b lxqt-session: fix the build
closes #29130

(cherry picked from commit 6ce21acf32)
2017-09-09 16:14:27 +02:00
Tim Steinbach
e3fa7ef391 tests: xmonad less dependent on timings
(cherry picked from commit 84e34d4d5d)
2017-09-09 10:07:48 -04:00
Daiderd Jordan
7ccda60ea1 dibbler: fix darwin build
(cherry picked from commit 6226fd05ba)
2017-09-09 15:24:06 +02:00
Daiderd Jordan
ab0d743166 re2: fix dylib library id
(cherry picked from commit 6058539272)
2017-09-09 15:11:53 +02:00
Bjørn Forsman
cc601675e2 kicad: 4.0.6 -> 4.0.7
(cherry picked from commit 15c18cef3d)
2017-09-09 13:37:07 +02:00
Bjørn Forsman
2195b6b50e kicad: put the full version string in name
(cherry picked from commit dfbb710375)
2017-09-09 13:37:06 +02:00
Samuel Leathers
a342d6d780 slic3r: fix build with gcc6
(cherry picked from commit 707ee76522)
2017-09-09 09:56:19 +02:00
Nikolay Amiantov
85567a0941 gfortran: default to gfortran6
This is needed to be in sync with GCC. Fixes xgboost.

(cherry picked from commit 75b3113a4d)
2017-09-09 05:52:20 +03:00
Nikolay Amiantov
4652e1c5e0 openbrf: fix build
(cherry picked from commit b3c35a3974)
2017-09-09 05:52:18 +03:00
Daiderd Jordan
f665a37231 consul: fix output cycle on darwin
(cherry picked from commit cc7b771fcf)
2017-09-09 00:29:31 +02:00
Daiderd Jordan
8210e2a236 c3d: fix darwin build
(cherry picked from commit 25f74ecc8b)
2017-09-08 22:47:12 +02:00
Daiderd Jordan
18f6996169 gsc: fix darwin build
(cherry picked from commit 76437e5e5a)
2017-09-08 22:24:18 +02:00
Tom Saeger
043737b670 pythonPackages.dotfiles: 0.6.3 -> 0.6.4
(cherry picked from commit e1385f0a9461a1112c74f22f37ed3d56b5620770)
2017-09-08 22:07:05 +02:00
Spencer Baugh
065f9d7060 pythonPackages.linuxfd: init at 1.4.4
(cherry picked from commit 4978b204e3)
2017-09-08 22:03:44 +02:00
Robert Helgesson
399101c7a3 python-gst-python: fix pygi overrides dir path
Before it created a lib directory inside the lib directory.

(cherry picked from commit 23cc97f16b)
2017-09-08 21:56:26 +02:00
Daiderd Jordan
8926c06469 bigloo: use default stdenv
(cherry picked from commit 9e142e5a3e)
2017-09-08 21:50:37 +02:00
Daiderd Jordan
fc8634427a autotrace: fix darwin build
(cherry picked from commit a8382432d9)
2017-09-08 21:11:51 +02:00
Peter Simons
33bdb2715c Synchronize Haskell infrastructure with master at f93a019816. 2017-09-08 20:29:18 +02:00
PanAeon
3a3e0d8b04 update skypeforlinux to 5.4.0.1; Fix autologin issue (#29122)
skypeforlinux: 5.3.0.1 -> 5.4.0.1
(cherry picked from commit 5d1a8ecd91)
2017-09-08 18:25:20 +01:00
Thomas Tuegel
928a1ea373 dropbox: 33.4.23 -> 34.4.20
(cherry picked from commit a6fcd2ce2f)
2017-09-08 11:36:50 -05:00
Peter Hoeg
e7345735d3 rubygems: 2.6.10 -> 2.6.13
Fixes a number of CVEs:

- a DNS request hijacking vulnerability. (CVE-2017-0902)
- an ANSI escape sequence vulnerability. (CVE-2017-0899)
- a DoS vulnerability in the query command. (CVE-2017-0900)
- a vulnerability in the gem installer that allowed a malicious gem to overwrite arbitrary files. (CVE-2017-0901)

(cherry picked from commit 9f51b3c105)
2017-09-08 16:23:09 +01:00
Robin Gloster
36fd26a6ae dmtcp: 2.5.0 -> 2.5.1
(cherry picked from commit 04f456ef94)
2017-09-08 16:26:43 +02:00
Robin Gloster
b0664831b7 rosegarden: 15.08 -> 17.04
(cherry picked from commit 3d325000ab)
2017-09-08 16:26:35 +02:00
lassulus
c81b036f73 vbam: svn-1507 -> unstable-2017-09-04
(cherry picked from commit 2524e4cfd5)
2017-09-08 16:26:29 +02:00
Samuel Leathers
e1d0bf12a1 scorched3d: fixing build with gcc6
(cherry picked from commit dc15c15338)
2017-09-08 16:26:23 +02:00
romildo
b893ee4ae2 terminology: 1.1.0 -> 1.1.1
(cherry picked from commit dce314e55b)
2017-09-08 16:25:35 +02:00
Tim Steinbach
50e0deecaa atom: 1.19.4 -> 1.19.7
(cherry picked from commit 00829717e8)
2017-09-08 16:24:54 +02:00
Vladimír Čunát
4fe48dd356 factorio: fixup my eval fixup f9ea527a02
(cherry picked from commit 3a93d9c516)
2017-09-08 16:24:24 +02:00
Samuel Leathers
7e1f3592a4 xiphos: 4.0.3 -> 4.0.6
(cherry picked from commit 4bfa7d891f)
2017-09-08 16:24:09 +02:00
Samuel Leathers
22164c314b webkitgtk-2.17: init at 2.17.91
(cherry picked from commit e11c7399a0)
2017-09-08 16:24:00 +02:00
Samuel Leathers
201d7cddc6 gnome2.gtkhtml4: init at 4.10.0
(cherry picked from commit 2aa8bc45d3)
2017-09-08 16:23:27 +02:00
Franz Pletz
de7fb48967 searx: fix build
(cherry picked from commit 5901a645a8)
2017-09-08 16:23:14 +02:00
Franz Pletz
ba03b7195d atlassian-crowd: 2.12.0 -> 3.0.1
(cherry picked from commit 0ad1d8939f)
2017-09-08 16:23:06 +02:00
Matt McHenry
6e4a7e598a amarok: fixup by building with gcc-5
due to continued lack of progress on
https://github.com/NixOS/nixpkgs/issues/16588, probably not worth the
time for anything better.

Progress on: #28643

(cherry picked from commit af57251cb9)
2017-09-08 16:21:49 +02:00
Vladimír Čunát
683d7dbe0a factorio: use throw instead of abort
Otherwise if you try to listing all available packages, you will get a
hard error on platforms not supported by this package.  Consequently the
tarball job was broken.

(cherry picked from commit f9ea527a02)
2017-09-08 16:21:39 +02:00
zimbatm
6fde181321 yarn: 0.28.4 -> 1.0.1
(cherry picked from commit 2ae7e952b2)
2017-09-08 16:21:31 +02:00
Nikolay Amiantov
bab20afa84 python.pkgs.TheanoWithoutCuda: don't propagate stdenv
Fixes errors during buildEnv.

(cherry picked from commit db5a5ccf2b)
2017-09-08 16:19:27 +02:00
Nikolay Amiantov
ed566eae64 caffe: don't use CUDA by default
CUDA currently requires old GCC. Also, this way Caffe is usable without proprietary blobs.

(cherry picked from commit f1f944f23b)
2017-09-08 16:18:29 +02:00
Nikolay Amiantov
6d9c59bda4 python.pkgs.dlib: init at 19.6
(cherry picked from commit 5a2bb4c992)
2017-09-08 16:18:15 +02:00
Nikolay Amiantov
c17926b2c8 caffe: add Python support
Move to CMake in the process.

(cherry picked from commit c4bed3043d)
2017-09-08 16:17:55 +02:00
Nikolay Amiantov
040055b375 dlib: 19.4 -> 19.6
(cherry picked from commit eb6a8c3f52)
2017-09-08 16:17:44 +02:00
Nikolay Amiantov
ced1d50d8c bazel: 0.4.5 -> 0.5.4
(cherry picked from commit e5059a8739)
2017-09-08 16:17:32 +02:00
Nikolay Amiantov
f32122f98a caffe: 2015-07-02 -> 1.0-rc5
(cherry picked from commit 88641353d6)
2017-09-08 16:17:19 +02:00
Nikolay Amiantov
98ec5f7279 gcc7: 7.1.0 -> 7.2.0
(cherry picked from commit 1704eeb930)
2017-09-08 16:16:57 +02:00
Peter Hoeg
0e899275ea dict: enable the default upstream server so the client works out of the box
(cherry picked from commit 41e7e1304e)
2017-09-08 16:16:32 +02:00
Peter Hoeg
4519468090 syncthing: 0.14.36 -> 0.14.37
(cherry picked from commit e6c40a4dee)
2017-09-08 16:12:44 +02:00
Théo Zimmermann
ab410c3ac1 coq: fetch source from GitHub
(cherry picked from commit a26bbe547e)
2017-09-08 16:12:07 +02:00
Matthew Bauer
147047d72b pinentry-mac: no ‘fill plist’ stuff
fixes #26774

(cherry picked from commit 7f860249e1)
2017-09-08 16:11:50 +02:00
Tim Steinbach
e8e8c9b9c1 docker: Allow package selection in module
(cherry picked from commit 2bb57ef776)
2017-09-08 16:08:53 +02:00
Tim Steinbach
00bf522d58 Add XMonad test
(cherry picked from commit e153fa84a5)
2017-09-08 16:08:41 +02:00
Samuel Leathers
763020823a qucs: 0.0.18 -> 0.0.19
(cherry picked from commit 00753e078d)
2017-09-08 16:08:11 +02:00
Samuel Leathers
5eeab2372d adms: init at 2.3.6
(cherry picked from commit df1d5a4827)
2017-09-08 16:07:45 +02:00
Moritz Kiefer
aa527916df haskell/natural-transformation: add dependency on semigroups for GHC 7.10
(cherry picked from commit 243952d9d4)
2017-09-08 16:06:49 +02:00
José Luis Lafuente
13bc37120b mcomix: Disable test suite for now
Regression introduced by
94351197cd

Exactly the same problem (and solution) that here:
bd2aeb4883

(cherry picked from commit 4912c68aca)
2017-09-08 16:04:58 +02:00
Balletie
843b02c008 rtags: Fix configure phase errors
Add pkgconfig as buildinput, so that the install path is correctly set
with cmake. PkgConfig is an optional dependency for rtags, but they
say it's necessary if you want to replace the prefix with
CMAKE_INSTALL_PREFIX. See:
caad9ac494/cmake/BashCompletion.cmake (L13)

Furthermore, I let the configurePhase of the rtags emacs package be a
noop.

(cherry picked from commit 311a1ee33a)
2017-09-08 16:04:42 +02:00
Michael Raskin
65c34a8375 ocropus: 20150316 -> 20170811
(cherry picked from commit 036bafe0b9)
2017-09-08 16:03:51 +02:00
Michael Raskin
8c26ccac35 silgraphite: drop graphite1 (which had version 2.x)
(cherry picked from commit 6f740953e6)
2017-09-08 16:03:51 +02:00
Michael Raskin
9ba4e92fce vacuum: 1.2.4 -> 1.3.0.20160104
(cherry picked from commit fff500fc00)
2017-09-08 16:03:51 +02:00
Michael Raskin
3e70e3842c pythonPackages.wptserve: make python2-only (upstream uses relative import in the latest release)
(cherry picked from commit f20ccd4b5e)
2017-09-08 16:03:51 +02:00
Michael Raskin
308d3752df pythonPackages.manifestparser: make python2-only
(cherry picked from commit cca09d8067)
2017-09-08 16:02:47 +02:00
Michael Raskin
66070e0c70 pythonPackages.browsermob-proxy: make python2-only
(cherry picked from commit ad44a76005)
2017-09-08 16:02:38 +02:00
Cray Elliott
f4189a8f56 winetricks: 20170614 -> 20170823
(cherry picked from commit f03964ff7c)
2017-09-08 16:01:39 +02:00
Jaka Hudoklin
24f637915e spice-vdagent: systemd-logind integration
This change adds systemd as dependency to enable user session
integration with systemd-logind

(cherry picked from commit 3ca311d74d)
2017-09-08 16:01:19 +02:00
yesbox
ff3f831243 sonarr: 2.0.0.4928 -> 2.0.0.4949
(cherry picked from commit 5059db823a)
2017-09-08 16:01:03 +02:00
Andreas Rammhold
02e47908aa rustup: 1.2.0 -> 1.3.0
(cherry picked from commit 14c3ce919b)
2017-09-08 16:00:41 +02:00
Cray Elliott
7b890e2e1f nvidia-x11: 375.66 -> 384.69
(cherry picked from commit 6df5f88aca)
2017-09-08 16:00:29 +02:00
Eric Litak
a9af2309a7 factorio: 0.15.33 -> 0.15.34
(cherry picked from commit 2164c01a53)
2017-09-08 16:00:04 +02:00
Eric Litak
d1cc587512 factorio: refactored the arch+version abstraction
(cherry picked from commit 02d715d29b)
2017-09-08 15:59:56 +02:00
WilliButz
f0369b8c1e grafana: 4.3.2 -> 4.4.3
(cherry picked from commit 226a20117d)
2017-09-08 15:59:37 +02:00
Ryan Mulligan
327e0913e8 truecrypt: fix build with gcc6 patch
The build was failing with gcc 6.4.0; using the samee gcc6 patch Arch
Linux uses fixed the build.

This commit also refactors out the builder.sh possibly fixing the
NOGUI make flag option.

(cherry picked from commit 8b0de80e55)
2017-09-08 11:53:28 +01:00
Frederik Rietdijk
85a1d86d93 Revert "python.pkgs.buildPythonPackage: use distutils-cfg to block downloads, fixes #25428"
This reverts commit b73e3bfafd.

See https://github.com/NixOS/nixpkgs/issues/29103

(cherry picked from commit c3a0c3c9f1)
2017-09-08 08:55:52 +02:00
Vladimír Čunát
399b6100c2 nixos/mfi: fix eval after removal 7ffc6db733 2017-09-08 08:41:06 +02:00
Vladimír Čunát
9efe46d94d Merge #28906: glibc: 2.25 -> 2.25-49 (upstream patches)
(cherry picked from commit 0c660ad42f)
2017-09-07 23:34:43 +02:00
Frederik Rietdijk
722c328a22 Revert "python.pkgs.pybfd: mark as broken"
This reverts commit 2f5ee4989a.

Package is no longer broken since 460df30bd8 was reverted.
2017-09-07 22:27:55 +02:00
Bjørn Forsman
0a94033ab5 perlPackages.BoostGeometryUtils: unbreak build
Set LD=$CC to fix this build error:

...
ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/Boost/Geometry/Utils/Utils.bs')
ld -shared -O2 -L/nix/store/sgjc1147vi5hd57ck9xgck5xjkydg5lz-glibc-2.25/lib -fstack-protector-strong -o blib/arch/auto/Boost/Geometry/Utils/Utils.so buildtmp/Utils.o -lstdc++
buildtmp/Utils.o: In function `_GLOBAL__sub_I_Utils.c':
Utils.c:(.text.startup+0x1a): undefined reference to `__dso_handle'
/nix/store/yf4p5w2v4h4i8rja9zw1akp007av624j-binutils-2.28.1/bin/ld: buildtmp/Utils.o: relocation R_X86_64_PC32 against undefined hidden symbol `__dso_handle' can not be used when making a shared object
/nix/store/yf4p5w2v4h4i8rja9zw1akp007av624j-binutils-2.28.1/bin/ld: final link failed: Bad value
error building blib/arch/auto/Boost/Geometry/Utils/Utils.so from buildtmp/Utils.o at /nix/store/7q2hps69zkj501lsmvnd2ry95mmdbh80-perl-5.24.2/lib/perl5/5.24.2/ExtUtils/CBuilder/Base.pm line 321.
builder for ‘/nix/store/bdwqvgxlgcqsmlqfh0d74jkpw96p78kh-perl-Boost-Geometry-Utils-0.15.drv’ failed with exit code 2
error: build of ‘/nix/store/bdwqvgxlgcqsmlqfh0d74jkpw96p78kh-perl-Boost-Geometry-Utils-0.15.drv’ failed

(cherry picked from commit c24820db93)
2017-09-07 21:53:01 +02:00
Bjørn Forsman
4b28be5f10 nixos/postfix: undo deprecation of extraConfig, extraMasterConf
I realize that advanced users like to configure services with Nix
attrsets, but I don't think we should remove the option to use the
(configuration) language provided by upstream.

(cherry picked from commit eed14baec3)
2017-09-07 21:46:13 +02:00
Robin Gloster
670c641c03 tcpdump: 4.9.1 -> 4.9.2
This is a security release theoretically under emgargo, but leaked by
Mageia and Fedora.

We have permission to deliver this prior to public release.

(cherry picked from commit 993a83d395)
2017-09-07 21:39:12 +02:00
Jörg Thalheim
2cfba17936 mfi: remove
(cherry picked from commit 6b6ffd5b21)
2017-09-07 20:34:45 +01:00
Jörg Thalheim
7ffc6db733 nixos/mfi: remove
(cherry picked from commit 6f0b538044)
2017-09-07 20:34:45 +01:00
Jörg Thalheim
dc8bd23dce v8: remove 3.14.5.10
was only used by mongodb248

(cherry picked from commit 9ee5727459)
2017-09-07 20:34:44 +01:00
Jörg Thalheim
e6bf7dfd5f mongodb248: remove
reason: build fails in hydra
Do still need this and want to maintain this @elitak?

(cherry picked from commit 382afe8c62)
2017-09-07 20:34:44 +01:00
Frederik Rietdijk
32f2eadbe4 Merge pull request #29072 from FRidh/python-fixes-3
Python: several fixes (3)
(cherry picked from commit 56c56fb414)
2017-09-07 19:27:12 +02:00
Nikolay Amiantov
4e6c92d548 python.pkgs.protobuf: fix build
(cherry picked from commit 4999aeb7b7)
2017-09-07 18:13:41 +02:00
Tim Steinbach
283d969a9c linux: 4.9.47 -> 4.9.48
(cherry picked from commit dc8b228a89)
2017-09-07 10:31:24 -04:00
Tim Steinbach
d144cabba9 linux: 4.12.10 -> 4.12.11
(cherry picked from commit a1912c9eb4)
2017-09-07 10:31:23 -04:00
Eelco Dolstra
460df30bd8 Revert "Merge pull request #28557 from obsidiansystems/binutils-wrapper"
This reverts commit 0a944b345e, reversing
changes made to 61733ed6cc.

I dislike these massive stdenv changes with unclear motivation,
especially when they involve gratuitous mass renames like NIX_CC ->
NIX_BINUTILS. The previous such rename (NIX_GCC -> NIX_CC) caused
months of pain, so let's not do that again.

(cherry picked from commit ec8d41f08c)
2017-09-07 12:53:33 +02:00
Frederik Rietdijk
2f5ee4989a python.pkgs.pybfd: mark as broken 2017-09-07 12:48:31 +02:00
Frederik Rietdijk
c51b089392 Merge pull request #29009 from FRidh/python-fixes-2
Python: several fixes (2)
(cherry picked from commit aabadda0c2)
2017-09-07 10:23:26 +02:00
Peter Hoeg
165fa89762 arc-theme: Fix build with gnome 3.24
(cherry picked from commit fefdc00c52)
2017-09-07 16:00:24 +08:00
Tim Steinbach
b50193f0ca tests: Fix hibernate
(cherry picked from commit 024b501907)
2017-09-06 22:02:41 -04:00
Daiderd Jordan
a6c29020c1 ucl: only pass -stc=c90 when using gcc
Also remove -fPIC, it's included in the hardening flags by default.

(cherry picked from commit 51eafbe028)
2017-09-06 21:55:10 +02:00
Tim Steinbach
de2697ea78 docker: 17.06.1-ce -> 17.06.2-ce
(cherry picked from commit 8bd1a220d9)
2017-09-06 15:05:10 -04:00
John Ericson
a23b5a1c8b macos-sierra-shared: Fix, after binutils-wrapper broke it
cctool's as needs to be told use to use gnu as, or else we'd need a
dependency cycle between cctools and clang for this case.

In general, this is not a problem because clang uses its own integrated
assembler where possible, and gnu as otherwise.

(cherry picked from commit eb326c9cb7)
2017-09-06 14:29:23 -04:00
Frederik Rietdijk
e1d6d735b9 python.pkgs.pytest-warnings: fix homepage, fixes eval
(cherry picked from commit dcbf59d8a7)
2017-09-06 20:18:24 +02:00
Markus Hauck
58ed8fa77a rawtherapee: 5.0-r1 -> 5.2
(cherry picked from commit 572361f396)
2017-09-06 19:42:26 +02:00
pbogdan
7b174993b9 nixos/fontconfig: fix substitutions option (#28895)
(cherry picked from commit 94a4183bda)
2017-09-06 19:23:45 +02:00
makefu
e642c7607c dnscrypt-wrapper module: fix permissions and options
When keys get refreshed a folder with the permissions of the root user
get created in the home directory of the user dnscrypt-wrapper. This
prevents the service from restarting.

In addition to that the parameters of dnscrypt-wrapper have
changed in upstream and in the newly packaged software.

(cherry picked from commit ca54a86162)
2017-09-06 19:23:43 +02:00
Orivej Desh
51cede6eab tiled: 1.0.1 -> 1.0.3
(cherry picked from commit cf6f900989)

Contains quite a few bug fixes
2017-09-06 19:23:38 +02:00
Tim Steinbach
5addd12c9b i3-gaps: Install man pages properly
(cherry picked from commit 41d9884067)
2017-09-06 10:20:04 -04:00
Frederik Rietdijk
52fa67fddd Merge pull request #28884 from FRidh/python-fixes
Python: several fixes
(cherry picked from commit 67651d80bc)
2017-09-06 15:23:07 +02:00
wisut hantanong
ea825f78d1 pythonPackages.pyshp : move to separate expression
(cherry picked from commit 489bfcfa0f)
2017-09-06 15:22:55 +02:00
wisut hantanong
63e363f374 pythonPackages.tempora : move to separate expression
(cherry picked from commit 43acfe0f49)
2017-09-06 15:20:20 +02:00
wisut hantanong
444839b310 pythonPackages.pyrr : move to separate expression
(cherry picked from commit b9eebaf8bb)
2017-09-06 15:19:30 +02:00
Joachim Fasting
20f4bfd81a tinycc: 0.9.27pre-20170710 -> 0.9.27pre-20170821
(cherry picked from commit 004463152a)
2017-09-06 07:09:04 +02:00
Joachim Fasting
9da9004062 tor-browser-bundle-bin: 7.0.4 -> 7.0.5
(cherry picked from commit 5113be54a4)
2017-09-06 07:08:57 +02:00
John Ericson
28e46e2388 mplayer: depsBuildBuild isn't (yet) a parameter, so don't use it
Thanks @dezgeg for catching my error.

(cherry picked from commit f152a5d7bb)
2017-09-06 00:37:30 -04:00
John Ericson
601e989d43 zile: disable help2man for cross builds
@dezgeg caught my error--the issue isn't building help2man, but running
it on cross-compiled binaries.

This effectively reverts 0825f30fd2 as
far as behavior is concerned, but keeps the removal of `crossAttrs`.

(cherry picked from commit 28e4975bd1)
2017-09-06 00:31:40 -04:00
Daiderd Jordan
171cc193b8 afl: use clangStdenv
Fixes #28712

(cherry picked from commit 8706664ff6)
2017-09-05 22:01:44 +02:00
Daiderd Jordan
dcaa3fdb84 clang-stdenv: use libstdcxxHook when targeting linux
(cherry picked from commit 907222098a)
2017-09-05 21:48:50 +02:00
Daiderd Jordan
356a0c8de6 libstdc++: add setup-hook
(cherry picked from commit 0ea92a3c24)
2017-09-05 21:48:49 +02:00
Samuel Leathers
1134b9e2d0 libfpx: fix build with gcc6
(cherry picked from commit 402e6ac089)
2017-09-05 21:43:11 +02:00
John Ericson
d94110403e haskell infra: Make sure packages get custom stdenv
One of the goals of 74f5fe5 was to allow passing in a custom stdenv,
which would be used for genericBuilder's `mkDerivation` call. That does
work, but if packages takes `stdenv` as an parameter for any reason,
they'll get the default one instead. This change remedies it.

(cherry picked from commit 19de1f537e)
2017-09-05 15:35:57 -04:00
Franz Pletz
6d8a5d7851 file: 5.31 -> 5.32 for CVE-2017-1000249
(cherry picked from commit 84ec7ef6c3)
2017-09-05 20:23:00 +02:00
John Ericson
ae2b248bf7 mplayer: Simplify cross, no crossAttrs or crossConfig
(cherry picked from commit 10b2bb8288)
2017-09-05 14:06:13 -04:00
John Ericson
6bb6587953 links 2: Simplify cross, no crossAttrs or crossConfig
(cherry picked from commit 5de3b11960)
2017-09-05 14:06:13 -04:00
John Ericson
40ada2dac9 elinks: Simplify cross, no crossAttrs or crossConfig
(cherry picked from commit 8babcd4d2b)
2017-09-05 14:06:13 -04:00
John Ericson
d0fc9587bd zile: help2man is no longer likely to cause problems
(cherry picked from commit 0825f30fd2)
2017-09-05 14:06:13 -04:00
Franz Pletz
a5a6cd017a postgresql92: remove last references
(cherry picked from commit 279db6966ef89bd8096634fdb5a5ec77dd06a228)
2017-09-05 18:20:05 +02:00
Franz Pletz
bc36e9184a postgresql9{1,2}: fix evaluation
(cherry picked from commit 59bed53f3c)
2017-09-05 18:20:05 +02:00
Piotr Bogdan
6ba56fe18e caps: fix build with gcc6
(cherry picked from commit 3d8d9aa1dd)
2017-09-05 18:07:42 +02:00
Franz Pletz
f24a7f6fa8 i3: install manpages
cc #28976

(cherry picked from commit 101a048f95)
2017-09-05 18:04:11 +02:00
Franz Pletz
c37b132cff postgresql96: 9.6.3 -> 9.6.5
(cherry picked from commit 4743d77e57)
2017-09-05 18:04:11 +02:00
Franz Pletz
97ab9b57a9 postgresql95: 9.5.7 -> 9.5.9
(cherry picked from commit 1b0acfed50)
2017-09-05 18:04:11 +02:00
Franz Pletz
1d2ddfe7d1 postgresql94: 9.4.12 -> 9.4.14
(cherry picked from commit df0b19aedc)
2017-09-05 18:04:10 +02:00
Franz Pletz
204a1ac4d4 postgresql93: 9.3.17 -> 9.3.19
(cherry picked from commit 8b930e716a)
2017-09-05 18:04:10 +02:00
Franz Pletz
38e18a141d postgresql9{1,2}: remove, not supported anymore
See https://www.postgresql.org/support/versioning/.

(cherry picked from commit dbf6e367e8)
2017-09-05 18:04:10 +02:00
Tim Steinbach
e53117c2c0 i3: 4.13 -> 4.14
(cherry picked from commit ce38725162)
2017-09-05 18:04:06 +02:00
Tim Steinbach
83bef527f7 py3status: 3.0 -> 3.6
(cherry picked from commit 36ee9dcf70)
2017-09-05 18:04:06 +02:00
Samuel Leathers
c296005ad0 lenmus: fixing build with gcc6
(cherry picked from commit bd540d9370)
2017-09-05 18:04:05 +02:00
Michel Kuhlmann
f451490389 saga: 2.3.1 -> 5.0.0
(cherry picked from commit 7a96ec95bf)
2017-09-05 18:04:05 +02:00
Fatih Altinok
b5e566dff9 flow: 0.49.1 -> 0.54.0
(cherry picked from commit ec39670290)
2017-09-05 18:03:32 +02:00
Gabriel Adomnicai
65f47e95bf mmake: init at 1.2.0 (#28904)
* Package for mmake

* Package for mmake - build from sources

* Package name update

* Added maintainers

(cherry picked from commit 7c08e86be9)
2017-09-05 18:03:32 +02:00
Michael Alan Dorman
53ad9a097b melpa-packages: 2017-09-04
(cherry picked from commit 12e1a2b186)
2017-09-05 18:03:31 +02:00
Michael Alan Dorman
a026fad3a4 melpa-stable-packages: 2017-09-04
(cherry picked from commit cb04086a96)
2017-09-05 18:03:31 +02:00
Michael Alan Dorman
33f5cc8de8 org-packages: 2017-09-04
(cherry picked from commit e010d2d2cb)
2017-09-05 18:03:31 +02:00
Michael Alan Dorman
e0d1da48a0 elpa-packages: 2017-09-04
(cherry picked from commit 4216546642)
2017-09-05 18:03:30 +02:00
SLNOS
20f2b1ffaa firefoxPackages: tor-browser: 6.5.2 -> 7.0.1, keep 6.5.2
(cherry picked from commit 26cf9e33fa)
2017-09-05 18:01:39 +02:00
SLNOS
58d947a4fe firefoxPackages: tor-browser: reorganize expression
(cherry picked from commit 513341434c)
2017-09-05 18:01:39 +02:00
SLNOS
f7d0f713a8 firefoxPackages: add extraMakeFlags to common builder, fix official branding handling
(cherry picked from commit a681afb8f1)
2017-09-05 18:01:39 +02:00
SLNOS
886ab96d1a firefoxPackages: add extraConfigureFlags to common builder, move --disable-loop flag to tor-browser expression
(cherry picked from commit 344fbb5ddb)
2017-09-05 18:01:38 +02:00
José Luis Lafuente
431f24ee4f hyper: 1.3.3 -> 1.4.3
(cherry picked from commit 1db53fb938)
2017-09-05 18:01:38 +02:00
Samuel Leathers
2efe24ca13 libctemplate: remove 2.2
(cherry picked from commit 896f0daa1a)
2017-09-05 16:45:08 +01:00
Samuel Leathers
b5f5583bdc stunt rally: fixing build with gcc6
(cherry picked from commit 2134b928ec)
2017-09-05 16:37:42 +01:00
Lukas Werling
eba2aed324 x2goclient: 4.0.5.1 -> 4.1.0.0
Add openssh as dependency for sftp-server. When connecting, x2goclient
crashes if it can't find that executable.

(cherry picked from commit a8aef188c8)
2017-09-05 15:25:51 +01:00
Samuel Leathers
9e50f29525 herqq: 1.0.0 -> 2.1.0
(cherry picked from commit 4151e2f579)
2017-09-05 15:27:52 +02:00
Laure Tavard
941e5f65be cdo: init at 1.7.2 (#22496)
(cherry picked from commit bf491f8794)
2017-09-05 14:43:49 +02:00
Robin Gloster
9e66acf8d1 jenkins: 2.73 -> 2.77
(cherry picked from commit 8502d94b31)
2017-09-05 14:43:42 +02:00
Robin Gloster
f307c3ed69 bwa: 0.7.15 -> 0.7.16a
(cherry picked from commit a0967948d9)
2017-09-05 14:43:42 +02:00
Jörg Thalheim
e9f8acfbeb linux_chromiumos_3_18: remove kernel due lack of maintainer/breakage
There is no maintainer for this package, probably not many users.
It requires effort to fix all third-party modules for this old kernel
versions. It might contain unpatched security holes.

For Pixel chromebooks, we have the samus-kernel.
Apart from that https://github.com/GalliumOS/linux might be a good choice.

(cherry picked from commit 44f93731d6)
2017-09-05 14:43:42 +02:00
Peter Hoeg
4fd60bf174 ktorrent: 5.0.1 -> 5.1.0
(cherry picked from commit 17f4cb4eb8)
2017-09-05 14:28:28 +02:00
Peter Hoeg
c5e2076a21 libktorrent: 2.0.1 -> 2.1
(cherry picked from commit 82e0b910e7)
2017-09-05 14:28:27 +02:00
Franz Pletz
cdd2a69447 ffmpeg_2_8: 2.8.11 -> 2.8.13
(cherry picked from commit 85cffcfce0)
2017-09-05 14:28:19 +02:00
Franz Pletz
49408358f5 libav_12: 12 -> 12.1
(cherry picked from commit b1e9eff33e)
2017-09-05 14:28:19 +02:00
Franz Pletz
32cf375642 kismet: 2013-03-R1b -> 2016-07-R1
(cherry picked from commit 95d18f3509)
2017-09-05 14:28:18 +02:00
Franz Pletz
bb5ce1654f capnproto: 0.6.0 -> 0.6.1
(cherry picked from commit 3352cfc597)
2017-09-05 14:28:18 +02:00
Franz Pletz
4fbd803a04 can-utils: 20140427 -> 20170830
(cherry picked from commit bdd7630b53)
2017-09-05 14:28:18 +02:00
Franz Pletz
ed220780be cadvisor: 0.23.8 -> 0.26.1
(cherry picked from commit 6f7f5b5c85)
2017-09-05 14:28:17 +02:00
Franz Pletz
fd51bd8501 babeltrace: 1.2.4 -> 1.5.3
(cherry picked from commit c6e5fc0b36)
2017-09-05 14:28:17 +02:00
Franz Pletz
e48446fc21 avro-cpp: 1.8.1 -> 1.8.2
(cherry picked from commit 0c08a18f19)
2017-09-05 14:28:17 +02:00
Franz Pletz
0582995d67 avidemux: 2.6.20 -> 2.7.0
(cherry picked from commit df92ed29a5)
2017-09-05 14:28:16 +02:00
Franz Pletz
7205373a87 autoconf-archive: 2016.09.16 -> 2017.03.21
(cherry picked from commit 1c4d28539f)
2017-09-05 14:28:16 +02:00
Franz Pletz
50891380f5 audio-recorder: 1.9.4 -> 1.9.7
(cherry picked from commit 69549aeee5)
2017-09-05 14:28:16 +02:00
Franz Pletz
94bfbac7b8 at: 3.1.16 -> 3.1.20
(cherry picked from commit 00a9902297)
2017-09-05 14:28:15 +02:00
Gabriel Ebner
73d472999e eprover: 1.9.1 -> 2.0
(cherry picked from commit b2eff3c60d)
2017-09-05 14:28:15 +02:00
Franz Pletz
3d83c82dbf tcpdump: fix multiple CVEs
Fixes CVE-2017-11541, CVE-2017-11542, CVE-2017-11543.

Also fixes a segfault if built with openssl 1.1.

(cherry picked from commit a46f206271)
2017-09-05 13:11:29 +02:00
Franz Pletz
c6b5b198ac aptly: 1.0.1 -> 1.1.1
(cherry picked from commit f8ff9a783f)
2017-09-05 13:11:29 +02:00
Franz Pletz
db84535738 asterisk-lts: 13.15.0 -> 13.17.1
(cherry picked from commit 9d7425052b)
2017-09-05 13:11:29 +02:00
Franz Pletz
a812bc0fde asterisk-stble: 14.6.0 -> 14.6.1
(cherry picked from commit abba0b15d8)
2017-09-05 13:11:28 +02:00
Franz Pletz
dd788df85f advancecomp: 1.23 -> 2.0
(cherry picked from commit a5e9a31fb5)
2017-09-05 13:11:28 +02:00
Franz Pletz
153b9e02d3 connman: 1.34 -> 1.35
Fixes CVE-2017-12865, see http://connmando.nri-secure.co.jp/index.html.

Fixes #28967.

(cherry picked from commit 7753daa204)
2017-09-05 12:14:56 +02:00
Kamil Chmielewski
251ec42ecc ponyc: 0.18.1 -> 0.19.0
https://github.com/ponylang/ponyc/issues/2209
(cherry picked from commit b80c3646c2)
2017-09-05 12:14:44 +02:00
catern
08728dd9eb offlineimap: add Kerberos support
(cherry picked from commit b5eb923bc7)
2017-09-05 12:14:32 +02:00
catern
bd9abb16ce mutt: add Kerberos support
(cherry picked from commit bf33bf525d)
2017-09-05 12:14:17 +02:00
Ioannis Koutras
f76a08e461 skrooge: 2.8.1 -> 2.9.0
(cherry picked from commit c256e8f398)
2017-09-05 12:13:46 +02:00
Gabriel Gonzalez
0db8f35b7d Statically link dhall-* executables
This change statically links the `dhall-*` family of executables so that
they start up more quickly on NixOS.  This also updates the `dhallToNix`
utility to use the statically linked `dhall-to-nix` executable

(cherry picked from commit fd2c8d0a00)
2017-09-05 12:13:00 +02:00
Profpatsch
24071cbc19 Revert "dhall: add a static top-level executable for dhall"
This reverts commit 11cd027b30.

There is a more extensive PR.

(cherry picked from commit ffa631dd39)
2017-09-05 12:12:53 +02:00
Peter Hoeg
531d3792ad netalyzr: init at 57861
(cherry picked from commit 62ff6cb69c)
2017-09-05 12:12:18 +02:00
Vladimír Čunát
42c68301f4 maxx: license fixups
The main thing is that I'm convinced the license can't be free when it
restricts redistribution to certain platforms.  That probably holds with
the usual definitions like from Debian, FSF or OSI.

(cherry picked from commit 8414d8386b)
2017-09-05 12:11:30 +02:00
adisbladis
dbf7ed1306 go-ethereum: 1.6.6 -> 1.6.7
(cherry picked from commit 1b709c981c)
2017-09-05 08:49:11 +01:00
Samuel Leathers
a8a33fe284 srcml: fix build with gcc6
(cherry picked from commit d93e2ccdd0)
2017-09-05 07:40:49 +01:00
Peter Hoeg
5ab8db6599 dbus-broker: meson and ninja hooks handle most things for us
(cherry picked from commit 6f6a7aae8f)
2017-09-05 09:53:48 +08:00
Vladimír Čunát
ae0babcb63 licenses: fix fullName capitalization
inspired by repology.org

(cherry picked from commit 65f6e6ccb6)
2017-09-05 00:22:26 +02:00
Jörg Thalheim
eee2d17446 mitmproxy: unicode locales, skip network test
(cherry picked from commit 73c6284c2e)
2017-09-04 22:48:21 +01:00
Michele Catalano
288d1d1780 nexus: Add module for nexus.
Add also myself as maintainer
Add simple test of the nexus service

(cherry picked from commit 4ea1d49643)
2017-09-04 23:16:41 +02:00
Michele Catalano
b922f949e2 nexus: 2.12.0-01 -> 3.5.1-02
Update Nexus to version 3.5.1-02 and fix startup stript to run in nix
environment.

(cherry picked from commit e783c2b39c)
2017-09-04 23:16:32 +02:00
Profpatsch
0ad86858e7 dhall: add a static top-level executable for dhall
cc @Gabriel439

(cherry picked from commit 11cd027b30)
2017-09-04 23:16:25 +02:00
Jaka Hudoklin
1a3596a862 tor-browser: allow to pass TOR_CONTROL_PORT and TOR_SOCKS_PORT
(cherry picked from commit 0347659542)
2017-09-04 23:16:08 +02:00
Tim Steinbach
d903f48495 alacritty: 2017-08-28 -> 2017-09-02
(cherry picked from commit 0e8875285a)
2017-09-04 23:15:45 +02:00
Michael Weiss
7861d1b0a6 glances: 2.10 -> 2.11
(cherry picked from commit d70331ca61)
2017-09-04 23:14:29 +02:00
zraexy
c44d879fec ardour: fix desktop file icon path
(cherry picked from commit 1f67b17daf)
2017-09-04 23:11:44 +02:00
Felix Singer
5c237e40c7 Update homepage link of Mumble
(cherry picked from commit f37f8c4b4b)
2017-09-04 23:11:30 +02:00
Piotr Bogdan
4c587d06fc pr template: make formatting consistent
(cherry picked from commit e221d945ad)
2017-09-04 23:11:16 +02:00
aszlig
e067351e75 xournal: 0.4.8 -> 0.4.8.2016
Upstream bug fixes:

  * pen and touchscreen input handling bugfixes
  * fix a minor bug with save file paths in Windows (D. German)
  * use GDK macros (not WIN32) to disable X11-specific code (T.
    Schoonjans)
  * export to PDF and printing: fix resolution loss on some pdf
    backgrounds
  * disable xinput during modal dialog boxes
  * avoid data corruption when exporting to overwrite a PDF
  * fix path search order for toolbar bitmaps
  * text and image tools activate on button release instead of button
    press to avoid subsequent confusion between clicks in toolbar and
    drawing area
  * fix "pen disable touch" when touchscreen sends prox events (A.
    Kittenberger)
  * fix crash when pasting text or images via xclip
  * updated Italian translation (Marco Ciampa)

New upstream features:

  * add space and shift-space bindings to page down/up (D. German)
  * add A5 paper (D. German)
  * config option to export successive layers to separate PDF pages
  * config option to create new file when trying to open non-existent
    .xoj

The full change log along with bug numbers can be found at:

https://sourceforge.net/p/xournal/code/ci/Release-0_4_8_2016/tree/ChangeLog

I've dropped gdk-quartz-backend.patch, because I believe it has been
fixed upstream.

Here are the upstream changes relevant for the patch (shortened, because
SourceForge has really long URLs):

  http://bit.ly/2vXW8n0 -> src/Makefile.am
  http://bit.ly/2gDnjl7 -> src/xo-file.c
  http://bit.ly/2xJ5K7A -> src/xo-misc.c

Tested building and using the application.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @7c6f434c, @dguibert
Cc: @johbo who has introduced the patch in #21842
(cherry picked from commit 8436e9bfcd)
2017-09-04 23:11:08 +02:00
Piotr Bogdan
7c29204edd allegro: fix sandboxed build with nixUnstable
In Nix 1.12 sandboxed builds are performed in /build/ directory which conflicts
with the regex in docs/CMakeLists.txt, and generated documentation ends up in
wrong directory -> https://hydra.nixos.org/build/53914969/nixlog/1 -> CTRL-F
abi.txt

(cherry picked from commit e22a77217d)
2017-09-04 23:10:14 +02:00
Vincent Laporte
ba1645d804 coqPackages: remove duplication in mkCoqPackages
(cherry picked from commit ebce795c5c)
2017-09-04 23:09:57 +02:00
Cray Elliott
a5fa58ef45 mwprocapture: fix build with kernels <4.13
also do some minor cleanup

(cherry picked from commit 1af75ba802)
2017-09-04 23:09:42 +02:00
Cray Elliott
9c2c4e7220 mwprocapture: 1.2.0.3269 -> 1.2.0.3589
remove linux 4.11 patch as it was included upstream, include
a new patch needed for linux 4.13

(cherry picked from commit deb50bcdc7)
2017-09-04 23:09:30 +02:00
Peter Hoeg
225f26b610 zeal: 0.3.1 -> 0.4.0
Also switch to cmake and remove the ads that are now otherwise being loaded.

(cherry picked from commit c4265cd7ee)
2017-09-04 23:05:11 +02:00
Jaka Hudoklin
4d36f29e35 tor-browser: allow to pass TOR_SKIP_LAUNCH
(cherry picked from commit ff1b18a455)
2017-09-04 23:03:55 +02:00
Jaka Hudoklin
a1415df71f nixos/xpra: allow to set extra options (#28934)
(cherry picked from commit 4521225d22)
2017-09-04 23:00:54 +02:00
Tim Steinbach
a98c19fe2c Merge pull request #28991 from copumpkin/backport-coreutils-fix-17.09
coreutils: fix on Darwin
2017-09-04 16:10:55 -04:00
John Ericson
14fbe46429 gcc-4.5: Fix typo
(cherry picked from commit 6a089581f8)
2017-09-04 15:53:31 -04:00
Dan Peebles
4951f1f01c coreutils: fix on Darwin
This patch doesn't apply because it's already applied upstream
2017-09-04 14:16:14 -04:00
Matt McHenry
cb9eb2147e pfixtools: patch to work with gcc 6
Progress on: #28643
fixes #28984

(cherry picked from commit dbf97a5afe)
2017-09-04 18:38:11 +01:00
Piotr Bogdan
4c749bd913 mps: 1.115.0 -> 1.116.0
1.115.0 doesn't build with gcc6

(cherry picked from commit fc391e7ecd)
2017-09-04 20:15:30 +03:00
Samuel Leathers
3c252dc092 libmatheval: use guile 2.0
(cherry picked from commit 6e546a514c)
2017-09-04 20:07:12 +03:00
Tuomas Tynkkynen
dd83fb4354 openlierox: Fix build
(cherry picked from commit eecf9c5bb6)
2017-09-04 20:03:53 +03:00
volth
5b3e9051a0 proggyfonts: fix output hash
See PR #28960 for details about the problem. There is some
non-determinism surrounding copies of the Speedy/Speedy11 font, so
deleting one makes it deterministic again without losing anything.

(cherry picked from commit 7d231c5435)
2017-09-04 17:55:44 +01:00
Tuomas Tynkkynen
5cb9987920 tpm-tools: 1.3.8 -> 1.3.9.1, fixes build
(cherry picked from commit 5f8e6a4fe1)
2017-09-04 19:15:47 +03:00
Tuomas Tynkkynen
4bba234334 apple-source-releases: Add some meta.platforms
Or Hydra tries to build them on Linux...

(cherry picked from commit e6a83ed89c)
2017-09-04 19:06:28 +03:00
Tuomas Tynkkynen
1b55440982 mdadm4: Fix build by including change from 7d010ab5f4
And drop `-std=gnu89` while at it.

(cherry picked from commit 19387e3123)
2017-09-04 18:57:00 +03:00
John Ericson
d07d5d4c41 top-level, linux stdenv make boootstrap tools: Fix eval
Now the NixOS tarball job succeeds again

(cherry picked from commit 9a1b7cf2ae)
2017-09-04 11:40:10 -04:00
John Ericson
b3e5bda94f binutils-wrapper: Accidentally deleted macOS Sierra reexport hack
Did this when spliting off binutils-wrapper from cc-wrapper in
40e9b2a7e6: I deleted the file instead of
moving it.

(cherry picked from commit 3601a97e3c)
2017-09-04 11:40:09 -04:00
Tim Steinbach
1d9b98fa14 linux-copperhead: 4.12.10.a -> 4.13.a
(cherry picked from commit 967077537b)
2017-09-04 11:09:48 -04:00
Robin Gloster
49cdcb3468 ruby-modules grpc: fix merge 2017-09-04 14:38:41 +02:00
Tim Steinbach
67c46eff00 linux: Add 4.13
(cherry picked from commit c1e2a0b6f4)
2017-09-03 19:42:12 -04:00
Vladimír Čunát
f09532817d Merge #28946: nixos doc: update glibc locales link
(cherry picked from commit b41d33319c)
2017-09-03 23:04:04 +02:00
Jörg Thalheim
c22764892c nestopia: fix icon theme
(cherry picked from commit 4b10de8182)
2017-09-03 17:14:16 +01:00
Samuel Leathers
b9f56a420a nestopia: 1.46.2 -> 1.47
(cherry picked from commit 7d54467ad0)
2017-09-03 17:14:12 +01:00
John Ericson
300627b46f doc: Document Binutils Wrapper
Shrunk the CC Wrapper documentation so as not to be repetative.

(cherry picked from commit 44cc709e29)
2017-09-03 11:30:38 -04:00
John Ericson
b852d2bf53 rpm: Fix to get raw binutils for headers
(cherry picked from commit b298916442)
2017-09-03 11:30:38 -04:00
John Ericson
cf9e40252b gcc_multi: Fix so binutils wrapper also has glibc_multi
(cherry picked from commit ce359d49fb)
2017-09-03 11:30:38 -04:00
John Ericson
f1c6e057e8 darwin binutils: Unwrap GNU Binutils before splicing with cctools
(cherry picked from commit b64736a8e4)
2017-09-03 11:30:38 -04:00
John Ericson
28952795b7 binutils-wrapper: Import separately from cc-wrapper
(cherry picked from commit dbf6d20d64)
2017-09-03 11:30:38 -04:00
John Ericson
89481b70ea misc pkgs: Use $NIX_BINUTILS for when needed
Certain files are now only there instead of $NIX_CC (some are in both)

(cherry picked from commit 3f30cffa55)
2017-09-03 11:30:38 -04:00
John Ericson
c2a440334e binutils-wrapper: Init
Factor a binutils wrapper out of cc-wrapper. While only LD is wrapped,
the setup hook defines environment variables on behalf of other
utilites.

(cherry picked from commit 40e9b2a7e6)
2017-09-03 11:30:38 -04:00
John Ericson
cc76444a87 cc-wrapper: Use separate mangler for "bool" variables
This avoids any `NIX_FOOBAR=1 1` not triggering conditions.

(cherry picked from commit fbb7d335db)
2017-09-03 11:30:37 -04:00
John Ericson
a1a9964c21 cc-wrapper: Pull variable mangler into utils.sh
In preparation for splitting out binutils-wrapper

(cherry picked from commit 1f5807d760)
2017-09-03 11:30:37 -04:00
John Ericson
ee7ae7b1ca cc-wrapper: Clean up dynamic linking with x86 multilib
It's better layering to do everything in ld-wrapper.

(cherry picked from commit 94c0267fc1)
2017-09-03 11:30:37 -04:00
Daiderd Jordan
2a4f41ee0f darwin: add callPackage
(cherry picked from commit 3979f48f7f)
2017-09-03 11:30:37 -04:00
Daiderd Jordan
a924f740bf darwin: move definition to separate file
(cherry picked from commit c4f18901b4)
2017-09-03 11:30:37 -04:00
Jörg Thalheim
4da94b1e50 gpaste: add adwaita-icon-theme theme
(cherry picked from commit c2881983fb)
2017-09-03 16:28:42 +01:00
Jan Tojnar
fb192f7583 gnome3.gpaste: refactor
(cherry picked from commit 4069cb2b0f)
2017-09-03 16:28:32 +01:00
Jan Tojnar
955e050ac0 nixos/gnome3.gpaste: add service
(cherry picked from commit 6ca6ea9e23)
2017-09-03 16:28:22 +01:00
Orivej Desh
12a2f532b8 stdenv-setup: list environment variables with awk
(cherry picked from commit f4044c1ccc)
2017-09-03 11:13:35 -04:00
Orivej Desh
02ad1fd89b stdenv-setup: fix substituteAll with set -eu
Environment variable filter in substituteAll was not precise and produced
undefined and invalid variable names.  Vladimír Čunát tried to fix that in [1],
but `env -0` did not work during Darwin bootstrap, so [2] reverted this change
and replaced an error due to invalid variables with a warning.  Recently in #28057
John Ericson added `set -u` to `setup.sh` and undefined variables made the setup
fail during e.g. `nix-build -A gnat` with `setup: line 519: !varName: unbound
variable`.

[1] 62fc8859c1
[2] 81df035429

(cherry picked from commit a09d9e7cd4)
2017-09-03 11:13:35 -04:00
Orivej Desh
ffb2b66c1d mkDerivation: explain "all" in hardeningDisable
https://github.com/NixOS/nixpkgs/pull/28806#discussion_r136516276
(cherry picked from commit 447240b19f)
2017-09-03 11:13:34 -04:00
John Ericson
fb1a44062a darwin-stdenv: Hack around impurity with --disable configure flag
(cherry picked from commit 8dbdc5dd51)
2017-09-03 10:58:39 -04:00
John Ericson
2a91d41a25 darwin-stdenv: Don't use nativeTools
Now, we'll actually use the wrapped ld to link

(cherry picked from commit 3b6e7fe123)
2017-09-03 10:58:15 -04:00
John Ericson
9be4014574 gettext: libiconv should be a buildInput
(cherry picked from commit 2cc7f1a731)
2017-09-03 10:53:38 -04:00
Matthieu Coudron
2eecbcc20d neovim: fix missing dependancy luajit lpeg
luajit libraries are not the same as vanilla lua ones, hence when luajit
is enabled, the build fails.
Fixes https://github.com/NixOS/nixpkgs/issues/14442

(cherry picked from commit 9889c1c661)
2017-09-03 15:40:36 +01:00
Franz Pletz
313ea79244 gitlab: 9.4.5 -> 9.5.2
(cherry picked from commit 2f48144d0e)
2017-09-03 16:00:05 +02:00
Graham Christensen
11459b001b release notes: gnupg programs are no longer suffixed
(cherry picked from commit 83043c948e)
2017-09-03 09:03:21 -04:00
Robin Gloster
b58b18d75c nginx: module fix example
Closes #28926

(cherry picked from commit 97a2cd0748)
2017-09-03 14:05:53 +02:00
Lancelot SIX
ac101a5adb libgcrypt: 1.8.0 -> 1.8.1
Fixes CVE-2017-0379

See http://lists.gnu.org/archive/html/info-gnu/2017-08/msg00014.html
for release announcement

(cherry picked from commit 095af3e63b)
2017-09-03 13:49:19 +02:00
Robin Gloster
596ac37833 ruby_2_0_0: fix eval due to nested list
(cherry picked from commit fc8fc63b67)
2017-09-03 13:49:09 +02:00
Orivej Desh
d38289a5d9 mkDerivation: fix hardening flags check
- allow "all" in hardeningDisable
- fix busybox flags
- print detailed error message

Discussed at https://github.com/NixOS/nixpkgs/pull/28555#issuecomment-326413032

(cherry picked from commit d70006c6d9)
2017-09-03 13:49:00 +02:00
John Ericson
54822bef11 cc-wrapper: Remove support for NIX_LDFLAGS_HARDEN
It has long been deprecated

(cherry picked from commit 3d3a6e0fac)
2017-09-03 13:48:47 +02:00
John Ericson
bf714257ba cc-wrapper: Remove {START,EXEC}_HOOK
These are no longer used by anything

(cherry picked from commit 46fd4bcb14)
2017-09-03 13:48:42 +02:00
John Ericson
f9a8e1d3f6 mkDerivation, cc-wrapper: Check hardening flag validity in Nix
This becomes necessary if more wrappers besides cc-wrapper start
supporting hardening flags. Also good to make the warning into an
error.

Also ensure interface is being used right: Not as a string, not just in
bash.

(cherry picked from commit 97a48835b7)
2017-09-03 13:48:00 +02:00
John Ericson
432c4f8334 cc-wrapper: Remove redundant hardening
GCC just passes `-z ...` flags to ld unaltered, and they are already
passed to LD anyways. On the other hand, `-pie` affects gcc behavior
too.

(cherry picked from commit 822a8d0148)
2017-09-03 13:47:50 +02:00
WilliButz
23c59df2a8 inkscape: 0.92.1 -> 0.92.2
(cherry picked from commit 95a4c03c7d)
2017-09-03 13:44:37 +02:00
WilliButz
a55be749fd netcat-openbsd: 1.105 -> 1.130
(cherry picked from commit a72ba661ac)
2017-09-03 13:44:36 +02:00
WilliButz
3985976214 nasm: 2.12.02 -> 2.13.01
(cherry picked from commit 164eb72403)
2017-09-03 13:44:36 +02:00
WilliButz
e17d6a95e1 freeradius: 3.0.14 -> 3.0.15
(cherry picked from commit 936fee257d)
2017-09-03 13:44:36 +02:00
Robin Gloster
3a35e6bef8 gitlab: fix merge 2017-09-03 13:42:41 +02:00
Austin Seipp
5c4602aec7 yices: now under GPLv3
This means Hydra can build it now!

Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 583ebc086c)
2017-09-03 13:33:39 +02:00
Samuel Leathers
a964fd43e8 neuron: 7.4 -> 7.5
(cherry picked from commit d9cd226a6d)
2017-09-03 13:33:17 +02:00
Robert Helgesson
bead8c6048 league-of-moveable-type: fix long description
(cherry picked from commit 7889758c12)
2017-09-03 13:26:13 +02:00
Samuel Leathers
4c4a0c9f0a klick: fix build with gcc6
(cherry picked from commit 07f977572c)
2017-09-03 13:20:41 +02:00
Samuel Leathers
8fd000d529 jigdo: fix gcc build failures
(cherry picked from commit d98eb8a114)
2017-09-03 13:17:42 +02:00
Samuel Leathers
47df9a3f89 photivo: fixes build with gcc6
(cherry picked from commit 1398d5555c)
2017-09-03 13:17:17 +02:00
Vincent Laporte
2378db028d libvirt: fix build on darwin
(cherry picked from commit 4ee717d2d3)
2017-09-03 13:15:55 +02:00
Robin Gloster
d3550fb5c1 gitlab module: fix permissions and path
(cherry picked from commit eedffc5277)
2017-09-03 13:15:39 +02:00
Robin Gloster
7910480caf gitlab module: fix postgres superUser
(cherry picked from commit edd8265c366186d62d870c23e2b2437ae4de4c0d)
(cherry picked from commit aaff3fa5f3)
2017-09-03 13:15:33 +02:00
Robin Gloster
ca8fa377d7 gitlab: fix postgres calls
(cherry picked from commit 45605db3e0)
2017-09-03 13:15:19 +02:00
Philipp Steinpass
0d790f82c1 nixos/hydra postgresql: Fix #27314 and add test case
(cherry picked from commit d784b83005)
2017-09-03 13:15:08 +02:00
Tristan Helmich
cdbc5f5655 emby: 3.2.28.0 -> 3.2.30.0
(cherry picked from commit 0ca6c58d26)
2017-09-03 13:14:27 +02:00
Joachim Fasting
33725839f4 nixos/chromium-suid-sandbox: remove reference to grsecurity
(cherry picked from commit bb036a327c)
2017-09-03 13:14:11 +02:00
Joachim Fasting
b6f133101c nixos: purge remaining grsecurity bits
:(

Fixes https://github.com/NixOS/nixpkgs/issues/28859

(cherry picked from commit 268eb4adb7)
2017-09-03 13:14:05 +02:00
Joachim Fasting
90f5df6b97 nixos/release-notes: grsecurity support removed for 17.09
(cherry picked from commit 9935806894)
2017-09-03 13:13:51 +02:00
Kranium Gikos Mendoza
f020b9ae5f opal: fix gcc6 build
(cherry picked from commit 776d149c76)
2017-09-03 13:13:40 +02:00
Kranium Gikos Mendoza
dabafa684a ptlib: use fetchpatch
(cherry picked from commit 377b42a8ad)
2017-09-03 13:12:14 +02:00
Kranium Gikos Mendoza
aa97ee44f1 ptlib: fix gcc6 build
(cherry picked from commit 32d4a3dec8)
2017-09-03 13:12:07 +02:00
Samuel Leathers
fa74d9a73c freetalk: set guile version to 2.0
(cherry picked from commit 08fe8eacd9)
2017-09-03 13:11:26 +02:00
aszlig
6dae22b3f4 nixos/deluge: Fix last wrong package attribute
I missed this in 799435b7ca.

This time I used "git grep -F pythonPackages.deluge" just to be sure :-)

Thanks a lot to @roconnor for spotting this.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Reported-by: @roconnor
(cherry picked from commit 880a0409e8)
2017-09-03 13:10:46 +02:00
Kranium Gikos Mendoza
099a094883 ekiga: make debian patches use fetchpatch
(cherry picked from commit f9c2cb80a6)
2017-09-03 13:09:21 +02:00
Kranium Gikos Mendoza
c5e1d52786 ekiga: fix build
(cherry picked from commit 0604ea66c6)
2017-09-03 13:09:20 +02:00
Michael Weiss
bb76244665 android-studio-preview: 3.0.0.10 -> 3.0.0.12
(cherry picked from commit 8693cc5425)
2017-09-03 11:18:45 +02:00
Thomas Tuegel
56efb14e02 kscreenlocker: 5.10.5 -> 5.10.5.1
Fix segfault with nVidia drivers; see
https://bugs.kde.org/show_bug.cgi?id=384005

(cherry picked from commit 71d377fcb0)
2017-09-03 11:17:58 +02:00
Joachim Fasting
fd7e8832b5 libgcrypt: fix typo in meta.description
(cherry picked from commit b3f9b0d0cc)
2017-09-03 11:17:33 +02:00
Joachim Fasting
508f1c06fc kernelPatches.grsecurity_testing: remove
(cherry picked from commit 697cbbc617)
2017-09-03 11:17:22 +02:00
Joachim Fasting
317f86bf68 pkgs/top-level: remove grsec attributes
These have been throwing exceptions since grsec was deprecated, so
potential users should have had due to time to migrate their configs.

(cherry picked from commit 5125e209a9)
2017-09-03 11:17:13 +02:00
Robin Gloster
0479f227c7 bundler: 1.15.3 -> 1.14.6
bundler 1.15 breaks gitlab

(cherry picked from commit 891a1662aa)
2017-09-03 11:17:13 +02:00
Robin Gloster
3597a2e893 gitlab: unbreak
(cherry picked from commit 7c07807949)
2017-09-03 11:17:13 +02:00
roblabla
40001503c0 gitlab: 9.4.3 -> 9.4.5
(cherry picked from commit 55bc0c3836)
2017-09-03 11:17:13 +02:00
roblabla
a67e789fe2 gitlab: Fix packaging, compile gettext files before assets
(cherry picked from commit 259970d26e)
2017-09-03 11:17:13 +02:00
roblabla
47b0f2e095 gitlab: Mark as broken
(cherry picked from commit 05b8879464)
2017-09-03 11:17:12 +02:00
roblabla
7eb469246f gitlab: 9.3.4 -> 9.4.3
(cherry picked from commit 8975d153a0)
2017-09-03 11:17:12 +02:00
Vladimír Čunát
87cc891ad5 texlive: add ghostscript when containing pdfcrop
Potential disadvantage: ghostscript will become visible to user,
so there may e.g. be (new) collisions in nix-env due to this.
Fixes #28411.

(cherry picked from commit 828bc3812c)
2017-09-03 10:18:43 +02:00
Vladimír Čunát
933e02d72b lightdm: purge explicit usage of gcc6
I forgot to include the initial fix into the parent commit :-/

(cherry picked from commit 6ecf46334b)
2017-09-03 10:02:41 +02:00
Vladimír Čunát
8e9a7cc7a7 treewide: purge explicit usage of gcc6
It's now the default. /cc #19456
This makes a real build simplification, because in our current
bootstrapping+aliases, `gcc6` attribute is not the default compiler
but a derivation *built by* the default compiler.

nix-exec didn't build before this commit already

(cherry picked from commit 53998f5036)
2017-09-03 09:58:06 +02:00
Graham Christensen
c38f87d36e Include date and NixOS version in systemd-boot entries
Grub configs include the NixOS version and date they were built, now
systemd can have fun too:

    version Generation 99 NixOS 17.03.1700.51a83266d1, Linux Kernel 4.9.43, Built on 2017-08-30
    version Generation 100 NixOS 17.03.1700.51a83266d1, Linux Kernel 4.9.43, Built on 2017-08-30
    version Generation 101 NixOS 17.03.1700.51a83266d1, Linux Kernel 4.9.43, Built on 2017-08-31
    version Generation 102 NixOS 17.03.1700.51a83266d1, Linux Kernel 4.9.43, Built on 2017-09-01
    version Generation 103 NixOS 17.03.1700.51a83266d1, Linux Kernel 4.9.43, Built on 2017-09-02
    version Generation 104 NixOS 17.09beta41.1b8c7786ee, Linux Kernel 4.9.46, Built on 2017-09-02
    version Generation 105 NixOS 17.09.git.1b8c778, Linux Kernel 4.9.46, Built on 2017-09-02

(cherry picked from commit 62652be111)
2017-09-02 15:43:43 -04:00
Tim Steinbach
93d71f8afc coreutils: 8.27 -> 8.28
(cherry picked from commit 1c45fd01aa)
Fixes CVE-2017-7476.
2017-09-02 20:43:55 +02:00
Tim Steinbach
1e1b444df8 sbt: 1.0.0 -> 1.0.1
(cherry picked from commit aa59865333)
2017-09-02 12:55:20 -04:00
Tim Steinbach
b6829199c4 linux: 4.9.46 -> 4.9.47
(cherry picked from commit 27c8378c0c81aa17aef615615421aa5de3d8246b)
2017-09-02 11:17:07 -04:00
Tim Steinbach
2191b2ad21 Merge pull request #28780 from NeQuissimus/openjdk_8_144_01
openjdk: 8u152-04 -> 8u144-01
(cherry picked from commit 440bf7e06f)
2017-09-02 11:08:29 -04:00
Bjørn Forsman
b73e6289dc pythonPackages.pyrtlsdr: unbreak build
pyrtlsdr needs pandoc at build time. Fixes the build since commit
f6eb190e70
("python.pkgs.pyrtlsdr: disable tests to fix build"). (That commit
bumped the package to a new version.)

(cherry picked from commit 2cf1b94b82)
2017-09-02 16:48:49 +02:00
obadz
52dc8f227f python27Packages.smugline: fix to accomodate new behavior of makeWrapper
Ticks one box in #28643

(cherry picked from commit dd09675347)
2017-09-02 15:20:11 +01:00
obadz
c91b4fe989 pokerth: fix build error which was probably due to a changing C++ dependency (boost/g++?)
Ticks one box in #28643

(cherry picked from commit 5b943136fc)
2017-09-02 15:02:09 +01:00
Samuel Leathers
2e60bbae9d i-score: 1.0.0-a67 -> 1.0.0-b31
(cherry picked from commit d5c342c657)
2017-09-02 09:47:02 -04:00
Austin Seipp
437ca1f134 z3_opt: remove and replace with z3
Z3 has supported optimization features since the 4.4.x release, so this can be
removed.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 54ae0aa1b0)
2017-09-02 12:18:32 +02:00
romildo
fc18036bed theme-vertex: do not explicitly indicate the gnome version
(cherry picked from commit 7ef6d3ced9)
2017-09-02 12:18:31 +02:00
aszlig
bb9d591114 python/pyocr: 0.4.6 -> 0.4.7
Upstream changes:

  * Tesseract 4.00.00alpha:
    * Version parsing: Ignore suffix (so '4.00.00alpha' == (4, 0, 0))
    * Libtesseract: Load libtesseract.so.4 instead of libtesseract.so.3
      if available
  * Support for Tesseract 3.05.00:
    * Builders: Split field 'tess_conf' into 'tess_flags' and 'tess_conf'
    * Libtesseract: If available, use
                    TessBaseAPIDetectOrientationScript() instead of
                    TessBaseAPIDetectOS
  * Libtesseract:
    * Workaround: Prevents possible segfault in image_to_string() when
                  the target language is not available

Full upstream change log can be found at:

https://github.com/openpaperwork/pyocr/blob/b006123d1d002711b9/ChangeLog

The tesseract.patch for supporting Tesseract version 3.05.00 has been
applied upstream and we can safely drop it.

We now use substituteInPlace in conjunction with a patch to insert the
relevant store paths instead of sed, so it's less fragile whenever we
have upstream changes in handling of these paths.

I've tested this by reverting 48a941e29f and applying a build
fix patch of Cuneiform 1.1.0 from Arch Linux, because right now
Cuneiform is an experimental version that can't be fixed on behalf of
pyocr (the reason is that pyocr needs to get a list of languages, which
doesn't work in that version anymore).

In addition to that I've successfully built paperwork-backend which by
now is the one package which depends on pyocr. However, I didn't do
runtime tests of Paperwork.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @7c6f434c
(cherry picked from commit ca1ea69972)
2017-09-02 12:18:31 +02:00
aszlig
14b20f86e6 python/pyocr: Move package into python-modules
We already have a patch feeling lonely inside the python-modules
directory and to have everything at one place let's actually move pyocr
into its own dedicated directory so it's easier to patch it up (which
we're going to).

Right now, the package fails to build because of a few test failures, so
I haven't tested this apart from evaluating.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit 3086fc7f83)
2017-09-02 12:18:31 +02:00
aszlig
6eabdf0b1b beets: Run tests for external plugins
In order to run the tests for the external plugins of beets, we need to
have beets itself as a dependency. So in order to do that, we now pass
beets without plugins and tests to the nativeBuildInputs of the plugins
so that we can run them.

As soon as the plugins are built they become part of the final beets,
which also has tests enabled, so disabling the tests for beets
derivation that is used for external plugin tests is a non-issue here
because they're going to be executed anyway.

Enabling tests for the alternatives plugin is pretty straightforward,
but in order to run tests for the copyartifacts plugin, we need to bump
the source code to the latest Git master.

The reason for this is that the version that was in use until now
required to have the beets source directory alongside of the
copyartifacts source code, but we already have beets available as a
normal dependency.

Updating copyartifacts to latest master largely consists of unit test
changes and a few Python 3 compatibility changes. However, one change
has the biggest stat, which is
sbarakat/beets-copyartifacts@1a0c281da0.

Fortunately, the last change is just moving the implementation to a
newer API from upstream beets and by the looks of the implementation it
seems to break support for moving files. However, reverting this commit
also reveals that moving files was already broken before, so it wouldn't
matter much whether we have this version bump or not.

Tested with the following command:

nix-build -E '(import ./. {}).beets.override {
  enableAlternatives = true;
  enableCopyArtifacts = true;
}'

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @domenkozar, @pjones, @Profpatsch, @michalrus
(cherry picked from commit 40b76c8809)
2017-09-02 12:18:31 +02:00
aszlig
58335739d8 beets-alternatives: Disable test suite for now
Regression introduced by 94351197cd.

Running the tests results in the following traceback:
  ...
  File ".../unittest/loader.py", line 91, in loadTestsFromName
    module = __import__('.'.join(parts_copy))
  File ".../test/regrtest.py", line 184, in <module>
    for module in sys.modules.itervalues():
RuntimeError: dictionary changed size during iteration

The reason for this is that the test directory itself is called "test"
and the package including regrtest.py is also called "test", so the
loader tries to load tests from its own implementation.

We could fix this by changing PYTHONPATH and/or making the test
directory a proper package, but we'd still have failing tests because
beets itself is required to run the tests.

However for now I'm just removing the unit_tests kwarg in setup.py so
that we have the same behaviour as before the initially mentioned
commit.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit bd2aeb4883)
2017-09-02 12:18:31 +02:00
Daniel Fullmer
83771b8cb8 john: workaroud for build failure
(cherry picked from commit 28b1170f49)
2017-09-02 12:18:31 +02:00
Dmitry Kalinkin
3e35371789 documentation: use modern Firefox version in example
(cherry picked from commit b6a1e439e1)
2017-09-02 12:18:31 +02:00
Dmitry Kalinkin
86318964c3 documentation: fix some spelling
(cherry picked from commit 26068822d8)
2017-09-02 12:18:31 +02:00
romildo
3d9d532c64 uget: 2.0.8 -> 2.0.10
- Update to version 2.0.10
- Use wrapGAppsHook to wrap binaries
- Use gstreamer-1.0
- Add dependence on libappindicator

(cherry picked from commit 1f48ad8699)
2017-09-02 12:18:30 +02:00
aszlig
4d4e200fa9 nixos/deluge: Fix deluge package attribute
Regression introduced by fa5e343242.

The deluge package no longer resides in pythonPackages but now is a
top-level package.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @grantwwu, @fpletz
(cherry picked from commit 799435b7ca)
2017-09-02 12:18:30 +02:00
aszlig
38b7b10e8c conky: Don't enable nvidiaSupport by default
This has been introduced in 6a6fb6d31c.

Relying on non-free software by default is probably a bad idea. Apart
from the fact that (sane) people usually don't want to have it sitting
on their system even people who don't care will have to set
"allowUnfree" to true in order to install conky.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @canndrew, @Mic92
(cherry picked from commit 7f99876f50)
2017-09-02 12:18:30 +02:00
Samuel Leathers
c2284e2f7f espeakedit: fix build with gcc6
(cherry picked from commit b2fd2a8100)
2017-09-02 12:18:30 +02:00
Samuel Leathers
7ac229471a espeak-classic: fix build with gcc6
(cherry picked from commit 6c1364712a)
2017-09-02 12:18:30 +02:00
Roman Volosatovs
c5b077999f mopidy-iris: 3.2.0 -> 3.3.3
(cherry picked from commit 94649061c8)
2017-09-02 12:18:30 +02:00
Gabriel Ebner
bd6b318461 gnome3.dconf-editor: include gsettings_desktop_schemas
(cherry picked from commit 52eb0e0fbd)
2017-09-02 12:18:30 +02:00
Ignat Loskutov
7278caffa7 grml-zsh-config: generalize support to unix systems
(cherry picked from commit 9280937cd4)
2017-09-02 12:18:30 +02:00
Ricardo Ardissone
cba5d9243f openmw: 0.41 -> 0.42
(cherry picked from commit a2794ee5f6)
2017-09-02 12:18:29 +02:00
Florian Jacob
9a0e05ddec nixos/piwik: fix nginx submodule's ssl defaults
previous mkDefault did not work as expected,
as it did not overwrite the original submodule's defaults when the user
did not specify any custom options at all.

(cherry picked from commit 786e9711f5)
2017-09-02 12:18:29 +02:00
Dmitry Kalinkin
957eb785b3 sherpa: 2.2.1 -> 2.2.4
(cherry picked from commit 59b525e559)
2017-09-02 12:18:29 +02:00
Piotr Bogdan
efbaabe5a2 rethinkdb: fix build with gcc6
(cherry picked from commit 26ebbac2c4)
2017-09-02 12:18:29 +02:00
Frank
b503d8858a profanity support for unix
(cherry picked from commit cb61e27e9e)
2017-09-02 12:18:29 +02:00
Simon Lackerbauer
e3278a4dc9 rstudio: 1.1.216 -> 1.1.351
(cherry picked from commit 40cbf90861)
2017-09-02 12:18:29 +02:00
Servilio Afre Puentes
1e17186b02 gmime: updated home and description
GMime home has moved to Github as the list of commits clearly shows,
i.e.:

  b5cbc68a67

The description is updated as well to be closer to the one used there
and over at gnome.org.

(cherry picked from commit ddaa696a4e)
2017-09-02 12:18:29 +02:00
Frederik Rietdijk
005048335b Python docs: add section on tests
(cherry picked from commit b7d257a520)
2017-09-02 12:07:20 +02:00
Unai Zalakain
eb72f12c19 jrnl: support journal encryption by default
(cherry picked from commit 8a12b42361506048dd9abbec6dddcc8ac6e61a20)
2017-09-02 11:04:51 +02:00
Maximilian Güntner
39ee84f9d8 pybitmessage: add numpy + pyopencl to propagatedBuildInputs
(cherry picked from commit 235b63d96c)
2017-09-02 08:38:36 +01:00
Maximilian Güntner
8c1526e414 pytools: 2016.2.1 -> 2017.4
(cherry picked from commit 10e8214b93)
2017-09-02 08:38:36 +01:00
Samuel Leathers
75704617f9 glmark2: 2016-05-11 -> 2017-09-01
(cherry picked from commit 917a0e3e77)
2017-09-02 08:29:10 +01:00
Samuel Leathers
16bdd60576 freewheeling: UNSTABLE -> 0.6.2
(cherry picked from commit 232c6a00ce)
2017-09-02 08:29:10 +01:00
Will Dietz
0fd7ef61b2 clang_34: Disable hardening bits (#28543)
(cherry picked from commit cc45a96aea)
2017-09-01 19:41:33 +01:00
Jörg Thalheim
9c3a136667 python2Packages.jedi: fix tests
(cherry picked from commit e4bc14f6b7)
2017-09-01 19:07:11 +01:00
Jörg Thalheim
1b8c7786ee turses: fix build
(cherry picked from commit 4a6295e6fb)
2017-09-01 18:58:21 +01:00
Jörg Thalheim
cb50802127 python.pkgs.requests-oauthlib: fix source hash
Was accidentally broken during merge.

(cherry picked from commit e825cd8cf681722c9d1e610ada6e775b5230dac0)
2017-09-01 18:23:20 +01:00
Vladimír Čunát
551b4063af chromium: try to hack around Hydra problems
Discussion: https://github.com/NixOS/nixpkgs/commit/e8f1ddcbd1d
2017-09-01 18:21:14 +02:00
Maximilian Güntner
543f0f780c pybitmessage: replace find_library() calls with paths
fixes requested changes in #26616

(cherry picked from commit e9203772f2)
2017-09-01 14:16:00 +01:00
shak-mar
cbde9dae7c pybitmessage: 0.4.4 -> 0.6.2
squashed hashes:
3ee20b2de7c02761aeb7389821f31bbfb6626301
b9a3a3b6a25b998893a1d861849890792b9e664b

(details -> #26616)

(cherry picked from commit e3d7c4ca19)
2017-09-01 14:16:00 +01:00
Samuel Leathers
37568fd229 crrcsim: build with gcc6
(cherry picked from commit 6bc775cdf6)
2017-09-01 14:14:17 +01:00
Samuel Leathers
39099cd9ae crda: fix build with gcc6
(cherry picked from commit e92f5b54fb)
2017-09-01 13:49:37 +01:00
Jörg Thalheim
775ec9ebe4 python.pkgs.pytest-django: fix patch hash
(cherry picked from commit d52eaf878c)
2017-09-01 08:56:49 +01:00
Jan Tojnar
b999b800ce gnome3 tests: fix by providing more memory
/cc #28053.

(cherry picked from commit 3b9f0c6a46)
2017-09-01 07:54:25 +02:00
Samuel Leathers
490b33aa9f bossa: fix build with gcc6
(cherry picked from commit 39154ab86f)
2017-09-01 06:50:42 +01:00
Ruben Maher
e312ec12cd lftp: fix build on darwin
Add `gettext` (which provides `-lintl`) and disable `format` hardening in order
to fix build.

(cherry picked from commit d908b6a1b7)
2017-09-01 06:50:36 +01:00
Samuel Leathers
7c77ba95f3 caneda: fix build with gcc6
(cherry picked from commit 04b8a85739)
2017-09-01 06:50:31 +01:00
Servilio Afre Puentes
c105d14032 gitlab: fix permission issue in build phase
The newer DEB packages have a setuid file, creating an error when
unpacking the source during the build phase.

As dpkg doesn't have a way to pass parameters to tar, dpkg is then
told to just extract the filesystem tar file and that is unpacked by
tar directly.

Fixes #28494

(cherry picked from commit fae458c5e7)
2017-08-31 17:36:52 +01:00
Servilio Afre Puentes
53b7848dcc gitlab: 8.17.6 -> 8.17.8
Latest release has important bugfixes.

(cherry picked from commit cffb1fab3e)
2017-08-31 17:36:52 +01:00
Jörg Thalheim
9ba5678c43 pythonPkgs.html5lib_0_9999999: remove
no longer needed and fails with python3

(cherry picked from commit 0b2f9d1ce1)
2017-08-31 11:24:03 -05:00
Jörg Thalheim
c6b7effa56 pythonPackages.willie: remove
was renamed by sopel, which we already have in nixpkgs

(cherry picked from commit 6fb18561e7)
2017-08-31 11:13:59 -05:00
Jörg Thalheim
cc557ec35e photoqt: 1.3 -> 1.5.1
related to #28643

(cherry picked from commit d83cadf841)
2017-08-31 15:18:59 +01:00
Eelco Dolstra
3e31d25a60 nix: 1.11.13 -> 1.11.14
(cherry picked from commit 79954b9d1f)
2017-08-31 15:12:43 +02:00
Ryan Mulligan
0f004d063e nixos/calibre-server: fix ExecStart call
calibre-server changed the way you specify the library from using
--with-library to just allowing the directory to be specified. See
https://manual.calibre-ebook.com/generated/en/calibre-server.html for
details.

(cherry picked from commit 39a982dc3e)
2017-08-31 15:05:41 +02:00
Graham Christensen
1664e69d09 configuration.nix: Document the stateVersion more
(cherry picked from commit 8efb46b609)
2017-08-31 06:47:39 -04:00
davidak
7a15de1d84 nixos/bcachefs: init module
(cherry picked from commit 8f389f3316)
2017-08-31 05:45:11 -05:00
davidak
55a59f43d0 bcachefs-tools: 2016-05-13 -> 2017-08-28
(cherry picked from commit bd79b8c9fc)
2017-08-31 05:45:11 -05:00
davidak
910d6c30e5 linux-testing-bcachefs: init at 4.11.2017.08.23
(cherry picked from commit 4134db36d0)
2017-08-31 05:45:11 -05:00
Florian Jacob
8cb6bfe6ef mysql service: Make initialDatabases.schema attribute optional
(cherry picked from commit d22c1c0719)
2017-08-31 11:52:11 +02:00
Lancelot SIX
e22826a53b mysql-workbench: fix build with gcc6
(cherry picked from commit d9ae1b408a)
2017-08-31 10:16:21 +01:00
Symphorien Gibol
dccb66d3ab grub module: assume /nix/store is a bind mount even if it is not read only
Fixes #14999

(cherry picked from commit 90ef2183f7)
2017-08-31 10:59:23 +02:00
Valentin Robert
09ce090b1f nerdfonts: 1.0.0 -> 1.1.0
(cherry picked from commit dbba364f64)
2017-08-31 10:59:23 +02:00
Samuel Leathers
324332695d sigrok-cli: 0.6.0 -> 0.7.0
(cherry picked from commit 902dc73ee2)
2017-08-31 09:42:58 +01:00
Samuel Leathers
7d7e2aba83 pulseview: 0.3.0 -> 0.4.0
(cherry picked from commit b39462d0c3)
2017-08-31 09:42:54 +01:00
Samuel Leathers
b0ec7d790b libsigrokdecode: 0.4.1 -> 0.5.0
(cherry picked from commit 3e1fa824df)
2017-08-31 09:42:49 +01:00
Samuel Leathers
e9fc124637 libsigrok: 0.4.0 -> 0.5.0
(cherry picked from commit afa5dcbd7d)
2017-08-31 09:42:43 +01:00
David Pflug
f1e0556a6b milkytracker: 0.90.85 -> 1.01
(cherry picked from commit 7d6c3e877b)
2017-08-31 10:40:30 +02:00
Profpatsch
ea5ccf6ae8 mpvScripts.convert: fix for mpv >0.26.0
See https://gist.github.com/Zehkul/25ea7ae77b30af959be0#gistcomment-2189556

(cherry picked from commit b35972b3fa)
2017-08-31 10:40:29 +02:00
Dan Peebles
bedfed9f52 terraform: manage 0.10 plugins with Nix
Also add a few starter plugins/providers

(cherry picked from commit 80319c1238)
2017-08-31 10:34:34 +02:00
Peter Hoeg
6bd53c487d ledger: fixed with older boost 2017-08-31 11:52:28 +08:00
Peter Hoeg
ce15008c1b ledger: requires an older boost 2017-08-31 11:52:24 +08:00
Graham Christensen
400b273741 Mark synaptics as deprecated
(cherry picked from commit 9d2777a5a5)
2017-08-30 20:44:30 -04:00
Graham Christensen
dc3a666572 profiles/graphical.nix: enable libinput over synaptics
(cherry picked from commit 1b68193167)
2017-08-30 20:44:27 -04:00
Graham Christensen
c2e3e228fe installer: add a comment hinting about enabling libinput for touchpads
(cherry picked from commit af51aa79d2)
2017-08-30 20:44:23 -04:00
Robin Gloster
fe9170c191 vidalia: remove
closes #28753

(cherry picked from commit b09ab584f0)
2017-08-31 00:03:15 +02:00
Franz Pletz
82c301ec40 Update channel and version for 17.09 beta 2017-08-30 23:06:08 +02:00
58226 changed files with 1228457 additions and 5748215 deletions

View File

@@ -1,34 +0,0 @@
{
"name": "nixpkgs",
"image": "mcr.microsoft.com/devcontainers/universal:2-linux",
"features": {
"ghcr.io/devcontainers/features/nix:1": {
// fails in the devcontainer sandbox, enable sandbox via config instead
"multiUser": false,
"packages": "nixpkgs.nixd,nixpkgs.nixfmt-rfc-style",
"useAttributePath": true,
"extraNixConfig": "experimental-features = nix-command flakes,sandbox = true"
}
},
// Fixup permissions inside container.
// https://github.com/NixOS/nix/issues/6680#issuecomment-1230902525
"postCreateCommand": "sudo apt-get install -y acl",
"postStartCommand": "sudo setfacl -k /tmp; if [ -e /dev/kvm ]; then sudo chgrp $(id -g) /dev/kvm; fi",
"customizations": {
"vscode": {
"extensions": [
"jnoortheen.nix-ide"
],
"settings": {
"[nix]": {
"editor.formatOnSave": true
},
"nix.enableLanguageServer": true,
"nix.serverPath": "nixd"
}
}
},
"remoteEnv": {
"NIXPKGS": "/workspaces/nixpkgs"
}
}

View File

@@ -1,5 +1,5 @@
# EditorConfig configuration for nixpkgs
# https://EditorConfig.org
# http://EditorConfig.org
# Top-most EditorConfig file
root = true
@@ -11,85 +11,18 @@ insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8
# Ignore diffs/patches
[*.{diff,patch}]
end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
# We want readFile .version to return the version without a newline.
[.version]
insert_final_newline = false
# see https://nixos.org/nixpkgs/manual/#chap-conventions
# Match json/lockfiles/markdown/nix/perl/python/ruby/shell/docbook files, set indent to spaces
[*.{bash,js,json,lock,md,nix,pl,pm,py,rb,sh,xml}]
# Match nix/ruby files, set indent to spaces with width of two
[*.{nix,rb}]
indent_style = space
# Match docbook files, set indent width of one
[*.xml]
indent_size = 1
# Match json/lockfiles/markdown/nix/ruby files, set indent width of two
[*.{js,json,lock,md,nix,rb}]
indent_size = 2
# Match all the Bash code in Nix files, set indent width of two
[*.{bash,sh}]
indent_size = 2
# Match Perl and Python scripts, set indent width of four
[*.{pl,pm,py}]
# Match shell/python/perl scripts, set indent to spaces with width of four
[*.{sh,py,pl}]
indent_style = space
indent_size = 4
# Match gemfiles, set indent to spaces with width of two
[Gemfile]
indent_size = 2
indent_style = space
# Match package.json and package-lock.json, which are generally pulled from upstream and accept them as they are
[package{,-lock}.json]
indent_style = unset
insert_final_newline = unset
# Disable file types or individual files
# some of these files may be auto-generated and/or require significant changes
[*.{c,h}]
insert_final_newline = unset
trim_trailing_whitespace = unset
[*.{asc,key,ovpn}]
insert_final_newline = unset
end_of_line = unset
trim_trailing_whitespace = unset
[*.lock]
indent_size = unset
# Although Markdown/CommonMark allows using two trailing spaces to denote
# a hard line break, we do not use that feature in nixpkgs since
# it forces the surrounding paragraph to become a <literallayout> which
# does not wrap reasonably.
# Instead of a hard line break, start a new paragraph by inserting a blank line.
[*.md]
trim_trailing_whitespace = true
# binaries
[*.nib]
end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
charset = unset
[eggs.nix]
trim_trailing_whitespace = unset
[registry.dat]
end_of_line = unset
insert_final_newline = unset
# Keep this hint at the bottom:
# Please don't add entries for subfolders here.
# Create <subfolder>/.editorconfig instead.
# Match diffs, avoid to trim trailing whitespace
[*.{diff,patch}]
trim_trailing_whitespace = false

View File

@@ -1,287 +0,0 @@
# This file contains a list of commits that are not likely what you
# are looking for in a blame, such as mass reformatting or renaming.
#
# If a commit's line ends with `# !autorebase <command>`,
# where <command> is an idempotent bash command that reapplies the changes from the commit,
# the `maintainers/scripts/auto-rebase/run.sh` script can be used to rebase
# across that commit while automatically resolving merge conflicts caused by the commit.
#
# You can set this file as a default ignore file for blame by running
# the following command.
#
# $ git config blame.ignoreRevsFile .git-blame-ignore-revs
#
# To temporarily not use this file add
# --ignore-revs-file=""
# to your blame command.
#
# The ignoreRevsFile can't be set globally due to blame failing if the file isn't present.
# To not have to set the option in every repository it is needed in,
# save the following script in your path with the name "git-bblame"
# now you can run
# $ git bblame $FILE
# to use the .git-blame-ignore-revs file if it is present.
#
# #!/usr/bin/env bash
# repo_root=$(git rev-parse --show-toplevel)
# if [[ -e $repo_root/.git-blame-ignore-revs ]]; then
# git blame --ignore-revs-file="$repo_root/.git-blame-ignore-revs" $@
# else
# git blame $@
# fi
# nixos/modules/rename: Sort alphabetically
1f71224fe86605ef4cd23ed327b3da7882dad382
# manual: fix typos
feddd5e7f8c6f8167b48a077fa2a5394dc008999
# nixos: fix module paths in rename.nix
d08ede042b74b8199dc748323768227b88efcf7c
# fix indentation in mk-python-derivation.nix
d1c1a0c656ccd8bd3b25d3c4287f2d075faf3cf3
# fix indentation in meteor default.nix
a37a6de881ec4c6708e6b88fd16256bbc7f26bbd
# pkgs/stdenv/make-derivation: Reindent
b4cc2a2479a7ab0f6440b2e1319221920ef72699
# treewide: automatically md-convert option descriptions
2e751c0772b9d48ff6923569adfa661b030ab6a2
# nixos/*: automatically convert option docs
087472b1e5230ffc8ba642b1e4f9218adf4634a2
# nixos/*: automatically convert option descriptions
ef176dcf7e76c3639571d7c6051246c8fbadf12a
# nixos/*: automatically convert option docs to MD
61e93df1891972bae3e0c97a477bd44e8a477aa0
# nixos/*: convert options with admonitions to MD
722b99bc0eb57711c0498a86a3f55e6c69cdb05f
# nixos/*: automatically convert option docs
6039648c50c7c0858b5e506c6298773a98e0f066
# nixos/*: md-convert options with unordered lists
c915b915b5e466a0b0b2af2906cd4d2380b8a1de
# nixos/*: convert options with listings
f2ea09ecbe1fa1da32eaa6e036d64ac324a2986f
# nixos/*: convert straggler options to MD
1d41cff3dc4c8f37bb5841f51fcbff705e169178
# nixos/*: normalize manpage references to single-line form
423545fe4865d126e86721ba30da116e29c65004
# nixos/documentation: split options doc build
fc614c37c653637e5475a0b0a987489b4d1f351d
# nixos/*: convert options with admonitions to MD
722b99bc0eb57711c0498a86a3f55e6c69cdb05f
# nixos/*: convert internal option descriptions to MD
9547123258f69efd92b54763051d6dc7f3bfcaca
# nixos/*: replace </para><para> with double linebreaks
694d5b19d30bf66687b42fb77f43ea7cd1002a62
# treewide: add defaultText for options with simple interpolation defaults
fb0e5be84331188a69b3edd31679ca6576edb75a
# nixos/*: mark pre-existing markdown descriptions as mdDoc
7e7d68a250f75678451cd44f8c3d585bf750461e
# nixos/*: normalize link format
3aebb4a2be8821a6d8a695f0908d8567dc00de31
# nixos/*: replace <code> in option docs with <literal>
16102dce2fbad670bd47dd75c860a8daa5fe47ad
# nixos/*: add trivial defaultText for options with simple defaults
25124556397ba17bfd70297000270de1e6523b0a
# systemd: rewrite comments
92dfeb7b3dab820ae307c56c216d175c69ee93cd
# systemd: break too long lines of Nix code
67643f8ec84bef1482204709073e417c9f07eb87
# {pkgs/development/cuda-modules,pkgs/test/cuda,pkgs/top-level/cuda-packages.nix}: reformat all CUDA files with nixfmt-rfc-style 2023-03-01
802a1b4d3338f24cbc4efd704616654456d75a94
# postgresql: move packages.nix to ext/default.nix
719034f6f6749d624faa28dff259309fc0e3e730
# php ecosystem: reformat with nixfmt-rfc-style
75ae7621330ff8db944ce4dff4374e182d5d151f
c759efa5e7f825913f9a69ef20f025f50f56dc4d
# pkgs/os-specific/bsd: Reformat with nixfmt-rfc-style 2024-03-01
3fe3b055adfc020e6a923c466b6bcd978a13069a
# k3s: format with nixfmt-rfc-style
6cfcd3c75428ede517bc6b15a353d704837a2830
# python3Packages: format with nixfmt
59b1aef59071cae6e87859dc65de973d2cc595c0
# treewide description changes (#317959)
bf995e3641950f4183c1dd9010349263dfa0123b
755b915a158c9d588f08e9b08da9f7f3422070cc
f8c4a98e8e138e21353a2c33b90db3359f539b37
# vscode-extensions.*: format with nixfmt (RFC 166)
7bf9febfa6271012b1ef86647a3a06f06875fdcf
# remove uses of mdDoc (#303841)
1a24330f792c8625746d07d842290e6fd95ae6f9
acd0e3898feb321cb9a71a0fd376f1157d0f4553
1b28414d2886c57343864326dbb745a634d3e37d
6afb255d976f85f3359e4929abd6f5149c323a02
# azure-cli: move to by-name, nixfmt #325950
96cd538b68bd1d0a0a37979356d669abbba32ebc
# poptracker: format with nixfmt-rfc-style (#326697)
ff5c8f6cc3d1f2e017e86d50965c14b71f00567b
# mangal: format with nixfmt-rfc-style #328284
3bb5e993cac3a6e1c3056d2bc9bf43eb2c7a5951
# pico-sdk: switch to finalAttrs (#329438)
8946018b0391ae594d167f1e58497b18de068968
# ollama: format with nixfmt-rfc-style (#329353)
bdfde18037f8d9f9b641a4016c8ada4dc4cbf856
# nixos/ollama: format with nixfmt-rfc-style (#329561)
246d1ee533810ac1946d863bbd9de9b525818d56
# steam: cleanup (#216972)
ad815aebfbfe1415ff6436521d545029c803c3fb
# nixos/nvidia: apply nixfmt-rfc-style (#313440)
fbdcdde04a7caa007e825a8b822c75fab9adb2d6
# treewide: reformat files which need reformatting after (#341407)
e0464e47880a69896f0fb1810f00e0de469f770a
# step-cli: format package.nix with nixfmt (#331629)
fc7a83f8b62e90de5679e993d4d49ca014ea013d
# ndn-cxx: format with nixfmt-rfc-style
160b2b769c3b8a6d1ae9947afa77520fa2887db7
# ndn-tools: format with nixfmt-rfc-style
4882ef721ce3d7bb3b5e48ff80125255db515013
# nfd: format with nixfmt-rfc-style
548c2377fa81e2abfc192fbf4f521e601251c468
# darwin.stdenv: format with nixfmt-rfc-style (#333962)
93c10ac9e561c6594d3baaeaff2341907390d9b8
# nrr: format with nixfmt-rfc-style (#334578)
cffc27daf06c77c0d76bc35d24b929cb9d68c3c9
# nixos/kanidm: inherit lib, nixfmt
8f18393d380079904d072007fb19dc64baef0a3a
# fetchhg: format after refactoring with lib.extendMkDerivation and make overridable (#423539)
34a5b1eb23129f8fb62c677e3760903f6d43228f
# fetchurl: nixfmt-rfc-style
ce21e97a1f20dee15da85c084f9d1148d84f853b
# percona: apply nixfmt
8d14fa2886fec877690c6d28cfcdba4503dbbcea
# nixos/virtualisation: format image-related files
# Original formatting commit that was reverted
04fadac429ca7d6b92025188652376c230205730
# Revert commit
4cec81a9959ce612b653860dcca53101a36f328a
# Final commit that does the formatting
88b285c01d84de82c0b2b052fd28eaf6709c2d26
# sqlc: format with nixfmt
2bdec131b2bb2c8563f4556d741d34ccb77409e2
# ant: format with nixfmt-rfc-style
2538d58436b8d0b56d29780aeebf4bf720ddb9ea
# treewide: migrate packages to pkgs/by-name, take 1
571c71e6f73af34a229414f51585738894211408
# format files with nixfmt (#347275)
adb9714bd909df283c66bbd641bd631ff50a4260
# treewide: incus packages
9ab59bb5fb943ad6740f64f5a79eae9642fb8211
# treewide nixfmt reformat pass 1, master, staging and staging-next
4f0dadbf38ee4cf4cc38cbc232b7708fddf965bc
667d42c00d566e091e6b9a19b365099315d0e611
84d4f874c2bac9f3118cb6907d7113b3318dcb5e
# tmuxPlugins sha-to-sri.py script
516b1e74c358a9c4b06e5591f8c1a2897aad0c33
# treewide: migrate comments in lib to rfc145 style
ef85e0daa092c9eae0d32c7ce16b889728a5fbc0
d89ad6c70e0e89aaae75e9f886878ea4e103965a
e0fe216f4912dd88a021d12a44155fd2cfeb31c8
80d5b411f6397d5c3e755a0635d95742f76f3c75
# nixos/movim: format with nixfmt-rfc-style
43c1654cae47cbf987cb63758c06245fa95c1e3b
# nixos/iso-image.nix: nixfmt
da9a092c34cef6947d7aee2b134f61df45171631
# python-packages: format with nixfmt-rfc-style
5f6f5e13ae0b6960cbf1be8aeb3d0048285a08d1
# python-packages: sort with keep-sorted
fd14c067813572afc03ddbf7cdedc3eab5a59954
783add849cbca228a36ffdf407e5d380dc2fe6c4
# treewide format of all Nix files
374e6bcc403e02a35e07b650463c01a52b13a7c8 # !autorebase nix-shell --run treefmt
# nix: nixfmt-rfc-style
a4f7e161b380b35b2f7bc432659a95fd71254ad8
0812c9a321003c924868051d2b2e1934e8880f3f
34f269c14ac18d89ddee9a8f54b1ca92a85bbcc6
062c34cdace499aa44f0fa6ca6f2ca71769f6c43
# haskellPackages.hercules-ci-agent (cabal2nix -> nixfmt-rfc-style)
9314da7ee8d2aedfb15193b8c489da51efe52bb5
# nix-builder-vm: nixfmt-rfc-style
a034fb50f79816c6738fb48b48503b09ea3b0132
# treewide: switch instances of lib.teams.*.members to the new meta.teams attribute
05580f4b4433fda48fff30f60dfd303d6ee05d21
# nixos/redmine: Get rid of global lib expansions
d7f1102f04c58b2edfc74c9a1d577e3aebfca775
# **/README.md: one sentence per line
3d505c03610b6102af6d870ae3506a151cef1f68
60e35e4ded6e91524364a74b3b4ec233ed9321f2
99f2e655d9db009ee0b4ede3edced5f6c882c7f4
b4532efe93882ae2e3fc579929a42a5a56544146
# emacs: keep elpa/nongnu/melpa package overrides sorted
9f2faf683ed48704aa17f693208a13aa64e22181
# nixfmt 1.0.0
62fe01651911043bd3db0add920af3d2935d9869 # !autorebase nix-shell --run treefmt
5a0711127cd8b916c3d3128f473388c8c79df0da # !autorebase nix-shell --run treefmt

20
.gitattributes vendored
View File

@@ -1,20 +0,0 @@
**/deps.nix linguist-generated
**/deps.json linguist-generated
**/deps.toml linguist-generated
**/node-packages.nix linguist-generated
pkgs/applications/editors/emacs-modes/*-generated.nix linguist-generated
pkgs/development/r-modules/*-packages.nix linguist-generated
pkgs/development/haskell-modules/hackage-packages.nix linguist-generated
pkgs/development/beam-modules/hex-packages.nix linguist-generated
doc/** linguist-documentation
doc/default.nix linguist-documentation=false
nixos/doc/** linguist-documentation
nixos/doc/default.nix linguist-documentation=false
nixos/modules/module-list.nix merge=union
# pkgs/top-level/all-packages.nix merge=union
ci/OWNERS linguist-language=CODEOWNERS

23
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1,23 @@
# CODEOWNERS file
#
# This file is used to describe who owns what in this repository. This file does not
# replace `meta.maintainers` but is instead used for other things than derivations
# and modules, like documentation, package sets, and other assets.
#
# For documentation on this file, see https://help.github.com/articles/about-codeowners/
# Mentioned users will get code review requests.
# Python-related code and docs
pkgs/top-level/python-packages.nix @FRidh
pkgs/development/interpreters/python/* @FRidh
pkgs/development/python-modules/* @FRidh
doc/languages-frameworks/python.md @FRidh
# Boostraping and core infra
pkgs/stdenv/ @Ericson2314
pkgs/build-support/cc-wrapper/ @Ericson2314
# Darwin-related
pkgs/stdenv/darwin/* @copumpkin @LnL7
pkgs/os-specific/darwin/* @LnL7
pkgs/os-specific/darwin/apple-source-releases/* @copumpkin

49
.github/CONTRIBUTING.md vendored Normal file
View File

@@ -0,0 +1,49 @@
# How to contribute
Note: contributing implies licensing those contributions
under the terms of [COPYING](../COPYING), which is an MIT-like license.
## Opening issues
* Make sure you have a [GitHub account](https://github.com/signup/free)
* [Submit an issue](https://github.com/NixOS/nixpkgs/issues) - assuming one does not already exist.
* Clearly describe the issue including steps to reproduce when it is a bug.
* Include information what version of nixpkgs and Nix are you using (nixos-version or git revision).
## Submitting changes
* Format the commits in the following way:
```
(pkg-name | nixos/<module>): (from -> to | init at version | refactor | etc)
(Motivation for change. Additional information.)
```
Examples:
* nginx: init at 2.0.1
* firefox: 54.0.1 -> 55.0
* nixos/hydra: add bazBaz option
Dual baz behavior is needed to do foo.
* nixos/nginx: refactor config generation
The old config generation system used impure shell scripts and could break in specific circumstances (see #1234).
* `meta.description` should:
* Be capitalized
* Not start with the package name
* Not have a dot at the end
See the nixpkgs manual for more details on how to [Submit changes to nixpkgs](https://nixos.org/nixpkgs/manual/#chap-submitting-changes).
## Writing good commit messages
In addition to writing properly formatted commit messages, it's important to include relevant information so other developers can later understand *why* a change was made. While this information usually can be found by digging code, mailing list archives, pull request discussions or upstream changes, it may require a lot of work.
For package version upgrades and such a one-line commit message is usually sufficient.
## Reviewing contributions
See the nixpkgs manual for more details on how to [Review contributions](https://nixos.org/nixpkgs/manual/#sec-reviewing-contributions).

View File

@@ -1,6 +1,14 @@
<!--
Please note: This blank issue template is meant for extraordinary issues
that do not fit the templates. Unless you know your issue is relevant to
Nixpkgs and requires the free-form blank issue, please use the issue
templates instead.
-->
## Issue description
### Steps to reproduce
## Technical details
* System: (NixOS: `nixos-version`, Ubuntu/Fedora: `lsb_release -a`, ...)
* Nix version: (run `nix-env --version`)
* Nixpkgs version: (run `nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion`)
* Sandboxing enabled: (run `grep build-use-sandbox /etc/nix/nix.conf`)

View File

@@ -1,143 +0,0 @@
name: "Bug report (package)"
description: "Create a generic bug report against a package."
title: "PACKAGENAME: BUG TITLE"
labels: ["0.kind: bug"]
body:
- type: "markdown"
attributes:
value: |
<p align="center">
<a href="https://nixos.org">
<picture>
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos.svg">
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos-white.svg">
<img src="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos.svg" width="400px" alt="NixOS logo">
</picture>
</a>
</p>
Welcome to Nixpkgs. Please replace the **`PACKAGENAME: BUG TITLE`** template above with the correct package name (As seen in the [NixOS Package Search](https://search.nixos.org/packages)) and a short title summarising what the bug entails.
> [!TIP]
> For instance, if you were filing a bug against the [`hello`](https://search.nixos.org/packages?channel=unstable&from=0&size=1&buckets=%7B%22package_attr_set%22%3A%5B%22No%20package%20set%22%5D%2C%22package_license_set%22%3A%5B%22GNU%20General%20Public%20License%20v3.0%20or%20later%22%5D%2C%22package_maintainers_set%22%3A%5B%5D%2C%22package_platforms%22%3A%5B%5D%7D&sort=relevance&type=packages&query=hello) package about it failing to launch on ARM Linux, your title would be as follows:
> ```
> hello: fails to launch on aarch64-linux
> ```
---
- type: "dropdown"
id: "version"
attributes:
label: "Nixpkgs version"
description: |
What version of Nixpkgs are you using?
If you are using an older version, please update to the latest stable version and check if the issue persists before continuing this bug report.
options:
- "Please select a version."
- "- Unstable (25.11)"
- "- Stable (25.05)"
default: 0
validations:
required: true
- type: "textarea"
id: "description"
attributes:
label: "Describe the bug"
description: "Please include a clear and concise description of what the issue is."
validations:
required: true
- type: "textarea"
id: "how-to-reproduce"
attributes:
label: "Steps to reproduce"
description: "Please include a step-by-step guide for reproducing this issue. Consider writing in concise, numbered bullet points to ensure that Nixpkgs developers can retrace your steps."
validations:
required: true
- type: "input"
id: "expected-behaviour"
attributes:
label: "Expected behaviour"
description: "Please write a concise description of what was supposed to happen."
validations:
required: true
- type: "textarea"
id: "screenshots"
attributes:
label: "Screenshots"
description: |
If applicable, add screenshots to help explain your problem.
If you need help uploading images to GitHub, please review the [relevant documentation](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#uploading-assets).
validations:
required: false
- type: "textarea"
id: "logs"
attributes:
label: "Relevant log output"
description: |
If applicable, copy and paste any relevant log output.
This will be automatically formatted into code, so no need for backticks.
render: "console"
validations:
required: false
- type: "textarea"
id: "additional-context"
attributes:
label: "Additional context"
description: "Add any other context about the problem here."
validations:
required: false
- type: "textarea"
id: "metadata"
attributes:
label: "System metadata"
description: "Please run `nix-shell -p nix-info --run \"nix-info -m\"` on a terminal and paste the output of that command here."
validations:
required: true
- type: "textarea"
id: "maintainers"
attributes:
label: "Notify maintainers"
description: |
Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below.
value: |2
---
**Note for maintainers:** Please tag this issue in your pull request description. (i.e. `Resolves #ISSUE`.)
validations:
required: false
- type: "checkboxes"
id: "sanity-check"
attributes:
label: "I assert that this issue is relevant for Nixpkgs"
description: |
This bug tracker is for actionable issues that are not the result of user error. If you need help using your system and are unsure if this is a bug with Nixpkgs, please consider asking for help on the [NixOS Discourse](https://discourse.nixos.org/) or the [NixOS Matrix Space](https://matrix.to/#/#community:nixos.org) before opening an issue.
options:
- label: "I assert that this is a bug and not a support request."
required: true
- label: "I assert that this is not a [duplicate of an existing issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aissue+label%3A%220.kind%3A+bug%22+-label%3A%226.topic%3A+darwin%22+-label%3A%226.topic%3A+nixos%22). "
required: true
- label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it."
required: true
- type: "markdown"
attributes:
value: |
# Thank you for helping improve Nixpkgs!
---
- type: "textarea"
id: "prioritisation"
attributes:
label: "Is this issue important to you?"
description: |
**Please do not modify this text area!**
This template helps Nixpkgs developers know which issues should be prioritised by allowing users to vote with a :+1: reaction.
This is not a guarantee that highly-requested issues will be fixed first, but it helps us to figure out what's important to users. Please react on other users' issues if you find them important.
value: |
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

View File

@@ -1,157 +0,0 @@
name: "Bug report (macOS)"
description: "Create a bug report against a package where the issue only occurs on macOS."
title: "PACKAGENAME: BUG TITLE"
labels: ["0.kind: bug", "6.topic: darwin"]
body:
- type: "markdown"
attributes:
value: |
<p align="center">
<a href="https://nixos.org">
<picture>
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos.svg">
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos-white.svg">
<img src="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos.svg" width="400px" alt="NixOS logo">
</picture>
</a>
</p>
Welcome to Nixpkgs. Please replace the **`PACKAGENAME: BUG TITLE`** template above with the correct package name (As seen in the [NixOS Package Search](https://search.nixos.org/packages)) and a short title summarising what the bug entails.
> [!TIP]
> For instance, if you were filing a bug against the [`hello`](https://search.nixos.org/packages?channel=unstable&from=0&size=1&buckets=%7B%22package_attr_set%22%3A%5B%22No%20package%20set%22%5D%2C%22package_license_set%22%3A%5B%22GNU%20General%20Public%20License%20v3.0%20or%20later%22%5D%2C%22package_maintainers_set%22%3A%5B%5D%2C%22package_platforms%22%3A%5B%5D%7D&sort=relevance&type=packages&query=hello) package about it failing to launch on Apple Silicon, your title would be as follows:
> ```
> hello: fails to launch on aarch64-darwin
> ```
---
- type: "dropdown"
id: "version"
attributes:
label: "Nixpkgs version"
description: |
What version of Nixpkgs are you using?
If you are using an older version, please update to the latest stable version and check if the issue persists before continuing this bug report.
options:
- "Please select a version."
- "- Unstable (25.11)"
- "- Stable (25.05)"
default: 0
validations:
required: true
- type: "textarea"
id: "description"
attributes:
label: "Describe the bug"
description: "Please include a clear and concise description of what the issue is."
validations:
required: true
- type: "textarea"
id: "how-to-reproduce"
attributes:
label: "Steps to reproduce"
description: "Please include a step-by-step guide for reproducing this issue. Consider writing in concise, numbered bullet points to ensure that Nixpkgs developers can retrace your steps."
validations:
required: true
- type: "input"
id: "expected-behaviour"
attributes:
label: "Expected behaviour"
description: "Please write a concise description of what was supposed to happen."
validations:
required: true
- type: "textarea"
id: "screenshots"
attributes:
label: "Screenshots"
description: |
If applicable, add screenshots to help explain your problem.
If you need help uploading images to GitHub, please review the [relevant documentation](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#uploading-assets).
validations:
required: false
- type: "textarea"
id: "logs"
attributes:
label: "Relevant log output"
description: |
If applicable, copy and paste any relevant log output.
This will be automatically formatted into code, so no need for backticks.
render: "console"
validations:
required: false
- type: "textarea"
id: "additional-context"
attributes:
label: "Additional context"
description: "Add any other context about the problem here."
validations:
required: false
- type: "textarea"
id: "metadata"
attributes:
label: "System metadata"
description: "Please run `nix-shell -p nix-info --run \"nix-info -m\"` on a terminal and paste the output of that command here."
validations:
required: true
- type: "dropdown"
id: "nix-darwin"
attributes:
label: "Are you using nix-darwin?"
description: |
[`nix-darwin`](https://github.com/LnL7/nix-darwin) is a set of NixOS-like modules for macOS systems. Depending on your issue, this information may be relevant.
options:
- "Yes, I am using nix-darwin."
- "No, I am not using nix-darwin."
default: 1
validations:
required: true
- type: "textarea"
id: "maintainers"
attributes:
label: "Notify maintainers"
description: |
Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below.
If this issue is related to the Darwin packaging architecture as a whole, or is related to the core Darwin frameworks, consider mentioning the `@NixOS/darwin-core` team.
value: |2
---
**Note for maintainers:** Please tag this issue in your pull request description. (i.e. `Resolves #ISSUE`.)
validations:
required: false
- type: "checkboxes"
id: "sanity-check"
attributes:
label: "I assert that this issue is relevant for Nixpkgs"
description: |
This bug tracker is for actionable issues that are not the result of user error. If you need help using your system and are unsure if this is a bug with Nixpkgs/NixOS, please consider asking for help on the [NixOS Discourse](https://discourse.nixos.org/) or the [NixOS Matrix Space](https://matrix.to/#/#community:nixos.org) before opening an issue.
options:
- label: "I assert that this is a bug and not a support request."
required: true
- label: "I assert that this is not a [duplicate of an existing issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aissue+label%3A%220.kind%3A+bug%22+label%3A%226.topic%3A+darwin%22). "
required: true
- label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it."
required: true
- type: "markdown"
attributes:
value: |
# Thank you for helping improve Nixpkgs!
---
- type: "textarea"
id: "prioritisation"
attributes:
label: "Is this issue important to you?"
description: |
**Please do not modify this text area!**
This template helps Nixpkgs developers know which issues should be prioritised by allowing users to vote with a :+1: reaction.
This is not a guarantee that highly-requested issues will be fixed first, but it helps us to figure out what's important to users. Please react on other users' issues if you find them important.
value: |
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

View File

@@ -1,147 +0,0 @@
name: "Bug report (NixOS module)"
description: "Create a bug report against a NixOS Module."
title: "nixos/MODULENAME: BUG TITLE"
labels: ["0.kind: bug", "6.topic: nixos"]
body:
- type: "markdown"
attributes:
value: |
<p align="center">
<a href="https://nixos.org">
<picture>
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos.svg">
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos-white.svg">
<img src="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos.svg" width="400px" alt="NixOS logo">
</picture>
</a>
</p>
Welcome to Nixpkgs. Please replace the **`nixos/MODULENAME: BUG TITLE`** template above with the correct module name (As seen in the [NixOS Option Search](https://search.nixos.org/options)) and a short title summarising what the bug entails.
> [!TIP]
> For instance, if you were filing a bug against the [`systemd-boot`](https://search.nixos.org/options?channel=unstable&show=boot.loader.systemd-boot.enable&from=0&size=1) module about it failing to install [`memtest86`](https://search.nixos.org/options?channel=unstable&show=boot.loader.systemd-boot.memtest86.enable&from=0&size=1), your title would be as follows:
> ```
> nixos/systemd-boot: fails to install memtest86
> ```
---
- type: "dropdown"
id: "version"
attributes:
label: "Nixpkgs version"
description: |
What version of Nixpkgs are you using?
If you are using an older version, please update to the latest stable version and check if the issue persists before continuing this bug report.
options:
- "Please select a version."
- "- Unstable (25.11)"
- "- Stable (25.05)"
default: 0
validations:
required: true
- type: "textarea"
id: "description"
attributes:
label: "Describe the bug"
description: "Please include a clear and concise description of what the issue is."
validations:
required: true
- type: "textarea"
id: "how-to-reproduce"
attributes:
label: "Steps to reproduce"
description: "Please include a step-by-step guide for reproducing this issue. Consider writing in concise, numbered bullet points to ensure that Nixpkgs developers can retrace your steps."
validations:
required: true
- type: "input"
id: "expected-behaviour"
attributes:
label: "Expected behaviour"
description: "Please write a concise description of what was supposed to happen."
validations:
required: true
- type: "textarea"
id: "screenshots"
attributes:
label: "Screenshots"
description: |
If applicable, add screenshots to help explain your problem.
If you need help uploading images to GitHub, please review the [relevant documentation](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#uploading-assets).
validations:
required: false
- type: "textarea"
id: "logs"
attributes:
label: "Relevant log output"
description: |
If applicable, copy and paste any relevant log output.
This will be automatically formatted into code, so no need for backticks.
render: "console"
validations:
required: false
- type: "textarea"
id: "additional-context"
attributes:
label: "Additional context"
description: "Add any other context about the problem here."
validations:
required: false
- type: "textarea"
id: "metadata"
attributes:
label: "System metadata"
description: "Please run `nix-shell -p nix-info --run \"nix-info -m\"` on a terminal and paste the output of that command here."
validations:
required: true
- type: "textarea"
id: "maintainers"
attributes:
label: "Notify maintainers"
description: |
Please mention the people who are in the `meta.maintainers` list of the offending module. This is done by prefixing the person's username with an '@' character. You can quickly go to the source code of a module by searching for it on the [NixOS Option Search](https://search.nixos.org/options) and clicking the "Declared in..." button.
Please note that the maintainer attribute name does not always match the maintainer's GitHub username. If that occurs, try looking in [`maintainers/maintainer-list.nix`](https://github.com/NixOS/nixpkgs/blob/master/maintainers/maintainer-list.nix) for the maintainer attribute name, and checking if the maintainer has a listed GitHub username.
If in doubt, check `git blame` for whoever last touched the module, or check the associated package's maintainers. Please add the mentions above the `---` characters.
value: |2
---
**Note for maintainers:** Please tag this issue in your pull request description. (i.e. `Resolves #ISSUE`.)
validations:
required: false
- type: "checkboxes"
id: "sanity-check"
attributes:
label: "I assert that this issue is relevant for Nixpkgs"
description: |
This bug tracker is for actionable issues that are not the result of user error. If you need help using your system and are unsure if this is a bug with Nixpkgs, please consider asking for help on the [NixOS Discourse](https://discourse.nixos.org/) or the [NixOS Matrix Space](https://matrix.to/#/#community:nixos.org) before opening an issue.
options:
- label: "I assert that this is a bug and not a support request."
required: true
- label: "I assert that this is not a [duplicate of an existing issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aissue+label%3A%220.kind%3A+bug%22+label%3A%226.topic%3A+nixos%22). "
required: true
- label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it."
required: true
- type: "markdown"
attributes:
value: |
# Thank you for helping improve Nixpkgs!
---
- type: "textarea"
id: "prioritisation"
attributes:
label: "Is this issue important to you?"
description: |
**Please do not modify this text area!**
This template helps Nixpkgs developers know which issues should be prioritised by allowing users to vote with a :+1: reaction.
This is not a guarantee that highly-requested issues will be fixed first, but it helps us to figure out what's important to users. Please react on other users' issues if you find them important.
value: |
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

View File

@@ -1,153 +0,0 @@
name: "Build failure"
description: "Report a package that is failing to build."
title: "Build failure: PACKAGENAME"
labels: ["0.kind: build failure"]
body:
- type: "markdown"
attributes:
value: |
<p align="center">
<a href="https://nixos.org">
<picture>
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos.svg">
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos-white.svg">
<img src="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos.svg" width="400px" alt="NixOS logo">
</picture>
</a>
</p>
Welcome to Nixpkgs. Please replace the **`Build failure: PACKAGENAME`** template above with the correct package name (As seen in the [NixOS Package Search](https://search.nixos.org/packages)).
> [!TIP]
> For instance, if you were filing a build failure against the [`hello`](https://search.nixos.org/packages?channel=unstable&from=0&size=1&buckets=%7B%22package_attr_set%22%3A%5B%22No%20package%20set%22%5D%2C%22package_license_set%22%3A%5B%22GNU%20General%20Public%20License%20v3.0%20or%20later%22%5D%2C%22package_maintainers_set%22%3A%5B%5D%2C%22package_platforms%22%3A%5B%5D%7D&sort=relevance&type=packages&query=hello) package, your title would be as follows:
> ```
> Build failure: hello
> ```
---
- type: "dropdown"
id: "version"
attributes:
label: "Nixpkgs version"
description: |
In what version of Nixpkgs did the build failure occur?
If you are using an older version, please update to the latest stable version and check if the build failure persists before continuing this report.
If you are purposefully trying to build an ancient version of a package in an older Nixpkgs, please coordinate with the [NixOS Archivists](https://matrix.to/#/#archivists:nixos.org).
options:
- "Please select a version."
- "- Unstable (25.11)"
- "- Stable (25.05)"
default: 0
validations:
required: true
- type: "textarea"
id: "how-to-reproduce"
attributes:
label: "Steps to reproduce"
description: "Please include a step-by-step guide for reproducing this build failure. Consider writing in concise, numbered bullet points to ensure that Nixpkgs developers can retrace your steps."
validations:
required: true
- type: "dropdown"
id: "hydra"
attributes:
label: "Can Hydra reproduce this build failure?"
description: |
Can [Hydra](https://hydra.nixos.org), Nixpkgs' Continuous Integration system, reproduce this build failure?
Please use the search function in the header bar to locate the last build job for the package in question.
- If there's a <img src="https://raw.githubusercontent.com/NixOS/hydra/refs/heads/master/src/root/static/images/emojione-red-x-274c.svg" width="20px" align="top" alt="Red X"> icon near the package entry, say '**Yes, Hydra can reproduce this build failure.**'
- If there's a <img src="https://raw.githubusercontent.com/NixOS/hydra/refs/heads/master/src/root/static/images/emojione-gray-x-2716.svg" width="20px" align="top" alt="Dark Gray X"> icon near the package entry, then the build failure occurs with another package, and you need to track the original failing package by going down the chain of 'Cached failures' until you reach the final package in the failing dependency chain. Once you locate the failing package, re-write this report against that package and say '**Yes, Hydra can reproduce this build failure.**'
- If there's a <img src="https://raw.githubusercontent.com/NixOS/hydra/refs/heads/master/src/root/static/images/emojione-check-2714.svg" width="20px" align="top" alt="Green Check Mark"> icon near the package entry, then it most likely means it's a local issue with your system. (Maybe you ran out of space?)
You can still open a build failure report, but please say '**No, Hydra cannot reproduce this build failure.**' below.
- If there's a <img src="https://raw.githubusercontent.com/NixOS/hydra/refs/heads/master/src/root/static/images/emojione-question-2754.svg" width="20px" align="top" alt="Gray Question Mark"> icon near the package entry, say '**Hydra is currently rebuilding this package.**'
- If there's a <img src="https://raw.githubusercontent.com/NixOS/hydra/refs/heads/master/src/root/static/images/emojione-stopsign-1f6d1.svg" width="20px" align="top" alt="Red Stop Sign"> icon near the package entry, then the build job was stopped manually. If this occurs, please coordinate with the [Infrastructure Team](https://matrix.to/#/#infra:nixos.org), and say '**The last build job was manually cancelled.**'
- If Hydra isn't supposed to build the package at all, say '**Hydra doesnt try to build the package.**'
options:
- "Please select the Hydra Status."
- "Yes, Hydra can reproduce this build failure."
- "No, Hydra cannot reproduce this build failure."
- "Hydra is currently rebuilding this package."
- "The last build job was manually cancelled."
- "Hydra doesnt try to build the package."
default: 0
validations:
required: true
- type: "input"
id: "hydra-logs"
attributes:
label: "Link to Hydra build job"
description: "If you answered 'yes' in the question above, please copy-and-paste the link to the failing Hydra job here."
validations:
required: false
- type: "textarea"
id: "logs"
attributes:
label: "Relevant log output"
description: |
Please copy and paste the logs from the failed build.
This will be automatically formatted into code, so no need for backticks.
render: "console"
validations:
required: true
- type: "textarea"
id: "additional-context"
attributes:
label: "Additional context"
description: "Add any other context about the problem here."
validations:
required: false
- type: "textarea"
id: "metadata"
attributes:
label: "System metadata"
description: "Please run `nix-shell -p nix-info --run \"nix-info -m\"` on a terminal and paste the output of that command here."
validations:
required: true
- type: "textarea"
id: "maintainers"
attributes:
label: "Notify maintainers"
description: |
Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below.
value: |2
---
**Note for maintainers:** Please tag this issue in your pull request description. (i.e. `Resolves #ISSUE`.)
validations:
required: false
- type: "checkboxes"
id: "sanity-check"
attributes:
label: "I assert that this issue is relevant for Nixpkgs"
description: |
This bug tracker is for actionable issues that are not the result of user error. If you need help using your system and are unsure if this is a bug with Nixpkgs, please consider asking for help on the [NixOS Discourse](https://discourse.nixos.org/) or the [NixOS Matrix Space](https://matrix.to/#/#community:nixos.org) before opening an issue.
options:
- label: "I assert that this is a bug and not a support request."
required: true
- label: "I assert that this is not a [duplicate of an existing issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aissue+label%3A%220.kind%3A+build+failure%22). "
required: true
- label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it."
required: true
- type: "markdown"
attributes:
value: |
# Thank you for helping improve Nixpkgs!
---
- type: "textarea"
id: "prioritisation"
attributes:
label: "Is this issue important to you?"
description: |
**Please do not modify this text area!**
This template helps Nixpkgs developers know which issues should be prioritised by allowing users to vote with a :+1: reaction.
This is not a guarantee that highly-requested issues will be fixed first, but it helps us to figure out what's important to users. Please react on other users' issues if you find them important.
value: |
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

View File

@@ -1,126 +0,0 @@
name: "Request: package update"
description: "Create an update request for an existing, but outdated package."
title: "Update Request: PACKAGENAME OLDVERSION → NEWVERSION"
labels: ["0.kind: enhancement", "9.needs: package (update)"]
body:
- type: "markdown"
attributes:
value: |
<p align="center">
<a href="https://nixos.org">
<picture>
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos.svg">
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos-white.svg">
<img src="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos.svg" width="400px" alt="NixOS logo">
</picture>
</a>
</p>
Welcome to Nixpkgs. Please replace the **`Update Request: PACKAGENAME OLDVERSION → NEWVERSION`** template above with the correct package name (As seen in the [NixOS Package Search](https://search.nixos.org/packages)), the current version of the package, and the latest version of the package.
> [!TIP]
> For instance, if you were filing a request against the out of date `hello` package, where the current version in Nixpkgs is 1.0.0, but the latest version upstream is 1.0.1, your title would be as follows:
> ```
> Update Request: hello 1.0.0 → 1.0.1
> ```
---
- type: "dropdown"
id: "version"
attributes:
label: "Nixpkgs version"
description: |
What version of Nixpkgs are you using?
If you are using an older or stable version, please update to the latest **unstable** version and check if the package is still out of date.
If the package has been updated in unstable, but you believe the update should be backported to the stable release of Nixpkgs, please file the '**Request: backport to stable**' form instead.
options:
- "Please select a version."
- "- Unstable (25.11)"
- "- Stable (25.05)"
default: 0
validations:
required: true
- type: "input"
id: "name"
attributes:
label: "Package name"
description: "Please indicate the name of the package."
validations:
required: true
- type: "input"
id: "upstream-version"
attributes:
label: "Upstream version"
description: "Please indicate the latest version of the package."
validations:
required: true
- type: "input"
id: "nixpkgs-version"
attributes:
label: "Nixpkgs version"
description: |
Please indicate the current version number in Nixpkgs' **unstable** channel. You can check this by setting the [NixOS Package Search](https://search.nixos.org/packages?channel=unstable) channel to 'unstable' and searching for the package.
If you meant to request an upgrade in the stable channel, please file the '**Request: backport to stable**' form instead.
validations:
required: true
- type: "input"
id: "changelog"
attributes:
label: "Changelog"
description: "If applicable, please link the upstream changelog for the latest version."
validations:
required: false
- type: "textarea"
id: "additional-context"
attributes:
label: "Additional context"
description: "Add any other context about the update here."
validations:
required: false
- type: "textarea"
id: "maintainers"
attributes:
label: "Notify maintainers"
description: |
Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below.
value: |2
---
**Note for maintainers:** Please tag this issue in your pull request description. (i.e. `Resolves #ISSUE`.)
validations:
required: false
- type: "checkboxes"
id: "sanity-check"
attributes:
label: "I assert that this issue is relevant for Nixpkgs"
options:
- label: "I assert that this package update does not yet exist in an [open pull request](https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+is%3Apr+label%3A%228.has%3A+package+%28update%29%22) or in [Nixpkgs Unstable](https://search.nixos.org/packages?channel=unstable)."
required: true
- label: "I assert that this is not a [duplicate of any known issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aissue+label%3A%229.needs%3A+package+%28update%29%22)."
required: true
- label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it."
required: true
- type: "markdown"
attributes:
value: |
# Thank you for helping improve Nixpkgs!
---
- type: "textarea"
id: "prioritisation"
attributes:
label: "Is this issue important to you?"
description: |
**Please do not modify this text area!**
This template helps Nixpkgs developers know which issues should be prioritised by allowing users to vote with a :+1: reaction.
This is not a guarantee that highly-requested issues will be fixed first, but it helps us to figure out what's important to users. Please react on other users' issues if you find them important.
value: |
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

View File

@@ -1,101 +0,0 @@
name: "Request: NixOS module"
description: "Create a new NixOS Module request for an existing package."
title: "Module Request: nixos/MODULENAME"
labels: ["0.kind: enhancement", "6.topic: nixos", "9.needs: module (new)"]
body:
- type: "markdown"
attributes:
value: |
<p align="center">
<a href="https://nixos.org">
<picture>
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos.svg">
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos-white.svg">
<img src="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos.svg" width="400px" alt="NixOS logo">
</picture>
</a>
</p>
Welcome to Nixpkgs. Please replace the **`Module Request: nixos/MODULENAME`** template above with the correct module name (As seen in the [NixOS Option Search](https://search.nixos.org/options)).
> [!TIP]
> For instance, if you were filing a request against the missing `hello` module, your title would be as follows:
> ```
> Module Request: nixos/hello
> ```
---
- type: "dropdown"
id: "version"
attributes:
label: "Nixpkgs version"
description: |
What version of Nixpkgs are you using?
If you are using an older or stable version, please update to the latest **unstable** version and check if the module still does not exist before continuing this request.
options:
- "Please select a version."
- "- Unstable (25.11)"
- "- Stable (25.05)"
default: 0
validations:
required: true
- type: "textarea"
id: "description"
attributes:
label: "Describe the proposed module"
description: "Please include a clear and concise description of what the module should accomplish."
validations:
required: true
- type: "textarea"
id: "additional-context"
attributes:
label: "Additional context"
description: "Add any other context about the proposed module here."
validations:
required: false
- type: "textarea"
id: "maintainers"
attributes:
label: "Notify maintainers"
description: |
Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below.
value: |2
---
**Note for maintainers:** Please tag this issue in your pull request description. (i.e. `Resolves #ISSUE`.)
validations:
required: false
- type: "checkboxes"
id: "sanity-check"
attributes:
label: "I assert that this issue is relevant for Nixpkgs"
options:
- label: "I assert that this module does not yet exist in an [open pull request](https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+is%3Apr+label%3A%228.has%3A+module+%28new%29%22) or in [NixOS Unstable](https://search.nixos.org/options?channel=unstable)."
required: true
- label: "I assert that this is not a [duplicate of an existing issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aissue+label%3A%229.needs%3A+module+%28new%29%22). "
required: true
- label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it."
required: true
- type: "markdown"
attributes:
value: |
# Thank you for helping improve NixOS!
---
- type: "textarea"
id: "prioritisation"
attributes:
label: "Is this issue important to you?"
description: |
**Please do not modify this text area!**
This template helps Nixpkgs developers know which issues should be prioritised by allowing users to vote with a :+1: reaction.
This is not a guarantee that highly-requested issues will be fixed first, but it helps us to figure out what's important to users. Please react on other users' issues if you find them important.
value: |
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

View File

@@ -1,107 +0,0 @@
name: "Request: backport to stable"
description: "Create a backport request for a package that is up-to-date in the unstable channel, but outdated in the stable channel."
title: "Backport to Stable: PACKAGENAME OLDVERSION → NEWVERSION"
labels: ["0.kind: enhancement", "9.needs: port to stable"]
body:
- type: "markdown"
attributes:
value: |
<p align="center">
<a href="https://nixos.org">
<picture>
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos.svg">
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos-white.svg">
<img src="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos.svg" width="400px" alt="NixOS logo">
</picture>
</a>
</p>
> [!CAUTION]
> **Before you begin:** Be advised that backports are subject to the [release suitability guidelines](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#changes-acceptable-for-releases).
>
> Stable releases of Nixpkgs do not receive breaking changes, which include major package updates that have incompatible API changes and break backwards compatibility. In the [Semantic Versioning standard](https://semver.org/), this is the first version number (1.X.X).
>
> Generally, only minor package updates, such as security patches, bug fixes and feature additions (but not removals!) will be considered for backporting. Please read the rules above carefully before filing this backport request.
Welcome to Nixpkgs. Please replace the **`Backport to Stable: PACKAGENAME OLDVERSION → NEWVERSION`** template above with the correct package name (As seen in the [NixOS Package Search](https://search.nixos.org/packages)), the current version of the package in Nixpkgs Stable and the current version of the package in Nixpkgs Unstable.
> [!TIP]
> For instance, if you were filing a request against the out of date `hello` package, where the current version in Nixpkgs Unstable is 1.0.1, but the current version in Nixpkgs Stable is 1.0.0, your title would be as follows:
> ```
> Backport to Stable: hello 1.0.0 → 1.0.1
> ```
---
- type: "input"
id: "name"
attributes:
label: "Package name"
description: "Please indicate the name of the package."
validations:
required: true
- type: "input"
id: "unstable-version"
attributes:
label: "Version in unstable"
description: "Please indicate the current version of the package in the unstable channel."
validations:
required: true
- type: "input"
id: "stable-version"
attributes:
label: "Version in stable"
description: "Please indicate the current version of the package in the stable channel."
validations:
required: true
- type: "textarea"
id: "reasoning"
attributes:
label: "Reasoning for backport"
description: "Please briefly explain why this backport fits the [release suitability guidelines](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#changes-acceptable-for-releases) and why you think this update should be backported."
validations:
required: false
- type: "textarea"
id: "maintainers"
attributes:
label: "Notify maintainers"
description: |
Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below.
value: |2
---
**Note for maintainers:** Please tag this issue in your pull request description. (i.e. `Resolves #ISSUE`.)
validations:
required: false
- type: "checkboxes"
id: "sanity-check"
attributes:
label: "I assert that this issue is relevant for Nixpkgs"
options:
- label: "I assert that this backport does not yet exist in an [open pull request](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+in%3Atitle+backport)."
required: true
- label: "I assert that this is not a [duplicate of any known issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+label%3A%229.needs%3A+port+to+stable%22+)."
required: true
- label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it."
required: true
- type: "markdown"
attributes:
value: |
# Thank you for helping improve Nixpkgs!
---
- type: "textarea"
id: "prioritisation"
attributes:
label: "Is this issue important to you?"
description: |
**Please do not modify this text area!**
This template helps Nixpkgs developers know which issues should be prioritised by allowing users to vote with a :+1: reaction.
This is not a guarantee that highly-requested issues will be fixed first, but it helps us to figure out what's important to users. Please react on other users' issues if you find them important.
value: |
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

View File

@@ -1,89 +0,0 @@
name: "Request: documentation"
description: "Report missing or incorrect documentation in the NixOS or Nixpkgs manuals."
title: "Missing Documentation: PACKAGENAME"
labels: ["0.kind: enhancement", "9.needs: documentation"]
body:
- type: "markdown"
attributes:
value: |
<p align="center">
<a href="https://nixos.org">
<picture>
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos.svg">
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos-white.svg">
<img src="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos.svg" width="400px" alt="NixOS logo">
</picture>
</a>
</p>
Welcome to Nixpkgs. Please replace the **`Missing Documentation: PACKAGENAME`** template above with the correct package name (As seen in the [NixOS Package Search](https://search.nixos.org/packages)) or module name (As seen in the [NixOS Option Search](https://search.nixos.org/options)).
> [!TIP]
> For instance, if you were filing an issue against the [`hello`](https://search.nixos.org/packages?channel=unstable&from=0&size=1&buckets=%7B%22package_attr_set%22%3A%5B%22No%20package%20set%22%5D%2C%22package_license_set%22%3A%5B%22GNU%20General%20Public%20License%20v3.0%20or%20later%22%5D%2C%22package_maintainers_set%22%3A%5B%5D%2C%22package_platforms%22%3A%5B%5D%7D&sort=relevance&type=packages&query=hello) package about it not having any NixOS-specific documentation, your title would be as follows:
> ```
> Missing Documentation: hello
> ```
---
- type: "textarea"
id: "description"
attributes:
label: "Describe the problem"
description: "Please include a clear and concise description of what the issue is."
validations:
required: true
- type: "textarea"
id: "proposal"
attributes:
label: "Proposed solution"
description: |
If possible, please draft a tentative documentation chapter to resolve this issue.
Your proposal should be written in CommonMark Markdown, optionally enhanced with [Nix-specific extensions](https://github.com/NixOS/nixpkgs/tree/master/doc#syntax).
render: "markdown"
validations:
required: false
- type: "textarea"
id: "maintainers"
attributes:
label: "Notify maintainers"
description: |
Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below.
value: |2
---
**Note for maintainers:** Please tag this issue in your pull request description. (i.e. `Resolves #ISSUE`.)
validations:
required: false
- type: "checkboxes"
id: "sanity-check"
attributes:
label: "I assert that this issue is relevant for Nixpkgs"
options:
- label: "I assert that this request is not already implemented in the latest [NixOS](https://nixos.org/manual/nixos/unstable/) or [Nixpkgs](https://nixos.org/manual/nixpkgs/unstable/) manuals."
required: true
- label: "I assert that this is not a [duplicate of an existing documentation issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+label%3A%229.needs%3A+documentation%22)."
required: true
- label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it."
required: true
- type: "markdown"
attributes:
value: |
# Thank you for helping improve Nixpkgs!
---
- type: "textarea"
id: "priorisation"
attributes:
label: "Is this issue important to you?"
description: |
**Please do not modify this text area!**
This template helps Nixpkgs developers know which issues should be prioritised by allowing users to vote with a :+1: reaction.
This is not a guarantee that highly-requested issues will be fixed first, but it helps us to figure out what's important to users. Please react on other users' issues if you find them important.
value: |
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

View File

@@ -1,159 +0,0 @@
name: "Unreproducible Package"
description: "Report a package that does not produce a bit-by-bit reproducible result each time it is built."
title: "Unreproducible Package: PACKAGENAME"
labels: ["0.kind: enhancement", "6.topic: reproducible builds"]
body:
- type: "markdown"
attributes:
value: |
<p align="center">
<a href="https://nixos.org">
<picture>
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos.svg">
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos-white.svg">
<img src="https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nixos.svg" width="400px" alt="NixOS logo">
</picture>
</a>
</p>
Welcome to Nixpkgs. Please replace the **`Unreproducible Package: PACKAGENAME`** template above with the correct package name (As seen in the [NixOS Package Search](https://search.nixos.org/packages)).
> [!NOTE]
> This form is for reporting unreproducible packages. For more information, see the [Reproducible Builds Status](https://reproducible.nixos.org/) page.
>
> To report a package that fails to build entirely, please use the "Build Failure" form instead.
---
- type: "input"
id: "version"
attributes:
label: "Nixpkgs Revision"
description: "In which commit of Nixpkgs is this package displaying unreproducibility?"
- type: "textarea"
id: "introduction"
attributes:
label: "Introduction"
description: |
This is a generic introduction to build reproducibility.
Please replace **PACKAGENAME** below with the canonical package name of the package, as you have done for the title above.
value: |
Building **PACKAGENAME** multiple times does not yield bit-by-bit identical
results, complicating the detection of Continuous Integration (CI) breaches. For
more information on this issue, visit [reproducible-builds.org](https://reproducible-builds.org/).
Fixing bit-by-bit reproducibility also has additional advantages, such as
avoiding hard-to-reproduce bugs, making content-addressed storage more effective
and reducing rebuilds in such systems.
validations:
required: true
- type: "textarea"
id: "how-to-reproduce"
attributes:
label: "Steps to reproduce"
description: |
This is a step-by-step instruction set meant for maintainers to debug the package that is failing to reproduce. You should also follow it to gather the `diffoscope` logs that will be needed below.
Please replace **PACKAGENAME** below with the canonical package name of the package, as you have done for the introduction and the title above.
value: |
### 1. Build the package
This step will build the package. Specific arguments are passed to the command
to keep the build artifacts so we can compare them in case of differences.
Execute the following command:
```
nix-build '<nixpkgs>' -A PACKAGENAME && nix-build '<nixpkgs>' -A PACKAGENAME --check --keep-failed
```
Or using the new command line style:
```
nix build nixpkgs#PACKAGENAME && nix build nixpkgs#PACKAGENAME --rebuild --keep-failed
```
### 2. Compare the build artifacts
If the previous command completes successfully, no differences were found and
there's nothing to do, builds are reproducible.
If it terminates with the error message `error: derivation '<X>' may not be
deterministic: output '<Y>' differs from '<Z>'`, use `diffoscope` to investigate
the discrepancies between the two build outputs. You may need to add the
`--exclude-directory-metadata recursive` option to ignore files and directories
metadata (*e.g. timestamp*) differences.
```
nix run nixpkgs#diffoscopeMinimal -- --exclude-directory-metadata recursive <Y> <Z>
```
### 3. Examine the build log
To examine the build log, use:
```
nix-store --read-log $(nix-instantiate '<nixpkgs>' -A PACKAGENAME)
```
Or with the new command line style:
```
nix log $(nix path-info --derivation nixpkgs#PACKAGENAME)
```
validations:
required: true
- type: "textarea"
id: "logs"
attributes:
label: "Diffoscope log"
description: |
Please copy and paste the relevant `diffoscope` log output, gathered from the steps above.
This will be automatically formatted into a monospaced text block, so no need for backticks.
render: "console"
- type: "textarea"
id: "additional-context"
attributes:
label: "Additional context"
description: "Add any other context about the problem here."
validations:
required: false
id: "maintainers"
attributes:
label: "Notify maintainers"
description: |
Please mention the people who are in the **Maintainers** list of the offending package. This is done by by searching for the package on the [NixOS Package Search](https://search.nixos.org/packages) and mentioning the people listed under **Maintainers** by prefixing their GitHub usernames with an '@' character. Please add the mentions above the `---` characters in the template below.
value: |2
---
**Note for maintainers:** Please tag this issue in your pull request description. (i.e. `Resolves #ISSUE`.)
validations:
required: false
- type: "checkboxes"
id: "sanity-check"
attributes:
label: "I assert that this issue is relevant for Nixpkgs"
options:
- label: "I assert that this is not a [duplicate of any known issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aissue+label%3A%226.topic%3A+reproducible+builds%22)."
required: true
- label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it."
required: true
- type: "markdown"
attributes:
value: |
# Thank you for helping improve Nixpkgs!
---
- type: "textarea"
id: "prioritisation"
attributes:
label: "Is this issue important to you?"
description: |
**Please do not modify this text area!**
This template helps Nixpkgs developers know which issues should be prioritised by allowing users to vote with a :+1: reaction.
This is not a guarantee that highly-requested issues will be fixed first, but it helps us to figure out what's important to users. Please react on other users' issues if you find them important.
value: |
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

View File

@@ -1,47 +1,19 @@
###### Motivation for this change
<!--
^ Please summarise the changes you have done and explain why they are necessary here ^
For package updates please link to a changelog or describe changes, this helps your fellow maintainers discover breaking updates.
For new packages please briefly describe the package or provide a link to its homepage.
-->
## Things done
###### Things done
<!-- Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers. -->
- Built on platform:
- [ ] x86_64-linux
- [ ] aarch64-linux
- [ ] x86_64-darwin
- [ ] aarch64-darwin
- Tested, as applicable:
- [ ] [NixOS tests] in [nixos/tests].
- [ ] [Package tests] at `passthru.tests`.
- [ ] Tests in [lib/tests] or [pkgs/test] for functions and "core" functionality.
- [ ] Ran `nixpkgs-review` on this PR. See [nixpkgs-review usage].
- [ ] Tested basic functionality of all binary files, usually in `./result/bin/`.
- Nixpkgs Release Notes
- [ ] Package update: when the change is major or breaking.
- NixOS Release Notes
- [ ] Module addition: when adding a new NixOS module.
- [ ] Module update: when the change is significant.
- [ ] Fits [CONTRIBUTING.md], [pkgs/README.md], [maintainers/README.md] and other READMEs.
[NixOS tests]: https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests
[Package tests]: https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#package-tests
[nixpkgs-review usage]: https://github.com/Mic92/nixpkgs-review#usage
[CONTRIBUTING.md]: https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md
[lib/tests]: https://github.com/NixOS/nixpkgs/blob/master/lib/tests
[maintainers/README.md]: https://github.com/NixOS/nixpkgs/blob/master/maintainers/README.md
[nixos/tests]: https://github.com/NixOS/nixpkgs/blob/master/nixos/tests
[pkgs/README.md]: https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md
[pkgs/test]: https://github.com/NixOS/nixpkgs/blob/master/pkgs/test
- [ ] Tested using sandboxing ([nix.useSandbox](http://nixos.org/nixos/manual/options.html#opt-nix.useSandbox) on NixOS, or option `build-use-sandbox` in [`nix.conf`](http://nixos.org/nix/manual/#sec-conf-file) on non-NixOS)
- Built on platform(s)
- [ ] NixOS
- [ ] macOS
- [ ] Linux
- [ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests))
- [ ] Tested compilation of all pkgs that depend on this change using `nix-shell -p nox --run "nox-review wip"`
- [ ] Tested execution of all binary files (usually in `./result/bin/`)
- [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md).
---
Add a :+1: [reaction] to [pull requests you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[pull requests you find important]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+sort%3Areactions-%2B1-desc

36
.github/STALE-BOT.md vendored
View File

@@ -1,36 +0,0 @@
# Stale bot information
- Thanks for your contribution!
- Our stale bot will never close an issue or PR.
- To remove the stale label, just leave a new comment.
- _How to find the right people to ping?_ &rarr; [`git blame`](https://git-scm.com/docs/git-blame) to the rescue! (or GitHub's history and blame buttons.)
- You can always ask for help on [our Discourse Forum](https://discourse.nixos.org/), [our Matrix room](https://matrix.to/#/#nix:nixos.org), or on the [#nixos IRC channel](https://web.libera.chat/#nixos).
## Suggestions for PRs
1. GitHub sometimes doesn't notify people who commented / reviewed a PR previously, when you (force) push commits. If you have addressed the reviews you can [officially ask for a review](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/requesting-a-pull-request-review) from those who commented to you or anyone else.
2. If it is unfinished but you plan to finish it, please mark it as a draft.
3. If you don't expect to work on it any time soon, closing it with a short comment may encourage someone else to pick up your work.
4. To get things rolling again, rebase the PR against the target branch and address valid comments.
5. If you need a review to move forward, ask in [the Discourse thread for PRs that need help](https://discourse.nixos.org/t/prs-in-distress/3604).
6. If all you need is a merge, check the git history to find and [request reviews](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/requesting-a-pull-request-review) from people who usually merge related contributions.
## Suggestions for issues
1. If it is resolved (either for you personally, or in general), please consider closing it.
2. If this might still be an issue, but you are not interested in promoting its resolution, please consider closing it while encouraging others to take over and reopen an issue if they care enough.
3. If you still have interest in resolving it, try to ping somebody who you believe might have an interest in the topic. Consider discussing the problem in [our Discourse Forum](https://discourse.nixos.org/).
4. As with all open source projects, your best option is to submit a Pull Request that addresses this issue. We :heart: this attitude!
**Memorandum on closing issues**
Don't be afraid to close an issue that holds valuable information. Closed issues stay in the system for people to search, read, cross-reference, or even reopen--nothing is lost! Closing obsolete issues is an important way to help maintainers focus their time and effort.
## Useful GitHub search queries
- [Open PRs with any stale-bot interaction](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+commenter%3Aapp%2Fstale+)
- [Open PRs with any stale-bot interaction and `2.status: stale`](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+commenter%3Aapp%2Fstale+label%3A%222.status%3A+stale%22)
- [Open PRs with any stale-bot interaction and NOT `2.status: stale`](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+commenter%3Aapp%2Fstale+-label%3A%222.status%3A+stale%22+)
- [Open Issues with any stale-bot interaction](https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+commenter%3Aapp%2Fstale+)
- [Open Issues with any stale-bot interaction and `2.status: stale`](https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+commenter%3Aapp%2Fstale+label%3A%222.status%3A+stale%22+)
- [Open Issues with any stale-bot interaction and NOT `2.status: stale`](https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+commenter%3Aapp%2Fstale+-label%3A%222.status%3A+stale%22+)

View File

@@ -1,95 +0,0 @@
name: Get merge commit
description: 'Checks whether the Pull Request is mergeable and checks out the repo at up to two commits: The result of a temporary merge of the head branch into the target branch ("merged"), and the parent of that commit on the target branch ("target"). Handles push events and merge conflicts gracefully.'
inputs:
mergedSha:
description: "The merge commit SHA, previously collected."
type: string
merged-as-untrusted:
description: "Whether to checkout the merge commit in the ./untrusted folder."
type: boolean
targetSha:
description: "The target commit SHA, previously collected."
type: string
target-as-trusted:
description: "Whether to checkout the target commit in the ./trusted folder."
type: boolean
outputs:
mergedSha:
description: "The merge commit SHA"
value: ${{ steps.commits.outputs.mergedSha }}
targetSha:
description: "The target commit SHA"
value: ${{ steps.commits.outputs.targetSha }}
runs:
using: composite
steps:
- id: commits
if: ${{ !inputs.mergedSha && !inputs.targetSha }}
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
script: |
if (context.eventName == 'push') return core.setOutput('mergedSha', context.sha)
for (const retryInterval of [5, 10, 20, 40, 80]) {
console.log("Checking whether the pull request can be merged...")
const prInfo = (await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.payload.pull_request.number
})).data
if (prInfo.state != 'open') throw new Error ("PR is not open anymore.")
if (prInfo.mergeable == null) {
console.log(`GitHub is still computing whether this PR can be merged, waiting ${retryInterval} seconds before trying again...`)
await new Promise(resolve => setTimeout(resolve, retryInterval * 1000))
continue
}
let mergedSha, targetSha
if (prInfo.mergeable) {
console.log("The PR can be merged.")
mergedSha = prInfo.merge_commit_sha
targetSha = (await github.rest.repos.getCommit({
owner: context.repo.owner,
repo: context.repo.repo,
ref: prInfo.merge_commit_sha
})).data.parents[0].sha
} else {
console.log("The PR has a merge conflict.")
mergedSha = prInfo.head.sha
targetSha = (await github.rest.repos.compareCommitsWithBasehead({
owner: context.repo.owner,
repo: context.repo.repo,
basehead: `${prInfo.base.sha}...${prInfo.head.sha}`
})).data.merge_base_commit.sha
}
console.log(`Checking the commits:\nmerged:${mergedSha}\ntarget:${targetSha}`)
core.setOutput('mergedSha', mergedSha)
core.setOutput('targetSha', targetSha)
return
}
throw new Error("Not retrying anymore. It's likely that GitHub is having internal issues: check https://www.githubstatus.com.")
- if: inputs.merged-as-untrusted && (inputs.mergedSha || steps.commits.outputs.mergedSha)
# Would be great to do the checkouts in git worktrees of the existing spare checkout instead,
# but Nix is broken with them:
# https://github.com/NixOS/nix/issues/6073
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.mergedSha || steps.commits.outputs.mergedSha }}
path: untrusted
- if: inputs.target-as-trusted && (inputs.targetSha || steps.commits.outputs.targetSha)
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.targetSha || steps.commits.outputs.targetSha }}
path: trusted

View File

@@ -1,7 +0,0 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
labels: []

View File

@@ -1,23 +0,0 @@
# This file is used by .github/workflows/labels.yml
# This version is only run for Pull Requests from development branches like staging-next, haskell-updates or python-updates.
"4.workflow: package set update":
- any:
- head-branch:
- '-updates$'
"4.workflow: staging":
- any:
- head-branch:
- '^staging-next$'
- '^staging-next-'
"6.topic: haskell":
- any:
- head-branch:
- '^haskell-updates$'
"6.topic: python":
- any:
- head-branch:
- '^python-updates$'

View File

@@ -1,32 +0,0 @@
# This file is used by .github/workflows/labels.yml
# This version uses `sync-labels: false`, meaning that a non-match will NOT remove the label
# keep-sorted start case=no numeric=yes newline_separated=yes skip_lines=1
"6.topic: policy discussion":
- any:
- changed-files:
- any-glob-to-any-file:
- .github/**/*
- CONTRIBUTING.md
- pkgs/README.md
- nixos/README.md
- maintainers/README.md
- lib/README.md
- doc/README.md
"8.has: documentation":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/**/*
- nixos/doc/**/*
"backport release-25.05":
- any:
- changed-files:
- any-glob-to-any-file:
- .github/workflows/*
- ci/**/*.*
# keep-sorted end

604
.github/labeler.yml vendored
View File

@@ -1,604 +0,0 @@
# This file is used by .github/workflows/labels.yml
# This version uses `sync-labels: true`, meaning that a non-match will remove the label
# keep-sorted start case=no numeric=yes newline_separated=yes skip_lines=1
"4.workflow: backport":
- any:
- base-branch:
- '^release-'
- '^staging-\d'
- '^staging-next-\d'
# NOTE: bsd, darwin and cross-compilation labels are handled by ofborg
"6.topic: agda":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/agda.section.md
- nixos/tests/agda.nix
- pkgs/build-support/agda/**/*
- pkgs/development/libraries/agda/**/*
- pkgs/top-level/agda-packages.nix
"6.topic: cinnamon":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/x11/desktop-managers/cinnamon.nix
- nixos/tests/cinnamon.nix
- nixos/tests/cinnamon-wayland.nix
- pkgs/by-name/ci/cinnamon-*/**/*
- pkgs/by-name/cj/cjs/**/*
- pkgs/by-name/mu/muffin/**/*
- pkgs/by-name/ne/nemo/**/*
- pkgs/by-name/ne/nemo-*/**/*
"6.topic: continuous integration":
- any:
- changed-files:
- any-glob-to-any-file:
- .github/**/*
- ci/**/*.*
"6.topic: coq":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/applications/science/logic/coq/**/*
- pkgs/development/coq-modules/**/*
- pkgs/top-level/coq-packages.nix
"6.topic: COSMIC":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/desktop-managers/cosmic.nix
- nixos/modules/services/display-managers/cosmic-greeter.nix
- nixos/tests/cosmic.nix
- pkgs/by-name/co/cosmic-*/**/*
- pkgs/by-name/xd/xdg-desktop-portal-cosmic/*
"6.topic: crystal":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/development/compilers/crystal/**/*
"6.topic: cuda":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/development/cuda-modules/**/*
- pkgs/top-level/cuda-packages.nix
"6.topic: deepin":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/desktops/deepin/**/*
- pkgs/desktops/deepin/**/*
"6.topic: docker tools":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/applications/virtualization/docker/**/*
"6.topic: dotnet":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/dotnet.section.md
- maintainers/scripts/update-dotnet-lockfiles.nix
- pkgs/build-support/dotnet/**/*
- pkgs/development/compilers/dotnet/**/*
- pkgs/test/dotnet/**/*
- pkgs/top-level/dotnet-packages.nix
"6.topic: emacs":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/editors/emacs.nix
- nixos/modules/services/editors/emacs.xml
- nixos/tests/emacs-daemon.nix
- pkgs/applications/editors/emacs/build-support/**/*
- pkgs/applications/editors/emacs/elisp-packages/**/*
- pkgs/applications/editors/emacs/**/*
- pkgs/top-level/emacs-packages.nix
"6.topic: Enlightenment DE":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/x11/desktop-managers/enlightenment.nix
- pkgs/desktops/enlightenment/**/*
- pkgs/development/python-modules/python-efl/*
"6.topic: erlang":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/beam.section.md
- pkgs/development/beam-modules/**/*
- pkgs/development/interpreters/elixir/**/*
- pkgs/development/interpreters/erlang/**/*
- pkgs/development/tools/build-managers/rebar/**/*
- pkgs/development/tools/build-managers/rebar3/**/*
- pkgs/development/tools/erlang/**/*
- pkgs/top-level/beam-packages.nix
"6.topic: fetch":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/build-support/fetch*/**/*
"6.topic: flakes":
- any:
- changed-files:
- any-glob-to-any-file:
- '**/flake.nix'
- lib/systems/flake-systems.nix
- nixos/modules/config/nix-flakes.nix
"6.topic: flutter":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/build-support/flutter/*.nix
- pkgs/development/compilers/flutter/**/*.nix
"6.topic: games":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/games/**/*
"6.topic: GNOME":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/gnome.section.md
- nixos/modules/services/desktops/gnome/**/*
- nixos/modules/services/desktop-managers/gnome.nix
- nixos/tests/gnome-xorg.nix
- nixos/tests/gnome.nix
- pkgs/desktops/gnome/**/*
"6.topic: golang":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/go.section.md
- pkgs/build-support/go/**/*
- pkgs/development/compilers/go/**/*
"6.topic: hardware":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/hardware/**/*
"6.topic: haskell":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/haskell.section.md
- maintainers/scripts/haskell/**/*
- pkgs/development/compilers/ghc/**/*
- pkgs/development/haskell-modules/**/*
- pkgs/development/tools/haskell/**/*
- pkgs/test/haskell/**/*
- pkgs/top-level/haskell-packages.nix
- pkgs/top-level/release-haskell.nix
"6.topic: java":
- any:
- changed-files:
- any-glob-to-any-file:
# Distributions
- pkgs/development/compilers/adoptopenjdk-icedtea-web/**/*
- pkgs/development/compilers/corretto/**/*
- pkgs/development/compilers/graalvm/**/*
- pkgs/development/compilers/openjdk/**/*
- pkgs/by-name/op/openjfx/**/*
- pkgs/development/compilers/semeru-bin/**/*
- pkgs/development/compilers/temurin-bin/**/*
- pkgs/development/compilers/zulu/**/*
# Documentation
- doc/languages-frameworks/java.section.md
# Gradle
- doc/languages-frameworks/gradle.section.md
- pkgs/development/tools/build-managers/gradle/**/*
- pkgs/by-name/gr/gradle-completion/**/*
# Maven
- pkgs/by-name/ma/maven/**/*
- doc/languages-frameworks/maven.section.md
# Ant
- pkgs/by-name/an/ant/**/*
# javaPackages attrset
- pkgs/development/java-modules/**/*
- pkgs/top-level/java-packages.nix
# Maintainer tooling
- pkgs/by-name/ni/nixpkgs-openjdk-updater/**/*
# Misc
- nixos/modules/programs/java.nix
"6.topic: jitsi":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/networking/jitsi-videobridge.nix
- nixos/modules/services/web-apps/jitsi-meet.nix
- pkgs/servers/web-apps/jitsi-meet/**/*
- pkgs/servers/jitsi-videobridge/**/*
- pkgs/applications/networking/instant-messengers/jitsi/**/*
"6.topic: julia":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/julia.section.md
- pkgs/development/compilers/julia/**/*
- pkgs/development/julia-modules/**/*
"6.topic: jupyter":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/development/python-modules/jupyter*/**/*
- pkgs/development/python-modules/mkdocs-jupyter/*
- nixos/modules/services/development/jupyter/**/*
- pkgs/applications/editors/jupyter-kernels/**/*
- pkgs/applications/editors/jupyter/**/*
"6.topic: k3s":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/cluster/k3s/**/*
- nixos/tests/k3s/**/*
- pkgs/applications/networking/cluster/k3s/**/*
"6.topic: kernel":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/build-support/kernel/**/*
- pkgs/os-specific/linux/kernel/**/*
"6.topic: lib":
- any:
- changed-files:
- any-glob-to-any-file:
- lib/**
"6.topic: llvm/clang":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/development/compilers/llvm/**/*
"6.topic: lua":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/development/tools/misc/luarocks/*
- pkgs/development/interpreters/lua-5/**/*
- pkgs/development/interpreters/luajit/**/*
- pkgs/development/lua-modules/**/*
- pkgs/top-level/lua-packages.nix
"6.topic: Lumina DE":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/x11/desktop-managers/lumina.nix
- pkgs/desktops/lumina/**/*
"6.topic: LXQt":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/x11/desktop-managers/lxqt.nix
- pkgs/desktops/lxqt/**/*
"6.topic: mate":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/x11/desktop-managers/mate.nix
- nixos/tests/mate.nix
- pkgs/desktops/mate/**/*
"6.topic: module system":
- any:
- changed-files:
- any-glob-to-any-file:
- lib/modules.nix
- lib/types.nix
- lib/options.nix
- lib/tests/modules.sh
- lib/tests/modules/**
"6.topic: musl":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/os-specific/linux/musl/**/*
"6.topic: nim":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/nim.section.md
- pkgs/build-support/build-nim-package.nix
- pkgs/build-support/build-nim-sbom.nix
- pkgs/by-name/ni/nim*
- pkgs/top-level/nim-overrides.nix
"6.topic: nixos":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/**/*
- pkgs/by-name/sw/switch-to-configuration-ng/**/*
- pkgs/by-name/ni/nixos-rebuild-ng/**/*
- pkgs/os-specific/linux/nixos-rebuild/**/*
"6.topic: nixos-container":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/virtualisation/nixos-containers.nix
- pkgs/tools/virtualization/nixos-container/**/*
"6.topic: nodejs":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/javascript.section.md
- pkgs/build-support/node/**/*
- pkgs/development/node-packages/**/*
- pkgs/development/tools/yarn/*
- pkgs/development/tools/yarn2nix-moretea/**/*
- pkgs/development/tools/pnpm/**/*
- pkgs/development/web/nodejs/*
"6.topic: nvidia":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/hardware/video/nvidia.nix
- nixos/modules/services/hardware/nvidia-container-toolkit/**/*
- nixos/modules/services/hardware/nvidia-optimus.nix
- pkgs/os-specific/linux/nvidia-x11/**/*
"6.topic: ocaml":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/ocaml.section.md
- pkgs/development/compilers/ocaml/**/*
- pkgs/development/compilers/reason/**/*
- pkgs/development/ocaml-modules/**/*
- pkgs/development/tools/ocaml/**/*
- pkgs/top-level/ocaml-packages.nix
"6.topic: pantheon":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/desktops/pantheon/**/*
- nixos/modules/services/x11/desktop-managers/pantheon.nix
- nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
- nixos/tests/pantheon.nix
- pkgs/desktops/pantheon/**/*
"6.topic: php":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/php.section.md
- nixos/tests/php/**/*
- pkgs/build-support/php/**/*
- pkgs/development/interpreters/php/**/*
- pkgs/development/php-packages/**/*
- pkgs/test/php/default.nix
- pkgs/top-level/php-packages.nix
"6.topic: printing":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/printing/cupsd.nix
- pkgs/misc/cups/**/*
"6.topic: python":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/python.section.md
- pkgs/development/interpreters/python/**/*
- pkgs/development/python-modules/**/*
- pkgs/top-level/python-packages.nix
"6.topic: qt/kde":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/qt.section.md
- nixos/modules/services/x11/desktop-managers/plasma5.nix
- nixos/tests/plasma5.nix
- pkgs/applications/kde/**/*
- pkgs/desktops/plasma-5/**/*
- pkgs/development/libraries/kde-frameworks/**/*
- pkgs/development/libraries/qt-5/**/*
"6.topic: R":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/applications/science/math/R/**/*
- pkgs/development/r-modules/**/*
"6.topic: rocm":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/development/rocm-modules/**/*
"6.topic: ruby":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/ruby.section.md
- pkgs/development/interpreters/ruby/**/*
- pkgs/development/ruby-modules/**/*
- pkgs/top-level/ruby-packages.nix
"6.topic: rust":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/rust.section.md
- pkgs/build-support/rust/**/*
- pkgs/development/compilers/rust/**/*
"6.topic: stdenv":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/stdenv/**/*
"6.topic: steam":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/games/steam/**/*
"6.topic: systemd":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/os-specific/linux/systemd/**/*
- nixos/modules/system/boot/systemd*/**/*
"6.topic: tcl":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/tcl.section.md
- pkgs/development/interpreters/tcl/*
- pkgs/development/tcl-modules/**/*
- pkgs/top-level/tcl-packages.nix
"6.topic: teams":
- any:
- changed-files:
- any-glob-to-any-file:
- maintainers/team-list.nix
"6.topic: testing":
- any:
- changed-files:
- any-glob-to-any-file:
# NOTE: Let's keep the scope limited to test frameworks that are
# *developed in this repo*;
# - not individual tests
# - not packages for test frameworks
- pkgs/build-support/testers/**
- nixos/lib/testing/**
- nixos/lib/test-driver/**
- nixos/tests/nixos-test-driver/**
- nixos/lib/testing-python.nix # legacy
- nixos/tests/make-test-python.nix # legacy
# lib/debug.nix has a test framework (runTests) but it's not the main focus
"6.topic: TeX":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/texlive.section.md
- pkgs/test/texlive/**
- pkgs/tools/typesetting/tex/**/*
"6.topic: updaters":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/common-updater/**/*
"6.topic: vim":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/vim.section.md
- pkgs/applications/editors/vim/**/*
- pkgs/applications/editors/vim/plugins/**/*
- nixos/modules/programs/neovim.nix
- pkgs/applications/editors/neovim/**/*
"6.topic: vscode":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/applications/editors/vscode/**/*
"6.topic: windows":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/os-specific/windows/**/*
"6.topic: xen-project":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/virtualisation/xen*
- pkgs/by-name/xe/xen/*
- pkgs/by-name/qe/qemu_xen/*
- pkgs/by-name/xe/xen-guest-agent/*
- pkgs/by-name/xt/xtf/*
- pkgs/build-support/xen/*
- pkgs/development/ocaml-modules/xen*/*
- pkgs/development/ocaml-modules/vchan/*
"6.topic: xfce":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/doc/manual/configuration/xfce.xml
- nixos/modules/services/x11/desktop-managers/xfce.nix
- nixos/tests/xfce.nix
- pkgs/desktops/xfce/**/*
"6.topic: zig":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/development/compilers/zig/**/*
- doc/hooks/zig.section.md
"8.has: changelog":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/release-notes/**/*
- nixos/doc/manual/release-notes/**/*
"8.has: maintainer-list (update)":
- any:
- changed-files:
- any-glob-to-any-file:
- maintainers/maintainer-list.nix
"8.has: module (update)":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/**/*
# keep-sorted end

View File

@@ -1,63 +0,0 @@
# GitHub Actions Workflows
Some architectural notes about key decisions and concepts in our workflows:
- Instead of `pull_request` we use [`pull_request_target`](https://docs.github.com/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#pull_request_target) for all PR-related workflows.
This has the advantage that those workflows will run without prior approval for external contributors.
- Running on `pull_request_target` also optionally provides us with a GH_TOKEN with elevated privileges (write access), which we need to do things like adding labels, requesting reviewers or pushing branches.
**Note about security:** We need to be careful to limit the scope of elevated privileges as much as possible.
Thus they should be lowered to the minimum with `permissions: {}` in every workflow by default.
- By definition `pull_request_target` runs in the context of the **base** of the pull request.
This means, that the workflow files to run will be taken from the base branch, not the PR, and actions/checkout will not checkout the PR, but the base branch, by default.
To protect our secrets, we need to make sure to **never execute code** from the pull request and always evaluate or build nix code from the pull request with the **sandbox enabled**.
- To test the pull request's contents, we checkout the "test merge commit".
This is a temporary commit that GitHub creates automatically as "what would happen, if this PR was merged into the base branch now?".
The checkout could be done via the virtual branch `refs/pull/<pr-number>/merge`, but doing so would cause failures when this virtual branch doesn't exist (anymore).
This can happen when the PR has conflicts, in which case the virtual branch is not created, or when the PR is getting merged while workflows are still running, in which case the branch won't exist anymore at the time of checkout.
Thus, we use the `get-merge-commit.yml` workflow to check whether the PR is mergeable and the test merge commit exists and only then run the relevant jobs.
- Various workflows need to make comparisons against the base branch.
In this case, we checkout the parent of the "test merge commit" for best results.
Note, that this is not necessarily the same as the default commit that actions/checkout would use, which is also a commit from the base branch (see above), but might be older.
## Terminology
- **base commit**: The pull_request_target event's context commit, i.e. the base commit given by GitHub Actions.
Same as `github.event.pull_request.base.sha`.
- **head commit**: The HEAD commit in the pull request's branch.
Same as `github.event.pull_request.head.sha`.
- **merge commit**: The temporary "test merge commit" that GitHub Actions creates and updates for the pull request.
Same as `refs/pull/${{ github.event.pull_request.number }}/merge`.
- **target commit**: The base branch's parent of the "test merge commit" to compare against.
## Concurrency Groups
We use [GitHub's Concurrency Groups](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/control-the-concurrency-of-workflows-and-jobs) to cancel older jobs on pushes to Pull Requests.
When two workflows are in the same group, a newer workflow cancels an older workflow.
Thus, it is important how to construct the group keys:
- Because we want to run jobs for different events at same time, we add `github.event_name` to the key.
This is the case for the `pull_request` which runs on changes to the workflow files to test the new files and the same workflow from the base branch run via `pull_request_event`.
- We don't want workflows of different Pull Requests to cancel each other, so we include `github.event.pull_request.number`.
The [GitHub docs](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/control-the-concurrency-of-workflows-and-jobs#example-using-a-fallback-value) show using `github.head_ref` for this purpose, but this doesn't work well with forks: Different users could have the same head branch name in their forks and run CI for their PRs at the same time.
- Sometimes, there is no `pull_request.number`.
To ensure non-PR runs are never cancelled, we add a fallback of `github.run_id`.
This is a unique value for each workflow run.
- Of course, we run multiple workflows at the same time, so we add `github.workflow` to the key.
Otherwise workflows would cancel each other.
- There is a special case for reusable workflows called via `workflow_call` - they will have `github.workflow` set to their parent workflow's name.
Thus, they would cancel each other.
That's why we additionally hardcode the name of the workflow as well.
This results in a key with the following semantics:
```
<running-workflow>-<triggering-workflow>-<triggered-event>-<pull-request/fallback>
```

View File

@@ -1,76 +0,0 @@
# WARNING:
# When extending this action, be aware that $GITHUB_TOKEN allows write access to
# the GitHub repository. This means that it should not evaluate user input in a
# way that allows code injection.
name: Backport
on:
pull_request_target:
types: [closed, labeled]
permissions:
contents: read
issues: write
pull-requests: write
defaults:
run:
shell: bash
jobs:
backport:
name: Backport Pull Request
if: vars.NIXPKGS_CI_APP_ID && github.event.pull_request.merged == true && (github.event.action != 'labeled' || startsWith(github.event.label.name, 'backport'))
runs-on: ubuntu-24.04-arm
steps:
# Use a GitHub App to create the PR so that CI gets triggered
# The App is scoped to Repository > Contents and Pull Requests: write for Nixpkgs
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
id: app-token
with:
app-id: ${{ vars.NIXPKGS_CI_APP_ID }}
private-key: ${{ secrets.NIXPKGS_CI_APP_PRIVATE_KEY }}
permission-contents: write
permission-pull-requests: write
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ github.event.pull_request.head.sha }}
token: ${{ steps.app-token.outputs.token }}
- name: Log current API rate limits
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: gh api /rate_limit | jq
- name: Create backport PRs
id: backport
uses: korthout/backport-action@0193454f0c5947491d348f33a275c119f30eb736 # v3.2.1
with:
# Config README: https://github.com/korthout/backport-action#backport-action
copy_labels_pattern: 'severity:\ssecurity'
github_token: ${{ steps.app-token.outputs.token }}
pull_description: |-
Bot-based backport to `${target_branch}`, triggered by a label in #${pull_number}.
* [ ] Before merging, ensure that this backport is [acceptable for the release](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#changes-acceptable-for-releases).
* Even as a non-committer, if you find that it is not acceptable, leave a comment.
- name: Log current API rate limits
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: gh api /rate_limit | jq
- name: "Add 'has: port to stable' label"
if: steps.backport.outputs.created_pull_numbers != ''
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
# Not using the app on purpose to avoid triggering another workflow run after adding this label.
script: |
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
labels: [ '8.has: port to stable' ]
})

View File

@@ -1,100 +0,0 @@
name: Build
on:
workflow_call:
inputs:
baseBranch:
required: true
type: string
mergedSha:
required: true
type: string
secrets:
CACHIX_AUTH_TOKEN:
required: true
permissions: {}
defaults:
run:
shell: bash
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- runner: ubuntu-24.04
system: x86_64-linux
builds: [shell, manual-nixos, lib-tests, tarball]
desc: shell, docs, lib, tarball
- runner: ubuntu-24.04-arm
system: aarch64-linux
builds: [shell, manual-nixos, manual-nixpkgs, manual-nixpkgs-tests]
desc: shell, docs
- runner: macos-13
system: x86_64-darwin
builds: [shell]
desc: shell
- runner: macos-14
system: aarch64-darwin
builds: [shell]
desc: shell
name: '${{ matrix.system }}: ${{ matrix.desc }}'
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
sparse-checkout: .github/actions
- name: Check if the PR can be merged and checkout the merge commit
uses: ./.github/actions/get-merge-commit
with:
mergedSha: ${{ inputs.mergedSha }}
merged-as-untrusted: true
- uses: cachix/install-nix-action@f0fe604f8a612776892427721526b4c7cfb23aba # v31
with:
extra_nix_config: sandbox = true
- uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16
with:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
name: nixpkgs-ci
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Build shell
if: contains(matrix.builds, 'shell')
run: nix-build untrusted/ci -A shell
- name: Build NixOS manual
if: |
contains(matrix.builds, 'manual-nixos') && !cancelled() &&
contains(fromJSON(inputs.baseBranch).type, 'primary')
run: nix-build untrusted/ci -A manual-nixos --argstr system ${{ matrix.system }} --out-link nixos-manual
- name: Build Nixpkgs manual
if: contains(matrix.builds, 'manual-nixpkgs') && !cancelled()
run: nix-build untrusted/ci -A manual-nixpkgs -A manual-nixpkgs-tests
- name: Build Nixpkgs manual tests
if: contains(matrix.builds, 'manual-nixpkgs-tests') && !cancelled()
run: nix-build untrusted/ci -A manual-nixpkgs-tests
- name: Build lib tests
if: contains(matrix.builds, 'lib-tests') && !cancelled()
run: nix-build untrusted/ci -A lib-tests
- name: Build tarball
if: contains(matrix.builds, 'tarball') && !cancelled()
run: nix-build untrusted/ci -A tarball
- name: Upload NixOS manual
if: |
contains(matrix.builds, 'manual-nixos') && !cancelled() &&
contains(fromJSON(inputs.baseBranch).type, 'primary')
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: nixos-manual-${{ matrix.system }}
path: nixos-manual
if-no-files-found: error

View File

@@ -1,71 +0,0 @@
name: Check
on:
workflow_call:
inputs:
baseBranch:
required: true
type: string
headBranch:
required: true
type: string
permissions: {}
defaults:
run:
shell: bash
jobs:
no-channel-base:
name: no channel base
if: contains(fromJSON(inputs.baseBranch).type, 'channel')
runs-on: ubuntu-24.04-arm
steps:
- run: |
cat <<EOF
The nixos-* and nixpkgs-* branches are pushed to by the channel
release script and should not be merged into directly.
Please target the equivalent release-* branch or master instead.
EOF
exit 1
cherry-pick:
if: |
github.event_name == 'pull_request' ||
(fromJSON(inputs.baseBranch).stable && !contains(fromJSON(inputs.headBranch).type, 'development'))
permissions:
pull-requests: write
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
filter: tree:0
path: trusted
- name: Install dependencies
run: npm install bottleneck
- name: Log current API rate limits
env:
GH_TOKEN: ${{ github.token }}
run: gh api /rate_limit | jq
- name: Check cherry-picks
id: check
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
script: |
require('./trusted/ci/github-script/commits.js')({
github,
context,
core,
dry: context.eventName == 'pull_request',
})
- name: Log current API rate limits
env:
GH_TOKEN: ${{ github.token }}
run: gh api /rate_limit | jq

View File

@@ -1,147 +0,0 @@
# This workflow depends on two GitHub Apps with the following permissions:
# - For checking code owners:
# - Permissions:
# - Repository > Administration: read-only
# - Organization > Members: read-only
# - Install App on this repository, setting these variables:
# - OWNER_RO_APP_ID (variable)
# - OWNER_RO_APP_PRIVATE_KEY (secret)
# - For requesting code owners:
# - Permissions:
# - Repository > Administration: read-only
# - Organization > Members: read-only
# - Repository > Pull Requests: read-write
# - Install App on this repository, setting these variables:
# - OWNER_APP_ID (variable)
# - OWNER_APP_PRIVATE_KEY (secret)
#
# This split is done because checking code owners requires handling untrusted PR input,
# while requesting code owners requires PR write access, and those shouldn't be mixed.
#
# Note that the latter is also used for ./eval.yml requesting reviewers.
name: Codeowners v2
on:
pull_request:
paths:
- .github/workflows/codeowners-v2.yml
pull_request_target:
types: [opened, ready_for_review, synchronize, reopened]
concurrency:
group: codeowners-${{ github.workflow }}-${{ github.event_name }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
permissions: {}
defaults:
run:
shell: bash
env:
OWNERS_FILE: ci/OWNERS
# Don't do anything on draft PRs
DRY_MODE: ${{ github.event.pull_request.draft && '1' || '' }}
jobs:
# Check that code owners is valid
check:
name: Check
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
sparse-checkout: .github/actions
- name: Check if the PR can be merged and checkout the merge and target commits
uses: ./.github/actions/get-merge-commit
with:
merged-as-untrusted: true
target-as-trusted: true
- uses: cachix/install-nix-action@f0fe604f8a612776892427721526b4c7cfb23aba # v31
- uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16
with:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
name: nixpkgs-ci
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- name: Build codeowners validator
run: nix-build trusted/ci -A codeownersValidator
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
if: github.event_name == 'pull_request_target' && vars.OWNER_RO_APP_ID
id: app-token
with:
app-id: ${{ vars.OWNER_RO_APP_ID }}
private-key: ${{ secrets.OWNER_RO_APP_PRIVATE_KEY }}
permission-administration: read
permission-members: read
- name: Log current API rate limits
if: steps.app-token.outputs.token
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: gh api /rate_limit | jq
- name: Validate codeowners
if: steps.app-token.outputs.token
env:
OWNERS_FILE: untrusted/${{ env.OWNERS_FILE }}
GITHUB_ACCESS_TOKEN: ${{ steps.app-token.outputs.token }}
REPOSITORY_PATH: untrusted
OWNER_CHECKER_REPOSITORY: ${{ github.repository }}
# Set this to "notowned,avoid-shadowing" to check that all files are owned by somebody
EXPERIMENTAL_CHECKS: "avoid-shadowing"
run: result/bin/codeowners-validator
- name: Log current API rate limits
if: steps.app-token.outputs.token
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: gh api /rate_limit | jq
# Request reviews from code owners
request:
name: Request
runs-on: ubuntu-24.04-arm
steps:
- uses: cachix/install-nix-action@f0fe604f8a612776892427721526b4c7cfb23aba # v31
# Important: Because we use pull_request_target, this checks out the base branch of the PR, not the PR head.
# This is intentional, because we need to request the review of owners as declared in the base branch.
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
path: trusted
- name: Build review request package
run: nix-build trusted/ci -A requestReviews
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
if: github.event_name == 'pull_request_target' && vars.OWNER_APP_ID
id: app-token
with:
app-id: ${{ vars.OWNER_APP_ID }}
private-key: ${{ secrets.OWNER_APP_PRIVATE_KEY }}
permission-administration: read
permission-members: read
permission-pull-requests: write
- name: Log current API rate limits
if: steps.app-token.outputs.token
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: gh api /rate_limit | jq
- name: Request reviews
if: steps.app-token.outputs.token
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: result/bin/request-code-owner-reviews.sh ${{ github.repository }} ${{ github.event.number }} "$OWNERS_FILE"
- name: Log current API rate limits
if: steps.app-token.outputs.token
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: gh api /rate_limit | jq

View File

@@ -1,65 +0,0 @@
name: Dismissed review
on:
workflow_run:
workflows:
- Review dismissed
types: [completed]
concurrency:
group: dismissed-review-${{ github.workflow }}-${{ github.event_name }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
permissions:
pull-requests: write
defaults:
run:
shell: bash
jobs:
# The `check-cherry-picks` workflow creates review comments which reviewers
# are encouraged to manually dismiss if they're not relevant.
# When a CI-generated review is dismissed, this job automatically minimizes
# it, preventing it from cluttering the PR.
minimize:
name: Minimize as resolved
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
script: |
// PRs from forks don't have any PRs associated by default.
// Thus, we request the PR number with an API call *to* the fork's repo.
// Multiple pull requests can be open from the same head commit, either via
// different base branches or head branches.
const { head_repository, head_sha, repository } = context.payload.workflow_run
await Promise.all(
(await github.paginate(github.rest.repos.listPullRequestsAssociatedWithCommit, {
owner: head_repository.owner.login,
repo: head_repository.name,
commit_sha: head_sha
}))
.filter(pull_request => pull_request.base.repo.id == repository.id)
.map(async (pull_request) =>
Promise.all(
(await github.paginate(github.rest.pulls.listReviews, {
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: pull_request.number
})).filter(review =>
review.user.login == 'github-actions[bot]' &&
review.state == 'DISMISSED'
).map(review => github.graphql(`
mutation($node_id:ID!) {
minimizeComment(input: {
classifier: RESOLVED,
subjectId: $node_id
})
{ clientMutationId }
}`,
{ node_id: review.node_id }
))
)
)
)

View File

@@ -1,58 +0,0 @@
# Some workflows depend on the base branch of the PR, but changing the base branch is not included in the default trigger events, which would be `opened`, `synchronize` or `reopened`.
# Instead it causes an `edited` event.
# Since `edited` is also triggered when PR title/body is changed, we use this wrapper workflow, to run the other workflows conditionally only.
# There are already feature requests for adding a `base_changed` event:
# - https://github.com/orgs/community/discussions/35058
# - https://github.com/orgs/community/discussions/64119
#
# Instead of adding this to each workflow's pull_request_target event, we trigger this in a separate workflow.
# This has the advantage, that we can actually skip running those jobs for simple edits like changing the title or description.
# The actual trigger happens by closing and re-opening the pull request, which triggers the default pull_request_target events.
# This is much simpler and reliable than other approaches.
name: "Edited base branch"
on:
pull_request_target:
types: [edited]
concurrency:
group: edited-${{ github.workflow }}-${{ github.event_name }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
permissions: {}
defaults:
run:
shell: bash
jobs:
base:
name: Trigger jobs
runs-on: ubuntu-24.04
if: github.event.changes.base.ref.from && github.event.changes.base.ref.from != github.event.pull_request.base.ref
steps:
# Use a GitHub App to create the PR so that CI gets triggered
# The App is scoped to Repository > Contents and Pull Requests: write for Nixpkgs
# We only need Pull Requests: write here, but the app is also used for backports.
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
id: app-token
with:
app-id: ${{ vars.NIXPKGS_CI_APP_ID }}
private-key: ${{ secrets.NIXPKGS_CI_APP_PRIVATE_KEY }}
permission-pull-requests: write
- uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
github-token: ${{ steps.app-token.outputs.token }}
script: |
function changeState(state) {
return github.rest.pulls.update({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.payload.pull_request.number,
state
})
}
await changeState('closed')
await changeState('open')

View File

@@ -1,255 +0,0 @@
name: Eval
on:
workflow_call:
inputs:
mergedSha:
required: true
type: string
targetSha:
type: string
systems:
required: true
type: string
secrets:
OWNER_APP_PRIVATE_KEY:
required: false
permissions: {}
defaults:
run:
shell: bash
jobs:
eval:
runs-on: ubuntu-24.04-arm
strategy:
fail-fast: false
matrix:
system: ${{ fromJSON(inputs.systems) }}
name: ${{ matrix.system }}
outputs:
targetRunId: ${{ steps.targetRunId.outputs.targetRunId }}
steps:
- name: Enable swap
run: |
sudo fallocate -l 10G /swap
sudo chmod 600 /swap
sudo mkswap /swap
sudo swapon /swap
- name: Check out the PR at the test merge commit
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.mergedSha }}
path: untrusted
- name: Install Nix
uses: cachix/install-nix-action@f0fe604f8a612776892427721526b4c7cfb23aba # v31
with:
extra_nix_config: sandbox = true
- name: Evaluate the ${{ matrix.system }} output paths for all derivation attributes
env:
MATRIX_SYSTEM: ${{ matrix.system }}
run: |
nix-build untrusted/ci -A eval.singleSystem \
--argstr evalSystem "$MATRIX_SYSTEM" \
--arg chunkSize 10000 \
--out-link merged
# If it uses too much memory, slightly decrease chunkSize
- name: Upload the output paths and eval stats
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: merged-${{ matrix.system }}
path: merged/*
- name: Log current API rate limits
env:
GH_TOKEN: ${{ github.token }}
run: gh api /rate_limit | jq
- name: Get target run id
if: inputs.targetSha
id: targetRunId
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
env:
MATRIX_SYSTEM: ${{ matrix.system }}
TARGET_SHA: ${{ inputs.targetSha }}
with:
script: |
const system = process.env.MATRIX_SYSTEM
const targetSha = process.env.TARGET_SHA
let run_id
try {
run_id = (await github.rest.actions.listWorkflowRuns({
...context.repo,
workflow_id: 'push.yml',
event: 'push',
head_sha: targetSha
})).data.workflow_runs[0].id
} catch {
throw new Error(`Could not find a push.yml workflow run for ${targetSha}.`)
}
// Waiting 120 * 5 sec = 10 min. max.
// Eval takes max 5-6 minutes, normally.
for (let i = 0; i < 120; i++) {
const result = await github.rest.actions.listWorkflowRunArtifacts({
...context.repo,
run_id,
name: `merged-${system}`
})
if (result.data.total_count > 0) {
core.setOutput('targetRunId', run_id)
return
}
await new Promise(resolve => setTimeout(resolve, 5000))
}
// No artifact found at this stage. This usually means that Eval failed on the target branch.
// This should only happen when Eval is broken on the target branch and this PR fixes it.
// Continue without targetRunId to skip the remaining steps, but pass the job.
- name: Log current API rate limits
env:
GH_TOKEN: ${{ github.token }}
run: gh api /rate_limit | jq
- uses: actions/download-artifact@v4
if: steps.targetRunId.outputs.targetRunId
with:
run-id: ${{ steps.targetRunId.outputs.targetRunId }}
name: merged-${{ matrix.system }}
path: target
github-token: ${{ github.token }}
merge-multiple: true
- name: Compare outpaths against the target branch
if: steps.targetRunId.outputs.targetRunId
env:
MATRIX_SYSTEM: ${{ matrix.system }}
run: |
nix-build untrusted/ci -A eval.diff \
--arg beforeDir ./target \
--arg afterDir "$(readlink ./merged)" \
--argstr evalSystem "$MATRIX_SYSTEM" \
--out-link diff
- name: Upload outpaths diff and stats
if: steps.targetRunId.outputs.targetRunId
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: diff-${{ matrix.system }}
path: diff/*
compare:
runs-on: ubuntu-24.04-arm
needs: [eval]
if: needs.eval.outputs.targetRunId
permissions:
statuses: write
steps:
- name: Download output paths and eval stats for all systems
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
pattern: diff-*
path: diff
merge-multiple: true
- name: Check out the PR at the target commit
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.targetSha }}
path: trusted
- name: Install Nix
uses: cachix/install-nix-action@f0fe604f8a612776892427721526b4c7cfb23aba # v31
with:
extra_nix_config: sandbox = true
- name: Combine all output paths and eval stats
run: |
nix-build trusted/ci -A eval.combine \
--arg diffDir ./diff \
--out-link combined
- name: Compare against the target branch
env:
AUTHOR_ID: ${{ github.event.pull_request.user.id }}
run: |
git -C trusted fetch --depth 1 origin ${{ inputs.mergedSha }}
git -C trusted diff --name-only ${{ inputs.mergedSha }} \
| jq --raw-input --slurp 'split("\n")[:-1]' > touched-files.json
# Use the target branch to get accurate maintainer info
nix-build trusted/ci -A eval.compare \
--arg combinedDir "$(realpath ./combined)" \
--arg touchedFilesJson ./touched-files.json \
--argstr githubAuthorId "$AUTHOR_ID" \
--out-link comparison
cat comparison/step-summary.md >> "$GITHUB_STEP_SUMMARY"
- name: Upload the comparison results
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: comparison
path: comparison/*
- name: Add eval summary to commit statuses
if: ${{ github.event_name == 'pull_request_target' }}
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
script: |
const { readFile } = require('node:fs/promises')
const changed = JSON.parse(await readFile('comparison/changed-paths.json', 'utf-8'))
const description =
'Package: ' + [
`added ${changed.attrdiff.added.length}`,
`removed ${changed.attrdiff.removed.length}`,
`changed ${changed.attrdiff.changed.length}`
].join(', ') +
' — Rebuild: ' + [
`linux ${changed.rebuildCountByKernel.linux}`,
`darwin ${changed.rebuildCountByKernel.darwin}`
].join(', ')
const { serverUrl, repo, runId, payload } = context
const target_url =
`${serverUrl}/${repo.owner}/${repo.repo}/actions/runs/${runId}?pr=${payload.pull_request.number}`
await github.rest.repos.createCommitStatus({
...repo,
sha: payload.pull_request.head.sha,
context: 'Eval Summary',
state: 'success',
description,
target_url
})
misc:
if: ${{ github.event_name != 'push' }}
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
sparse-checkout: .github/actions
- name: Check if the PR can be merged and checkout the merge commit
uses: ./.github/actions/get-merge-commit
with:
merged-as-untrusted: true
- name: Install Nix
uses: cachix/install-nix-action@f0fe604f8a612776892427721526b4c7cfb23aba # v31
with:
extra_nix_config: sandbox = true
- name: Ensure flake outputs on all systems still evaluate
run: nix flake check --all-systems --no-build ./untrusted
- name: Query nixpkgs with aliases enabled to check for basic syntax errors
run: |
time nix-env -I ./untrusted -f ./untrusted -qa '*' --option restrict-eval true --option allow-import-from-derivation false >/dev/null

View File

@@ -1,120 +0,0 @@
# WARNING:
# When extending this action, be aware that $GITHUB_TOKEN allows some write
# access to the GitHub API. This means that it should not evaluate user input in
# a way that allows code injection.
name: Labels
on:
schedule:
- cron: '07,17,27,37,47,57 * * * *'
workflow_call:
inputs:
headBranch:
required: true
type: string
secrets:
NIXPKGS_CI_APP_PRIVATE_KEY:
required: true
workflow_dispatch:
concurrency:
# This explicitly avoids using `run_id` for the concurrency key to make sure that only
# *one* scheduled run can run at a time.
group: labels-${{ github.workflow }}-${{ github.event_name }}-${{ github.event.pull_request.number }}
# PR-triggered runs will be cancelled, but scheduled runs will be queued.
cancel-in-progress: ${{ github.event_name != 'schedule' }}
# This is used as fallback without app only.
# This happens when testing in forks without setting up that app.
permissions:
issues: write
pull-requests: write
defaults:
run:
shell: bash
jobs:
update:
runs-on: ubuntu-24.04-arm
if: github.event_name != 'schedule' || github.repository_owner == 'NixOS'
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
sparse-checkout: |
ci/github-script
- name: Install dependencies
run: npm install @actions/artifact bottleneck
# Use a GitHub App, because it has much higher rate limits: 12,500 instead of 5,000 req / hour.
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
if: vars.NIXPKGS_CI_APP_ID
id: app-token
with:
app-id: ${{ vars.NIXPKGS_CI_APP_ID }}
private-key: ${{ secrets.NIXPKGS_CI_APP_PRIVATE_KEY }}
permission-issues: write
permission-pull-requests: write
- name: Log current API rate limits
env:
GH_TOKEN: ${{ steps.app-token.outputs.token || github.token }}
run: gh api /rate_limit | jq
- name: Labels from API data and Eval results
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
github-token: ${{ steps.app-token.outputs.token || github.token }}
retries: 3
script: |
require('./ci/github-script/labels.js')({
github,
context,
core,
dry: context.eventName == 'pull_request'
})
- name: Log current API rate limits
env:
GH_TOKEN: ${{ steps.app-token.outputs.token || github.token }}
run: gh api /rate_limit | jq
- uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
name: Labels from touched files
if: |
github.event_name == 'pull_request_target' &&
!contains(fromJSON(inputs.headBranch).type, 'development')
with:
repo-token: ${{ steps.app-token.outputs.token }}
configuration-path: .github/labeler.yml # default
sync-labels: true
- uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
name: Labels from touched files (no sync)
if: |
github.event_name == 'pull_request_target' &&
!contains(fromJSON(inputs.headBranch).type, 'development')
with:
repo-token: ${{ steps.app-token.outputs.token }}
configuration-path: .github/labeler-no-sync.yml
sync-labels: false
- uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
name: Labels from touched files (development branches)
# Development branches like staging-next, haskell-updates and python-updates get special labels.
# This is to avoid the mass of labels there, which is mostly useless - and really annoying for
# the backport labels.
if: |
github.event_name == 'pull_request_target' &&
contains(fromJSON(inputs.headBranch).type, 'development')
with:
repo-token: ${{ steps.app-token.outputs.token }}
configuration-path: .github/labeler-development-branches.yml
sync-labels: true
- name: Log current API rate limits
env:
GH_TOKEN: ${{ steps.app-token.outputs.token || github.token }}
run: gh api /rate_limit | jq

View File

@@ -1,105 +0,0 @@
name: Lint
on:
workflow_call:
inputs:
mergedSha:
required: true
type: string
targetSha:
required: true
type: string
permissions: {}
defaults:
run:
shell: bash
jobs:
treefmt:
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
sparse-checkout: .github/actions
- name: Check if the PR can be merged and checkout the merge commit
uses: ./.github/actions/get-merge-commit
with:
mergedSha: ${{ inputs.mergedSha }}
merged-as-untrusted: true
- uses: cachix/install-nix-action@f0fe604f8a612776892427721526b4c7cfb23aba # v31
with:
extra_nix_config: sandbox = true
- name: Check that files are formatted
run: |
# Note that it's fine to run this on untrusted code because:
# - There's no secrets accessible here
# - The build is sandboxed
if ! nix-build untrusted/ci -A fmt.check; then
echo "Some files are not properly formatted"
echo "Please format them by going to the Nixpkgs root directory and running one of:"
echo " nix-shell --run treefmt"
echo " nix develop --command treefmt"
echo " nix fmt"
echo "Make sure your branch is up to date with master; rebase if not."
echo "If you're having trouble, please ping @NixOS/nix-formatting"
exit 1
fi
parse:
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
sparse-checkout: .github/actions
- name: Check if the PR can be merged and checkout the merge commit
uses: ./.github/actions/get-merge-commit
with:
mergedSha: ${{ inputs.mergedSha }}
merged-as-untrusted: true
- uses: cachix/install-nix-action@f0fe604f8a612776892427721526b4c7cfb23aba # v31
with:
extra_nix_config: sandbox = true
- name: Parse all nix files
run: |
# Tests multiple versions at once, let's make sure all of them run, so keep-going.
nix-build untrusted/ci -A parse --keep-going
nixpkgs-vet:
runs-on: ubuntu-24.04-arm
# This should take 1 minute at most, but let's be generous. The default of 6 hours is definitely too long.
timeout-minutes: 10
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
sparse-checkout: .github/actions
- name: Check if the PR can be merged and checkout merged and target commits
uses: ./.github/actions/get-merge-commit
with:
mergedSha: ${{ inputs.mergedSha }}
merged-as-untrusted: true
targetSha: ${{ inputs.targetSha }}
target-as-trusted: true
- uses: cachix/install-nix-action@f0fe604f8a612776892427721526b4c7cfb23aba # v31
with:
extra_nix_config: sandbox = true
- name: Running nixpkgs-vet
env:
# Force terminal colors to be enabled. The library that `nixpkgs-vet` uses respects https://bixense.com/clicolors/
CLICOLOR_FORCE: 1
run: |
if nix-build untrusted/ci -A nixpkgs-vet --arg base "./trusted" --arg head "./untrusted"; then
exit 0
else
exitCode=$?
echo "To run locally: ./ci/nixpkgs-vet.sh $GITHUB_BASE_REF https://github.com/$GITHUB_REPOSITORY.git"
echo "If you're having trouble, ping @NixOS/nixpkgs-vet"
exit "$exitCode"
fi

View File

@@ -1,46 +0,0 @@
# This action periodically merges base branches into staging branches.
# This is done to
# * prevent conflicts or rather resolve them early
# * make all potential breakage happen on the staging branch
# * and make sure that all major rebuilds happen before the staging
# branch gets merged back into its base branch.
name: "Periodic Merges (24h)"
on:
schedule:
# * is a special character in YAML so you have to quote this string
# Merge every 24 hours
- cron: '0 0 * * *'
workflow_dispatch:
permissions: {}
defaults:
run:
shell: bash
jobs:
periodic-merge:
if: github.repository_owner == 'NixOS'
strategy:
# don't fail fast, so that all pairs are tried
fail-fast: false
# certain branches need to be merged in order, like master->staging-next->staging
# and disabling parallelism ensures the order of the pairs below.
max-parallel: 1
matrix:
pairs:
- from: release-25.05
into: staging-next-25.05
- from: staging-next-25.05
into: staging-25.05
- name: merge-base(master,staging) → haskell-updates
from: master staging
into: haskell-updates
uses: ./.github/workflows/periodic-merge.yml
with:
from: ${{ matrix.pairs.from }}
into: ${{ matrix.pairs.into }}
name: ${{ matrix.pairs.name || format('{0} → {1}', matrix.pairs.from, matrix.pairs.into) }}
secrets: inherit

View File

@@ -1,43 +0,0 @@
# This action periodically merges base branches into staging branches.
# This is done to
# * prevent conflicts or rather resolve them early
# * make all potential breakage happen on the staging branch
# * and make sure that all major rebuilds happen before the staging
# branch gets merged back into its base branch.
name: "Periodic Merges (6h)"
on:
schedule:
# * is a special character in YAML so you have to quote this string
# Merge every 6 hours
- cron: '0 */6 * * *'
workflow_dispatch:
permissions: {}
defaults:
run:
shell: bash
jobs:
periodic-merge:
if: github.repository_owner == 'NixOS'
strategy:
# don't fail fast, so that all pairs are tried
fail-fast: false
# certain branches need to be merged in order, like master->staging-next->staging
# and disabling parallelism ensures the order of the pairs below.
max-parallel: 1
matrix:
pairs:
- from: master
into: staging-next
- from: staging-next
into: staging
uses: ./.github/workflows/periodic-merge.yml
with:
from: ${{ matrix.pairs.from }}
into: ${{ matrix.pairs.into }}
name: ${{ format('{0} → {1}', matrix.pairs.from, matrix.pairs.into) }}
secrets: inherit

View File

@@ -1,63 +0,0 @@
name: "Merge"
on:
workflow_call:
inputs:
from:
description: Branch to merge into target branch. Can also be two branches separated by space to find the merge base between them.
required: true
type: string
into:
description: Target branch to merge into.
required: true
type: string
defaults:
run:
shell: bash
jobs:
merge:
runs-on: ubuntu-24.04-arm
steps:
# Use a GitHub App to create the PR so that CI gets triggered
# The App is scoped to Repository > Contents and Pull Requests: write for Nixpkgs
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
id: app-token
with:
app-id: ${{ vars.NIXPKGS_CI_APP_ID }}
private-key: ${{ secrets.NIXPKGS_CI_APP_PRIVATE_KEY }}
permission-contents: write
permission-pull-requests: write
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Find merge base between two branches
if: contains(inputs.from, ' ')
id: merge_base
env:
branches: ${{ inputs.from }}
run: |
# turn into bash array, split on space
read -ra branches <<< "$branches"
git fetch --shallow-since="1 month ago" origin "${branches[@]}"
merge_base="$(git merge-base "refs/remotes/origin/${branches[0]}" "refs/remotes/origin/${branches[1]}")"
echo "Found merge base: $merge_base" >&2
echo "merge_base=$merge_base" >> "$GITHUB_OUTPUT"
- name: ${{ inputs.from }} → ${{ inputs.into }}
uses: devmasx/merge-branch@854d3ac71ed1e9deb668e0074781b81fdd6e771f # 1.4.0
with:
type: now
from_branch: ${{ steps.merge_base.outputs.merge_base || inputs.from }}
target_branch: ${{ inputs.into }}
github_token: ${{ steps.app-token.outputs.token }}
- name: Comment on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
if: ${{ failure() }}
with:
issue-number: 105153
body: |
Periodic merge from `${{ inputs.from }}` into `${{ inputs.into }}` has [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).
token: ${{ steps.app-token.outputs.token }}

View File

@@ -1,149 +0,0 @@
name: PR
on:
pull_request:
paths:
- .github/workflows/build.yml
- .github/workflows/check.yml
- .github/workflows/eval.yml
- .github/workflows/lint.yml
- .github/workflows/pr.yml
- .github/workflows/labels.yml
- .github/workflows/reviewers.yml # needs eval results from the same event type
pull_request_target:
concurrency:
group: pr-${{ github.workflow }}-${{ github.event_name }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
permissions: {}
jobs:
prepare:
runs-on: ubuntu-24.04-arm
outputs:
baseBranch: ${{ steps.branches.outputs.base }}
headBranch: ${{ steps.branches.outputs.head }}
mergedSha: ${{ steps.get-merge-commit.outputs.mergedSha }}
targetSha: ${{ steps.get-merge-commit.outputs.targetSha }}
systems: ${{ steps.systems.outputs.systems }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
sparse-checkout: |
.github/actions
ci/supportedBranches.js
ci/supportedSystems.json
- name: Check if the PR can be merged and get the test merge commit
uses: ./.github/actions/get-merge-commit
id: get-merge-commit
- name: Load supported systems
id: systems
run: |
echo "systems=$(jq -c <ci/supportedSystems.json)" >> "$GITHUB_OUTPUT"
- name: Determine branch type
id: branches
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
script: |
const { classify } = require('./ci/supportedBranches.js')
const { base, head } = context.payload.pull_request
const baseClassification = classify(base.ref)
core.setOutput('base', baseClassification)
core.info('base classification:', baseClassification)
const headClassification =
(base.repo.full_name == head.repo.full_name) ?
classify(head.ref) :
// PRs from forks are always considered WIP.
{ type: ['wip'] }
core.setOutput('head', headClassification)
core.info('head classification:', headClassification)
check:
name: Check
needs: [prepare]
uses: ./.github/workflows/check.yml
permissions:
# cherry-picks
pull-requests: write
with:
baseBranch: ${{ needs.prepare.outputs.baseBranch }}
headBranch: ${{ needs.prepare.outputs.headBranch }}
lint:
name: Lint
needs: [prepare]
uses: ./.github/workflows/lint.yml
with:
mergedSha: ${{ needs.prepare.outputs.mergedSha }}
targetSha: ${{ needs.prepare.outputs.targetSha }}
eval:
name: Eval
needs: [prepare]
uses: ./.github/workflows/eval.yml
permissions:
# compare
statuses: write
secrets:
OWNER_APP_PRIVATE_KEY: ${{ secrets.OWNER_APP_PRIVATE_KEY }}
with:
mergedSha: ${{ needs.prepare.outputs.mergedSha }}
targetSha: ${{ needs.prepare.outputs.targetSha }}
systems: ${{ needs.prepare.outputs.systems }}
labels:
name: Labels
needs: [prepare, eval]
uses: ./.github/workflows/labels.yml
permissions:
issues: write
pull-requests: write
secrets:
NIXPKGS_CI_APP_PRIVATE_KEY: ${{ secrets.NIXPKGS_CI_APP_PRIVATE_KEY }}
with:
headBranch: ${{ needs.prepare.outputs.headBranch }}
reviewers:
name: Reviewers
needs: [prepare, eval]
if: |
needs.prepare.outputs.targetSha &&
!contains(fromJSON(needs.prepare.outputs.headBranch).type, 'development')
uses: ./.github/workflows/reviewers.yml
secrets:
OWNER_APP_PRIVATE_KEY: ${{ secrets.OWNER_APP_PRIVATE_KEY }}
build:
name: Build
needs: [prepare]
uses: ./.github/workflows/build.yml
secrets:
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
with:
baseBranch: ${{ needs.prepare.outputs.baseBranch }}
mergedSha: ${{ needs.prepare.outputs.mergedSha }}
# This job's only purpose is to serve as a target for the "Required Status Checks" branch ruleset.
# It "needs" all the jobs that should block merging a PR.
# If they pass, it is skipped — which counts as "success" for purposes of the branch ruleset.
# However, if any of them fail, this job will also fail — thus blocking the branch ruleset.
no-pr-failures:
# Modify this list to add or remove jobs from required status checks.
needs:
- check
- lint
- eval
- build
# WARNING:
# Do NOT change the name of this job, otherwise the rule will not catch it anymore.
# This would prevent all PRs from merging.
name: no PR failures
if: ${{ failure() }}
runs-on: ubuntu-24.04-arm
steps:
- run: exit 1

View File

@@ -1,48 +0,0 @@
name: Push
on:
pull_request:
paths:
- .github/workflows/push.yml
# eval is tested via pr.yml
push:
# Keep this synced with ci/request-reviews/dev-branches.txt
branches:
- master
- staging
- release-*
- staging-*
- haskell-updates
- python-updates
permissions: {}
jobs:
prepare:
runs-on: ubuntu-24.04-arm
outputs:
systems: ${{ steps.systems.outputs.systems }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
sparse-checkout: |
ci/supportedSystems.json
- name: Load supported systems
id: systems
run: |
echo "systems=$(jq -c <ci/supportedSystems.json)" >> "$GITHUB_OUTPUT"
eval:
name: Eval
needs: [prepare]
uses: ./.github/workflows/eval.yml
# Those are not actually used on push, but will throw an error if not set.
permissions:
# compare
issues: write
pull-requests: write
statuses: write
with:
mergedSha: ${{ github.sha }}
systems: ${{ needs.prepare.outputs.systems }}

View File

@@ -1,17 +0,0 @@
name: Review dismissed
on:
pull_request_review:
types: [dismissed]
permissions: {}
defaults:
run:
shell: bash
jobs:
trigger:
runs-on: ubuntu-24.04-arm
steps:
- run: echo This is a no-op only used as a trigger for workflow_run.

View File

@@ -1,144 +0,0 @@
# This workflow will request reviews from the maintainers of each package
# listed in the PR's most recent eval comparison artifact.
name: Reviewers
on:
pull_request:
paths:
- .github/workflows/reviewers.yml
pull_request_target:
types: [ready_for_review]
workflow_call:
secrets:
OWNER_APP_PRIVATE_KEY:
required: true
concurrency:
group: reviewers-${{ github.workflow }}-${{ github.event_name }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
permissions: {}
defaults:
run:
shell: bash
jobs:
request:
runs-on: ubuntu-24.04-arm
steps:
- name: Check out the PR at the base commit
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
path: trusted
sparse-checkout: ci
- name: Install Nix
uses: cachix/install-nix-action@f0fe604f8a612776892427721526b4c7cfb23aba # v31
with:
extra_nix_config: sandbox = true
- name: Build the requestReviews derivation
run: nix-build trusted/ci -A requestReviews
# See ./codeowners-v2.yml, reuse the same App because we need the same permissions
# Can't use the token received from permissions above, because it can't get enough permissions
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
if: github.event_name == 'pull_request_target' && vars.OWNER_APP_ID
id: app-token
with:
app-id: ${{ vars.OWNER_APP_ID }}
private-key: ${{ secrets.OWNER_APP_PRIVATE_KEY }}
permission-administration: read
permission-members: read
permission-pull-requests: write
- name: Log current API rate limits (github.token)
env:
GH_TOKEN: ${{ github.token }}
run: gh api /rate_limit | jq
# In the regular case, this workflow is called via workflow_call from the eval workflow directly.
# In the more special case, when a PR is undrafted an eval run will have started already.
- name: Wait for comparison to be done
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
id: eval
with:
script: |
const run_id = (await github.rest.actions.listWorkflowRuns({
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: 'pr.yml',
event: context.eventName,
head_sha: context.payload.pull_request.head.sha
})).data.workflow_runs[0].id
core.setOutput('run-id', run_id)
// Waiting 120 * 5 sec = 10 min. max.
// The extreme case is an Eval run that just started when the PR is undrafted.
// Eval takes max 5-6 minutes, normally.
for (let i = 0; i < 120; i++) {
const result = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id,
name: 'comparison'
})
if (result.data.total_count > 0) return
await new Promise(resolve => setTimeout(resolve, 5000))
}
throw new Error("No comparison artifact found.")
- name: Log current API rate limits (github.token)
env:
GH_TOKEN: ${{ github.token }}
run: gh api /rate_limit | jq
- name: Download the comparison results
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
run-id: ${{ steps.eval.outputs.run-id }}
github-token: ${{ github.token }}
pattern: comparison
path: comparison
merge-multiple: true
- name: Log current API rate limits (app-token)
if: ${{ steps.app-token.outputs.token }}
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: gh api /rate_limit | jq
- name: Log current API rate limits (github.token)
env:
GH_TOKEN: ${{ github.token }}
run: gh api /rate_limit | jq
- name: Requesting maintainer reviews
if: ${{ steps.app-token.outputs.token }}
env:
GH_TOKEN: ${{ github.token }}
REPOSITORY: ${{ github.repository }}
NUMBER: ${{ github.event.number }}
AUTHOR: ${{ github.event.pull_request.user.login }}
# Don't request reviewers on draft PRs
DRY_MODE: ${{ github.event.pull_request.draft && '1' || '' }}
run: |
# maintainers.json contains GitHub IDs. Look up handles to request reviews from.
# There appears to be no API to request reviews based on GitHub IDs
jq -r 'keys[]' comparison/maintainers.json \
| while read -r id; do gh api /user/"$id" --jq .login; done \
| GH_TOKEN=${{ steps.app-token.outputs.token }} result/bin/request-reviewers.sh "$REPOSITORY" "$NUMBER" "$AUTHOR"
- name: Log current API rate limits (app-token)
if: ${{ steps.app-token.outputs.token }}
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: gh api /rate_limit | jq
- name: Log current API rate limits (github.token)
env:
GH_TOKEN: ${{ github.token }}
run: gh api /rate_limit | jq

30
.gitignore vendored
View File

@@ -2,41 +2,15 @@
,*
.*.swp
.*.swo
.\#*
\#*\#
.idea/
.nixos-test-history
.vscode/
.helix/
outputs/
result-*
result
repl-result-*
tags
!pkgs/development/python-modules/result
result-*
/doc/NEWS.html
/doc/NEWS.txt
/doc/manual.html
/doc/manual.pdf
/source/
.version-suffix
.direnv
.envrc
.DS_Store
.mypy_cache
__pycache__
/pkgs/development/libraries/qt-5/*/tmp/
/pkgs/desktops/kde-5/*/tmp/
/pkgs/development/mobile/androidenv/xml/*
# generated by pkgs/common-updater/update-script.nix
update-git-commits.txt
/*.log
# JetBrains IDEA module declaration file
/nixpkgs.iml
# Usually used for manual backports
.worktree/
/pkgs/desktops/kde-5/*/tmp/

View File

@@ -1,33 +0,0 @@
ajs124 <git@ajs124.de> <ajs124@users.noreply.github.com>
Anderson Torres <torres.anderson.85@protonmail.com>
Atemu <git@atemu.net> <atemu.main@gmail.com>
Christina Sørensen <christina@cafkafk.com>
Christina Sørensen <christina@cafkafk.com> <christinaafk@gmail.com>
Christina Sørensen <christina@cafkafk.com> <89321978+cafkafk@users.noreply.github.com>
Daniel Løvbrøtte Olsen <me@dandellion.xyz> <daniel.olsen99@gmail.com>
Ethan Carter Edwards <ethan@ethancedwards.com> Ethan Edwards <ethancarteredwards@gmail.com>
Fabian Affolter <mail@fabian-affolter.ch> <fabian@affolter-engineering.ch>
Fiona Behrens <me@kloenk.dev>
Fiona Behrens <me@kloenk.dev> <me@kloenk.de>
goatastronaut0212 <goatastronaut0212@outlook.com> <goatastronaut0212@proton.me>
Janne Heß <janne@hess.ooo> <dasJ@users.noreply.github.com>
jopejoe1 <nixpkgs@missing.ninja>
jopejoe1 <nixpkgs@missing.ninja> <johannes@joens.email>
jopejoe1 <nixpkgs@missing.ninja> <34899572+jopejoe1@users.noreply.github.com>
Jörg Thalheim <joerg@thalheim.io> <Mic92@users.noreply.github.com>
Lin Jian <me@linj.tech> <linj.dev@outlook.com>
Lin Jian <me@linj.tech> <75130626+jian-lin@users.noreply.github.com>
Martin Weinelt <hexa@darmstadt.ccc.de> <mweinelt@users.noreply.github.com>
moni <lythe1107@gmail.com> <lythe1107@icloud.com>
R. RyanTM <ryantm-bot@ryantm.com>
Robert Hensing <robert@roberthensing.nl> <roberth@users.noreply.github.com>
Sandro Jäckel <sandro.jaeckel@gmail.com>
Sandro Jäckel <sandro.jaeckel@gmail.com> <sandro.jaeckel@sap.com>
superherointj <5861043+superherointj@users.noreply.github.com>
Tomodachi94 <tomodachi94@protonmail.com> Tomo <68489118+Tomodachi94@users.noreply.github.com>
Vladimír Čunát <v@cunat.cz> <vcunat@gmail.com>
Vladimír Čunát <v@cunat.cz> <vladimir.cunat@nic.cz>
Yifei Sun <ysun@hey.com>
Yifei Sun <ysun@hey.com> StepBroBD <ysun@hey.com>
Yifei Sun <ysun@hey.com> StepBroBD <Hi@StepBroBD.com>
Yifei Sun <ysun@hey.com> <ysun+git@stepbrobd.com>

35
.travis.yml Normal file
View File

@@ -0,0 +1,35 @@
language: nix
sudo: true
# 'sudo: false' == containers that start fast, but only get 4G ram;
# 'sudo: true' == VMs that start slow, but with 8G
# ..as per: https://docs.travis-ci.com/user/ci-environment/#Virtualization-environments
# Nixpkgs PR tests OOM with 4G: https://github.com/NixOS/nixpkgs/issues/24200
matrix:
include:
- os: linux
sudo: required
script:
- ./maintainers/scripts/travis-nox-review-pr.sh nixpkgs-verify nixpkgs-manual nixpkgs-tarball nixpkgs-unstable
- ./maintainers/scripts/travis-nox-review-pr.sh nixos-options nixos-manual
env:
- BUILD_TYPE="Test Nixpkgs evaluation & NixOS manual build"
- os: linux
sudo: required
dist: trusty
before_script:
- sudo mount -o remount,exec,size=2G,mode=755 /run/user
script: ./maintainers/scripts/travis-nox-review-pr.sh nox pr
env:
- BUILD_TYPE="Build affected packages (Linux)"
- os: osx
osx_image: xcode7.3
script: ./maintainers/scripts/travis-nox-review-pr.sh nox pr
env:
- BUILD_TYPE="Build affected packages (macOS)"
env:
global:
- GITHUB_TOKEN=5edaaf1017f691ed34e7f80878f8f5fbd071603f
notifications:
email: false

View File

@@ -1 +0,0 @@
lib/.version

1
.version Normal file
View File

@@ -0,0 +1 @@
17.09

View File

@@ -1,848 +0,0 @@
# Contributing to Nixpkgs
This document is for people wanting to contribute to Nixpkgs.
This involves changes that are proposed using [GitHub](https://github.com) [pull requests](https://docs.github.com/pull-requests) to the [Nixpkgs repository](https://github.com/nixos/nixpkgs).
A GitHub account is recommended, which you can sign up for [here](https://github.com/signup).
See [here](https://discourse.nixos.org/t/about-the-patches-category/477) for how to contribute without a GitHub account.
This document assumes that you already know how to use GitHub and Git.
If that's not the case, we recommend learning about it [here](https://docs.github.com/en/get-started/quickstart/hello-world).
## Overview
[overview]: #overview
This file contains general contributing information.
More specific information about individual parts of Nixpkgs can be found here:
- [`doc`](./doc/README.md): Sources and infrastructure for the [Nixpkgs manual](https://nixos.org/manual/nixpkgs/stable/)
- [`lib`](./lib/README.md): Sources and documentation of the [library functions](https://nixos.org/manual/nixpkgs/stable/#chap-functions)
- [`maintainers`](./maintainers/README.md): Nixpkgs maintainer and team listings, maintainer scripts
- [`nixos`](./nixos/README.md): Implementation of [NixOS](https://nixos.org/manual/nixos/stable/)
- [`pkgs`](./pkgs/README.md): Package and [builder](https://nixos.org/manual/nixpkgs/stable/#part-builders) definitions
# How to's
## How to create pull requests
[pr-create]: #how-to-create-pull-requests
This section describes how changes can be proposed with a pull request (PR).
> [!Note]
> Be aware that contributing implies licensing those contributions under the terms of [COPYING](./COPYING), an MIT-like license.
0. Set up a local version of Nixpkgs to work with:
1. [Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo#forking-a-repository) the [Nixpkgs repository](https://github.com/nixos/nixpkgs).
1. [Clone the forked repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo#cloning-your-forked-repository) into a local `nixpkgs` directory.
1. [Configure the upstream Nixpkgs repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo#configuring-git-to-sync-your-fork-with-the-upstream-repository).
1. Select the appropriate [base branch](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches#working-with-branches) for the change, as [described here][branch].
If in doubt, use `master`.
This can be changed later by [rebasing][rebase].
2. Create a new Git branch, ideally such that:
- The name of the branch hints at your change, e.g. `update-hello`.
- The branch contains the most recent base branch.
We'll assume the base branch `master` here.
```bash
# Make sure you have the latest changes from upstream Nixpkgs
git fetch upstream
# Create and switch to a new branch, based on the base branch in Nixpkgs
git switch --create update-hello upstream/master
```
To avoid potentially having to download and build many derivations, you can base on a specific [Git commit](https://www.git-scm.com/docs/gitglossary#def_commit) instead:
- The commit of the latest `nixpkgs-unstable` channel, available [here](https://channels.nixos.org/nixpkgs-unstable/git-revision).
- The commit of a local Nixpkgs downloaded using [nix-channel](https://nixos.org/manual/nix/stable/command-ref/nix-channel), available using `nix-instantiate --eval --expr '(import <nixpkgs/lib>).trivial.revisionWithDefault null'`
- If you're using NixOS, the commit of your NixOS installation, available with `nixos-version --revision`.
You can use this commit instead of `upstream/master` in the above command:
```bash
# Here, b9c03fbb is an example commit from nixpkgs-unstable
git switch --create update-hello b9c03fbb
```
3. Make your changes in the local Nixpkgs repository and:
- Adhere to both the [general code conventions][code-conventions], and the relevant [specific code conventions][overview].
- Test the changes.
- If necessary, document the changes.
See the [overview section][overview] for more specific information.
4. Commit your changes using `git commit`.
Make sure to adhere to the [commit conventions](#commit-conventions).
Repeat the steps 3-4 as many times as necessary.
Advance to the next step once all the commits make sense together.
You can view your commits with `git log`.
5. Push your commits to your fork of Nixpkgs:
```
git push --set-upstream origin HEAD
```
The above command will output a link to directly do the next step:
```
remote: Create a pull request for 'update-hello' on GitHub by visiting:
remote: https://github.com/myUser/nixpkgs/pull/new/update-hello
```
6. [Create a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request#creating-the-pull-request) from the new branch in your Nixpkgs fork to the upstream Nixpkgs repository.
Use the branch from step 1 as the PR's base branch.
Go through the [pull request template](#pull-request-template).
7. Respond to review comments and potentially to CI failures and merge conflicts by updating the PR.
Always keep it in a mergeable state.
The non-technical side of this process is covered in [I opened a PR, how do I get it merged?](#i-opened-a-pr-how-do-i-get-it-merged).
The [ofborg](https://github.com/NixOS/ofborg) CI system will perform checks to ensure code quality.
You can see the results at the bottom of the PR.
See [the ofborg Readme](https://github.com/NixOS/ofborg#readme) for more details.
- To add new commits, repeat steps 3-4 and push the result:
```
git push
```
- To change existing commits, [rewrite the Git history](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History).
Useful Git commands for this are `git commit --patch --amend` and `git rebase --interactive`.
With a rewritten history you need to force-push the commits:
```
git push --force-with-lease
```
- If there are merge conflicts, you will have to [rebase the branch](https://git-scm.com/book/en/v2/Git-Branching-Rebasing) onto the current **base branch**.
Sometimes this can be done [on GitHub directly](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/keeping-your-pull-request-in-sync-with-the-base-branch#updating-your-pull-request-branch).
To rebase locally:
```
git fetch upstream
git rebase upstream/master
git push --force-with-lease
```
Use the base branch from step 1 instead of `upstream/master`.
- If you need to change the base branch, [rebase][rebase].
8. If your PR is merged and [acceptable for releases][release-acceptable], you may [backport][pr-backport] it.
### Pull request template
[pr-template]: #pull-request-template
The pull request template helps to determine which steps have been taken so far.
Details not covered by the title and links to existing related issues should go at the top.
When a PR is created, it will be pre-populated with some checkboxes.
#### Tested using sandboxing
When sandbox builds are enabled, Nix will set up an isolated environment for each build process.
It is used to remove further hidden dependencies set by the build environment, to improve reproducibility.
This includes access to the network during the build outside of `fetch*` functions and files outside the Nix store.
Depending on the operating system, access to other resources is blocked as well; see [sandbox](https://nixos.org/manual/nix/stable/command-ref/conf-file#conf-sandbox) in the Nix manual for details.
Please test builds with sandboxing enabled, because it is also used in [Hydra](https://nixos.org/hydra).
If you are on Linux, sandboxing is enabled by default.
On other platforms, sandboxing is disabled by default due to a small performance hit on each build.
Please enable sandboxing **before** building the package by adding the following to `/etc/nix/nix.conf`:
```ini
sandbox = true
```
#### Built on platform(s)
Many Nix packages are designed to run on multiple platforms.
As such, its important to let the maintainer know which platforms you have tested on.
Its not always practical to test all platforms, and its not required for a pull request to be merged.
Only check the platforms you tested the build on in this section.
#### Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
Packages with automated tests are likely merged quicker, because they dont require as much manual testing.
If there are existing tests for the package, they should be run.
NixOS tests can only be run on linux.
For more details on writing and running tests, see the [section in the NixOS manual](https://nixos.org/nixos/manual/index.html#sec-nixos-tests).
#### Tested compilation of all pkgs that depend on this change using `nixpkgs-review`
If you are modifying a package, you can use `nixpkgs-review` to make sure all packages that depend on the updated package still build.
It can work on uncommitted changes with the `wip` option or on a specific pull request.
Review changes from pull request number 12345:
```ShellSession
nix-shell -p nixpkgs-review --run "nixpkgs-review pr 12345"
```
Alternatively, with flakes (and analogously for the other commands below):
```ShellSession
nix run nixpkgs#nixpkgs-review -- pr 12345
```
Review uncommitted changes:
```ShellSession
nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
```
Review changes from the last commit:
```ShellSession
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
```
#### Tested execution of all binary files (usually in `./result/bin/`)
It's important to test a modified package's executables.
Look into `./result/bin` and run all files in there, or at a minimum, the main executable.
For example, if you make a change to `texlive`, you probably would only check the binaries associated with the change you made, rather than testing all of them.
#### Meets Nixpkgs contribution standards
The last checkbox is about whether it fits the guidelines in this `CONTRIBUTING.md` file.
This document details our standards for commit messages, reviews, licensing of contributions, etc...
Everyone should read and understand these standards before submitting a pull request.
### Rebasing between branches (i.e. from master to staging)
[rebase]: #rebasing-between-branches-ie-from-master-to-staging
Sometimes, changes must be rebased between branches.
One example is, if the number of rebuilds caused is too large for the original target branch.
In the following example, the current `feature` branch is based on `master`, and we rebase it to have the PR target `staging`.
We rebase on the _merge base_ between `master` and `staging` to avoid too many local rebuilds.
```console
# Rebase your commits onto the common merge base
git rebase --onto upstream/staging... upstream/master
# Force push your changes
git push origin feature --force-with-lease
```
The syntax `upstream/staging...` is equivalent to `upstream/staging...HEAD` and stands for the merge base between `upstream/staging` and `HEAD` (hence between `upstream/staging` and `upstream/master`).
Then use the *Edit* button in the upper right corner of the GitHub PR, and switch the base branch from `master` to `staging`.
*After* the PR has been retargeted, a final rebase onto the target branch might be needed to resolve merge conflicts.
```console
# Rebase onto target branch
git rebase upstream/staging
# Review and fixup possible conflicts
git status
# Force push your changes
git push origin feature --force-with-lease
```
## How to backport pull requests
[pr-backport]: #how-to-backport-pull-requests
Once a PR has been merged, a backport to the corresponding `release-YY.MM` branch can be created.
### Automatically backporting changes
> [!Note]
> You have to be a [Nixpkgs maintainer](./maintainers) to automatically create a backport pull request.
Add the [`backport release-YY.MM` label](https://github.com/NixOS/nixpkgs/labels?q=backport) to the PR on the `master` branch.
This will cause [a GitHub Action](.github/workflows/backport.yml) to open a new PR to the `release-YY.MM` branch a few minutes later.
This can be done on both open or already merged pull requests.
### Manually backporting changes
To manually create a backport, follow [the standard pull request process][pr-create], but:
- Use `release-YY.MM` for the base branch, both for the local branch and the pull request.
> [!Warning]
> Do not use the `nixos-YY.MM` branch.
> It points to the latest _tested_ release channel commit.
- Instead of manually making and committing the changes, use [`git cherry-pick -x`](https://git-scm.com/docs/git-cherry-pick) for each commit.
Use `git cherry-pick -x <commit>` when the reason is obvious, for example for minor version bumps and fixes.
Otherwise, use `git cherry-pick -xe <commit>` to add a reason for the backport.
Here is [an example](https://github.com/nixos/nixpkgs/commit/5688c39af5a6c5f3d646343443683da880eaefb8).
> [!Warning]
> Ensure the commits exist on the master branch.
> In the case of squashed or rebased merges, the commit hash will change and the new commits can be found in the merge message at the bottom of the master pull request.
- In the pull request description, link to the original pull request to `master`.
The pull request title should include `[YY.MM]` matching the release you're backporting to.
## How to review pull requests
[pr-review]: #how-to-review-pull-requests
The Nixpkgs project receives a high number of pull requests.
Anyone may review and approve PRs and it is an important contribution to the project.
The high change rate makes any PR that remains open for too long subject to merge conflicts.
To avoid extra work, reviewing PRs timely and being responsive is key.
GitHub provides sort filters to see the [most recently updated](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc) pull requests.
We highly encourage looking at [this list of ready to merge, unreviewed pull requests](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+review%3Anone+status%3Asuccess+no%3Aproject+no%3Aassignee+no%3Amilestone).
Controversial changes can lead to controversial opinions, but it is important to respect every community member and their work.
Always be nice and polite.
GitHub provides reactions for quick feedback to pull requests or comments.
The thumb-down reaction should be used with care and, if possible, accompanied with explanation for the submitter to improve their contribution.
When doing a review:
- Aim to drive the proposal to a timely conclusion.
- Focus on the proposed changes and keep the scope narrow.
- Help the contributor prioritise their efforts towards getting their change merged.
If you find anything related that could be improved but is not immediately required for acceptance, consider:
- Implementing the changes yourself in a follow-up pull request,
- Tracking your idea in an issue,
- Offering to review a follow-up pull request,
- Making concrete [suggestions](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request) in the same pull request.
For example, follow-up changes could involve refactoring code in the affected files.
But please remember not to make such additional considerations a blocker, and communicate that to the contributor, for example by following the [conventional comments](https://conventionalcomments.org) pattern.
If the related change is essential for the contribution at hand, make clear why you think it is important to address that first.
Pull request reviews should include a list of what has been reviewed in a comment, so other reviewers and mergers can know the state of the review.
All the review templates provided are generic examples.
Their usage is optional and the reviewer is free to adapt them.
To get more information about how to review specific parts of Nixpkgs, refer to the documents linked to in the [overview section][overview].
If a pull request contains documentation changes that might require feedback from the documentation team, ping [@NixOS/documentation-team](https://github.com/orgs/nixos/teams/documentation-team) on the pull request.
If you have enough knowledge and experience in a topic and would like to be a long-term reviewer for related submissions, please contact the current reviewers for that topic.
The main reviewers for a topic can be hard to find as there is no list, but checking past pull requests or git-blaming the code can give some hints.
## How to merge pull requests yourself
[pr-merge]: #how-to-merge-pull-requests
You can invoke the nixpkgs-merge-bot by commenting `@NixOS/nixpkgs-merge-bot merge`.
The bot will verify the following conditions, refusing to merge otherwise:
- the PR author should be @r-ryantm or a Nixpkgs committer;
- the invoker should be among the package maintainers;
- the package should reside in `pkgs/by-name`.
Further, nixpkgs-merge-bot will ensure all CI checks and the ofborg builds for Linux have successfully completed before merging the pull request.
Should the checks still be underway, the bot will wait for them to finish before attempting the merge again.
For other pull requests, please see [I opened a PR, how do I get it merged?](#i-opened-a-pr-how-do-i-get-it-merged).
In case the PR is stuck waiting for the author to apply a trivial change and the author allowed members to modify the PR, consider applying it yourself.
You should pay extra attention to make sure the addition doesn't go against the idea of the original PR and would not be opposed by the author.
Please see the discussion in [GitHub nixpkgs issue #321665](https://github.com/NixOS/nixpkgs/issues/321665) for information on how to proceed to be granted this level of access.
As a maintainer, when you leave the Nix community, please create an issue or post on [Discourse](https://discourse.nixos.org) with references to the packages and modules you maintained, so they can be taken over by other contributors.
# Flow of merged pull requests
After a pull request is merged, it eventually makes it to [Hydra](https://hydra.nixos.org).
Hydra regularly evaluates and builds Nixpkgs, updating [the official channels](https://channels.nixos.org) when their jobs succeed.
See [Nix Channel Status](https://status.nixos.org) for the current channel states.
Our primary development branches and their related channels are:
- `master`: The main branch, used for the unstable channels `nixos-unstable`, `nixos-unstable-small` and `nixpkgs-unstable`.
- `release-YY.MM`: The release branches, used for the stable channels `nixos-YY.MM`, `nixos-YY.MM-small` and `nixpkgs-YY.MM-darwin`.
When a channel is updated, its corresponding branch is also updated to the same commit.
Example: The [`nixpkgs-unstable` branch](https://github.com/nixos/nixpkgs/tree/nixpkgs-unstable) corresponds to the commit from the [`nixpkgs-unstable` channel](https://channels.nixos.org/nixpkgs-unstable).
Nixpkgs is tied to the NixOS release process, which is documented in the [NixOS Release Wiki](https://nixos.github.io/release-wiki/).
See [this section][branch] to know when to use the release branches.
## Staging
[staging]: #staging
The staging workflow exists to batch Hydra builds of many packages together.
It is coordinated in the [Staging room](https://matrix.to/#/#staging:nixos.org) on Matrix.
It works by directing commits that cause [mass rebuilds][mass-rebuild] to a separate `staging` branch that isn't directly built by Hydra.
Regularly, the `staging` branch is _manually_ merged into a `staging-next` branch to be built by Hydra using the [`nixpkgs:staging-next` jobset](https://hydra.nixos.org/jobset/nixpkgs/staging-next).
The `staging-next` branch should then only receive changes that fix Hydra builds; **for anything else, ask the [Staging room](https://matrix.to/#/#staging:nixos.org) first**.
Once it is verified that there are no major regressions, `staging-next` is merged into `master` using [a pull request](https://github.com/NixOS/nixpkgs/issues?q=label%3A%224.workflow%3A+staging%22).
This is done manually to ensure it's a good use of Hydra's computing resources.
Since `staging-next` is separate from `staging`, you may merge changes into `staging` at any time.
In order for the `staging` and `staging-next` branches to be up-to-date with the latest commits on `master`, there are regular _automated_ merges from `master` into `staging-next`, and from `staging-next` into `staging`.
This is implemented using GitHub workflows [here](.github/workflows/periodic-merge-6h.yml) and [here](.github/workflows/periodic-merge-24h.yml).
> [!Note]
> Changes must be well tested before being merged into any branch.
> Hydra builds should not be used as a testing platform.
Here is a Git history diagram showing the flow of commits between the three branches:
```mermaid
%%{init: {
'theme': 'base',
'themeVariables': {
'gitInv0': '#ff0000',
'gitInv1': '#ff0000',
'git2': '#ff4444',
'commitLabelFontSize': '15px'
},
'gitGraph': {
'showCommitLabel':true,
'mainBranchName': 'master',
'rotateCommitLabel': true
}
} }%%
gitGraph
commit id:" "
branch staging
commit id:" "
branch staging-next
merge master id:"automatic"
checkout staging
merge staging-next id:"automatic "
checkout staging-next
merge staging type:HIGHLIGHT id:"manual"
commit id:"fixup"
checkout master
checkout staging
checkout master
commit id:" "
checkout staging-next
merge master id:"automatic "
checkout staging
merge staging-next id:"automatic "
checkout staging-next
commit id:"fixup "
checkout master
merge staging-next type:HIGHLIGHT id:"manual (PR)"
```
Here's an overview of the different branches:
| branch | `master` | `staging-next` | `staging` |
| --- | --- | --- | --- |
| Used for development | ✔️ | ❌ | ✔️ |
| Built by Hydra | ✔️ | ✔️ | ❌ |
| [Mass rebuilds][mass-rebuild] | ❌ | ⚠️ Only to fix Hydra builds | ✔️ |
| Critical security fixes | ✔️ for non-mass-rebuilds | ✔️ for mass-rebuilds | ❌ |
| Automatically merged into | `staging-next` | `staging` | - |
| Manually merged into | - | `master` | `staging-next` |
The staging workflow is used for all stable branches with corresponding names:
- `master`/`release-YY.MM`
- `staging`/`staging-YY.MM`
- `staging-next`/`staging-next-YY.MM`
# Conventions
## Branch conventions
<!-- This section is relevant to both contributors and reviewers -->
[branch]: #branch-conventions
Most changes should go to `master`, but sometimes other branches should be used instead.
Use the following decision process to figure out the right branch:
Is the change [acceptable for releases][release-acceptable] and do you wish to have the change in the release?
- No: Use the `master` branch, do not backport the pull request.
- Yes: Can the change be implemented the same way on the `master` and release branches?
For example, a package's major version might differ between the `master` and release branches, such that separate security patches are required.
- Yes: Use the `master` branch and [backport the pull request](#how-to-backport-pull-requests).
- No: Create separate pull requests to the `master` and `release-YY.MM` branches.
If the change causes a [mass rebuild][mass-rebuild], use the staging branch instead:
- Mass rebuilds to `master` should go to `staging` instead.
- Mass rebuilds to `release-YY.MM` should go to `staging-YY.MM` instead.
See [this section][staging] for how such changes propagate between the branches.
### Changes acceptable for releases
[release-acceptable]: #changes-acceptable-for-releases
Only changes to _supported_ releases may be accepted.
The oldest supported release (`YYMM`) can be found using
```
nix-instantiate --eval -A lib.trivial.oldestSupportedRelease
```
The release branches should generally only receive backwards-compatible changes, both for the Nix expressions and derivations.
Here are some examples of changes that are okay to backport:
- ✔️ New packages, modules and functions
- ✔️ Security fixes
- ✔️ Package version updates
- ✔️ Patch versions with fixes
- ✔️ Minor versions with new functionality, but no breaking changes
In addition, major package version updates with breaking changes are also acceptable for:
- ✔️ Services that would fail without up-to-date client software, such as `spotify`, `steam`, and `discord`
- ✔️ Security critical applications, such as `firefox` and `chromium`
### Changes causing mass rebuilds
[mass-rebuild]: #changes-causing-mass-rebuilds
Which changes cause mass rebuilds is not formally defined.
In order to help the decision, CI automatically assigns [`rebuild` labels](https://github.com/NixOS/nixpkgs/labels?q=rebuild) to pull requests based on the number of packages they cause rebuilds for.
As a rule of thumb, if the number of rebuilds is **over 500**, it can be considered a mass rebuild.
To get a sense for what changes are considered mass rebuilds, see [previously merged pull requests to the staging branches](https://github.com/NixOS/nixpkgs/issues?q=base%3Astaging+-base%3Astaging-next+is%3Amerged).
## Commit conventions
[commit-conventions]: #commit-conventions
- Create one commit for each logical unit.
- If you have commits `pkg-name: oh, forgot to insert whitespace`: squash commits in this case.
Use `git rebase -i`.
See [Squashing Commits](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#_squashing) for additional information.
- For consistency, there should not be a period at the end of the commit message's summary line (the first line of the commit message).
- When adding yourself to `maintainer-list.nix`, make a separate commit with the message `maintainers: add <handle>`.
Add the commit before those making changes to the package or module.
See [Nixpkgs Maintainers](./maintainers/README.md) for details.
- Make sure you read about any commit conventions specific to the area you're touching.
See:
- [Commit conventions](./doc/README.md#commit-conventions) for changes to `doc`, the Nixpkgs manual.
- [Commit conventions](./lib/README.md#commit-conventions) for changes to `lib`.
- [Commit conventions](./nixos/README.md#commit-conventions) for changes to `nixos`.
- [Commit conventions](./pkgs/README.md#commit-conventions) for changes to `pkgs`.
### Writing good commit messages
[writing-good-commit-messages]: #writing-good-commit-messages
It's important to include relevant information in the *commit message*, so others can later understand *why* a change was made.
While this potentially can be understood by reading code, PR discussion or upstream changes, doing so often requires a lot of work.
Simple package version updates need to include the attribute name, old and new versions, as well as a reference to the release notes or changelog.
Package upgrades with more extensive changes require more verbose commit messages.
Pull requests should not be squash-merged, as this discards information including detail from commit messages, GPG signatures, and authorship.
Many pull requests don't make sense as a single commit anyway.
## Code conventions
[code-conventions]: #code-conventions
### Release notes
If you removed packages or made some major NixOS changes, write about it in the next release notes in [`nixos/doc/manual/release-notes`](./nixos/doc/manual/release-notes).
### File naming and organisation
Names of files and directories should be in lowercase, with dashes between words — kebab case, not camel case.
For instance, it should be `all-packages.nix`, not `allPackages.nix` or `AllPackages.nix`.
### Formatting
CI [enforces](./.github/workflows/lint.yml) all Nix files to be formatted using the [official Nix formatter](https://github.com/NixOS/nixfmt).
You can ensure this locally using either of these commands:
```
nix-shell --run treefmt
nix develop --command treefmt
nix fmt
```
If you're starting your editor in `nix-shell` or `nix develop`, you can also set it up to automatically run `treefmt` on save.
If you have any problems with formatting, please ping the [formatting team](https://nixos.org/community/teams/formatting/) via [@NixOS/nix-formatting](https://github.com/orgs/NixOS/teams/nix-formatting).
### Syntax
- Set up [editorconfig](https://editorconfig.org) for your editor, such that [the settings](./.editorconfig) are automatically applied.
- Use `lowerCamelCase` for variable names, not `UpperCamelCase`.
Note, this rule does not apply to package attribute names, which instead follow the rules in [package naming](./pkgs/README.md#package-naming).
- Functions should list their expected arguments as precisely as possible.
That is, write
```nix
{
stdenv,
fetchurl,
perl,
}:
<...>
```
instead of
```nix
args: with args; <...>
```
or
```nix
{
stdenv,
fetchurl,
perl,
...
}:
<...>
```
For functions that are truly generic in the number of arguments, but have some required arguments, you should write them using an `@`-pattern:
```nix
{
stdenv,
doCoverageAnalysis ? false,
...
}@args:
stdenv.mkDerivation (args // { foo = if doCoverageAnalysis then "bla" else ""; })
```
instead of
```nix
args:
args.stdenv.mkDerivation (
args
// {
foo = if args ? doCoverageAnalysis && args.doCoverageAnalysis then "bla" else "";
}
)
```
- Unnecessary string conversions should be avoided.
Do
```nix
{ rev = version; }
```
instead of
```nix
{ rev = "${version}"; }
```
- Building lists conditionally _should_ be done with `lib.optional(s)` instead of using `if cond then [ ... ] else null` or `if cond then [ ... ] else [ ]`.
```nix
{ buildInputs = lib.optional stdenv.hostPlatform.isDarwin iconv; }
```
instead of
```nix
{ buildInputs = if stdenv.hostPlatform.isDarwin then [ iconv ] else null; }
```
As an exception, an explicit conditional expression with null can be used when fixing a important bug without triggering a mass rebuild.
If this is done a follow up pull request _should_ be created to change the code to `lib.optional(s)`.
# Practical contributing advice
To contribute effectively and efficiently, you need to be aware of how the process generally works.
This section aims to document the process as we live it in Nixpkgs to set the right expectations and give practical tips on how to work with it.
## I opened a PR, how do I get it merged?
[i-opened-a-pr-how-do-i-get-it-merged]:#i-opened-a-pr-how-do-i-get-it-merged
In order for your PR to be merged, a committer needs to review and merge it.
Because committers are mostly independent, unpaid volunteers, this can take time.
It is entirely normal for your PR to sit around without any feedback for days, weeks or sometimes even months.
We strive to avoid this, but the reality is that it happens frequently.
Even when you get feedback, follow-ups may take just as long.
Don't be intimidated and kindly ask for feedback again every so often.
If your change is good, it will eventually be merged.
You can often speed up the process by understanding the committer's perspective and preparing your PR with reviewing in mind.
### The committer's perspective
PRs have varying quality and even the best people make mistakes.
Committers need to assess whether a PR's changes are good or not.
To merge, at least one committer has to be confident about its quality.
Committers typically assess three aspects:
1. Whether the change's intention is necessary and desirable.
2. Whether the code quality of your changes is good.
3. Whether the produced artifacts are good.
To get your PR merged quickly and smoothly, you should help convince committers in these aspects.
### How to help committers assess your PR
It's best to explain *why* you've made your change, because guessing the intention is not always possible.
This does not apply to trivial changes like version updates, because the intention is obvious.
For more nuanced changes or even major version upgrades, it helps if you explain the background behind your change.
For example, if you're adding a package, explain what it is and why it should be in Nixpkgs.
This goes hand in hand with [Writing good commit messages](#writing-good-commit-messages).
To show the quality of your code, you should focus on making it *reviewable*.
First, take a look at your code changes yourself and try to put yourself into the shoes of someone who didn't just write that code.
Would you immediately know what the code does or why it is needed by glancing at it?
If not, reviewers will notice this and will ask you to clarify the code by refactoring it and/or adding code comments.
Doing this preemptively can save a lot of time.
Doing multiple unrelated changes in a single commit can become hard to review quickly.
Thus, consider multiple atomic commits to tell the story of your change.
There is a balance to strike however: over-fragmentation causes friction.
The artifacts are the hardest to assess because PRs touch all sorts of components: applications, libraries, NixOS modules, editor plugins and many other things.
Any individual committer can only really assess components that they themselves know how to use.
Yet, they must still be convinced somehow.
There isn't a good generic solution to this but there are some ways to ease it:
- Provide smoke tests that can be run without much research or setup.
Committers usually don't have the time or interest to learn how your component works and how they could test its functionality.
Try to provide a quick guide on how to use it in a meaningful way or a ready-made command that demonstrates that it works as expected.
The committer can use this to convince themselves that your change is good.
If it can be automated, you could even turn this into an automated NixOS test which reviewers could simply run.
- Invite other users of the component to try it out and report their findings.
Seeing other users testing the changes and having it work for them can convince committers, too.
- Describe what you have done to test your PR.
It also helps, if you can additionally show that you have done sufficient quality assurance on your changes.
- Become a maintainer of the component.
Listed maintainers generally receive more trust when it comes to changes to their maintained components.
Even if you adhere to all of these recommendations, it is still quite possible for your PR to be forgotten or abandoned by any given committer.
Please remain mindful of them doing this work on their own volition and unpaid in their free time and therefore [owing you nothing](https://mikemcquaid.com/open-source-maintainers-owe-you-nothing/).
Causing a stink in such a situation is a surefire way to get any other potential committer to not want to look at your PR either.
Ask them nicely whether they still intend to review your PR and find yourself another committer to look at your PR if not.
### How can I get a committer to look at my PR?
- Improve skimmability: use a simple descriptive PR title outlining _what_ is done and _why_.
Details go in commit messages.
- Improve discoverability: apply all relevant labels, tick all relevant PR body checkboxes.
- Wait.
Reviewers frequently browse open PRs and may happen to run across yours and take a look.
- Get non-committers to review/approve.
Many committers filter open PRs for low-hanging fruit that have already been reviewed.
- [@-mention](https://github.blog/news-insights/mention-somebody-they-re-notified/) someone and ask them nicely.
- Post in one of the channels made for this purpose if there has been no activity for at least one week:
- The current "PRs ready for review" or "PRs already reviewed" threads in the [NixOS Discourse](https://discourse.nixos.org/c/dev/14).
- The [Nixpkgs Review Requests Matrix room](https://matrix.to/#/#review-requests:nixos.org).
- Similar threads/rooms in unofficial NixOS spaces, such as Discord.
### CI failed or got stuck on my PR, what do I do?
First, ensure that the failure is actually related to your change.
Sometimes, the CI system simply has a hiccup or the check was broken by someone else before.
Read through the error message; it's usually quite easy to tell whether it is caused by changes to the component you touched.
If it is indeed caused by your change, try to fix it.
Don't be afraid of asking for advice if you're uncertain how to do that, others might have fixed such issues already and can help you out.
Your PR will not be merged while CI is still failing.
ofborg builds can often get stuck, particularly in PRs targeting `staging` and in builders for the Darwin platform.
Reviewers will know how to handle them or when to ignore them.
Don't worry about it.
However, if there is a build failure and it was caused by your change, you need to investigate it.
If ofborg reveals the build to be broken on a platform that you don't have access to, consider setting your package's `meta.broken`, `meta.badPlatforms` or `meta.platforms` accordingly.
When in any doubt, please ask via comments or through one of the help channels.
## I received a review, how do I get it over the finish line?
Most likely, a reviewer wants you to change a few things or requires further input.
A reviewer may have taken a look at the code and it looked good to them ("Diff LGTM"), but they still need to be convinced of the artifact's quality.
They might also be waiting on input from other users or maintainers on whether the intention and direction of your PR makes sense.
If you know of people who could help clarify any of this, please bring the PR to their attention.
The current state of the PR is frequently not clearly communicated, so please don't hesitate to ask about it if it's unclear to you.
It's also possible for the reviewer to not be convinced that your PR is necessary or that the method you've chosen is the right one.
Please explain your intentions and reasoning to the committer in such a case.
There may be constraints you had to work with which they're not aware of or qualities of your approach that they didn't immediately notice.
If these weren't clear to the reviewer, that's a good sign you should explain them in your commit message or code comments!
There are some further pitfalls and realities to be aware of:
### Aim to reduce cycles
Be prepared for it to take a while for the reviewer to get back to you after you respond.
This is simply the reality of projects at the scale of Nixpkgs.
As such, make sure to respond to _all_ feedback at once.
It wastes everyone's time to wait for a couple of days just to have the reviewer need to remind you to address something they asked for.
### A reviewer requested a bunch of insubstantial changes
The people involved in Nixpkgs care about code quality.
Once in Nixpkgs, the code needs to be maintained for many years to come.
Therefore, you will likely be asked to do something different or adhere to a standard.
Sometimes however, they also care a bit too much and may ask you to adhere to a personal preference of theirs.
It's not always easy to tell whether or not the requested changes must be addressed.
Sometimes, another reviewer may even have a _conflicting_ opinion on some points.
It is convention to mark review comments that are not required to merge as nitpicks, but this is not always followed.
As the author, you should still take a look at these, as they will often reveal best practices and unwritten rules.
Those usually have good reasons behind them and you may want to pick them up as well.
Please keep in mind that reviewers always mean well.
Their intent is not to denounce your code, they want your code to be as good as it can be.
Through their experience, they may also take notice of a seemingly insignificant issue that has caused problems before.
Sometimes however, they can also get a bit carried away and become too perfectionistic.
If you feel some of the requests are unreasonable, out of scope, or merely a matter of personal preference, try to nicely ask the reviewers whether these requests are *critical* to the PR's success.
While we do have a set of [official standards for the Nix community](https://github.com/NixOS/rfcs), we don't have standards for everything and there are often multiple valid ways to achieve the same goal.
Unless there are standards forbidding the patterns used in your code or there are serious technical, maintainability or readability issues with your code, you can disregard these requests.
Please communicate this clearly though; a simple "I prefer it this way and see no major issue maintaining it" can save a lot of arguing.
If you are unsure about some change requests, please ask reviewers *why* they requested them.
This will usually reveal how important they deem it to be and will help educate you about standards, best practices, unwritten rules as well as preferences people have and why.
Some committers have stronger opinions on some things and may not want to merge your PR if you don't follow their requests.
It is totally fine to get yourself a second or third opinion in such a case.
### Committers work on a push-basis
It's possible for you to get a review but nothing happens afterwards, even if you respond to review comments.
A committer not following up on your PR does not necessarily mean they're disinterested, they may have simply had other circumstances preventing them from doing so.
Committers typically handle many PRs at the same time and it is not realistic for them to keep up with all of them immediately.
If someone approved and didn't merge a few days later, they most likely just forgot.
Please see it as your responsibility to actively remind reviewers of your open PRs.
The easiest way to do so is to notify them via GitHub.
Github notifies people involved, whenever you add a comment or push to your PR or re-request their review.
Doing any of that will get their attention again.
Everyone deserves proper attention, and yes, that includes you!
However, please be mindful that committers can sadly not always give everyone the attention they deserve.
It may very well be the case that you have to do this every time you need the committer to follow up upon your PR.
Again, this is a community project so please be mindful of people's circumstances here; be nice when requesting reviews again.
It may also be the case that the committer has lost interest or isn't familiar enough with the component you're touching to be comfortable to merge.
They will likely not immediately state that fact, so please ask for clarification and don't hesitate to find yourself another committer to take a look.
### Nothing helped
If you followed these guidelines but still got no results or if you feel that you have been wronged, please explicitly reach out to the greater community.
The [NixOS Discourse](https://discourse.nixos.org) is a great place to do this, as it has historically been the asynchronous medium with the greatest concentration of committers and other people who are involved in Nixpkgs.
There is a dedicated discourse thread [PRs in distress](https://discourse.nixos.org/t/prs-in-distress/3604) where you can link your PR, if everything else fails.
The [Nixpkgs / NixOS contributions Matrix channel](https://matrix.to/#/#dev:nixos.org) is the best synchronous channel with the same qualities.
Please reserve these for cases where you've made a serious effort in trying to get the attention of multiple active committers and provided realistic means for them to assess your PR's quality.
As mentioned previously, it is unfortunately perfectly normal for a PR to sit around for weeks.
Please don't blow up situations where progress is happening but is merely not going fast enough for your tastes.
Honking in a traffic jam will not make you go any faster.

13
COPYING
View File

@@ -1,4 +1,4 @@
Copyright (c) 2003-2025 Eelco Dolstra and the Nixpkgs/NixOS contributors
Copyright (c) 2003-2017 Eelco Dolstra and the Nixpkgs/NixOS contributors
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -18,3 +18,14 @@ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
======================================================================
Note: the license above does not apply to the packages built by the
Nix Packages collection, merely to the package descriptions (i.e., Nix
expressions, build scripts, etc.). Also, the license does not apply
to some of the binaries used for bootstrapping Nixpkgs (e.g.,
pkgs/stdenv/linux/tools/bash). It also might not apply to patches
included in Nixpkgs, which may be derivative works of the packages to
which they apply. The aforementioned artifacts are all covered by the
licenses of the respective packages.

103
README.md
View File

@@ -1,85 +1,42 @@
<p align="center">
<a href="https://nixos.org">
<picture>
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/master/logo/nixos.svg">
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/master/logo/nixos-white.png">
<img src="https://raw.githubusercontent.com/NixOS/nixos-artwork/master/logo/nixos.svg" width="500px" alt="NixOS logo">
</picture>
</a>
</p>
[<img src="http://nixos.org/logo/nixos-hires.png" width="500px" alt="logo" />](https://nixos.org/nixos)
<p align="center">
<a href="CONTRIBUTING.md"><img src="https://img.shields.io/github/contributors-anon/NixOS/nixpkgs" alt="Contributors badge" /></a>
<a href="https://opencollective.com/nixos"><img src="https://opencollective.com/nixos/tiers/supporter/badge.svg?label=supporters&color=brightgreen" alt="Open Collective supporters" /></a>
</p>
[![Build Status](https://travis-ci.org/NixOS/nixpkgs.svg?branch=master)](https://travis-ci.org/NixOS/nixpkgs)
[![Code Triagers Badge](https://www.codetriage.com/nixos/nixpkgs/badges/users.svg)](https://www.codetriage.com/nixos/nixpkgs)
[Nixpkgs](https://github.com/nixos/nixpkgs) is a collection of over 120,000 software packages that can be installed with the [Nix](https://nixos.org/nix/) package manager.
It also implements [NixOS](https://nixos.org/nixos/), a purely-functional Linux distribution.
Nixpkgs is a collection of packages for the [Nix](https://nixos.org/nix/) package
manager. It is periodically built and tested by the [hydra](http://hydra.nixos.org/)
build daemon as so-called channels. To get channel information via git, add
[nixpkgs-channels](https://github.com/NixOS/nixpkgs-channels.git) as a remote:
# Manuals
```
% git remote add channels git://github.com/NixOS/nixpkgs-channels.git
```
* [NixOS Manual](https://nixos.org/nixos/manual) - how to install, configure, and maintain a purely-functional Linux distribution
* [Nixpkgs Manual](https://nixos.org/nixpkgs/manual/) - contributing to Nixpkgs and using programming-language-specific Nix expressions
* [Nix Package Manager Manual](https://nixos.org/nix/manual) - how to write Nix expressions (programs), and how to use Nix command line tools
For stability and maximum binary package support, it is recommended to maintain
custom changes on top of one of the channels, e.g. `nixos-17.03` for the latest
release and `nixos-unstable` for the latest successful build of master:
# Community
```
% git remote update channels
% git rebase channels/nixos-17.03
```
* [Discourse Forum](https://discourse.nixos.org/)
* [Matrix Chat](https://matrix.to/#/#space:nixos.org)
* [NixOS Weekly](https://weekly.nixos.org/)
* [Official wiki](https://wiki.nixos.org/)
* [Community-maintained list of ways to get in touch](https://wiki.nixos.org/wiki/Get_In_Touch#Chat) (Discord, Telegram, IRC, etc.)
For pull-requests, please rebase onto nixpkgs `master`.
# Other Project Repositories
The sources of all official Nix-related projects are in the [NixOS organization on GitHub](https://github.com/NixOS/).
Here are some of the main ones:
* [Nix](https://github.com/NixOS/nix) - the purely functional package manager
* [NixOps](https://github.com/NixOS/nixops) - the tool to remotely deploy NixOS machines
* [nixos-hardware](https://github.com/NixOS/nixos-hardware) - NixOS profiles to optimize settings for different hardware
* [Nix RFCs](https://github.com/NixOS/rfcs) - the formal process for making substantial changes to the community
* [NixOS homepage](https://github.com/NixOS/nixos-homepage) - the [NixOS.org](https://nixos.org) website
* [hydra](https://github.com/NixOS/hydra) - our continuous integration system
* [NixOS Artwork](https://github.com/NixOS/nixos-artwork) - NixOS artwork
# Continuous Integration and Distribution
Nixpkgs and NixOS are built and tested by our continuous integration system, [Hydra](https://hydra.nixos.org/).
[NixOS](https://nixos.org/nixos/) linux distribution source code is located inside
`nixos/` folder.
* [NixOS installation instructions](https://nixos.org/nixos/manual/#ch-installation)
* [Documentation (Nix Expression Language chapter)](https://nixos.org/nix/manual/#ch-expression-language)
* [Manual (How to write packages for Nix)](https://nixos.org/nixpkgs/manual/)
* [Manual (NixOS)](https://nixos.org/nixos/manual/)
* [Nix Wiki](https://nixos.org/wiki/) (deprecated, see milestone ["Move the Wiki!"](https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aissue+milestone%3A%22Move+the+wiki%21%22))
* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
* [Continuous package builds for the NixOS 25.05 release](https://hydra.nixos.org/jobset/nixos/release-25.05)
* [Continuous package builds for 17.03 release](https://hydra.nixos.org/jobset/nixos/release-17.03)
* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
* [Tests for the NixOS 25.05 release](https://hydra.nixos.org/job/nixos/release-25.05/tested#tabs-constituents)
* [Tests for 17.03 release](https://hydra.nixos.org/job/nixos/release-17.03/tested#tabs-constituents)
Artifacts successfully built with Hydra are published to cache at https://cache.nixos.org/.
When successful build and test criteria are met, the Nixpkgs expressions are distributed via [Nix channels](https://nix.dev/manual/nix/stable/command-ref/nix-channel.html).
Communication:
# Contributing
Nixpkgs is among the most active projects on GitHub.
While thousands of open issues and pull requests might seem a lot at first, it helps consider it in the context of the scope of the project.
Nixpkgs describes how to build tens of thousands of pieces of software and implements a Linux distribution.
The [GitHub Insights](https://github.com/NixOS/nixpkgs/pulse) page gives a sense of the project activity.
Community contributions are always welcome through GitHub Issues and Pull Requests.
For more information about contributing to the project, please visit the [contributing page](CONTRIBUTING.md).
# Donations
The infrastructure for NixOS and related projects is maintained by a nonprofit organization, the [NixOS Foundation](https://nixos.org/nixos/foundation.html).
To ensure the continuity and expansion of the NixOS infrastructure, we are looking for donations to our organization.
You can donate to the NixOS foundation through [SEPA bank transfers](https://nixos.org/donate.html) or by using Open Collective:
<a href="https://opencollective.com/nixos#support"><img src="https://opencollective.com/nixos/tiers/supporter.svg?width=890" /></a>
# License
Nixpkgs is licensed under the [MIT License](COPYING).
Note:
MIT license does not apply to the packages built by Nixpkgs, merely to the files in this repository (the Nix expressions, build scripts, NixOS modules, etc.).
It also might not apply to patches included in Nixpkgs, which may be derivative works of the packages to which they apply.
The aforementioned artifacts are all covered by the licenses of the respective packages.
* [Mailing list](https://groups.google.com/forum/#!forum/nix-devel)
* [IRC - #nixos on freenode.net](irc://irc.freenode.net/#nixos)

499
ci/OWNERS
View File

@@ -1,499 +0,0 @@
# This file is used to describe who owns what in this repository.
# Users/teams will get review requests for PRs that change their files.
#
# This file does not replace `meta.maintainers`
# but is instead used for other things than derivations and modules,
# like documentation, package sets, and other assets.
#
# This file uses the same syntax as the natively supported CODEOWNERS file,
# see https://help.github.com/articles/about-codeowners/ for documentation.
# However it comes with some notable differences:
# - There is no need for user/team listed here to have write access.
# - No reviews will be requested for PRs that target the wrong base branch.
#
# Processing of this file is implemented in workflows/codeowners-v2.yml
# CI
/.github/*_TEMPLATE* @SigmaSquadron
/.github/actions @NixOS/nixpkgs-ci
/.github/workflows @NixOS/nixpkgs-ci
/ci @NixOS/nixpkgs-ci
/ci/OWNERS @infinisil @philiptaron
# Development support
/.editorconfig @Mic92 @zowoq
/shell.nix @infinisil @NixOS/Security
# Libraries
/lib @infinisil @hsjobeki
/lib/generators.nix @infinisil @hsjobeki @Profpatsch
/lib/cli.nix @infinisil @hsjobeki @Profpatsch
/lib/debug.nix @infinisil @hsjobeki @Profpatsch
/lib/asserts.nix @infinisil @hsjobeki @Profpatsch
/lib/path/* @infinisil @hsjobeki
/lib/fileset @infinisil @hsjobeki
## Standard environmentrelated libraries
/lib/customisation.nix @alyssais @NixOS/stdenv
/lib/derivations.nix @alyssais @NixOS/stdenv
/lib/fetchers.nix @alyssais @NixOS/stdenv
/lib/meta.nix @alyssais @NixOS/stdenv
/lib/source-types.nix @alyssais @NixOS/stdenv
/lib/systems @alyssais @NixOS/stdenv
## Libraries / Module system
/lib/modules.nix @infinisil @roberth @hsjobeki
/lib/types.nix @infinisil @roberth @hsjobeki
/lib/options.nix @infinisil @roberth @hsjobeki
/lib/tests/modules.sh @infinisil @roberth @hsjobeki
/lib/tests/modules @infinisil @roberth @hsjobeki
# Nixpkgs Internals
/default.nix @Ericson2314
/pkgs/top-level/default.nix @Ericson2314
/pkgs/top-level/impure.nix @Ericson2314
/pkgs/top-level/stage.nix @Ericson2314
/pkgs/top-level/splice.nix @Ericson2314
/pkgs/top-level/release-cross.nix @Ericson2314
/pkgs/top-level/by-name-overlay.nix @infinisil @philiptaron
/pkgs/stdenv @philiptaron @NixOS/stdenv
/pkgs/stdenv/generic @Ericson2314 @NixOS/stdenv
/pkgs/stdenv/generic/check-meta.nix @Ericson2314 @NixOS/stdenv
/pkgs/stdenv/cross @Ericson2314 @NixOS/stdenv
/pkgs/build-support @philiptaron
/pkgs/build-support/cc-wrapper @Ericson2314
/pkgs/build-support/bintools-wrapper @Ericson2314
/pkgs/build-support/setup-hooks @Ericson2314
/pkgs/build-support/setup-hooks/arrayUtilities @ConnorBaker
/pkgs/build-support/setup-hooks/auto-patchelf.sh @layus
/pkgs/by-name/au/auto-patchelf @layus
## Format generators/serializers
/pkgs/pkgs-lib @Stunkymonkey @h7x4
# Nixpkgs build-support
/pkgs/build-support/writers @lassulus @Profpatsch
# Nixpkgs make-disk-image
/doc/build-helpers/images/makediskimage.section.md @raitobezarius
/nixos/lib/make-disk-image.nix @raitobezarius
# Nix, the package manager
# @raitobezarius is not "code owner", but is listed here to be notified of changes
# pertaining to the Nix package manager.
# i.e. no authority over those files.
pkgs/tools/package-management/nix/ @NixOS/nix-team @raitobezarius
nixos/modules/installer/tools/nix-fallback-paths.nix @NixOS/nix-team @raitobezarius
# Nixpkgs documentation
/maintainers/scripts/db-to-md.sh @jtojnar @ryantm
/maintainers/scripts/doc @jtojnar @ryantm
# Contributor documentation
/CONTRIBUTING.md @infinisil
/.github/PULL_REQUEST_TEMPLATE.md @infinisil
/doc/contributing/ @infinisil
/doc/contributing/contributing-to-documentation.chapter.md @jtojnar @infinisil
/lib/README.md @infinisil
/doc/README.md @infinisil
/nixos/README.md @infinisil
/pkgs/README.md @infinisil
/pkgs/by-name/README.md @infinisil
/maintainers/README.md @infinisil
# User-facing development documentation
/doc/development.md @infinisil
/doc/development @infinisil
# NixOS Internals
/nixos/default.nix @infinisil
/nixos/lib/from-env.nix @infinisil
/nixos/lib/eval-config.nix @infinisil
/nixos/modules/misc/ids.nix @R-VdP
/nixos/modules/system/activation/bootspec.nix @grahamc @cole-h @raitobezarius
/nixos/modules/system/activation/bootspec.cue @grahamc @cole-h @raitobezarius
# NixOS Render Docs
/pkgs/by-name/ni/nixos-render-docs @fricklerhandwerk @GetPsyched @hsjobeki
/doc/redirects.json @fricklerhandwerk @GetPsyched @hsjobeki
/nixos/doc/manual/redirects.json @fricklerhandwerk @GetPsyched @hsjobeki
# NixOS integration test driver
/nixos/lib/test-driver @tfc
# NixOS QEMU virtualisation
/nixos/modules/virtualisation/qemu-vm.nix @raitobezarius
# ACME
/nixos/modules/security/acme @NixOS/acme
# Systemd
/nixos/modules/system/boot/systemd.nix @NixOS/systemd
/nixos/modules/system/boot/systemd @NixOS/systemd
/nixos/lib/systemd-*.nix @NixOS/systemd
/pkgs/os-specific/linux/systemd @NixOS/systemd
# Systemd-boot
/nixos/modules/system/boot/loader/systemd-boot @JulienMalka
# Limine
/nixos/modules/system/boot/loader/limine @lzcunt @phip1611 @programmerlexi @johnrtitor
/nixos/tests/limine @johnrtitor
# Images and installer media
/nixos/modules/profiles/installation-device.nix @ElvishJerricco
/nixos/modules/installer/cd-dvd/ @ElvishJerricco
/nixos/modules/installer/sd-card/
# Amazon
/nixos/modules/virtualisation/amazon-init.nix @arianvp
/nixos/modules/virtualisation/ec2-data.nix @arianvp
/nixos/modules/virtualisation/amazon-options.nix @arianvp
/nixos/modules/virtualisation/amazon-image.nix @arianvp
/nixos/maintainers/scripts/ec2/ @arianvp
/nixos/modules/services/misc/amazon-ssm-agent.nix @arianvp
/nixos/tests/amazon-ssm-agent.nix @arianvp
/nixos/modules/system/boot/grow-partition.nix @arianvp
/nixos/modules/services/monitoring/amazon-cloudwatch-agent.nix @philipmw
/nixos/tests/amazon-cloudwatch-agent.nix @philipmw
# Monitoring
/nixos/modules/services/monitoring/fluent-bit.nix @arianvp
/nixos/tests/fluent-bit.nix @arianvp
# nixos-rebuild-ng
/pkgs/by-name/ni/nixos-rebuild-ng @thiagokokada
# Updaters
## update.nix
/maintainers/scripts/update.nix @jtojnar
/maintainers/scripts/update.py @jtojnar
## common-updater-scripts
/pkgs/common-updater/scripts/update-source-version @jtojnar
# Android tools, libraries, and environments
/pkgs/development/android* @NixOS/android
/pkgs/development/mobile/android* @NixOS/android
/pkgs/applications/editors/android-studio* @NixOS/android
/doc/languages-frameworks/android* @NixOS/android
/pkgs/by-name/an/android* @NixOS/android
# Python-related code and docs
/doc/languages-frameworks/python.section.md @mweinelt @natsukium
/maintainers/scripts/update-python-libraries @mweinelt @natsukium
/pkgs/by-name/up/update-python-libraries @mweinelt @natsukium
/pkgs/development/interpreters/python @mweinelt @natsukium
/pkgs/top-level/python-packages.nix @natsukium
/pkgs/top-level/release-python.nix @natsukium
# CUDA
/pkgs/top-level/cuda-packages.nix @NixOS/cuda-maintainers
/pkgs/top-level/release-cuda.nix @NixOS/cuda-maintainers
/pkgs/development/cuda-modules @NixOS/cuda-maintainers
# Haskell
/doc/languages-frameworks/haskell.section.md @sternenseemann @maralorn @wolfgangwalther
/maintainers/scripts/haskell @sternenseemann @maralorn @wolfgangwalther
/pkgs/development/compilers/ghc @sternenseemann @maralorn @wolfgangwalther
/pkgs/development/haskell-modules @sternenseemann @maralorn @wolfgangwalther
/pkgs/test/haskell @sternenseemann @maralorn @wolfgangwalther
/pkgs/top-level/release-haskell.nix @sternenseemann @maralorn @wolfgangwalther
/pkgs/top-level/haskell-packages.nix @sternenseemann @maralorn @wolfgangwalther
# Perl
/pkgs/development/interpreters/perl @stigtsp @zakame @marcusramberg
/pkgs/top-level/perl-packages.nix @stigtsp @zakame @marcusramberg
/pkgs/development/perl-modules @stigtsp @zakame @marcusramberg
# R
/pkgs/applications/science/math/R @jbedo
/pkgs/development/r-modules @jbedo
# Rust
/pkgs/development/compilers/rust @alyssais @Mic92 @zowoq @winterqt @figsoda
/pkgs/build-support/rust @zowoq @winterqt @figsoda
/pkgs/build-support/rust/fetch-cargo-vendor* @TomaSajt
/doc/languages-frameworks/rust.section.md @zowoq @winterqt @figsoda
# Tcl
/pkgs/development/interpreters/tcl @fgaz
/pkgs/development/libraries/tk @fgaz
/pkgs/top-level/tcl-packages.nix @fgaz
/pkgs/development/tcl-modules @fgaz
/doc/languages-frameworks/tcl.section.md @fgaz
# C compilers
/pkgs/development/compilers/gcc
/pkgs/development/compilers/llvm @alyssais @RossComputerGuy @NixOS/llvm
/pkgs/development/compilers/emscripten @raitobezarius
/doc/toolchains/llvm.chapter.md @alyssais @RossComputerGuy @NixOS/llvm
/doc/languages-frameworks/emscripten.section.md @raitobezarius
# Audio
/nixos/modules/services/audio/botamusique.nix @mweinelt
/nixos/modules/services/audio/snapserver.nix @mweinelt
/nixos/tests/botamusique.nix @mweinelt
/nixos/tests/snapcast.nix @mweinelt
# Browsers
/pkgs/applications/networking/browsers/librewolf @squalus @DominicWrege @fpletz @LordGrimmauld
/pkgs/applications/networking/browsers/firefox @mweinelt
/pkgs/applications/networking/browsers/chromium @emilylange @networkException
/nixos/tests/chromium.nix @emilylange @networkException
# Certificate Authorities
pkgs/by-name/ca/cacert @ajs124 @lukegb @mweinelt
pkgs/development/libraries/nss/ @ajs124 @lukegb @mweinelt
pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
# Java
/doc/languages-frameworks/java.section.md @NixOS/java
/doc/languages-frameworks/gradle.section.md @NixOS/java
/doc/languages-frameworks/maven.section.md @NixOS/java
/nixos/modules/programs/java.nix @NixOS/java
/pkgs/top-level/java-packages.nix @NixOS/java
# Jetbrains
/pkgs/applications/editors/jetbrains @edwtjo @leona-ya @theCapypara
# Licenses
/lib/licenses.nix @alyssais @emilazy
# Qt
/pkgs/development/libraries/qt-5 @K900 @NickCao @SuperSandro2000 @ttuegel
/pkgs/development/libraries/qt-6 @K900 @NickCao @SuperSandro2000 @ttuegel
# KDE / Plasma 5
/pkgs/applications/kde @K900 @NickCao @SuperSandro2000 @ttuegel
/pkgs/desktops/plasma-5 @K900 @NickCao @SuperSandro2000 @ttuegel
/pkgs/development/libraries/kde-frameworks @K900 @NickCao @SuperSandro2000 @ttuegel
# KDE / Plasma 6
/pkgs/kde @K900 @NickCao @SuperSandro2000 @ttuegel
/maintainers/scripts/kde @K900 @NickCao @SuperSandro2000 @ttuegel
# PostgreSQL and related stuff
/pkgs/by-name/po/postgresqlTestHook @NixOS/postgres
/pkgs/by-name/ps/psqlodbc @NixOS/postgres
/pkgs/servers/sql/postgresql @NixOS/postgres
/pkgs/development/tools/rust/cargo-pgrx @NixOS/postgres
/nixos/modules/services/databases/postgresql.md @NixOS/postgres
/nixos/modules/services/databases/postgresql.nix @NixOS/postgres
/nixos/tests/postgresql @NixOS/postgres
# MySQL/MariaDB and related stuff
/nixos/modules/services/databases/mysql.nix @6543
/nixos/modules/services/backup/mysql-backup.nix @6543
# Hardened profile & related modules
/nixos/modules/profiles/hardened.nix @joachifm
/nixos/modules/security/lock-kernel-modules.nix @joachifm
/nixos/modules/security/misc.nix @joachifm
/nixos/tests/hardened.nix @joachifm
/pkgs/os-specific/linux/kernel/hardened/ @fabianhjr @joachifm
# Home Automation
/nixos/modules/services/home-automation/home-assistant.nix @mweinelt
/nixos/modules/services/home-automation/zigbee2mqtt.nix @mweinelt
/nixos/tests/home-assistant.nix @mweinelt
/nixos/tests/zigbee2mqtt.nix @mweinelt
/pkgs/servers/home-assistant @mweinelt
/pkgs/by-name/es/esphome @mweinelt
# Linux kernel
/pkgs/top-level/linux-kernels.nix @NixOS/linux-kernel
/pkgs/os-specific/linux/kernel/ @NixOS/linux-kernel
# Network Time Daemons
/pkgs/by-name/ch/chrony @thoughtpolice
/pkgs/by-name/nt/ntp @thoughtpolice
/pkgs/by-name/op/openntpd @thoughtpolice
/nixos/modules/services/networking/ntp @thoughtpolice
# Network
/pkgs/by-name/ke/kea @mweinelt
/pkgs/by-name/ba/babeld @mweinelt
/nixos/modules/services/networking/babeld.nix @mweinelt
/nixos/modules/services/networking/kea.nix @mweinelt
/nixos/modules/services/networking/knot.nix @mweinelt
/nixos/modules/services/monitoring/prometheus/exporters/kea.nix @mweinelt
/nixos/tests/babeld.nix @mweinelt
/nixos/tests/kea.nix @mweinelt
/nixos/tests/knot.nix @mweinelt
# Web servers
/doc/packages/nginx.section.md @raitobezarius
/pkgs/servers/http/nginx/ @raitobezarius
/nixos/modules/services/web-servers/nginx/ @raitobezarius
# D
/pkgs/build-support/dlang @jtbx @TomaSajt
# Dhall
/pkgs/development/dhall-modules @Gabriella439 @Profpatsch
/pkgs/development/interpreters/dhall @Gabriella439 @Profpatsch
# Idris
/pkgs/development/idris-modules @Infinisil
/pkgs/development/compilers/idris2 @mattpolzin
# Bazel
/pkgs/development/tools/build-managers/bazel @Profpatsch
# NixOS modules for e-mail and dns services
/nixos/modules/services/mail/mailman.nix @peti
/nixos/modules/services/mail/postfix.nix @peti
/nixos/modules/services/networking/bind.nix @peti
/nixos/modules/services/mail/rspamd.nix @peti
# Emacs
/pkgs/applications/editors/emacs/elisp-packages @NixOS/emacs
/pkgs/applications/editors/emacs @NixOS/emacs
/pkgs/top-level/emacs-packages.nix @NixOS/emacs
/doc/packages/emacs.section.md @NixOS/emacs
/nixos/modules/services/editors/emacs.md @NixOS/emacs
# Kakoune
/pkgs/applications/editors/kakoune @philiptaron
# LuaPackages
/pkgs/development/lua-modules @NixOS/lua
# Neovim
/pkgs/applications/editors/neovim @NixOS/neovim
# VimPlugins
/pkgs/applications/editors/vim/plugins @NixOS/neovim
# VsCode Extensions
/pkgs/applications/editors/vscode/extensions
# PHP interpreter, packages, extensions, tests and documentation
/doc/languages-frameworks/php.section.md @aanderse @drupol @globin @ma27 @talyz
/nixos/tests/php @aanderse @drupol @globin @ma27 @talyz
/pkgs/build-support/php/build-pecl.nix @aanderse @drupol @globin @ma27 @talyz
/pkgs/build-support/php @drupol
/pkgs/development/interpreters/php @jtojnar @aanderse @drupol @globin @ma27 @talyz
/pkgs/development/php-packages @aanderse @drupol @globin @ma27 @talyz
/pkgs/top-level/php-packages.nix @jtojnar @aanderse @drupol @globin @ma27 @talyz
# Docker tools
/pkgs/build-support/docker @roberth
/nixos/tests/docker-tools* @roberth
/doc/build-helpers/images/dockertools.section.md @roberth
# Blockchains
/pkgs/applications/blockchains @mmahut @RaghavSood
# Go
/doc/languages-frameworks/go.section.md @kalbasit @katexochen @Mic92 @zowoq
/pkgs/build-support/go @kalbasit @katexochen @Mic92 @zowoq
/pkgs/development/compilers/go @kalbasit @katexochen @Mic92 @zowoq
# GNOME
/pkgs/desktops/gnome @jtojnar
/pkgs/desktops/gnome/extensions @jtojnar
/pkgs/build-support/make-hardcode-gsettings-patch @jtojnar
# Cinnamon
/pkgs/by-name/ci/cinnamon-* @mkg20001
/pkgs/by-name/cj/cjs @mkg20001
/pkgs/by-name/mu/muffin @mkg20001
/pkgs/by-name/ne/nemo @mkg20001
/pkgs/by-name/ne/nemo-* @mkg20001
# Xfce
/doc/hooks/xfce4-dev-tools.section.md @NixOS/xfce
# terraform providers
/pkgs/applications/networking/cluster/terraform-providers @zowoq
# Forgejo
nixos/modules/services/misc/forgejo.nix @adamcstephens @bendlas @emilylange
pkgs/by-name/fo/forgejo/ @adamcstephens @bendlas @emilylange
# Dotnet
/pkgs/build-support/dotnet @corngood
/pkgs/development/compilers/dotnet @corngood
/pkgs/test/dotnet @corngood
/doc/languages-frameworks/dotnet.section.md @corngood
# Node.js
/pkgs/build-support/node/build-npm-package @winterqt
/pkgs/build-support/node/fetch-npm-deps @winterqt
/doc/languages-frameworks/javascript.section.md @winterqt
/pkgs/development/tools/pnpm @Scrumplex @gepbird
# OCaml
/pkgs/build-support/ocaml @ulrikstrid
/pkgs/development/compilers/ocaml @ulrikstrid
/pkgs/development/ocaml-modules @ulrikstrid
# ZFS
/nixos/modules/tasks/filesystems/zfs.nix @adamcstephens @amarshall
/nixos/tests/zfs.nix @adamcstephens @amarshall
/pkgs/os-specific/linux/zfs @adamcstephens @amarshall
# Zig
/pkgs/development/compilers/zig @figsoda @RossComputerGuy
/doc/hooks/zig.section.md @figsoda @RossComputerGuy
# Buildbot
nixos/modules/services/continuous-integration/buildbot @Mic92 @zowoq
nixos/tests/buildbot.nix @Mic92 @zowoq
pkgs/development/tools/continuous-integration/buildbot @Mic92 @zowoq
# Pretix
pkgs/by-name/pr/pretix/ @mweinelt
pkgs/by-name/pr/pretalx/ @mweinelt
nixos/modules/services/web-apps/pretix.nix @mweinelt
nixos/modules/services/web-apps/pretalx.nix @mweinelt
nixos/tests/web-apps/pretix.nix @mweinelt
nixos/tests/web-apps/pretalx.nix @mweinelt
# incus/lxc
nixos/maintainers/scripts/incus/ @adamcstephens
nixos/modules/virtualisation/incus.nix @adamcstephens
nixos/modules/virtualisation/lxc* @adamcstephens
nixos/tests/incus/ @adamcstephens
pkgs/by-name/in/incus/ @adamcstephens
pkgs/by-name/lx/lxc* @adamcstephens
# ExpidusOS, Flutter
/pkgs/development/compilers/flutter @RossComputerGuy
/pkgs/desktops/expidus @RossComputerGuy
# GNU Tar & Zip
/pkgs/tools/archivers/gnutar @RossComputerGuy
/pkgs/by-name/zi/zip @RossComputerGuy
# SELinux
/pkgs/by-name/ch/checkpolicy @RossComputerGuy
/pkgs/by-name/li/libselinux @RossComputerGuy
/pkgs/by-name/li/libsepol @RossComputerGuy
# installShellFiles
/pkgs/by-name/in/installShellFiles/* @Ericson2314
/pkgs/test/install-shell-files/* @Ericson2314
/doc/hooks/installShellFiles.section.md @Ericson2314
# Darwin
/pkgs/by-name/ap/apple-sdk @NixOS/darwin-core
/pkgs/os-specific/darwin/apple-source-releases @NixOS/darwin-core
/pkgs/stdenv/darwin @NixOS/darwin-core
# BEAM
pkgs/development/beam-modules/ @NixOS/beam
pkgs/development/interpreters/erlang/ @NixOS/beam
pkgs/development/interpreters/elixir/ @NixOS/beam
pkgs/development/interpreters/lfe/ @NixOS/beam
# Authelia
pkgs/servers/authelia/ @06kellyjac @dit7ya @nicomem
# OctoDNS
pkgs/by-name/oc/octodns/ @anthonyroussel
# Teleport
pkgs/by-name/te/teleport* @arianvp @justinas @sigma @tomberek @freezeboy @techknowlogick @JuliusFreudenberger
# Warp-terminal
pkgs/by-name/wa/warp-terminal/ @emilytrau @imadnyc @donteatoreo @johnrtitor

View File

@@ -1,52 +0,0 @@
# CI support files
This directory contains files to support CI, such as [GitHub Actions](https://github.com/NixOS/nixpkgs/tree/master/.github/workflows) and [Ofborg](https://github.com/nixos/ofborg).
This is in contrast with [`maintainers/scripts`](../maintainers/scripts) which is for human use instead.
## Pinned Nixpkgs
CI may need certain packages from Nixpkgs.
In order to ensure that the needed packages are generally available without building, [`pinned.json`](./pinned.json) contains a pinned Nixpkgs version tested by Hydra.
Run [`update-pinned.sh`](./update-pinned.sh) to update it.
## `ci/nixpkgs-vet.sh BASE_BRANCH [REPOSITORY]`
Runs the [`nixpkgs-vet` tool](https://github.com/NixOS/nixpkgs-vet) on the HEAD commit, closely matching what CI does.
This can't do exactly the same as CI, because CI needs to rely on GitHub's server-side Git history to compute the mergeability of PRs before the check can be started.
In turn, when contributors are running this tool locally, we don't want to have to push commits to test them, and we can also rely on the local Git history to do the mergeability check.
Arguments:
- `BASE_BRANCH`: The base branch to use, e.g. master or release-24.05
- `REPOSITORY`: The repository from which to fetch the base branch.
Defaults to <https://github.com/NixOS/nixpkgs.git>.
# Branch classification
For the purposes of CI, branches in the NixOS/nixpkgs repository are classified as follows:
- **Channel** branches
- `nixos-` or `nixpkgs-` prefix
- Are only updated from `master` or `release-` branches, when hydra passes.
- Otherwise not worked on, Pull Requests are not allowed.
- Long-lived, no deletion, no force push.
- **Primary development** branches
- `release-` prefix and `master`
- Pull Requests required.
- Long-lived, no deletion, no force push.
- **Secondary development** branches
- `staging-` prefix, `haskell-updates` and `python-updates`
- Pull Requests normally required, except when merging development branches into each other.
- Long-lived, no deletion, no force push.
- **Work-In-Progress** branches
- `backport-`, `revert-` and `wip-` prefixes.
- Deprecated: All other branches, not matched by channel/development.
- Pull Requests are optional.
- Short-lived, force push allowed, deleted after merge.
Some branches also have a version component, which is either `unstable` or `YY.MM`.
`ci/supportedBranches.js` is a script imported by CI to classify the base and head branches of a Pull Request.
This classification will then be used to skip certain jobs.
This script can also be run locally to print basic test cases.

View File

@@ -1,31 +0,0 @@
{
buildGoModule,
fetchFromGitHub,
fetchpatch,
}:
buildGoModule {
name = "codeowners-validator";
src = fetchFromGitHub {
owner = "mszostok";
repo = "codeowners-validator";
rev = "f3651e3810802a37bd965e6a9a7210728179d076";
hash = "sha256-5aSmmRTsOuPcVLWfDF6EBz+6+/Qpbj66udAmi1CLmWQ=";
};
patches = [
# https://github.com/mszostok/codeowners-validator/pull/222
(fetchpatch {
name = "user-write-access-check";
url = "https://github.com/mszostok/codeowners-validator/compare/f3651e3810802a37bd965e6a9a7210728179d076...840eeb88b4da92bda3e13c838f67f6540b9e8529.patch";
hash = "sha256-t3Dtt8SP9nbO3gBrM0nRE7+G6N/ZIaczDyVHYAG/6mU=";
})
# Undoes part of the above PR: We don't want to require write access
# to the repository, that's only needed for GitHub's native CODEOWNERS.
# Furthermore, it removes an unnecessary check from the code
# that breaks tokens generated for GitHub Apps.
./permissions.patch
# Allows setting a custom CODEOWNERS path using the OWNERS_FILE env var
./owners-file-name.patch
];
postPatch = "rm -r docs/investigation";
vendorHash = "sha256-R+pW3xcfpkTRqfS2ETVOwG8PZr0iH5ewroiF7u8hcYI=";
}

View File

@@ -1,15 +0,0 @@
diff --git a/pkg/codeowners/owners.go b/pkg/codeowners/owners.go
index 6910bd2..e0c95e9 100644
--- a/pkg/codeowners/owners.go
+++ b/pkg/codeowners/owners.go
@@ -39,6 +39,10 @@ func NewFromPath(repoPath string) ([]Entry, error) {
// openCodeownersFile finds a CODEOWNERS file and returns content.
// see: https://help.github.com/articles/about-code-owners/#codeowners-file-location
func openCodeownersFile(dir string) (io.Reader, error) {
+ if file, ok := os.LookupEnv("OWNERS_FILE"); ok {
+ return fs.Open(file)
+ }
+
var detectedFiles []string
for _, p := range []string{".", "docs", ".github"} {
pth := path.Join(dir, p)

View File

@@ -1,36 +0,0 @@
diff --git a/internal/check/valid_owner.go b/internal/check/valid_owner.go
index a264bcc..610eda8 100644
--- a/internal/check/valid_owner.go
+++ b/internal/check/valid_owner.go
@@ -16,7 +16,6 @@ import (
const scopeHeader = "X-OAuth-Scopes"
var reqScopes = map[github.Scope]struct{}{
- github.ScopeReadOrg: {},
}
type ValidOwnerConfig struct {
@@ -223,10 +222,7 @@ func (v *ValidOwner) validateTeam(ctx context.Context, name string) *validateErr
for _, t := range v.repoTeams {
// GitHub normalizes name before comparison
if strings.EqualFold(t.GetSlug(), team) {
- if t.Permissions["push"] {
- return nil
- }
- return newValidateError("Team %q cannot review PRs on %q as neither it nor any parent team has write permissions.", team, v.orgRepoName)
+ return nil
}
}
@@ -245,10 +241,7 @@ func (v *ValidOwner) validateGitHubUser(ctx context.Context, name string) *valid
for _, u := range v.repoUsers {
// GitHub normalizes name before comparison
if strings.EqualFold(u.GetLogin(), userName) {
- if u.Permissions["push"] {
- return nil
- }
- return newValidateError("User %q cannot review PRs on %q as they don't have write permissions.", userName, v.orgRepoName)
+ return nil
}
}

View File

@@ -1,131 +0,0 @@
let
pinned = (builtins.fromJSON (builtins.readFile ./pinned.json)).pins;
in
{
system ? builtins.currentSystem,
nixpkgs ? null,
}:
let
nixpkgs' =
if nixpkgs == null then
fetchTarball {
inherit (pinned.nixpkgs) url;
sha256 = pinned.nixpkgs.hash;
}
else
nixpkgs;
pkgs = import nixpkgs' {
inherit system;
config = {
permittedInsecurePackages = [ "nix-2.3.18" ];
};
overlays = [ ];
};
fmt =
let
treefmtNixSrc = fetchTarball {
inherit (pinned.treefmt-nix) url;
sha256 = pinned.treefmt-nix.hash;
};
treefmtEval = (import treefmtNixSrc).evalModule pkgs {
# Important: The auto-rebase script uses `git filter-branch --tree-filter`,
# which creates trees within the Git repository under `.git-rewrite/t`,
# notably without having a `.git` themselves.
# So if this projectRootFile were the default `.git/config`,
# having the auto-rebase script use treefmt on such a tree would make it
# format all files in the _parent_ Git tree as well.
projectRootFile = ".git-blame-ignore-revs";
# Be a bit more verbose by default, so we can see progress happening
settings.verbose = 1;
# By default it's info, which is too noisy since we have many unmatched files
settings.on-unmatched = "debug";
programs.actionlint.enable = true;
programs.keep-sorted.enable = true;
# This uses nixfmt underneath,
# the default formatter for Nix code.
# See https://github.com/NixOS/nixfmt
programs.nixfmt.enable = true;
programs.yamlfmt = {
enable = true;
settings.formatter = {
retain_line_breaks = true;
};
};
settings.formatter.yamlfmt.excludes = [
# Breaks helm templating
"nixos/tests/k3s/k3s-test-chart/templates/*"
# Aligns comments with whitespace
"pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml"
# TODO: Fix formatting for auto-generated file
"pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml"
];
settings.formatter.editorconfig-checker = {
command = "${pkgs.lib.getExe pkgs.editorconfig-checker}";
options = [ "-disable-indent-size" ];
includes = [ "*" ];
priority = 1;
};
};
fs = pkgs.lib.fileset;
nixFilesSrc = fs.toSource {
root = ../.;
fileset = fs.difference ../. (fs.maybeMissing ../.git);
};
in
{
shell = treefmtEval.config.build.devShell;
pkg = treefmtEval.config.build.wrapper;
check = treefmtEval.config.build.check nixFilesSrc;
};
in
rec {
inherit pkgs fmt;
requestReviews = pkgs.callPackage ./request-reviews { };
codeownersValidator = pkgs.callPackage ./codeowners-validator { };
# FIXME(lf-): it might be useful to test other Nix implementations
# (nixVersions.stable and Lix) here somehow at some point to ensure we don't
# have eval divergence.
eval = pkgs.callPackage ./eval {
nix = pkgs.nixVersions.latest;
};
# CI jobs
lib-tests = import ../lib/tests/release.nix { inherit pkgs; };
manual-nixos = (import ../nixos/release.nix { }).manual.${system} or null;
manual-nixpkgs = (import ../doc { });
manual-nixpkgs-tests = (import ../doc { }).tests;
nixpkgs-vet = pkgs.callPackage ./nixpkgs-vet.nix { };
parse = pkgs.lib.recurseIntoAttrs {
latest = pkgs.callPackage ./parse.nix { nix = pkgs.nixVersions.latest; };
lix = pkgs.callPackage ./parse.nix { nix = pkgs.lix; };
# TODO: Raise nixVersions.minimum to 2.24 and flip back to it.
minimum = pkgs.callPackage ./parse.nix { nix = pkgs.nixVersions.nix_2_24; };
};
shell = import ../shell.nix { inherit nixpkgs system; };
tarball = import ../pkgs/top-level/make-tarball.nix {
# Mirrored from top-level release.nix:
nixpkgs = {
outPath = pkgs.lib.cleanSource ../.;
revCount = 1234;
shortRev = "abcdef";
revision = "0000000000000000000000000000000000000000";
};
officialRelease = false;
inherit pkgs lib-tests;
# 2.28 / 2.29 take 9x longer than 2.30 or Lix.
# TODO: Switch back to nixVersions.latest
nix = pkgs.lix;
};
}

View File

@@ -1,26 +0,0 @@
# Nixpkgs CI evaluation
The code in this directory is used by the [eval.yml](../../.github/workflows/eval.yml) GitHub Actions workflow to evaluate the majority of Nixpkgs for all PRs, effectively making sure that when the development branches are processed by Hydra, no evaluation failures are encountered.
Furthermore it also allows local evaluation using
```
nix-build ci -A eval.full \
--max-jobs 4 \
--cores 2 \
--arg chunkSize 10000 \
--arg evalSystems '["x86_64-linux" "aarch64-darwin"]'
```
- `--max-jobs`: The maximum number of derivations to run at the same time.
Only each [supported system](../supportedSystems.json) gets a separate derivation, so it doesn't make sense to set this higher than that number.
- `--cores`: The number of cores to use for each job.
Recommended to set this to the amount of cores on your system divided by `--max-jobs`.
- `chunkSize`: The number of attributes that are evaluated simultaneously on a single core.
Lowering this decreases memory usage at the cost of increased evaluation time.
If this is too high, there won't be enough chunks to process them in parallel, and will also increase evaluation time.
- `evalSystems`: The set of systems for which `nixpkgs` should be evaluated.
Defaults to the four official platforms (`x86_64-linux`, `aarch64-linux`, `x86_64-darwin` and `aarch64-darwin`).
A good default is to set `chunkSize` to 10000, which leads to about 3.6GB max memory usage per core, so suitable for fully utilising machines with 4 cores and 16GB memory, 8 cores and 32GB memory or 16 cores and 64GB memory.
Note that 16GB memory is the recommended minimum, while with less than 8GB memory evaluation time suffers greatly.

View File

@@ -1,154 +0,0 @@
import json
import os
from scipy.stats import ttest_rel
import pandas as pd
import numpy as np
from pathlib import Path
# Define metrics of interest (can be expanded as needed)
METRIC_PREFIXES = ("nr", "gc")
def flatten_data(json_data: dict) -> dict:
"""
Extracts and flattens metrics from JSON data.
This is needed because the JSON data can be nested.
For example, the JSON data entry might look like this:
"gc":{"cycles":13,"heapSize":5404549120,"totalBytes":9545876464}
Flattened:
"gc.cycles": 13
"gc.heapSize": 5404549120
...
Args:
json_data (dict): JSON data containing metrics.
Returns:
dict: Flattened metrics with keys as metric names.
"""
flat_metrics = {}
for k, v in json_data.items():
if isinstance(v, (int, float)):
flat_metrics[k] = v
elif isinstance(v, dict):
for sub_k, sub_v in v.items():
flat_metrics[f"{k}.{sub_k}"] = sub_v
return flat_metrics
def load_all_metrics(directory: Path) -> dict:
"""
Loads all stats JSON files in the specified directory and extracts metrics.
Args:
directory (Path): Directory containing JSON files.
Returns:
dict: Dictionary with filenames as keys and extracted metrics as values.
"""
metrics = {}
for system_dir in directory.iterdir():
assert system_dir.is_dir()
for chunk_output in system_dir.iterdir():
with chunk_output.open() as f:
data = json.load(f)
metrics[f"{system_dir.name}/${chunk_output.name}"] = flatten_data(data)
return metrics
def dataframe_to_markdown(df: pd.DataFrame) -> str:
df = df.sort_values(by=df.columns[0], ascending=True)
markdown_lines = []
# Header (get column names and format them)
header = '\n| ' + ' | '.join(df.columns) + ' |'
markdown_lines.append(header)
markdown_lines.append("| - " * (len(df.columns)) + "|") # Separator line
# Iterate over rows to build Markdown rows
for _, row in df.iterrows():
# TODO: define threshold for highlighting
highlight = False
fmt = lambda x: f"**{x}**" if highlight else f"{x}"
# Check for no change and NaN in p_value/t_stat
row_values = []
for val in row:
if isinstance(val, float) and np.isnan(val): # For NaN values in p-value or t-stat
row_values.append("-") # Custom symbol for NaN
elif isinstance(val, float) and val == 0: # For no change (mean_diff == 0)
row_values.append("-") # Custom symbol for no change
else:
row_values.append(fmt(f"{val:.4f}" if isinstance(val, float) else str(val)))
markdown_lines.append('| ' + ' | '.join(row_values) + ' |')
return '\n'.join(markdown_lines)
def perform_pairwise_tests(before_metrics: dict, after_metrics: dict) -> pd.DataFrame:
common_files = sorted(set(before_metrics) & set(after_metrics))
all_keys = sorted({ metric_keys for file_metrics in before_metrics.values() for metric_keys in file_metrics.keys() })
results = []
for key in all_keys:
before_vals, after_vals = [], []
for fname in common_files:
if key in before_metrics[fname] and key in after_metrics[fname]:
before_vals.append(before_metrics[fname][key])
after_vals.append(after_metrics[fname][key])
if len(before_vals) >= 2:
before_arr = np.array(before_vals)
after_arr = np.array(after_vals)
diff = after_arr - before_arr
pct_change = 100 * diff / before_arr
t_stat, p_val = ttest_rel(after_arr, before_arr)
results.append({
"metric": key,
"mean_before": np.mean(before_arr),
"mean_after": np.mean(after_arr),
"mean_diff": np.mean(diff),
"mean_%_change": np.mean(pct_change),
"p_value": p_val,
"t_stat": t_stat
})
df = pd.DataFrame(results).sort_values("p_value")
return df
if __name__ == "__main__":
before_dir = os.environ.get("BEFORE_DIR")
after_dir = os.environ.get("AFTER_DIR")
if not before_dir or not after_dir:
print("Error: Environment variables 'BEFORE_DIR' and 'AFTER_DIR' must be set.")
exit(1)
before_stats = Path(before_dir) / "stats"
after_stats = Path(after_dir) / "stats"
# This may happen if the pull request target does not include PR#399720 yet.
if not before_stats.exists():
print("⚠️ Skipping comparison: stats directory is missing in the target commit.")
exit(0)
# This should never happen, but we're exiting gracefully anyways
if not after_stats.exists():
print("⚠️ Skipping comparison: stats directory missing in current PR evaluation.")
exit(0)
before_metrics = load_all_metrics(before_stats)
after_metrics = load_all_metrics(after_stats)
df1 = perform_pairwise_tests(before_metrics, after_metrics)
markdown_table = dataframe_to_markdown(df1)
print(markdown_table)

View File

@@ -1,186 +0,0 @@
{
callPackage,
lib,
jq,
runCommand,
writeText,
python3,
}:
{
combinedDir,
touchedFilesJson,
githubAuthorId,
byName ? false,
}:
let
/*
Derivation that computes which packages are affected (added, changed or removed) between two revisions of nixpkgs.
Note: "platforms" are "x86_64-linux", "aarch64-darwin", ...
---
Inputs:
- beforeDir, afterDir: The evaluation result from before and after the change.
They can be obtained by running `nix-build -A ci.eval.full` on both revisions.
---
Outputs:
- changed-paths.json: Various information about the changes:
{
attrdiff: {
added: ["package1"],
changed: ["package2", "package3"],
removed: ["package4"],
},
labels: {
"10.rebuild-darwin: 1-10": true,
"10.rebuild-linux: 1-10": true
},
rebuildsByKernel: {
darwin: ["package1", "package2"],
linux: ["package1", "package2", "package3"]
},
rebuildCountByKernel: {
darwin: 2,
linux: 3,
},
rebuildsByPlatform: {
aarch64-darwin: ["package1", "package2"],
aarch64-linux: ["package1", "package2"],
x86_64-linux: ["package1", "package2", "package3"],
x86_64-darwin: ["package1"],
},
}
- step-summary.md: A markdown render of the changes
---
Implementation details:
Helper functions can be found in ./utils.nix.
Two main "types" are important:
- `packagePlatformPath`: A string of the form "<PACKAGE_PATH>.<PLATFORM>"
Example: "python312Packages.numpy.x86_64-linux"
- `packagePlatformAttr`: An attrs representation of a packagePlatformPath:
Example: { name = "python312Packages.numpy"; platform = "x86_64-linux"; }
*/
inherit (import ./utils.nix { inherit lib; })
groupByKernel
convertToPackagePlatformAttrs
groupByPlatform
extractPackageNames
getLabels
;
# Attrs
# - keys: "added", "changed" and "removed"
# - values: lists of `packagePlatformPath`s
diffAttrs = builtins.fromJSON (builtins.readFile "${combinedDir}/combined-diff.json");
rebuilds = diffAttrs.added ++ diffAttrs.changed;
rebuildsPackagePlatformAttrs = convertToPackagePlatformAttrs rebuilds;
changed-paths =
let
rebuildsByPlatform = groupByPlatform rebuildsPackagePlatformAttrs;
rebuildsByKernel = groupByKernel rebuildsPackagePlatformAttrs;
rebuildCountByKernel = lib.mapAttrs (
kernel: kernelRebuilds: lib.length kernelRebuilds
) rebuildsByKernel;
in
writeText "changed-paths.json" (
builtins.toJSON {
attrdiff = lib.mapAttrs (_: extractPackageNames) diffAttrs;
inherit
rebuildsByPlatform
rebuildsByKernel
rebuildCountByKernel
;
labels =
getLabels rebuildCountByKernel
# Sets "10.rebuild-*-stdenv" label to whether the "stdenv" attribute was changed.
// lib.mapAttrs' (
kernel: rebuilds: lib.nameValuePair "10.rebuild-${kernel}-stdenv" (lib.elem "stdenv" rebuilds)
) rebuildsByKernel
# Set the "11.by: package-maintainer" label to whether all packages directly
# changed are maintained by the PR's author.
# (https://github.com/NixOS/ofborg/blob/df400f44502d4a4a80fa283d33f2e55a4e43ee90/ofborg/src/tagger.rs#L83-L88)
// {
"11.by: package-maintainer" =
maintainers ? ${githubAuthorId}
&& lib.all (lib.flip lib.elem maintainers.${githubAuthorId}) (
lib.flatten (lib.attrValues maintainers)
);
};
}
);
maintainers = callPackage ./maintainers.nix { } {
changedattrs = lib.attrNames (lib.groupBy (a: a.name) rebuildsPackagePlatformAttrs);
changedpathsjson = touchedFilesJson;
inherit byName;
};
in
runCommand "compare"
{
nativeBuildInputs = [
jq
(python3.withPackages (
ps: with ps; [
numpy
pandas
scipy
]
))
];
maintainers = builtins.toJSON maintainers;
passAsFile = [ "maintainers" ];
env = {
BEFORE_DIR = "${combinedDir}/before";
AFTER_DIR = "${combinedDir}/after";
};
}
''
mkdir $out
cp ${changed-paths} $out/changed-paths.json
if jq -e '(.attrdiff.added | length == 0) and (.attrdiff.removed | length == 0)' "${changed-paths}" > /dev/null; then
# Chunks have changed between revisions
# We cannot generate a performance comparison
{
echo
echo "# Performance comparison"
echo
echo "This compares the performance of this branch against its pull request base branch (e.g., 'master')"
echo
echo "For further help please refer to: [ci/README.md](https://github.com/NixOS/nixpkgs/blob/master/ci/README.md)"
echo
} >> $out/step-summary.md
python3 ${./cmp-stats.py} >> $out/step-summary.md
else
# Package chunks are the same in both revisions
# We can use the to generate a performance comparison
{
echo
echo "# Performance Comparison"
echo
echo "Performance stats were skipped because the package sets differ between the two revisions."
echo
echo "For further help please refer to: [ci/README.md](https://github.com/NixOS/nixpkgs/blob/master/ci/README.md)"
} >> $out/step-summary.md
fi
{
echo
echo "# Packages"
echo
jq -r -f ${./generate-step-summary.jq} < ${changed-paths}
} >> $out/step-summary.md
cp "$maintainersPath" "$out/maintainers.json"
''

View File

@@ -1,30 +0,0 @@
def truncate(xs; n):
if xs | length > n then xs[:n] + ["..."]
else xs
end;
def itemize_packages(xs):
truncate(xs; 2000) |
map("- [\(.)](https://search.nixos.org/packages?channel=unstable&show=\(.)&from=0&size=50&sort=relevance&type=packages&query=\(.))") |
join("\n");
def get_title(s; xs):
s + " (" + (xs | length | tostring) + ")";
def section(title; xs):
"<details> <summary>" + get_title(title; xs) + "</summary>\n\n" + itemize_packages(xs) + "</details>";
def fallback_document(content; n):
if content | utf8bytelength > n then
get_title("Added packages"; .attrdiff.added) + "\n\n" +
get_title("Removed packages"; .attrdiff.removed) + "\n\n" +
get_title("Changed packages"; .attrdiff.changed)
else content
end;
# we truncate the list to stay below the GitHub limit of 1MB per step summary.
fallback_document(
section("Added packages"; .attrdiff.added) + "\n\n" +
section("Removed packages"; .attrdiff.removed) + "\n\n" +
section("Changed packages"; .attrdiff.changed); 1000 * 1000
)

View File

@@ -1,114 +0,0 @@
{
lib,
}:
# Almost directly vendored from https://github.com/NixOS/ofborg/blob/5a4e743f192fb151915fcbe8789922fa401ecf48/ofborg/src/maintainers.nix
{
changedattrs,
changedpathsjson,
byName ? false,
}:
let
pkgs = import ../../.. {
system = "x86_64-linux";
config = { };
overlays = [ ];
};
changedpaths = builtins.fromJSON (builtins.readFile changedpathsjson);
anyMatchingFile =
filename: builtins.any (changed: lib.strings.hasSuffix changed filename) changedpaths;
anyMatchingFiles = files: builtins.any anyMatchingFile files;
enrichedAttrs = builtins.map (name: {
path = lib.splitString "." name;
name = name;
}) changedattrs;
validPackageAttributes = builtins.filter (
pkg:
if (lib.attrsets.hasAttrByPath pkg.path pkgs) then
(
let
value = lib.attrsets.attrByPath pkg.path null pkgs;
in
if (builtins.tryEval value).success then
if value != null then true else builtins.trace "${pkg.name} exists but is null" false
else
builtins.trace "Failed to access ${pkg.name} even though it exists" false
)
else
builtins.trace "Failed to locate ${pkg.name}." false
) enrichedAttrs;
attrsWithPackages = builtins.map (
pkg: pkg // { package = lib.attrsets.attrByPath pkg.path null pkgs; }
) validPackageAttributes;
attrsWithMaintainers = builtins.map (
pkg:
let
meta = pkg.package.meta or { };
in
pkg
// {
# TODO: Refactor this so we can ping entire teams instead of the individual members.
# Note that this will require keeping track of GH team IDs in "maintainers/teams.nix".
maintainers = meta.maintainers or [ ];
}
) attrsWithPackages;
relevantFilenames =
drv:
(lib.lists.unique (
builtins.map (pos: lib.strings.removePrefix (toString ../..) pos.file) (
builtins.filter (x: x != null) [
((drv.meta or { }).maintainersPosition or null)
((drv.meta or { }).teamsPosition or null)
(builtins.unsafeGetAttrPos "src" drv)
# broken because name is always set by stdenv:
# # A hack to make `nix-env -qa` and `nix search` ignore broken packages.
# # TODO(@oxij): remove this assert when something like NixOS/nix#1771 gets merged into nix.
# name = assert validity.handled; name + lib.optionalString
#(builtins.unsafeGetAttrPos "name" drv)
(builtins.unsafeGetAttrPos "pname" drv)
(builtins.unsafeGetAttrPos "version" drv)
# Use ".meta.position" for cases when most of the package is
# defined in a "common" section and the only place where
# reference to the file with a derivation the "pos"
# attribute.
#
# ".meta.position" has the following form:
# "pkgs/tools/package-management/nix/default.nix:155"
# We transform it to the following:
# { file = "pkgs/tools/package-management/nix/default.nix"; }
{ file = lib.head (lib.splitString ":" (drv.meta.position or "")); }
]
)
));
attrsWithFilenames = builtins.map (
pkg: pkg // { filenames = relevantFilenames pkg.package; }
) attrsWithMaintainers;
attrsWithModifiedFiles = builtins.filter (pkg: anyMatchingFiles pkg.filenames) attrsWithFilenames;
listToPing = lib.concatMap (
pkg:
builtins.map (maintainer: {
id = maintainer.githubId;
inherit (maintainer) github;
packageName = pkg.name;
dueToFiles = pkg.filenames;
}) pkg.maintainers
) attrsWithModifiedFiles;
byMaintainer = lib.groupBy (ping: toString ping.${if byName then "github" else "id"}) listToPing;
packagesPerMaintainer = lib.attrsets.mapAttrs (
maintainer: packages: builtins.map (pkg: pkg.packageName) packages
) byMaintainer;
in
packagesPerMaintainer

View File

@@ -1,195 +0,0 @@
{ lib, ... }:
rec {
# Borrowed from https://github.com/NixOS/nixpkgs/pull/355616
uniqueStrings = list: builtins.attrNames (builtins.groupBy lib.id list);
/*
Converts a `packagePlatformPath` into a `packagePlatformAttr`
Turns
"hello.aarch64-linux"
into
{
name = "hello";
packagePath = [ "hello" ];
platform = "aarch64-linux";
}
*/
convertToPackagePlatformAttr =
packagePlatformPath:
let
# python312Packages.numpy.aarch64-linux -> ["python312Packages" "numpy" "aarch64-linux"]
splittedPath = lib.splitString "." packagePlatformPath;
# ["python312Packages" "numpy" "aarch64-linux"] -> ["python312Packages" "numpy"]
packagePath = lib.sublist 0 (lib.length splittedPath - 1) splittedPath;
# "python312Packages.numpy"
name = lib.concatStringsSep "." packagePath;
in
if name == "" then
null
else
{
# [ "python312Packages" "numpy" ]
inherit packagePath;
# python312Packages.numpy
inherit name;
# "aarch64-linux"
platform = lib.last splittedPath;
};
/*
Converts a list of `packagePlatformPath`s into a list of `packagePlatformAttr`s
Turns
[
"hello.aarch64-linux"
"hello.x86_64-linux"
"hello.aarch64-darwin"
"hello.x86_64-darwin"
"bye.x86_64-darwin"
"bye.aarch64-darwin"
"release-checks" <- Will be dropped
]
into
[
{ name = "hello"; platform = "aarch64-linux"; packagePath = [ "hello" ]; }
{ name = "hello"; platform = "x86_64-linux"; packagePath = [ "hello" ]; }
{ name = "hello"; platform = "aarch64-darwin"; packagePath = [ "hello" ]; }
{ name = "hello"; platform = "x86_64-darwin"; packagePath = [ "hello" ]; }
{ name = "bye"; platform = "aarch64-darwin"; packagePath = [ "hello" ]; }
{ name = "bye"; platform = "x86_64-darwin"; packagePath = [ "hello" ]; }
]
*/
convertToPackagePlatformAttrs =
packagePlatformPaths:
builtins.filter (x: x != null) (builtins.map convertToPackagePlatformAttr packagePlatformPaths);
/*
Converts a list of `packagePlatformPath`s directly to a list of (unique) package names
Turns
[
"hello.aarch64-linux"
"hello.x86_64-linux"
"hello.aarch64-darwin"
"hello.x86_64-darwin"
"bye.x86_64-darwin"
"bye.aarch64-darwin"
]
into
[
"hello"
"bye"
]
*/
extractPackageNames =
packagePlatformPaths:
let
packagePlatformAttrs = convertToPackagePlatformAttrs (uniqueStrings packagePlatformPaths);
in
uniqueStrings (builtins.map (p: p.name) packagePlatformAttrs);
/*
Group a list of `packagePlatformAttr`s by platforms
Turns
[
{ name = "hello"; platform = "aarch64-linux"; ... }
{ name = "hello"; platform = "x86_64-linux"; ... }
{ name = "hello"; platform = "aarch64-darwin"; ... }
{ name = "hello"; platform = "x86_64-darwin"; ... }
{ name = "bye"; platform = "aarch64-darwin"; ... }
{ name = "bye"; platform = "x86_64-darwin"; ... }
]
into
{
aarch64-linux = [ "hello" ];
x86_64-linux = [ "hello" ];
aarch64-darwin = [ "hello" "bye" ];
x86_64-darwin = [ "hello" "bye" ];
}
*/
groupByPlatform =
packagePlatformAttrs:
let
packagePlatformAttrsByPlatform = builtins.groupBy (p: p.platform) packagePlatformAttrs;
extractPackageNames = map (p: p.name);
in
lib.mapAttrs (_: extractPackageNames) packagePlatformAttrsByPlatform;
# Turns
# [
# { name = "hello"; platform = "aarch64-linux"; ... }
# { name = "hello"; platform = "x86_64-linux"; ... }
# { name = "hello"; platform = "aarch64-darwin"; ... }
# { name = "hello"; platform = "x86_64-darwin"; ... }
# { name = "bye"; platform = "aarch64-darwin"; ... }
# { name = "bye"; platform = "x86_64-darwin"; ... }
# ]
#
# into
#
# {
# linux = [ "hello" ];
# darwin = [ "hello" "bye" ];
# }
groupByKernel =
packagePlatformAttrs:
let
filterKernel =
kernel:
builtins.attrNames (
builtins.groupBy (p: p.name) (
builtins.filter (p: lib.hasSuffix kernel p.platform) packagePlatformAttrs
)
);
in
lib.genAttrs [ "linux" "darwin" ] filterKernel;
/*
Maps an attrs of `kernel - rebuild counts` mappings to an attrs of labels
Turns
{
linux = 56;
darwin = 1;
}
into
{
"10.rebuild-darwin: 1" = true;
"10.rebuild-darwin: 1-10" = true;
"10.rebuild-darwin: 11-100" = false;
# [...]
"10.rebuild-darwin: 1" = false;
"10.rebuild-darwin: 1-10" = false;
"10.rebuild-linux: 11-100" = true;
# [...]
}
*/
getLabels =
rebuildCountByKernel:
lib.mergeAttrsList (
lib.mapAttrsToList (
kernel: rebuildCount:
let
range = from: to: from <= rebuildCount && (to == null || rebuildCount <= to);
in
lib.mapAttrs' (number: lib.nameValuePair "10.rebuild-${kernel}: ${number}") {
"0" = range 0 0;
"1" = range 1 1;
"1-10" = range 1 10;
"11-100" = range 11 100;
"101-500" = range 101 500;
"501-1000" = range 501 1000;
"501+" = range 501 null;
"1001-2500" = range 1001 2500;
"2501-5000" = range 2501 5000;
"5001+" = range 5001 null;
}
) rebuildCountByKernel
);
}

View File

@@ -1,281 +0,0 @@
# Evaluates all the accessible paths in nixpkgs.
# *This only builds on Linux* since it requires the Linux sandbox isolation to
# be able to write in various places while evaluating inside the sandbox.
#
# This file is used by nixpkgs CI (see .github/workflows/eval.yml) as well as
# being used directly as an entry point in Lix's CI (in `flake.nix` in the Lix
# repo).
#
# If you know you are doing a breaking API change, please ping the nixpkgs CI
# maintainers and the Lix maintainers (`nix eval -f . lib.teams.lix`).
{
callPackage,
lib,
runCommand,
writeShellScript,
symlinkJoin,
time,
procps,
nix,
jq,
}:
let
nixpkgs =
with lib.fileset;
toSource {
root = ../..;
fileset = unions (
map (lib.path.append ../..) [
"default.nix"
"doc"
"lib"
"maintainers"
"nixos"
"pkgs"
".version"
"ci/supportedSystems.json"
]
);
};
supportedSystems = builtins.fromJSON (builtins.readFile ../supportedSystems.json);
attrpathsSuperset =
{
evalSystem,
}:
runCommand "attrpaths-superset.json"
{
src = nixpkgs;
nativeBuildInputs = [
nix
time
];
}
''
export NIX_STATE_DIR=$(mktemp -d)
mkdir $out
export GC_INITIAL_HEAP_SIZE=4g
command time -f "Attribute eval done [%MKB max resident, %Es elapsed] %C" \
nix-instantiate --eval --strict --json --show-trace \
"$src/pkgs/top-level/release-attrpaths-superset.nix" \
-A paths \
-I "$src" \
--option restrict-eval true \
--option allow-import-from-derivation false \
--option eval-system "${evalSystem}" > $out/paths.json
'';
singleSystem =
{
# The system to evaluate.
# Note that this is intentionally not called `system`,
# because `--argstr system` would only be passed to the ci/default.nix file!
evalSystem,
# The path to the `paths.json` file from `attrpathsSuperset`
attrpathFile ? "${attrpathsSuperset { inherit evalSystem; }}/paths.json",
# The number of attributes per chunk, see ./README.md for more info.
chunkSize,
checkMeta ? true,
# Don't try to eval packages marked as broken.
includeBroken ? false,
# Whether to just evaluate a single chunk for quick testing
quickTest ? false,
}:
let
singleChunk = writeShellScript "single-chunk" ''
set -euo pipefail
chunkSize=$1
myChunk=$2
system=$3
outputDir=$4
export NIX_SHOW_STATS=1
export NIX_SHOW_STATS_PATH="$outputDir/stats/$myChunk"
echo "Chunk $myChunk on $system start"
set +e
command time -o "$outputDir/timestats/$myChunk" \
-f "Chunk $myChunk on $system done [%MKB max resident, %Es elapsed] %C" \
nix-env -f "${nixpkgs}/pkgs/top-level/release-outpaths-parallel.nix" \
--eval-system "$system" \
--option restrict-eval true \
--option allow-import-from-derivation false \
--query --available \
--out-path --json \
--show-trace \
--arg chunkSize "$chunkSize" \
--arg myChunk "$myChunk" \
--arg attrpathFile "${attrpathFile}" \
--arg systems "[ \"$system\" ]" \
--arg checkMeta ${lib.boolToString checkMeta} \
--arg includeBroken ${lib.boolToString includeBroken} \
-I ${nixpkgs} \
-I ${attrpathFile} \
> "$outputDir/result/$myChunk" \
2> "$outputDir/stderr/$myChunk"
exitCode=$?
set -e
cat "$outputDir/stderr/$myChunk"
cat "$outputDir/timestats/$myChunk"
if (( exitCode != 0 )); then
echo "Evaluation failed with exit code $exitCode"
# This immediately halts all xargs processes
kill $PPID
elif [[ -s "$outputDir/stderr/$myChunk" ]]; then
echo "Nixpkgs on $system evaluated with warnings, aborting"
kill $PPID
fi
'';
in
runCommand "nixpkgs-eval-${evalSystem}"
{
nativeBuildInputs = [
nix
time
procps
jq
];
env = {
inherit evalSystem chunkSize;
};
}
''
export NIX_STATE_DIR=$(mktemp -d)
nix-store --init
echo "System: $evalSystem"
cores=$NIX_BUILD_CORES
echo "Cores: $cores"
attrCount=$(jq length "${attrpathFile}")
echo "Attribute count: $attrCount"
echo "Chunk size: $chunkSize"
# Same as `attrCount / chunkSize` but rounded up
chunkCount=$(( (attrCount - 1) / chunkSize + 1 ))
echo "Chunk count: $chunkCount"
mkdir -p $out/${evalSystem}
# Record and print stats on free memory and swap in the background
(
while true; do
availMemory=$(free -b | grep Mem | awk '{print $7}')
freeSwap=$(free -b | grep Swap | awk '{print $4}')
echo "Available memory: $(( availMemory / 1024 / 1024 )) MiB, free swap: $(( freeSwap / 1024 / 1024 )) MiB"
if [[ ! -f "$out/${evalSystem}/min-avail-memory" ]] || (( availMemory < $(<$out/${evalSystem}/min-avail-memory) )); then
echo "$availMemory" > $out/${evalSystem}/min-avail-memory
fi
if [[ ! -f $out/${evalSystem}/min-free-swap ]] || (( availMemory < $(<$out/${evalSystem}/min-free-swap) )); then
echo "$freeSwap" > $out/${evalSystem}/min-free-swap
fi
sleep 4
done
) &
seq_end=$(( chunkCount - 1 ))
${lib.optionalString quickTest ''
seq_end=0
''}
chunkOutputDir=$(mktemp -d)
mkdir "$chunkOutputDir"/{result,stats,timestats,stderr}
seq -w 0 "$seq_end" |
command time -f "%e" -o "$out/${evalSystem}/total-time" \
xargs -I{} -P"$cores" \
${singleChunk} "$chunkSize" {} "$evalSystem" "$chunkOutputDir"
cp -r "$chunkOutputDir"/stats $out/${evalSystem}/stats-by-chunk
if (( chunkSize * chunkCount != attrCount )); then
# A final incomplete chunk would mess up the stats, don't include it
rm "$chunkOutputDir"/stats/"$seq_end"
fi
cat "$chunkOutputDir"/result/* | jq -s 'add | map_values(.outputs)' > $out/${evalSystem}/paths.json
'';
diff = callPackage ./diff.nix { };
combine =
{
diffDir,
}:
runCommand "combined-eval"
{
nativeBuildInputs = [
jq
];
}
''
mkdir -p $out
# Combine output paths from all systems
cat ${diffDir}/*/diff.json | jq -s '
reduce .[] as $item ({}; {
added: (.added + $item.added),
changed: (.changed + $item.changed),
removed: (.removed + $item.removed)
})
' > $out/combined-diff.json
mkdir -p $out/before/stats
for d in ${diffDir}/before/*; do
cp -r "$d"/stats-by-chunk $out/before/stats/$(basename "$d")
done
mkdir -p $out/after/stats
for d in ${diffDir}/after/*; do
cp -r "$d"/stats-by-chunk $out/after/stats/$(basename "$d")
done
'';
compare = callPackage ./compare { };
full =
{
# Whether to evaluate on a specific set of systems, by default all are evaluated
evalSystems ? if quickTest then [ "x86_64-linux" ] else supportedSystems,
# The number of attributes per chunk, see ./README.md for more info.
chunkSize,
quickTest ? false,
}:
let
diffs = symlinkJoin {
name = "diffs";
paths = map (
evalSystem:
let
eval = singleSystem {
inherit quickTest evalSystem chunkSize;
};
in
diff {
inherit evalSystem;
# Local "full" evaluation doesn't do a real diff.
beforeDir = eval;
afterDir = eval;
}
) evalSystems;
};
in
combine {
diffDir = diffs;
};
in
{
inherit
attrpathsSuperset
singleSystem
diff
combine
compare
# The above three are used by separate VMs in a GitHub workflow,
# while the below is intended for testing on a single local machine
full
;
}

View File

@@ -1,61 +0,0 @@
{
lib,
runCommand,
writeText,
}:
{
beforeDir,
afterDir,
evalSystem,
}:
let
/*
Computes the key difference between two attrs
{
added: [ <keys only in the second object> ],
removed: [ <keys only in the first object> ],
changed: [ <keys with different values between the two objects> ],
}
*/
diff =
let
filterKeys = cond: attrs: lib.attrNames (lib.filterAttrs cond attrs);
in
old: new: {
added = filterKeys (n: _: !(old ? ${n})) new;
removed = filterKeys (n: _: !(new ? ${n})) old;
changed = filterKeys (
n: v:
# Filter out attributes that don't exist anymore
(new ? ${n})
# Filter out attributes that are the same as the new value
&& (v != (new.${n}))
) old;
};
getAttrs =
dir:
let
raw = builtins.readFile "${dir}/${evalSystem}/paths.json";
# The file contains Nix paths; we need to ignore them for evaluation purposes,
# else there will be a "is not allowed to refer to a store path" error.
data = builtins.unsafeDiscardStringContext raw;
in
builtins.fromJSON data;
beforeAttrs = getAttrs beforeDir;
afterAttrs = getAttrs afterDir;
diffAttrs = diff beforeAttrs afterAttrs;
diffJson = writeText "diff.json" (builtins.toJSON diffAttrs);
in
runCommand "diff" { } ''
mkdir -p $out/${evalSystem}
cp -r ${beforeDir} $out/before
cp -r ${afterDir} $out/after
cp ${diffJson} $out/${evalSystem}/diff.json
''

View File

@@ -1,3 +0,0 @@
[run]
indent_style = space
indent_size = 2

View File

@@ -1,2 +0,0 @@
node_modules
step-summary.md

View File

@@ -1,2 +0,0 @@
package-lock-only = true
save-exact = true

View File

@@ -1,17 +0,0 @@
# GitHub specific CI scripts
This folder contains [`actions/github-script`](https://github.com/actions/github-script)-based JavaScript code.
It provides a `nix-shell` environment to run and test these actions locally.
To run any of the scripts locally:
- Enter `nix-shell` in `./ci/github-script`.
- Ensure `gh` is authenticated.
## Check commits
Run `./run commits OWNER REPO PR`, where OWNER is your username or "NixOS", REPO is the name of your fork or "nixpkgs" and PR is the number of the pull request to check.
## Labeler
Run `./run labels OWNER REPO`, where OWNER is your username or "NixOS" and REPO the name of your fork or "nixpkgs".

View File

@@ -1,10 +0,0 @@
This report is automatically generated by the `PR / Check / cherry-pick` CI workflow.
Some of the commits in this PR require the author's and reviewer's attention.
Please follow the [backporting guidelines](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#how-to-backport-pull-requests) and cherry-pick with the `-x` flag.
This requires changes to the unstable `master` and `staging` branches first, before backporting them.
Occasionally, it is not possible to cherry-pick exactly the same patch.
This most frequently happens when resolving merge conflicts or when updating minor versions of packages which have already advanced to the next major on unstable.
If you need to merge this PR despite the warnings, please [dismiss](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review) this review shortly before merging.

View File

@@ -1,281 +0,0 @@
module.exports = async function ({ github, context, core, dry }) {
const { execFileSync } = require('node:child_process')
const { readFile } = require('node:fs/promises')
const { join } = require('node:path')
const { classify } = require('../supportedBranches.js')
const withRateLimit = require('./withRateLimit.js')
await withRateLimit({ github, core }, async (stats) => {
stats.prs = 1
const pull_number = context.payload.pull_request.number
const job_url =
context.runId &&
(
await github.paginate(github.rest.actions.listJobsForWorkflowRun, {
...context.repo,
run_id: context.runId,
per_page: 100,
})
).find(({ name }) => name == 'Check / cherry-pick').html_url +
'?pr=' +
pull_number
async function handle({ sha, commit }) {
// Using the last line with "cherry" + hash, because a chained backport
// can result in multiple of those lines. Only the last one counts.
const match = Array.from(
commit.message.matchAll(/cherry.*([0-9a-f]{40})/g),
).at(-1)
if (!match)
return {
sha,
commit,
severity: 'warning',
message: `Couldn't locate original commit hash in message of ${sha}.`,
}
const original_sha = match[1]
let branches
try {
branches = (
await github.request({
// This is an undocumented endpoint to fetch the branches a commit is part of.
// There is no equivalent in neither the REST nor the GraphQL API.
// The endpoint itself is unlikely to go away, because GitHub uses it to display
// the list of branches on the detail page of a commit.
url: `https://github.com/${context.repo.owner}/${context.repo.repo}/branch_commits/${original_sha}`,
headers: {
accept: 'application/json',
},
})
).data.branches
.map(({ branch }) => branch)
.filter((branch) => classify(branch).type.includes('development'))
} catch (e) {
// For some unknown reason a 404 error comes back as 500 without any more details in a GitHub Actions runner.
// Ignore these to return a regular error message below.
if (![404, 500].includes(e.status)) throw e
}
if (!branches?.length)
return {
sha,
commit,
severity: 'error',
message: `${original_sha} given in ${sha} not found in any pickable branch.`,
}
const diff = execFileSync('git', [
'-C',
__dirname,
'range-diff',
'--no-color',
'--ignore-all-space',
'--no-notes',
// 100 means "any change will be reported"; 0 means "no change will be reported"
'--creation-factor=100',
`${original_sha}~..${original_sha}`,
`${sha}~..${sha}`,
])
.toString()
.split('\n')
// First line contains commit SHAs, which we'll print separately.
.slice(1)
// # The output of `git range-diff` is indented with 4 spaces, but we'll control indentation manually.
.map((line) => line.replace(/^ {4}/, ''))
if (!diff.some((line) => line.match(/^[+-]{2}/)))
return {
sha,
commit,
severity: 'info',
message: `${original_sha} is highly similar to ${sha}.`,
}
const colored_diff = execFileSync('git', [
'-C',
__dirname,
'range-diff',
'--color',
'--no-notes',
'--creation-factor=100',
`${original_sha}~..${original_sha}`,
`${sha}~..${sha}`,
]).toString()
return {
sha,
commit,
diff,
colored_diff,
severity: 'warning',
message: `Difference between ${sha} and original ${original_sha} may warrant inspection.`,
}
}
const commits = await github.paginate(github.rest.pulls.listCommits, {
...context.repo,
pull_number,
})
const results = await Promise.all(commits.map(handle))
// Log all results without truncation, with better highlighting and all whitespace changes to the job log.
results.forEach(({ sha, commit, severity, message, colored_diff }) => {
core.startGroup(`Commit ${sha}`)
core.info(`Author: ${commit.author.name} ${commit.author.email}`)
core.info(`Date: ${new Date(commit.author.date)}`)
core[severity](message)
core.endGroup()
if (colored_diff) core.info(colored_diff)
})
// Only create step summary below in case of warnings or errors.
// Also clean up older reviews, when all checks are good now.
if (results.every(({ severity }) => severity == 'info')) {
if (!dry) {
await Promise.all(
(
await github.paginate(github.rest.pulls.listReviews, {
...context.repo,
pull_number,
})
)
.filter((review) => review.user.login == 'github-actions[bot]')
.map(async (review) => {
if (review.state == 'CHANGES_REQUESTED') {
await github.rest.pulls.dismissReview({
...context.repo,
pull_number,
review_id: review.id,
message: 'All cherry-picks are good now, thank you!',
})
}
await github.graphql(
`mutation($node_id:ID!) {
minimizeComment(input: {
classifier: RESOLVED,
subjectId: $node_id
})
{ clientMutationId }
}`,
{ node_id: review.node_id },
)
}),
)
}
return
}
// In the case of "error" severity, we also fail the job.
// Those should be considered blocking and not be dismissable via review.
if (results.some(({ severity }) => severity == 'error'))
process.exitCode = 1
core.summary.addRaw(
await readFile(join(__dirname, 'check-cherry-picks.md'), 'utf-8'),
true,
)
results.forEach(({ severity, message, diff }) => {
if (severity == 'info') return
// The docs for markdown alerts only show examples with markdown blockquote syntax, like this:
// > [!WARNING]
// > message
// However, our testing shows that this also works with a `<blockquote>` html tag, as long as there
// is an empty line:
// <blockquote>
//
// [!WARNING]
// message
// </blockquote>
// Whether this is intended or just an implementation detail is unclear.
core.summary.addRaw('<blockquote>')
core.summary.addRaw(
`\n\n[!${severity == 'warning' ? 'WARNING' : 'CAUTION'}]`,
true,
)
core.summary.addRaw(`${message}`, true)
if (diff) {
// Limit the output to 10k bytes and remove the last, potentially incomplete line, because GitHub
// comments are limited in length. The value of 10k is arbitrary with the assumption, that after
// the range-diff becomes a certain size, a reviewer is better off reviewing the regular diff in
// GitHub's UI anyway, thus treating the commit as "new" and not cherry-picked.
// Note: if multiple commits are close to the limit, this approach could still lead to a comment
// that's too long. We think this is unlikely to happen, and so don't deal with it explicitly.
const truncated = []
let total_length = 0
for (line of diff) {
total_length += line.length
if (total_length > 10000) {
truncated.push('', '[...truncated...]')
break
} else {
truncated.push(line)
}
}
core.summary.addRaw('<details><summary>Show diff</summary>')
core.summary.addRaw('\n\n``````````diff', true)
core.summary.addRaw(truncated.join('\n'), true)
core.summary.addRaw('``````````', true)
core.summary.addRaw('</details>')
}
core.summary.addRaw('</blockquote>')
})
if (job_url)
core.summary.addRaw(
`\n\n_Hint: The full diffs are also available in the [runner logs](${job_url}) with slightly better highlighting._`,
)
const body = core.summary.stringify()
core.summary.write()
const pendingReview = (
await github.paginate(github.rest.pulls.listReviews, {
...context.repo,
pull_number,
})
).find(
(review) =>
review.user.login == 'github-actions[bot]' &&
// If a review is still pending, we can just update this instead
// of posting a new one.
(review.state == 'CHANGES_REQUESTED' ||
// No need to post a new review, if an older one with the exact
// same content had already been dismissed.
review.body == body),
)
if (dry) {
if (pendingReview)
core.info('pending review found: ' + pendingReview.html_url)
else core.info('no pending review found')
} else {
// Either of those two requests could fail for very long comments. This can only happen
// with multiple commits all hitting the truncation limit for the diff. If you ever hit
// this case, consider just splitting up those commits into multiple PRs.
if (pendingReview) {
await github.rest.pulls.updateReview({
...context.repo,
pull_number,
review_id: pendingReview.id,
body,
})
} else {
await github.rest.pulls.createReview({
...context.repo,
pull_number,
event: 'REQUEST_CHANGES',
body,
})
}
}
})
}

View File

@@ -1,414 +0,0 @@
module.exports = async function ({ github, context, core, dry }) {
const path = require('node:path')
const { DefaultArtifactClient } = require('@actions/artifact')
const { readFile, writeFile } = require('node:fs/promises')
const withRateLimit = require('./withRateLimit.js')
const artifactClient = new DefaultArtifactClient()
async function handlePullRequest({ item, stats }) {
const log = (k, v) => core.info(`PR #${item.number} - ${k}: ${v}`)
const pull_number = item.number
// This API request is important for the merge-conflict label, because it triggers the
// creation of a new test merge commit. This is needed to actually determine the state of a PR.
const pull_request = (
await github.rest.pulls.get({
...context.repo,
pull_number,
})
).data
const reviews = await github.paginate(github.rest.pulls.listReviews, {
...context.repo,
pull_number,
})
const approvals = new Set(
reviews
.filter((review) => review.state == 'APPROVED')
.map((review) => review.user?.id),
)
// After creation of a Pull Request, `merge_commit_sha` will be null initially:
// The very first merge commit will only be calculated after a little while.
// To avoid labeling the PR as conflicted before that, we wait a few minutes.
// This is intentionally less than the time that Eval takes, so that the label job
// running after Eval can indeed label the PR as conflicted if that is the case.
const merge_commit_sha_valid =
new Date() - new Date(pull_request.created_at) > 3 * 60 * 1000
const prLabels = {
// We intentionally don't use the mergeable or mergeable_state attributes.
// Those have an intermediate state while the test merge commit is created.
// This doesn't work well for us, because we might have just triggered another
// test merge commit creation by request the pull request via API at the start
// of this function.
// The attribute merge_commit_sha keeps the old value of null or the hash *until*
// the new test merge commit has either successfully been created or failed so.
// This essentially means we are updating the merge conflict label in two steps:
// On the first pass of the day, we just fetch the pull request, which triggers
// the creation. At this stage, the label is likely not updated, yet.
// The second pass will then read the result from the first pass and set the label.
'2.status: merge conflict':
merge_commit_sha_valid && !pull_request.merge_commit_sha,
'12.approvals: 1': approvals.size == 1,
'12.approvals: 2': approvals.size == 2,
'12.approvals: 3+': approvals.size >= 3,
'12.first-time contribution': [
'NONE',
'FIRST_TIMER',
'FIRST_TIME_CONTRIBUTOR',
].includes(pull_request.author_association),
}
const { id: run_id, conclusion } =
(
await github.rest.actions.listWorkflowRuns({
...context.repo,
workflow_id: 'pr.yml',
event: 'pull_request_target',
exclude_pull_requests: true,
head_sha: pull_request.head.sha,
})
).data.workflow_runs[0] ??
// TODO: Remove this after 2025-09-17, at which point all eval.yml artifacts will have expired.
(
await github.rest.actions.listWorkflowRuns({
...context.repo,
// In older PRs, we need eval.yml instead of pr.yml.
workflow_id: 'eval.yml',
event: 'pull_request_target',
status: 'success',
exclude_pull_requests: true,
head_sha: pull_request.head.sha,
})
).data.workflow_runs[0] ??
{}
// Newer PRs might not have run Eval to completion, yet.
// Older PRs might not have an eval.yml workflow, yet.
// In either case we continue without fetching an artifact on a best-effort basis.
log('Last eval run', run_id ?? '<n/a>')
if (conclusion === 'success') {
Object.assign(prLabels, {
// We only set this label if the latest eval run was successful, because if it was not, it
// *could* have requested reviewers. We will let the PR author fix CI first, before "escalating"
// this PR to "needs: reviewer".
// Since the first Eval run on a PR always sets rebuild labels, the same PR will be "recently
// updated" for the next scheduled run. Thus, this label will still be set within a few minutes
// after a PR is created, if required.
// Note that a "requested reviewer" disappears once they have given a review, so we check
// existing reviews, too.
'9.needs: reviewer':
!pull_request.draft &&
pull_request.requested_reviewers.length == 0 &&
reviews.length == 0,
})
}
const artifact =
run_id &&
(
await github.rest.actions.listWorkflowRunArtifacts({
...context.repo,
run_id,
name: 'comparison',
})
).data.artifacts[0]
// Instead of checking the boolean artifact.expired, we will give us a minute to
// actually download the artifact in the next step and avoid that race condition.
// Older PRs, where the workflow run was already eval.yml, but the artifact was not
// called "comparison", yet, will skip the download.
const expired =
!artifact ||
new Date(artifact?.expires_at ?? 0) <
new Date(new Date().getTime() + 60 * 1000)
log('Artifact expires at', artifact?.expires_at ?? '<n/a>')
if (!expired) {
stats.artifacts++
await artifactClient.downloadArtifact(artifact.id, {
findBy: {
repositoryName: context.repo.repo,
repositoryOwner: context.repo.owner,
token: core.getInput('github-token'),
},
path: path.resolve(pull_number.toString()),
expectedHash: artifact.digest,
})
const maintainers = new Set(
Object.keys(
JSON.parse(
await readFile(`${pull_number}/maintainers.json`, 'utf-8'),
),
).map((m) => Number.parseInt(m, 10)),
)
const evalLabels = JSON.parse(
await readFile(`${pull_number}/changed-paths.json`, 'utf-8'),
).labels
Object.assign(
prLabels,
// Ignore `evalLabels` if it's an array.
// This can happen for older eval runs, before we switched to objects.
// The old eval labels would have been set by the eval run,
// so now they'll be present in `before`.
// TODO: Simplify once old eval results have expired (~2025-10)
Array.isArray(evalLabels) ? undefined : evalLabels,
{
'12.approved-by: package-maintainer': Array.from(maintainers).some(
(m) => approvals.has(m),
),
},
)
}
return prLabels
}
async function handle({ item, stats }) {
try {
const log = (k, v, skip) => {
core.info(`#${item.number} - ${k}: ${v}` + (skip ? ' (skipped)' : ''))
return skip
}
log('Last updated at', item.updated_at)
log('URL', item.html_url)
const issue_number = item.number
const itemLabels = {}
if (item.pull_request || context.payload.pull_request) {
stats.prs++
Object.assign(itemLabels, await handlePullRequest({ item, stats }))
} else {
stats.issues++
}
const latest_event_at = new Date(
(
await github.paginate(github.rest.issues.listEventsForTimeline, {
...context.repo,
issue_number,
per_page: 100,
})
)
.filter(({ event }) =>
[
// These events are hand-picked from:
// https://docs.github.com/en/rest/using-the-rest-api/issue-event-types?apiVersion=2022-11-28
// Each of those causes a PR/issue to *not* be considered as stale anymore.
// Most of these use created_at.
'assigned',
'commented', // uses updated_at, because that could be > created_at
'committed', // uses committer.date
'head_ref_force_pushed',
'milestoned',
'pinned',
'ready_for_review',
'renamed',
'reopened',
'review_dismissed',
'review_requested',
'reviewed', // uses submitted_at
'unlocked',
'unmarked_as_duplicate',
].includes(event),
)
.map(
({ created_at, updated_at, committer, submitted_at }) =>
new Date(
updated_at ?? created_at ?? submitted_at ?? committer.date,
),
)
// Reverse sort by date value. The default sort() sorts by string representation, which is bad for dates.
.sort((a, b) => b - a)
.at(0) ?? item.created_at,
)
log('latest_event_at', latest_event_at.toISOString())
const stale_at = new Date(new Date().setDate(new Date().getDate() - 180))
// Create a map (Label -> Boolean) of all currently set labels.
// Each label is set to True and can be disabled later.
const before = Object.fromEntries(
(
await github.paginate(github.rest.issues.listLabelsOnIssue, {
...context.repo,
issue_number,
})
).map(({ name }) => [name, true]),
)
Object.assign(itemLabels, {
'2.status: stale':
!before['1.severity: security'] && latest_event_at < stale_at,
})
const after = Object.assign({}, before, itemLabels)
// No need for an API request, if all labels are the same.
const hasChanges = Object.keys(after).some(
(name) => (before[name] ?? false) != after[name],
)
if (log('Has changes', hasChanges, !hasChanges)) return
// Skipping labeling on a pull_request event, because we have no privileges.
const labels = Object.entries(after)
.filter(([, value]) => value)
.map(([name]) => name)
if (log('Set labels', labels, dry)) return
await github.rest.issues.setLabels({
...context.repo,
issue_number,
labels,
})
} catch (cause) {
throw new Error(`Labeling #${item.number} failed.`, { cause })
}
}
await withRateLimit({ github, core }, async (stats) => {
if (context.payload.pull_request) {
await handle({ item: context.payload.pull_request, stats })
} else {
const lastRun = (
await github.rest.actions.listWorkflowRuns({
...context.repo,
workflow_id: 'labels.yml',
event: 'schedule',
status: 'success',
exclude_pull_requests: true,
per_page: 1,
})
).data.workflow_runs[0]
const cutoff = new Date(
Math.max(
// Go back as far as the last successful run of this workflow to make sure
// we are not leaving anyone behind on GHA failures.
// Defaults to go back 1 hour on the first run.
new Date(lastRun?.created_at ?? new Date().getTime() - 1 * 60 * 60 * 1000).getTime(),
// Go back max. 1 day to prevent hitting all API rate limits immediately,
// when GH API returns a wrong workflow by accident.
new Date().getTime() - 24 * 60 * 60 * 1000,
),
)
core.info('cutoff timestamp: ' + cutoff.toISOString())
const updatedItems = await github.paginate(
github.rest.search.issuesAndPullRequests,
{
q: [
`repo:"${context.repo.owner}/${context.repo.repo}"`,
'is:open',
`updated:>=${cutoff.toISOString()}`,
].join(' AND '),
per_page: 100,
// TODO: Remove in 2025-10, when it becomes the default.
advanced_search: true,
},
)
let cursor
// No workflow run available the first time.
if (lastRun) {
// The cursor to iterate through the full list of issues and pull requests
// is passed between jobs as an artifact.
const artifact = (
await github.rest.actions.listWorkflowRunArtifacts({
...context.repo,
run_id: lastRun.id,
name: 'pagination-cursor',
})
).data.artifacts[0]
// If the artifact is not available, the next iteration starts at the beginning.
if (artifact) {
stats.artifacts++
const { downloadPath } = await artifactClient.downloadArtifact(
artifact.id,
{
findBy: {
repositoryName: context.repo.repo,
repositoryOwner: context.repo.owner,
token: core.getInput('github-token'),
},
expectedHash: artifact.digest,
},
)
cursor = await readFile(path.resolve(downloadPath, 'cursor'), 'utf-8')
}
}
// From GitHub's API docs:
// GitHub's REST API considers every pull request an issue, but not every issue is a pull request.
// For this reason, "Issues" endpoints may return both issues and pull requests in the response.
// You can identify pull requests by the pull_request key.
const allItems = await github.rest.issues.listForRepo({
...context.repo,
state: 'open',
sort: 'created',
direction: 'asc',
per_page: 100,
after: cursor,
})
// Regex taken and comment adjusted from:
// https://github.com/octokit/plugin-paginate-rest.js/blob/8e5da25f975d2f31dda6b8b588d71f2c768a8df2/src/iterator.ts#L36-L41
// `allItems.headers.link` format:
// <https://api.github.com/repositories/4542716/issues?page=3&per_page=100&after=Y3Vyc29yOnYyOpLPAAABl8qNnYDOvnSJxA%3D%3D>; rel="next",
// <https://api.github.com/repositories/4542716/issues?page=1&per_page=100&before=Y3Vyc29yOnYyOpLPAAABl8xFV9DOvoouJg%3D%3D>; rel="prev"
// Sets `next` to undefined if "next" URL is not present or `link` header is not set.
const next = ((allItems.headers.link ?? '').match(
/<([^<>]+)>;\s*rel="next"/,
) ?? [])[1]
if (next) {
cursor = new URL(next).searchParams.get('after')
const uploadPath = path.resolve('cursor')
await writeFile(uploadPath, cursor, 'utf-8')
if (dry) {
core.info(`pagination-cursor: ${cursor} (upload skipped)`)
} else {
// No stats.artifacts++, because this does not allow passing a custom token.
// Thus, the upload will not happen with the app token, but the default github.token.
await artifactClient.uploadArtifact(
'pagination-cursor',
[uploadPath],
path.resolve('.'),
{
retentionDays: 1,
},
)
}
}
// Some items might be in both search results, so filtering out duplicates as well.
const items = []
.concat(updatedItems, allItems.data)
.filter(
(thisItem, idx, arr) =>
idx ==
arr.findIndex((firstItem) => firstItem.number == thisItem.number),
)
;(await Promise.allSettled(items.map((item) => handle({ item, stats }))))
.filter(({ status }) => status == 'rejected')
.map(({ reason }) =>
core.setFailed(`${reason.message}\n${reason.cause.stack}`),
)
}
})
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +0,0 @@
{
"private": true,
"dependencies": {
"@actions/artifact": "2.3.2",
"@actions/core": "1.11.1",
"@actions/github": "6.0.1",
"bottleneck": "2.19.5",
"commander": "14.0.0"
}
}

View File

@@ -1,72 +0,0 @@
#!/usr/bin/env -S node --import ./run
import { execSync } from 'node:child_process'
import { closeSync, mkdtempSync, openSync, rmSync } from 'node:fs'
import { tmpdir } from 'node:os'
import { join } from 'node:path'
import { program } from 'commander'
import * as core from '@actions/core'
import { getOctokit } from '@actions/github'
async function run(action, owner, repo, pull_number, dry = true) {
const token = execSync('gh auth token', { encoding: 'utf-8' }).trim()
const github = getOctokit(token)
const payload = !pull_number ? {} : {
pull_request: (await github.rest.pulls.get({
owner,
repo,
pull_number,
})).data
}
process.env['INPUT_GITHUB-TOKEN'] = token
closeSync(openSync('step-summary.md', 'w'))
process.env.GITHUB_STEP_SUMMARY = 'step-summary.md'
await action({
github,
context: {
payload,
repo: {
owner,
repo,
},
},
core,
dry,
})
}
program
.command('commits')
.description('Check commit structure of a pull request.')
.argument('<owner>', 'Owner of the GitHub repository to check (Example: NixOS)')
.argument('<repo>', 'Name of the GitHub repository to check (Example: nixpkgs)')
.argument('<pr>', 'Number of the Pull Request to check')
.action(async (owner, repo, pr) => {
const commits = (await import('./commits.js')).default
run(commits, owner, repo, pr)
})
program
.command('labels')
.description('Manage labels on pull requests.')
.argument('<owner>', 'Owner of the GitHub repository to label (Example: NixOS)')
.argument('<repo>', 'Name of the GitHub repository to label (Example: nixpkgs)')
.argument('[pr]', 'Number of the Pull Request to label')
.option('--no-dry', 'Make actual modifications')
.action(async (owner, repo, pr, options) => {
const labels = (await import('./labels.js')).default
const tmp = mkdtempSync(join(tmpdir(), 'github-script-'))
try {
process.env.GITHUB_WORKSPACE = tmp
process.chdir(tmp)
run(labels, owner, repo, pr, options.dry)
} finally {
rmSync(tmp, { recursive: true })
}
})
await program.parse()

View File

@@ -1,25 +0,0 @@
{
system ? builtins.currentSystem,
pkgs ? (import ../. { inherit system; }).pkgs,
}:
pkgs.callPackage (
{
gh,
importNpmLock,
mkShell,
nodejs,
}:
mkShell {
packages = [
gh
importNpmLock.hooks.linkNodeModulesHook
nodejs
];
npmDeps = importNpmLock.buildNodeModules {
npmRoot = ./.;
inherit nodejs;
};
}
) { }

View File

@@ -1,63 +0,0 @@
module.exports = async function ({ github, core }, callback) {
const Bottleneck = require('bottleneck')
const stats = {
issues: 0,
prs: 0,
requests: 0,
artifacts: 0,
}
// Rate-Limiting and Throttling, see for details:
// https://github.com/octokit/octokit.js/issues/1069#throttling
// https://docs.github.com/en/rest/using-the-rest-api/best-practices-for-using-the-rest-api
const allLimits = new Bottleneck({
// Avoid concurrent requests
maxConcurrent: 1,
// Will be updated with first `updateReservoir()` call below.
reservoir: 0,
})
// Pause between mutative requests
const writeLimits = new Bottleneck({ minTime: 1000 }).chain(allLimits)
github.hook.wrap('request', async (request, options) => {
// Requests to a different host do not count against the rate limit.
if (options.url.startsWith('https://github.com')) return request(options)
// Requests to the /rate_limit endpoint do not count against the rate limit.
if (options.url == '/rate_limit') return request(options)
// Search requests are in a different resource group, which allows 30 requests / minute.
// We do less than a handful each run, so not implementing throttling for now.
if (options.url.startsWith('/search/')) return request(options)
stats.requests++
if (['POST', 'PUT', 'PATCH', 'DELETE'].includes(options.method))
return writeLimits.schedule(request.bind(null, options))
else return allLimits.schedule(request.bind(null, options))
})
async function updateReservoir() {
let response
try {
response = await github.rest.rateLimit.get()
} catch (err) {
core.error(`Failed updating reservoir:\n${err}`)
// Keep retrying on failed rate limit requests instead of exiting the script early.
return
}
// Always keep 1000 spare requests for other jobs to do their regular duty.
// They normally use below 100, so 1000 is *plenty* of room to work with.
const reservoir = Math.max(0, response.data.resources.core.remaining - 1000)
core.info(`Updating reservoir to: ${reservoir}`)
allLimits.updateSettings({ reservoir })
}
await updateReservoir()
// Update remaining requests every minute to account for other jobs running in parallel.
const reservoirUpdater = setInterval(updateReservoir, 60 * 1000)
try {
await callback(stats)
} finally {
clearInterval(reservoirUpdater)
core.notice(
`Processed ${stats.prs} PRs, ${stats.issues} Issues, made ${stats.requests + stats.artifacts} API requests and downloaded ${stats.artifacts} artifacts.`,
)
}
}

View File

@@ -1,53 +0,0 @@
{
lib,
nix,
nixpkgs-vet,
runCommand,
}:
{
base ? ../.,
head ? ../.,
}:
let
filtered =
with lib.fileset;
path:
toSource {
fileset = (gitTracked path);
root = path;
};
in
runCommand "nixpkgs-vet"
{
nativeBuildInputs = [
nixpkgs-vet
];
env.NIXPKGS_VET_NIX_PACKAGE = nix;
}
''
export NIX_STATE_DIR=$(mktemp -d)
nixpkgs-vet --base ${filtered base} ${filtered head}
# TODO: Upstream into nixpkgs-vet, see:
# https://github.com/NixOS/nixpkgs-vet/issues/164
badFiles=$(find ${filtered head}/pkgs -type f -name '*.nix' -print | xargs grep -l '^[^#]*<nixpkgs/' || true)
if [[ -n $badFiles ]]; then
echo "Nixpkgs is not allowed to use <nixpkgs> to refer to itself."
echo "The offending files:"
echo "$badFiles"
exit 1
fi
# TODO: Upstream into nixpkgs-vet, see:
# https://github.com/NixOS/nixpkgs-vet/issues/166
conflictingPaths=$(find ${filtered head} | awk '{ print $1 " " tolower($1) }' | sort -k2 | uniq -D -f 1 | cut -d ' ' -f 1)
if [[ -n $conflictingPaths ]]; then
echo "Files in nixpkgs must not vary only by case."
echo "The offending paths:"
echo "$conflictingPaths"
exit 1
fi
touch $out
''

View File

@@ -1,66 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p jq
set -o pipefail -o errexit -o nounset
trace() { echo >&2 "$@"; }
tmp=$(mktemp -d)
cleanup() {
# Don't exit early if anything fails to cleanup
set +o errexit
trace -n "Cleaning up.. "
[[ -e "$tmp/base" ]] && git worktree remove --force "$tmp/base"
[[ -e "$tmp/merged" ]] && git worktree remove --force "$tmp/merged"
rm -rf "$tmp"
trace "Done"
}
trap cleanup exit
repo=https://github.com/NixOS/nixpkgs.git
if (( $# != 0 )); then
baseBranch=$1
shift
else
trace "Usage: $0 BASE_BRANCH [REPOSITORY]"
trace "BASE_BRANCH: The base branch to use, e.g. master or release-23.11"
trace "REPOSITORY: The repository to fetch the base branch from, defaults to $repo"
exit 1
fi
if (( $# != 0 )); then
repo=$1
shift
fi
if [[ -n "$(git status --porcelain)" ]]; then
trace -e "\e[33mWarning: Dirty tree, uncommitted changes won't be taken into account\e[0m"
fi
headSha=$(git rev-parse HEAD)
trace -e "Using HEAD commit \e[34m$headSha\e[0m"
trace -n "Creating Git worktree for the HEAD commit in $tmp/merged.. "
git worktree add --detach -q "$tmp/merged" HEAD
trace "Done"
trace -n "Fetching base branch $baseBranch to compare against.. "
git fetch -q "$repo" refs/heads/"$baseBranch"
baseSha=$(git rev-parse FETCH_HEAD)
trace -e "\e[34m$baseSha\e[0m"
trace -n "Creating Git worktree for the base branch in $tmp/base.. "
git worktree add -q "$tmp/base" "$baseSha"
trace "Done"
trace -n "Merging base branch into the HEAD commit in $tmp/merged.. "
git -C "$tmp/merged" merge -q --no-edit "$baseSha"
trace -e "\e[34m$(git -C "$tmp/merged" rev-parse HEAD)\e[0m"
trace "Running nixpkgs-vet.."
nix-build ci -A nixpkgs-vet --arg base "$tmp/base" --arg head "$tmp/merged"

View File

@@ -1,43 +0,0 @@
{
lib,
nix,
runCommand,
}:
let
nixpkgs =
with lib.fileset;
toSource {
root = ../.;
fileset = (fileFilter (file: file.hasExt "nix") ../.);
};
in
runCommand "nix-parse-${nix.name}"
{
nativeBuildInputs = [
nix
];
}
''
export NIX_STORE_DIR=$TMPDIR/store
export NIX_STATE_DIR=$TMPDIR/state
cd "${nixpkgs}"
# Passes all files to nix-instantiate at once.
# Much faster, but will only show first error.
parse-all() {
find . -type f -iname '*.nix' | xargs -P $(nproc) nix-instantiate --parse >/dev/null 2>/dev/null
}
# Passes each file separately to nix-instantiate with -n1.
# Much slower, but will show all errors.
parse-each() {
find . -type f -iname '*.nix' | xargs -n1 -P $(nproc) nix-instantiate --parse >/dev/null
}
if ! parse-all; then
parse-each
fi
touch $out
''

View File

@@ -1,31 +0,0 @@
{
"pins": {
"nixpkgs": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "NixOS",
"repo": "nixpkgs"
},
"branch": "nixpkgs-unstable",
"submodules": false,
"revision": "2baf8e1658cba84a032c3a8befb1e7b06629242a",
"url": "https://github.com/NixOS/nixpkgs/archive/2baf8e1658cba84a032c3a8befb1e7b06629242a.tar.gz",
"hash": "0l48zkf2zs7r53fjq46j770vpb5avxihyfypra3fv429akqnsmm1"
},
"treefmt-nix": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "numtide",
"repo": "treefmt-nix"
},
"branch": "main",
"submodules": false,
"revision": "421b56313c65a0815a52b424777f55acf0b56ddf",
"url": "https://github.com/numtide/treefmt-nix/archive/421b56313c65a0815a52b424777f55acf0b56ddf.tar.gz",
"hash": "1l57hzz704s7izkkcl3xsg77xjfza57cl0fchs24rdpdhmry2dmp"
}
},
"version": 5
}

View File

@@ -1,44 +0,0 @@
{
lib,
stdenvNoCC,
makeWrapper,
coreutils,
codeowners,
jq,
curl,
github-cli,
gitMinimal,
}:
stdenvNoCC.mkDerivation {
name = "request-reviews";
src = lib.fileset.toSource {
root = ./.;
fileset = lib.fileset.unions [
./get-code-owners.sh
./request-reviewers.sh
./request-code-owner-reviews.sh
./verify-base-branch.sh
./dev-branches.txt
];
};
nativeBuildInputs = [ makeWrapper ];
dontBuild = true;
installPhase = ''
mkdir -p $out/bin
mv dev-branches.txt $out/bin
for bin in *.sh; do
mv "$bin" "$out/bin"
wrapProgram "$out/bin/$bin" \
--set PATH ${
lib.makeBinPath [
coreutils
codeowners
jq
curl
github-cli
gitMinimal
]
}
done
'';
}

View File

@@ -1,9 +0,0 @@
# Trusted development branches:
# These generally require PRs to update and are built by Hydra.
# Keep this synced with the branches in .github/workflows/eval.yml
master
staging
release-*
staging-*
haskell-updates
python-updates

View File

@@ -1,97 +0,0 @@
#!/usr/bin/env bash
# Get the code owners of the files changed by a PR, returning one username per line
set -euo pipefail
log() {
echo "$@" >&2
}
if (( "$#" < 4 )); then
log "Usage: $0 GIT_REPO OWNERS_FILE BASE_REF HEAD_REF"
exit 1
fi
gitRepo=$1
ownersFile=$2
baseRef=$3
headRef=$4
tmp=$(mktemp -d)
trap 'rm -rf "$tmp"' exit
git -C "$gitRepo" diff --name-only --merge-base "$baseRef" "$headRef" > "$tmp/touched-files"
readarray -t touchedFiles < "$tmp/touched-files"
log "This PR touches ${#touchedFiles[@]} files"
# Get the owners file from the base, because we don't want to allow PRs to
# remove code owners to avoid pinging them
git -C "$gitRepo" show "$baseRef":"$ownersFile" > "$tmp"/codeowners
# Associative array with the user as the key for easy de-duplication
# Make sure to always lowercase keys to avoid duplicates with different casings
declare -A users=()
for file in "${touchedFiles[@]}"; do
result=$(codeowners --file "$tmp"/codeowners "$file")
# Remove the file prefix and trim the surrounding spaces
read -r owners <<< "${result#"$file"}"
if [[ "$owners" == "(unowned)" ]]; then
log "File $file is unowned"
continue
fi
log "File $file is owned by $owners"
# Split up multiple owners, separated by arbitrary amounts of spaces
IFS=" " read -r -a entries <<< "$owners"
for entry in "${entries[@]}"; do
# GitHub technically also supports Emails as code owners,
# but we can't easily support that, so let's not
if [[ ! "$entry" =~ @(.*) ]]; then
warn -e "\e[33mCodeowner \"$entry\" for file $file is not valid: Must start with \"@\"\e[0m" >&2
# Don't fail, because the PR for which this script runs can't fix it,
# it has to be fixed in the base branch
continue
fi
# The first regex match is everything after the @
entry=${BASH_REMATCH[1]}
if [[ "$entry" =~ (.*)/(.*) ]]; then
# Teams look like $org/$team
org=${BASH_REMATCH[1]}
team=${BASH_REMATCH[2]}
# Instead of requesting a review from the team itself,
# we request reviews from the individual users.
# This is because once somebody from a team reviewed the PR,
# the API doesn't expose that the team was already requested for a review,
# so we wouldn't be able to avoid rerequesting reviews
# without saving some some extra state somewhere
# We could also consider implementing a more advanced heuristic
# in the future that e.g. only pings one team member,
# but escalates to somebody else if that member doesn't respond in time.
gh api \
--cache=1h \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/orgs/$org/teams/$team/members" \
--jq '.[].login' > "$tmp/team-members"
readarray -t members < "$tmp/team-members"
log "Team $entry has these members: ${members[*]}"
for user in "${members[@]}"; do
users[${user,,}]=
done
else
# Everything else is a user
users[${entry,,}]=
fi
done
done
printf "%s\n" "${!users[@]}"

View File

@@ -1,82 +0,0 @@
#!/usr/bin/env bash
# Requests reviews for a PR after verifying that the base branch is correct
set -euo pipefail
tmp=$(mktemp -d)
trap 'rm -rf "$tmp"' exit
SCRIPT_DIR=$(dirname "$0")
log() {
echo "$@" >&2
}
effect() {
if [[ -n "${DRY_MODE:-}" ]]; then
log "Skipping in dry mode:" "${@@Q}"
else
"$@"
fi
}
if (( $# < 3 )); then
log "Usage: $0 GITHUB_REPO PR_NUMBER OWNERS_FILE"
exit 1
fi
baseRepo=$1
prNumber=$2
ownersFile=$3
log "Fetching PR info"
prInfo=$(gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/$baseRepo/pulls/$prNumber")
baseBranch=$(jq -r .base.ref <<< "$prInfo")
log "Base branch: $baseBranch"
prRepo=$(jq -r .head.repo.full_name <<< "$prInfo")
log "PR repo: $prRepo"
prBranch=$(jq -r .head.ref <<< "$prInfo")
log "PR branch: $prBranch"
prAuthor=$(jq -r .user.login <<< "$prInfo")
log "PR author: $prAuthor"
extraArgs=()
if pwdRepo=$(git rev-parse --show-toplevel 2>/dev/null); then
# Speedup for local runs
extraArgs+=(--reference-if-able "$pwdRepo")
fi
log "Fetching Nixpkgs commit history"
# We only need the commit history, not the contents, so we can do a tree-less clone using tree:0
# https://github.blog/open-source/git/get-up-to-speed-with-partial-clone-and-shallow-clone/#user-content-quick-summary
git clone --bare --filter=tree:0 --no-tags --origin upstream "${extraArgs[@]}" https://github.com/"$baseRepo".git "$tmp"/nixpkgs.git
log "Fetching the PR commit history"
# Fetch the PR
git -C "$tmp/nixpkgs.git" remote add fork https://github.com/"$prRepo".git
# This remote config is the same as --filter=tree:0 when cloning
git -C "$tmp/nixpkgs.git" config remote.fork.partialclonefilter tree:0
git -C "$tmp/nixpkgs.git" config remote.fork.promisor true
git -C "$tmp/nixpkgs.git" fetch --no-tags fork "$prBranch"
headRef=$(git -C "$tmp/nixpkgs.git" rev-parse refs/remotes/fork/"$prBranch")
log "Checking correctness of the base branch"
if ! "$SCRIPT_DIR"/verify-base-branch.sh "$tmp/nixpkgs.git" "$headRef" "$baseRepo" "$baseBranch" "$prRepo" "$prBranch" | tee "$tmp/invalid-base-error" >&2; then
log "Posting error as comment"
if ! response=$(effect gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/$baseRepo/issues/$prNumber/comments" \
-F "body=@$tmp/invalid-base-error"); then
log "Failed to post the comment: $response"
fi
exit 1
fi
log "Requesting reviews from code owners"
"$SCRIPT_DIR"/get-code-owners.sh "$tmp/nixpkgs.git" "$ownersFile" "$baseBranch" "$headRef" | \
"$SCRIPT_DIR"/request-reviewers.sh "$baseRepo" "$prNumber" "$prAuthor"

View File

@@ -1,88 +0,0 @@
#!/usr/bin/env bash
# Request reviewers for a PR, reading line-separated usernames on stdin,
# filtering for valid reviewers before using the API endpoint to request reviews:
# https://docs.github.com/en/rest/pulls/review-requests?apiVersion=2022-11-28#request-reviewers-for-a-pull-request
set -euo pipefail
tmp=$(mktemp -d)
trap 'rm -rf "$tmp"' exit
log() {
echo "$@" >&2
}
effect() {
if [[ -n "${DRY_MODE:-}" ]]; then
log "Skipping in dry mode:" "${@@Q}"
else
"$@"
fi
}
if (( "$#" < 3 )); then
log "Usage: $0 BASE_REPO PR_NUMBER PR_AUTHOR"
exit 1
fi
baseRepo=$1
prNumber=$2
prAuthor=$3
tmp=$(mktemp -d)
trap 'rm -rf "$tmp"' exit
declare -A users=()
while read -r handle && [[ -n "$handle" ]]; do
users[${handle,,}]=
done
# Cannot request a review from the author
if [[ -v users[${prAuthor,,}] ]]; then
log "One or more files are owned by the PR author, ignoring"
unset 'users[${prAuthor,,}]'
fi
gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/$baseRepo/pulls/$prNumber/reviews" \
--jq '.[].user.login' > "$tmp/already-reviewed-by"
# And we don't want to rerequest reviews from people who already reviewed
while read -r user; do
if [[ -v users[${user,,}] ]]; then
log "User $user is a potential reviewer, but has already left a review, ignoring"
unset 'users[${user,,}]'
fi
done < "$tmp/already-reviewed-by"
for user in "${!users[@]}"; do
if ! gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/$baseRepo/collaborators/$user" >&2; then
log "User $user is not a repository collaborator, probably missed the automated invite to the maintainers team (see <https://github.com/NixOS/nixpkgs/issues/234293>), ignoring"
unset 'users[$user]'
fi
done
if [[ "${#users[@]}" -gt 10 ]]; then
log "Too many reviewers (${!users[*]}), skipping review requests"
exit 0
fi
for user in "${!users[@]}"; do
log "Requesting review from: $user"
if ! response=$(jq -n --arg user "$user" '{ reviewers: [ $user ] }' | \
effect gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/$baseRepo/pulls/$prNumber/requested_reviewers" \
--input -); then
log "Failed to request review from $user: $response"
fi
done

View File

@@ -1,104 +0,0 @@
#!/usr/bin/env bash
# Check that a PR doesn't include commits from other development branches.
# Fails with next steps if it does
set -euo pipefail
tmp=$(mktemp -d)
trap 'rm -rf "$tmp"' exit
SCRIPT_DIR=$(dirname "$0")
log() {
echo "$@" >&2
}
# Small helper to check whether an element is in a list
# Usage: `elementIn foo "${list[@]}"`
elementIn() {
local e match=$1
shift
for e; do
if [[ "$e" == "$match" ]]; then
return 0
fi
done
return 1
}
if (( $# < 6 )); then
log "Usage: $0 LOCAL_REPO HEAD_REF BASE_REPO BASE_BRANCH PR_REPO PR_BRANCH"
exit 1
fi
localRepo=$1
headRef=$2
baseRepo=$3
baseBranch=$4
prRepo=$5
prBranch=$6
# All development branches
devBranchPatterns=()
while read -r pattern; do
if [[ "$pattern" != '#'* ]]; then
devBranchPatterns+=("$pattern")
fi
done < "$SCRIPT_DIR/dev-branches.txt"
git -C "$localRepo" branch --list --format "%(refname:short)" "${devBranchPatterns[@]}" > "$tmp/dev-branches"
readarray -t devBranches < "$tmp/dev-branches"
if [[ "$baseRepo" == "$prRepo" ]] && elementIn "$prBranch" "${devBranches[@]}"; then
log "This PR merges $prBranch into $baseBranch, no commit check necessary"
exit 0
fi
# The current merge base of the PR
prMergeBase=$(git -C "$localRepo" merge-base "$baseBranch" "$headRef")
log "The PR's merge base with the base branch $baseBranch is $prMergeBase"
# This is purely for debugging
git -C "$localRepo" rev-list --reverse "$baseBranch".."$headRef" > "$tmp/pr-commits"
log "The PR includes these $(wc -l < "$tmp/pr-commits") commits:"
cat <"$tmp/pr-commits" >&2
for testBranch in "${devBranches[@]}"; do
if [[ -z "$(git -C "$localRepo" rev-list -1 --since="1 month ago" "$testBranch")" ]]; then
log "Not checking $testBranch, was inactive for the last month"
continue
fi
log "Checking if commits from $testBranch are included in the PR"
# We need to check for any commits that are in the PR which are also in the test branch.
# We could check each commit from the PR individually, but that's unnecessarily slow.
#
# This does _almost_ what we want: `git rev-list --count headRef testBranch ^baseBranch`,
# except that it includes commits that are reachable from _either_ headRef or testBranch,
# instead of restricting it to ones reachable by both
# Easily fixable though, because we can use `git merge-base testBranch headRef`
# to get the least common ancestor (aka merge base) commit reachable by both.
# If the branch being tested is indeed the right base branch,
# this is then also the commit from that branch that the PR is based on top of.
testMergeBase=$(git -C "$localRepo" merge-base "$testBranch" "$headRef")
# And then use the `git rev-list --count`, but replacing the non-working
# `headRef testBranch` with the merge base of the two.
extraCommits=$(git -C "$localRepo" rev-list --count "$testMergeBase" ^"$baseBranch")
if (( extraCommits != 0 )); then
log -e "\e[33m"
echo "The PR's base branch is set to $baseBranch, but $extraCommits commits from the $testBranch branch are included. Make sure you know the [right base branch for your changes](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#branch-conventions), then:"
echo "- If the changes should go to the $testBranch branch, [change the base branch](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request) to $testBranch"
echo "- If the changes should go to the $baseBranch branch, rebase your PR onto the merge base with the $baseBranch branch:"
echo " \`\`\`bash"
echo " # git rebase --onto \$(git merge-base upstream/$baseBranch HEAD) \$(git merge-base upstream/$testBranch HEAD)"
echo " git rebase --onto $prMergeBase $testMergeBase"
echo " git push --force-with-lease"
echo " \`\`\`"
log -e "\e[m"
exit 1
fi
done
log "Base branch is correct, no commits from development branches are included"

View File

@@ -1,62 +0,0 @@
#!/usr/bin/env nix-shell
/*
#!nix-shell -i node -p nodejs
*/
const typeConfig = {
master: ['development', 'primary'],
release: ['development', 'primary'],
staging: ['development', 'secondary'],
'staging-next': ['development', 'secondary'],
'haskell-updates': ['development', 'secondary'],
'python-updates': ['development', 'secondary'],
nixos: ['channel'],
nixpkgs: ['channel'],
}
function split(branch) {
return { ...branch.match(/(?<prefix>.+?)(-(?<version>\d{2}\.\d{2}|unstable)(?:-(?<suffix>.*))?)?$/).groups }
}
function classify(branch) {
const { prefix, version } = split(branch)
return {
stable: (version ?? 'unstable') !== 'unstable',
type: typeConfig[prefix] ?? [ 'wip' ]
}
}
module.exports = { classify }
// If called directly via CLI, runs the following tests:
if (!module.parent) {
console.log('split(branch)')
function testSplit(branch) {
console.log(branch, split(branch))
}
testSplit('master')
testSplit('release-25.05')
testSplit('staging-next')
testSplit('staging-25.05')
testSplit('staging-next-25.05')
testSplit('nixpkgs-25.05-darwin')
testSplit('nixpkgs-unstable')
testSplit('haskell-updates')
testSplit('backport-123-to-release-25.05')
console.log('')
console.log('classify(branch)')
function testClassify(branch) {
console.log(branch, classify(branch))
}
testClassify('master')
testClassify('release-25.05')
testClassify('staging-next')
testClassify('staging-25.05')
testClassify('staging-next-25.05')
testClassify('nixpkgs-25.05-darwin')
testClassify('nixpkgs-unstable')
testClassify('haskell-updates')
testClassify('backport-123-to-release-25.05')
}

View File

@@ -1,6 +0,0 @@
[
"aarch64-linux",
"aarch64-darwin",
"x86_64-linux",
"x86_64-darwin"
]

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p npins
set -euo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
npins --lock-file pinned.json update

View File

@@ -1,28 +1,17 @@
let
requiredVersion = import ./lib/minver.nix;
in
let requiredVersion = import ./lib/minver.nix; in
if !builtins ? nixVersion || builtins.compareVersions requiredVersion builtins.nixVersion == 1 then
if ! builtins ? nixVersion || builtins.compareVersions requiredVersion builtins.nixVersion == 1 then
abort ''
This version of Nixpkgs requires Nix >= ${requiredVersion}, please upgrade:
- If you are running NixOS, `nixos-rebuild' can be used to upgrade your system.
- Alternatively, with Nix > 2.0 `nix upgrade-nix' can be used to imperatively
upgrade Nix. You may use `nix-env --version' to check which version you have.
- If you are running NixOS, use `nixos-rebuild' to upgrade your system.
- If you installed Nix using the install script (https://nixos.org/nix/install),
it is safe to upgrade by running it again:
curl -L https://nixos.org/nix/install | sh
For more information, please see the NixOS release notes at
https://nixos.org/nixos/manual or locally at
${toString ./nixos/doc/manual/release-notes}.
If you need further help, see https://nixos.org/nixos/support.html
curl https://nixos.org/nix/install | sh
''
else

View File

@@ -1,422 +0,0 @@
# Contributing to the Nixpkgs reference manual
This directory houses the sources files for the Nixpkgs reference manual.
> [!IMPORTANT]
> We are actively restructuring our documentation to follow the [Diátaxis framework](https://diataxis.fr/)
>
> Going forward, this directory should **only** contain [reference documentation](https://nix.dev/contributing/documentation/diataxis#reference).
> For tutorials, guides and explanations, contribute to <https://nix.dev/> instead.
>
> We are actively working to generate **all** reference documentation from the [doc-comments](https://github.com/NixOS/rfcs/blob/master/rfcs/0145-doc-strings.md) present in code.
> This also provides the benefit of using `:doc` in the `nix repl` to view reference documentation locally on the fly.
For documentation only relevant for contributors, use Markdown files next to the source and regular code comments.
> [!TIP]
> Feedback for improving support for parsing and rendering doc-comments is highly appreciated.
> [Open an issue](https://github.com/NixOS/nixpkgs/issues/new?labels=6.topic%3A+documentation&title=Doc%3A+) to request bugfixes or new features.
Rendered documentation:
- [Unstable (from master)](https://nixos.org/manual/nixpkgs/unstable/)
- [Stable (from latest release)](https://nixos.org/manual/nixpkgs/stable/)
The rendering tool is [nixos-render-docs](../pkgs/by-name/ni/nixos-render-docs), sometimes abbreviated `nrd`.
## Contributing to this documentation
You can quickly check your edits with `nix-build`:
```ShellSession
$ cd /path/to/nixpkgs
$ nix-build doc
```
If the build succeeds, the manual will be in `./result/share/doc/nixpkgs/manual.html`.
### Development environment
In order to reduce repetition, consider using tools from the provided development environment:
Load it from the Nixpkgs documentation directory with
```ShellSession
$ cd /path/to/nixpkgs/doc
$ nix-shell
```
To load the development utilities automatically when entering that directory, [set up `nix-direnv`](https://nix.dev/guides/recipes/direnv).
Make sure that your local files aren't added to Git history by adding the following lines to `.git/info/exclude` at the root of the Nixpkgs repository:
```
/**/.envrc
/**/.direnv
```
#### `devmode`
Use [`devmode`](../pkgs/by-name/de/devmode/README.md) for a live preview when editing the manual.
### Testing redirects
Once you have a successful build, you can open the relevant HTML (path mentioned above) in a browser along with the anchor, and observe the redirection.
Note that if you already loaded the page and *then* input the anchor, you will need to perform a reload.
This is because browsers do not re-run client JS code when only the anchor has changed.
## Syntax
As per [RFC 0072](https://github.com/NixOS/rfcs/pull/72), all new documentation content should be written in [CommonMark](https://commonmark.org/) Markdown dialect.
Additional syntax extensions are available, all of which can be used in NixOS option documentation.
The following extensions are currently used:
#### Tables
Tables, using the [GitHub-flavored Markdown syntax](https://github.github.com/gfm/#tables-extension-).
#### Anchors
Explicitly defined **anchors** on headings, to allow linking to sections.
These should be always used, to ensure the anchors can be linked even when the heading text changes, and to prevent conflicts between [automatically assigned identifiers](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/auto_identifiers.md).
It uses the widely compatible [header attributes](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/attributes.md) syntax:
```markdown
## Syntax {#sec-contributing-markup}
```
> [!Note]
> NixOS option documentation does not support headings in general.
#### Inline Anchors
Allow linking arbitrary place in the text (e.g. individual list items, sentences…).
They are defined using a hybrid of the link syntax with the attributes syntax known from headings, called [bracketed spans](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/bracketed_spans.md):
```markdown
- []{#ssec-gnome-hooks-glib} `glib` setup hook will populate `GSETTINGS_SCHEMAS_PATH` and then `wrapGApps*` hook will prepend it to `XDG_DATA_DIRS`.
```
#### Automatic links
If you **omit a link text** for a link pointing to a section, the text will be substituted automatically.
For example `[](#chap-contributing)`.
This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/using/syntax.html#targets-and-cross-referencing).
#### HTML
Inlining HTML is not allowed.
Parts of the documentation gets rendered to various non-HTML formats, such as man pages in the case of NixOS manual.
#### Roles
If you want to link to a man page, you can use `` {manpage}`nix.conf(5)` ``.
The references will turn into links when a mapping exists in [`doc/manpage-urls.json`](./manpage-urls.json).
Please keep the `manpage-urls.json` file alphabetically sorted.
A few markups for other kinds of literals are also available:
- `` {command}`rm -rfi` ``
- `` {env}`XDG_DATA_DIRS` ``
- `` {file}`/etc/passwd` ``
- `` {option}`networking.useDHCP` ``
- `` {var}`/etc/passwd` ``
These literal kinds are used mostly in NixOS option documentation.
This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/syntax/syntax.html#roles-an-in-line-extension-point).
Though, the feature originates from [reStructuredText](https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-manpage) with slightly different syntax.
They are handled by `myst_role` defined per renderer. <!-- reverse references in code -->
#### Admonitions
Set off from the text to bring attention to something.
It uses pandocs [fenced `div`s syntax](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/fenced_divs.md):
```markdown
::: {.warning}
This is a warning
:::
```
The following are supported:
- `caution`
- `important`
- `note`
- `tip`
- `warning`
- `example`
Example admonitions require a title to work.
If you don't provide one, the manual won't be built.
```markdown
::: {.example #ex-showing-an-example}
# Title for this example
Text for the example.
:::
```
#### [Definition lists](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/definition_lists.md)
For defining a group of terms:
```markdown
pear
: green or yellow bulbous fruit
watermelon
: green fruit with red flesh
```
## Commit conventions
- Make sure you read about the [commit conventions](../CONTRIBUTING.md#commit-conventions) common to Nixpkgs as a whole.
- If creating a commit purely for documentation changes, format the commit message in the following way:
```
doc: (documentation summary)
(Motivation for change, relevant links, additional information.)
```
Examples:
* doc: update the kernel config documentation to use `nix-shell`
* doc: add information about `nix-update-script`
Closes #216321.
- If the commit contains more than just documentation changes, follow the commit message format relevant for the rest of the changes.
## Documentation conventions
In an effort to keep the Nixpkgs manual in a consistent style, please follow the conventions below, unless they prevent you from properly documenting something.
In that case, please open an issue about the particular documentation convention and tag it with a "needs: documentation" label.
When needed, each convention explain why it exists, so you can make a decision whether to follow it or not based on your particular case.
Note that these conventions are about the **structure** of the manual (and its source files), not about the content that goes in it.
You, as the writer of documentation, are still in charge of its content.
### One sentence per line
Put each sentence in its own line.
This makes reviews and suggestions much easier, since GitHub's review system is based on lines.
It also helps identifying long sentences at a glance.
### Callouts and examples
Use the [admonition syntax](#admonitions) for callouts and examples.
### Provide self-contained examples
Provide at least one example per function, and make examples self-contained.
This is easier to understand for beginners.
It also helps with testing that it actually works especially once we introduce automation.
Example code should be such that it can be passed to `pkgs.callPackage`.
Instead of something like:
```nix
pkgs.dockerTools.buildLayeredImage {
name = "hello";
contents = [ pkgs.hello ];
}
```
Write something like:
```nix
{ dockerTools, hello }:
dockerTools.buildLayeredImage {
name = "hello";
contents = [ hello ];
}
```
### REPLs
When showing inputs/outputs of any [REPL](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop), such as a shell or the Nix REPL, use a format as you'd see in the REPL, while trying to visually separate inputs from outputs.
This means that for a shell, you should use a format like the following:
```shell
$ nix-build -A hello '<nixpkgs>' \
--option require-sigs false \
--option trusted-substituters file:///tmp/hello-cache \
--option substituters file:///tmp/hello-cache
/nix/store/zhl06z4lrfrkw5rp0hnjjfrgsclzvxpm-hello-2.12.1
```
Note how the input is preceded by `$` on the first line and indented on subsequent lines, and how the output is provided as you'd see on the shell.
For the Nix REPL, you should use a format like the following:
```shell
nix-repl> builtins.attrNames { a = 1; b = 2; }
[ "a" "b" ]
```
Note how the input is preceded by `nix-repl>` and the output is provided as you'd see on the Nix REPL.
### Headings for inputs, outputs and examples
When documenting functions or anything that has inputs/outputs and example usage, use nested headings to clearly separate inputs, outputs, and examples.
Keep examples as the last nested heading, and link to the examples wherever applicable in the documentation.
The purpose of this convention is to provide a familiar structure for navigating the manual, so any reader can expect to find content related to inputs in an "inputs" heading, examples in an "examples" heading, and so on.
An example:
```
## buildImage
Some explanation about the function here.
Describe a particular scenario, and point to [](#ex-dockerTools-buildImage), which is an example demonstrating it.
### Inputs
Documentation for the inputs of `buildImage`.
Perhaps even point to [](#ex-dockerTools-buildImage) again when talking about something specifically linked to it.
### Passthru outputs
Documentation for any passthru outputs of `buildImage`.
### Examples
Note that this is the last nested heading in the `buildImage` section.
:::{.example #ex-dockerTools-buildImage}
# Using `buildImage`
Example of how to use `buildImage` goes here.
:::
```
### Function arguments
Use [definition lists](#definition-lists) to document function arguments, and the attributes of such arguments as well as their [types](https://nixos.org/manual/nix/stable/language/values).
For example:
```markdown
# pkgs.coolFunction {#pkgs.coolFunction}
`pkgs.coolFunction` *`name`* *`config`*
Description of what `callPackage` does.
## Inputs {#pkgs-coolFunction-inputs}
If something's special about `coolFunction`'s general argument handling, you can say so here.
Otherwise, just describe the single argument or start the arguments' definition list without introduction.
*`name`* (String)
: The name of the resulting image.
*`config`* (Attribute set)
: Introduce the parameter. Maybe you have a test to make sure `{ }` is a sensible default; then you can say: these attributes are optional; `{ }` is a valid argument.
`outputHash` (String; _optional_)
: A brief explanation including when and when not to pass this attribute.
: _Default:_ the output path's hash.
```
Checklist:
- Start with a synopsis, to show the order of positional arguments.
- Metavariables are in emphasized code spans: ``` *`arg1`* ```.
Metavariables are placeholders where users may write arbitrary expressions.
This includes positional arguments.
- Attribute names are regular code spans: ``` `attr1` ```.
These identifiers can _not_ be picked freely by users, so they are _not_ metavariables.
- _optional_ attributes have a _`Default:`_ if it's easily described as a value.
- _optional_ attributes have a _`Default behavior:`_ if it's not easily described using a value.
- Nix types aren't in code spans, because they are not code
- Nix types are capitalized, to distinguish them from the camelCase Module System types, which _are_ code and behave like functions.
#### Examples
To define a referenceable figure use the following fencing:
```markdown
:::{.example #an-attribute-set-example}
# An attribute set example
You can add text before
```nix
{ a = 1; b = 2;}
```
and after code fencing
:::
```
Defining examples through the `example` fencing class adds them to a "List of Examples" section after the Table of Contents.
Though this is not shown in the rendered documentation on nixos.org.
#### Figures
To define a referenceable figure use the following fencing:
```markdown
::: {.figure #nixos-logo}
# NixOS Logo
![NixOS logo](./nixos_logo.png)
:::
```
Defining figures through the `figure` fencing class adds them to a `List of Figures` after the `Table of Contents`.
Though this is not shown in the rendered documentation on nixos.org.
#### Footnotes
To add a foonote explanation, use the following syntax:
```markdown
Sometimes it's better to add context [^context] in a footnote.
[^context]: This explanation will be rendered at the end of the chapter.
```
#### Inline comments
Inline comments are supported with following syntax:
```markdown
<!-- This is an inline comment -->
```
The comments will not be rendered in the rendered HTML.
#### Link reference definitions
Links can reference a label, for example, to make the link target reusable:
```markdown
::: {.note}
Reference links can also be used to [shorten URLs][url-id] and keep the markdown readable.
:::
[url-id]: https://github.com/NixOS/nixpkgs/blob/19d4f7dc485f74109bd66ef74231285ff797a823/doc/README.md
```
This syntax is taken from [CommonMark](https://spec.commonmark.org/0.30/#link-reference-definitions).
#### Typographic replacements
Typographic replacements are enabled.
Check the [list of possible replacement patterns check](https://github.com/executablebooks/markdown-it-py/blob/3613e8016ecafe21709471ee0032a90a4157c2d1/markdown_it/rules_core/replacements.py#L1-L15).
## Getting help
If you need documentation-specific help or reviews, ping [@NixOS/documentation-team](https://github.com/orgs/nixos/teams/documentation-team) on your pull request.

View File

@@ -1,3 +0,0 @@
document.addEventListener('DOMContentLoaded', function(event) {
anchors.add('h1[id]:not(div.note h1, div.warning h1, div.tip h1, div.caution h1, div.important h1), h2[id]:not(div.note h2, div.warning h2, div.tip h2, div.caution h2, div.important h2), h3[id]:not(div.note h3, div.warning h3, div.tip h3, div.caution h3, div.important h3), h4[id]:not(div.note h4, div.warning h4, div.tip h4, div.caution h4, div.important h4), h5[id]:not(div.note h5, div.warning h5, div.tip h5, div.caution h5, div.important h5), h6[id]:not(div.note h6, div.warning h6, div.tip h6, div.caution h6, div.important h6)');
});

9
doc/anchor.min.js vendored

File diff suppressed because one or more lines are too long

View File

@@ -1,30 +0,0 @@
# Build helpers {#part-builders}
A build helper is a function that produces derivations.
:::{.warning}
This is not to be confused with the [`builder` argument of the Nix `derivation` primitive](https://nixos.org/manual/nix/unstable/language/derivations.html), which refers to the executable that produces the build result, or [remote builder](https://nixos.org/manual/nix/stable/advanced-topics/distributed-builds.html), which refers to a remote machine that could run such an executable.
:::
Such a function is usually designed to abstract over a typical workflow for a given programming language or framework.
This allows declaring a build recipe by setting a limited number of options relevant to the particular use case instead of using the `derivation` function directly.
[`stdenv.mkDerivation`](#part-stdenv) is the most widely used build helper, and serves as a basis for many others.
In addition, it offers various options to customize parts of the builds.
There is no uniform interface for build helpers.
[Trivial build helpers](#chap-trivial-builders) and [fetchers](#chap-pkgs-fetchers) have various input types for convenience.
[Language- or framework-specific build helpers](#chap-language-support) usually follow the style of `stdenv.mkDerivation`, which accepts an attribute set or a fixed-point function taking an attribute set.
```{=include=} chapters
build-helpers/fixed-point-arguments.chapter.md
build-helpers/fetchers.chapter.md
build-helpers/trivial-build-helpers.chapter.md
build-helpers/testers.chapter.md
build-helpers/dev-shell-tools.chapter.md
build-helpers/special.md
build-helpers/images.md
hooks/index.md
languages-frameworks/index.md
packages/index.md
```

View File

@@ -1,84 +0,0 @@
# Development Shell helpers {#chap-devShellTools}
The `nix-shell` command has popularized the concept of transient shell environments for development or testing purposes.
<!--
We should try to document the product, not its development process in the Nixpkgs reference manual,
but *something* needs to be said to provide context for this library.
This is the most future proof sentence I could come up with while Nix itself does yet make use of this.
Relevant is the current status of the devShell attribute "project": https://github.com/NixOS/nix/issues/7501
-->
However, `nix-shell` is not the only way to create such environments, and even `nix-shell` itself can indirectly benefit from this library.
This library provides a set of functions that help create such environments.
## `devShellTools.valueToString` {#sec-devShellTools-valueToString}
Converts Nix values to strings in the way the [`derivation` built-in function](https://nix.dev/manual/nix/2.23/language/derivations) does.
:::{.example}
## `valueToString` usage examples
```nix
devShellTools.valueToString (builtins.toFile "foo" "bar")
# => "/nix/store/...-foo"
```
```nix
devShellTools.valueToString false
# => ""
```
:::
## `devShellTools.unstructuredDerivationInputEnv` {#sec-devShellTools-unstructuredDerivationInputEnv}
Convert a set of derivation attributes (as would be passed to [`derivation`]) to a set of environment variables that can be used in a shell script.
This function does not support `__structuredAttrs`, but does support `passAsFile`.
:::{.example}
## `unstructuredDerivationInputEnv` usage example
```nix
devShellTools.unstructuredDerivationInputEnv {
drvAttrs = {
name = "foo";
buildInputs = [
hello
figlet
];
builder = bash;
args = [
"-c"
"${./builder.sh}"
];
};
}
# => {
# name = "foo";
# buildInputs = "/nix/store/...-hello /nix/store/...-figlet";
# builder = "/nix/store/...-bash";
#}
```
Note that `args` is not included, because Nix does not added it to the builder process environment.
:::
## `devShellTools.derivationOutputEnv` {#sec-devShellTools-derivationOutputEnv}
Takes the relevant parts of a derivation and returns a set of environment variables, that would be present in the derivation.
:::{.example}
## `derivationOutputEnv` usage example
```nix
let
pkg = hello;
in
devShellTools.derivationOutputEnv {
outputList = pkg.outputs;
outputMap = pkg;
}
```
:::

View File

@@ -1,949 +0,0 @@
# Fetchers {#chap-pkgs-fetchers}
Building software with Nix often requires downloading source code and other files from the internet.
To this end, we use functions that we call _fetchers_, which obtain remote sources via various protocols and services.
Nix provides built-in fetchers such as [`builtins.fetchTarball`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-fetchTarball).
Nixpkgs provides its own fetchers, which work differently:
- A built-in fetcher will download and cache files at evaluation time and produce a [store path](https://nixos.org/manual/nix/stable/glossary#gloss-store-path).
A Nixpkgs fetcher will create a ([fixed-output](https://nixos.org/manual/nix/stable/glossary#gloss-fixed-output-derivation)) [derivation](https://nixos.org/manual/nix/stable/glossary#gloss-derivation), and files are downloaded at build time.
- Built-in fetchers will invalidate their cache after [`tarball-ttl`](https://nixos.org/manual/nix/stable/command-ref/conf-file#conf-tarball-ttl) expires, and will require network activity to check if the cache entry is up to date.
Nixpkgs fetchers only re-download if the specified hash changes or the store object is not available.
- Built-in fetchers do not use [substituters](https://nixos.org/manual/nix/stable/command-ref/conf-file#conf-substituters).
Derivations produced by Nixpkgs fetchers will use any configured binary cache transparently.
This significantly reduces the time needed to evaluate Nixpkgs, and allows [Hydra](https://nixos.org/hydra) to retain and re-distribute sources used by Nixpkgs in the [public binary cache](https://cache.nixos.org).
For these reasons, Nix's built-in fetchers are not allowed in Nixpkgs.
The following table summarises the differences:
| Fetchers | Download | Output | Cache | Re-download when |
|-|-|-|-|-|
| `builtins.fetch*` | evaluation time | store path | `/nix/store`, `~/.cache/nix` | `tarball-ttl` expires, cache miss in `~/.cache/nix`, output store object not in local store |
| `pkgs.fetch*` | build time | derivation | `/nix/store`, substituters | output store object not available |
:::{.tip}
`pkgs.fetchFrom*` helpers retrieve _snapshots_ of version-controlled sources, as opposed to the entire version history, which is more efficient.
`pkgs.fetchgit` by default also has the same behaviour, but can be changed through specific attributes given to it.
:::
## Caveats {#chap-pkgs-fetchers-caveats}
Because Nixpkgs fetchers are fixed-output derivations, an [output hash](https://nixos.org/manual/nix/stable/language/advanced-attributes#adv-attr-outputHash) has to be specified, usually indirectly through a `hash` attribute.
This hash refers to the derivation output, which can be different from the remote source itself!
This has the following implications that you should be aware of:
- Use Nix (or Nix-aware) tooling to produce the output hash.
- When changing any fetcher parameters, always update the output hash.
Use one of the methods from [](#sec-pkgs-fetchers-updating-source-hashes).
Otherwise, existing store objects that match the output hash will be re-used rather than fetching new content.
:::{.note}
A similar problem arises while testing changes to a fetcher's implementation.
If the output of the derivation already exists in the Nix store, test failures can go undetected.
The [`invalidateFetcherByDrvHash`](#tester-invalidateFetcherByDrvHash) function helps prevent reusing cached derivations.
:::
## Updating source hashes {#sec-pkgs-fetchers-updating-source-hashes}
There are several ways to obtain the hash corresponding to a remote source.
Unless you understand how the fetcher you're using calculates the hash from the downloaded contents, you should use [the fake hash method](#sec-pkgs-fetchers-updating-source-hashes-fakehash-method).
1. []{#sec-pkgs-fetchers-updating-source-hashes-fakehash-method} The fake hash method: In your package recipe, set the hash to one of
- `""`
- `lib.fakeHash`
- `lib.fakeSha256`
- `lib.fakeSha512`
Attempt to build, extract the calculated hashes from error messages, and put them into the recipe.
:::{.warning}
You must use one of these four fake hashes and not some arbitrarily-chosen hash.
See [](#sec-pkgs-fetchers-secure-hashes) for details.
:::
:::{.example #ex-fetchers-update-fod-hash}
# Update source hash with the fake hash method
Consider the following recipe that produces a plain file:
```nix
{ fetchurl }:
fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixpkgs/23.05/.version";
hash = "sha256-ZHl1emidXVojm83LCVrwULpwIzKE/mYwfztVkvpruOM=";
}
```
A common mistake is to update a fetcher parameter, such as `url`, without updating the hash:
```nix
{ fetchurl }:
fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixpkgs/23.11/.version";
hash = "sha256-ZHl1emidXVojm83LCVrwULpwIzKE/mYwfztVkvpruOM=";
}
```
**This will produce the same output as before!**
Set the hash to an empty string:
```nix
{ fetchurl }:
fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixpkgs/23.11/.version";
hash = "";
}
```
When building the package, use the error message to determine the correct hash:
```shell
$ nix-build
(some output removed for clarity)
error: hash mismatch in fixed-output derivation '/nix/store/7yynn53jpc93l76z9zdjj4xdxgynawcw-version.drv':
specified: sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
got: sha256-BZqI7r0MNP29yGH5+yW2tjU9OOpOCEvwWKrWCv5CQ0I=
error: build of '/nix/store/bqdjcw5ij5ymfbm41dq230chk9hdhqff-version.drv' failed
```
:::
2. Prefetch the source with [`nix-prefetch-<type> <URL>`](https://search.nixos.org/packages?buckets={%22package_attr_set%22%3A[%22No%20package%20set%22]%2C%22package_license_set%22%3A[]%2C%22package_maintainers_set%22%3A[]%2C%22package_platforms%22%3A[]}&query=nix-prefetch), where `<type>` is one of
- `url`
- `git`
- `hg`
- `cvs`
- `bzr`
- `svn`
The hash is printed to stdout.
3. Prefetch by package source (with `nix-prefetch-url '<nixpkgs>' -A <package>.src`, where `<package>` is package attribute name).
The hash is printed to stdout.
This works well when you've upgraded the existing package version and want to find out new hash, but is useless if the package can't be accessed by attribute or the package has multiple sources (`.srcs`, architecture-dependent sources, etc).
4. Upstream hash: use it when upstream provides `sha256` or `sha512`.
Don't use it when upstream provides `md5`, compute `sha256` instead.
A little nuance is that `nix-prefetch-*` tools produce hashes with the `nix32` encoding (a Nix-specific base32 adaptation), but upstream usually provides hexadecimal (`base16`) encoding.
Fetchers understand both formats.
Nixpkgs does not standardise on any one format.
You can convert between hash formats with [`nix-hash`](https://nixos.org/manual/nix/stable/command-ref/nix-hash).
5. Extract the hash from a local source archive with `sha256sum`.
Use `nix-prefetch-url file:///path/to/archive` if you want the custom Nix `base32` hash.
## Obtaining hashes securely {#sec-pkgs-fetchers-secure-hashes}
It's always a good idea to avoid Man-in-the-Middle (MITM) attacks when downloading source contents.
Otherwise, you could unknowingly download malware instead of the intended source, and instead of the actual source hash, you'll end up using the hash of malware.
Here are security considerations for this scenario:
- `http://` URLs are not secure to prefetch hashes.
- Upstream hashes should be obtained via a secure protocol.
- `https://` URLs give you more protections when using `nix-prefetch-*` or for upstream hashes.
- `https://` URLs are secure when using the [fake hash method](#sec-pkgs-fetchers-updating-source-hashes-fakehash-method) *only if* you use one of the listed fake hashes.
If you use any other hash, the download will be exposed to MITM attacks even if you use HTTPS URLs.
In more concrete terms, if you use any other hash, the [`--insecure` flag](https://curl.se/docs/manpage.html#-k) will be passed to the underlying call to `curl` when downloading content.
## Proxy usage {#sec-pkgs-fetchers-proxy}
Nixpkgs fetchers can make use of a http(s) proxy. Each fetcher will automatically inherit proxy-related environment variables (`http_proxy`, `https_proxy`, etc) via [impureEnvVars](https://nixos.org/manual/nix/stable/language/advanced-attributes#adv-attr-impureEnvVars).
The environment variable `NIX_SSL_CERT_FILE` is also inherited in fetchers, and can be used to provide a custom certificate bundle to fetchers. This is usually required for a https proxy to work without certificate validation errors.
To use a temporary Tor instance as a proxy for fetching from `.onion` addresses, add `nativeBuildInputs = [ tor.proxyHook ];` to the fetcher parameters.
[]{#fetchurl}
## `fetchurl` {#sec-pkgs-fetchers-fetchurl}
`fetchurl` returns a [fixed-output derivation](https://nixos.org/manual/nix/stable/glossary.html#gloss-fixed-output-derivation) which downloads content from a given URL and stores the unaltered contents within the Nix store.
It uses {manpage}`curl(1)` internally, and allows its behaviour to be modified by specifying a few attributes in the argument to `fetchurl` (see the documentation for attributes `curlOpts`, `curlOptsList`, and `netrcPhase`).
The resulting [store path](https://nixos.org/manual/nix/stable/store/store-path) is determined by the hash given to `fetchurl`, and also the `name` (or `pname` and `version`) values.
If neither `name` nor `pname` and `version` are specified when calling `fetchurl`, it will default to using the [basename](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-baseNameOf) of `url` or the first element of `urls`.
If `pname` and `version` are specified, `fetchurl` will use those values and will ignore `name`, even if it is also specified.
### Inputs {#sec-pkgs-fetchers-fetchurl-inputs}
`fetchurl` requires an attribute set with the following attributes:
`url` (String; _optional_)
: The URL to download from.
:::{.note}
Either `url` or `urls` must be specified, but not both.
:::
All URLs of the format [specified here](https://curl.se/docs/url-syntax.html#rfc-3986-plus) are supported.
_Default value:_ `""`.
`urls` (List of String; _optional_)
: A list of URLs, specifying download locations for the same content.
Each URL will be tried in order until one of them succeeds with some content or all of them fail.
See [](#ex-fetchers-fetchurl-nixpkgs-version-multiple-urls) to understand how this attribute affects the behaviour of `fetchurl`.
:::{.note}
Either `url` or `urls` must be specified, but not both.
:::
_Default value:_ `[]`.
`hash` (String; _optional_)
: Hash of the derivation output of `fetchurl`, following the format for integrity metadata as defined by [SRI](https://www.w3.org/TR/SRI/).
For more information, see [](#chap-pkgs-fetchers-caveats).
:::{.note}
It is recommended that you use the `hash` attribute instead of the other hash-specific attributes that exist for backwards compatibility.
If `hash` is not specified, you must specify `outputHash` and `outputHashAlgo`, or one of `sha512`, `sha256`, or `sha1`.
:::
_Default value:_ `""`.
`outputHash` (String; _optional_)
: Hash of the derivation output of `fetchurl` in the format expected by Nix.
See [the documentation on the Nix manual](https://nixos.org/manual/nix/stable/language/advanced-attributes.html#adv-attr-outputHash) for more information about its format.
:::{.note}
It is recommended that you use the `hash` attribute instead.
If `outputHash` is specified, you must also specify `outputHashAlgo`.
:::
_Default value:_ `""`.
`outputHashAlgo` (String; _optional_)
: Algorithm used to generate the value specified in `outputHash`.
See [the documentation on the Nix manual](https://nixos.org/manual/nix/stable/language/advanced-attributes.html#adv-attr-outputHashAlgo) for more information about the values it supports.
:::{.note}
It is recommended that you use the `hash` attribute instead.
The value specified in `outputHashAlgo` will be ignored if `outputHash` isn't also specified.
:::
_Default value:_ `""`.
`sha1` (String; _optional_)
: SHA-1 hash of the derivation output of `fetchurl` in the format expected by Nix.
See [the documentation on the Nix manual](https://nixos.org/manual/nix/stable/language/advanced-attributes.html#adv-attr-outputHash) for more information about its format.
:::{.note}
It is recommended that you use the `hash` attribute instead.
:::
_Default value:_ `""`.
`sha256` (String; _optional_)
: SHA-256 hash of the derivation output of `fetchurl` in the format expected by Nix.
See [the documentation on the Nix manual](https://nixos.org/manual/nix/stable/language/advanced-attributes.html#adv-attr-outputHash) for more information about its format.
:::{.note}
It is recommended that you use the `hash` attribute instead.
:::
_Default value:_ `""`.
`sha512` (String; _optional_)
: SHA-512 hash of the derivation output of `fetchurl` in the format expected by Nix.
See [the documentation on the Nix manual](https://nixos.org/manual/nix/stable/language/advanced-attributes.html#adv-attr-outputHash) for more information about its format.
:::{.note}
It is recommended that you use the `hash` attribute instead.
:::
_Default value:_ `""`.
`name` (String; _optional_)
: The symbolic name of the downloaded file when saved in the Nix store.
See [the `fetchurl` overview](#sec-pkgs-fetchers-fetchurl) for details on how the name of the file is decided.
_Default value:_ `""`.
`pname` (String; _optional_)
: A base name, which will be combined with `version` to form the symbolic name of the downloaded file when saved in the Nix store.
See [the `fetchurl` overview](#sec-pkgs-fetchers-fetchurl) for details on how the name of the file is decided.
:::{.note}
If `pname` is specified, you must also specify `version`, otherwise `fetchurl` will ignore the value of `pname`.
:::
_Default value:_ `""`.
`version` (String; _optional_)
: A version, which will be combined with `pname` to form the symbolic name of the downloaded file when saved in the Nix store.
See [the `fetchurl` overview](#sec-pkgs-fetchers-fetchurl) for details on how the name of the file is decided.
_Default value:_ `""`.
`recursiveHash` (Boolean; _optional_) []{#sec-pkgs-fetchers-fetchurl-inputs-recursiveHash}
: If set to `true`, will signal to Nix that the hash given to `fetchurl` was calculated using the `"recursive"` mode.
See [the documentation on the Nix manual](https://nixos.org/manual/nix/stable/language/advanced-attributes.html#adv-attr-outputHashMode) for more information about the existing modes.
By default, `fetchurl` uses `"recursive"` mode when the `executable` attribute is set to `true`, so you don't need to specify `recursiveHash` in this case.
_Default value:_ `false`.
`executable` (Boolean; _optional_)
: If `true`, sets the executable bit on the downloaded file.
_Default value_: `false`.
`downloadToTemp` (Boolean; _optional_) []{#sec-pkgs-fetchers-fetchurl-inputs-downloadToTemp}
: If `true`, saves the downloaded file to a temporary location instead of the expected Nix store location.
This is useful when used in conjunction with `postFetch` attribute, otherwise `fetchurl` will not produce any meaningful output.
The location of the downloaded file will be set in the `$downloadedFile` variable, which should be used by the script in the `postFetch` attribute.
See [](#ex-fetchers-fetchurl-nixpkgs-version-postfetch) to understand how to work with this attribute.
_Default value:_ `false`.
`postFetch` (String; _optional_)
: Script executed after the file has been downloaded successfully, and before `fetchurl` finishes running.
Useful for post-processing, to check or transform the file in some way.
See [](#ex-fetchers-fetchurl-nixpkgs-version-postfetch) to understand how to work with this attribute.
_Default value:_ `""`.
`netrcPhase` (String or Null; _optional_)
: Script executed to create a {manpage}`netrc(5)` file to be used with {manpage}`curl(1)`.
The script should create the `netrc` file (note that it does not begin with a ".") in the directory it's currently running in (`$PWD`).
The script is executed during the setup done by `fetchurl` before it runs any of its code to download the specified content.
:::{.note}
If specified, `fetchurl` will automatically alter its invocation of {manpage}`curl(1)` to use the `netrc` file, so you don't need to add anything to `curlOpts` or `curlOptsList`.
:::
:::{.caution}
Since `netrcPhase` needs to be specified in your source Nix code, any secrets that you put directly in it will be world-readable by design (both in your source code, and when the derivation gets created in the Nix store).
If you want to avoid this behaviour, see the documentation of `netrcImpureEnvVars` for an alternative way of dealing with these secrets.
:::
_Default value_: `null`.
`netrcImpureEnvVars` (List of String; _optional_)
: If specified, `fetchurl` will add these environment variable names to the list of [impure environment variables](https://nixos.org/manual/nix/stable/language/advanced-attributes.html#adv-attr-impureEnvVars), which will be passed from the environment of the calling user to the builder running the `fetchurl` code.
This is useful when used with `netrcPhase` to hide any secrets that are used in it, because the script in `netrcPhase` only needs to reference the environment variables with the secrets in them instead.
However, note that these are called _impure_ variables for a reason:
the environment that starts the build needs to have these variables declared for everything to work properly, which means that additional setup is required outside what Nix controls.
_Default value:_ `[]`.
`curlOpts` (String; _optional_)
: If specified, this value will be appended to the invocation of {manpage}`curl(1)` when downloading the URL(s) given to `fetchurl`.
Multiple arguments can be separated by spaces normally, but values with whitespaces will be interpreted as multiple arguments (instead of a single value), even if the value is escaped.
See `curlOptsList` for a way to pass values with whitespaces in them.
_Default value:_ `""`.
`curlOptsList` (List of String; _optional_)
: If specified, each element of this list will be passed as an argument to the invocation of {manpage}`curl(1)` when downloading the URL(s) given to `fetchurl`.
This allows passing values that contain spaces, with no escaping needed.
_Default value:_ `[]`.
`showURLs` (Boolean; _optional_)
: If set to `true`, this will stop `fetchurl` from downloading anything at all.
Instead, it will output a list of all the URLs it would've used to download the content (after resolving `mirror://` URLs, for example).
This is useful for debugging.
_Default value:_ `false`.
`meta` (Attribute Set; _optional_)
: Specifies any [meta-attributes](#chap-meta) for the derivation returned by `fetchurl`.
_Default value:_ `{}`.
`passthru` (Attribute Set; _optional_)
: Specifies any extra [`passthru`](#chap-passthru) attributes for the derivation returned by `fetchurl`.
Note that `fetchurl` defines [`passthru` attributes of its own](#ssec-pkgs-fetchers-fetchurl-passthru-outputs).
Attributes specified in `passthru` can override the default attributes returned by `fetchurl`.
_Default value:_ `{}`.
`preferLocalBuild` (Boolean; _optional_)
: This is the same attribute as [defined in the Nix manual](https://nixos.org/manual/nix/stable/language/advanced-attributes.html#adv-attr-preferLocalBuild).
It is `true` by default because making a remote machine download the content just duplicates network traffic (since the local machine might download the results from the derivation anyway), but this could be useful in cases where network access is restricted on local machines.
_Default value:_ `true`.
`nativeBuildInputs` (List of Attribute Set; _optional_)
: Additional packages needed to download the content.
This is useful if you need extra packages for `postFetch` or `netrcPhase`, for example.
Has the same semantics as in [](#var-stdenv-nativeBuildInputs).
See [](#ex-fetchers-fetchurl-nixpkgs-version-postfetch) to understand how this can be used with `postFetch`.
_Default value:_ `[]`.
### Passthru outputs {#ssec-pkgs-fetchers-fetchurl-passthru-outputs}
`fetchurl` also defines its own [`passthru`](#chap-passthru) attributes:
`url` (String)
: The same `url` attribute passed in the argument to `fetchurl`.
### Examples {#ssec-pkgs-fetchers-fetchurl-examples}
:::{.example #ex-fetchers-fetchurl-nixpkgs-version}
# Using `fetchurl` to download a file
The following package downloads a small file from a URL and shows the most common way to use `fetchurl`:
```nix
{ fetchurl }:
fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixpkgs/23.11/.version";
hash = "sha256-BZqI7r0MNP29yGH5+yW2tjU9OOpOCEvwWKrWCv5CQ0I=";
}
```
After building the package, the file will be downloaded and place into the Nix store:
```shell
$ nix-build
(output removed for clarity)
/nix/store/4g9y3x851wqrvim4zcz5x2v3zivmsq8n-version
$ cat /nix/store/4g9y3x851wqrvim4zcz5x2v3zivmsq8n-version
23.11
```
:::
:::{.example #ex-fetchers-fetchurl-nixpkgs-version-multiple-urls}
# Using `fetchurl` to download a file with multiple possible URLs
The following package adapts [](#ex-fetchers-fetchurl-nixpkgs-version) to use multiple URLs.
The first URL was crafted to intentionally return an error to illustrate how `fetchurl` will try multiple URLs until it finds one that works (or all URLs fail).
```nix
{ fetchurl }:
fetchurl {
urls = [
"https://raw.githubusercontent.com/NixOS/nixpkgs/23.11/does-not-exist"
"https://raw.githubusercontent.com/NixOS/nixpkgs/23.11/.version"
];
hash = "sha256-BZqI7r0MNP29yGH5+yW2tjU9OOpOCEvwWKrWCv5CQ0I=";
}
```
After building the package, both URLs will be used to download the file:
```shell
$ nix-build
(some output removed for clarity)
trying https://raw.githubusercontent.com/NixOS/nixpkgs/23.11/does-not-exist
(some output removed for clarity)
curl: (22) The requested URL returned error: 404
trying https://raw.githubusercontent.com/NixOS/nixpkgs/23.11/.version
(some output removed for clarity)
/nix/store/n9asny31z32q7sdw6a8r1gllrsfy53kl-does-not-exist
$ cat /nix/store/n9asny31z32q7sdw6a8r1gllrsfy53kl-does-not-exist
23.11
```
However, note that the name of the file was derived from the first URL (this is further explained in [the `fetchurl` overview](#sec-pkgs-fetchers-fetchurl)).
To ensure the result will have the same name regardless of which URLs are used, we can modify the package:
```nix
{ fetchurl }:
fetchurl {
name = "nixpkgs-version";
urls = [
"https://raw.githubusercontent.com/NixOS/nixpkgs/23.11/does-not-exist"
"https://raw.githubusercontent.com/NixOS/nixpkgs/23.11/.version"
];
hash = "sha256-BZqI7r0MNP29yGH5+yW2tjU9OOpOCEvwWKrWCv5CQ0I=";
}
```
After building the package, the result will have the name we specified:
```shell
$ nix-build
(output removed for clarity)
/nix/store/zczb6wl3al6jm9sm5h3pr6nqn0i5ji9z-nixpkgs-version
```
:::
:::{.example #ex-fetchers-fetchurl-nixpkgs-version-postfetch}
# Manipulating the content downloaded by `fetchurl`
It might be useful to manipulate the content downloaded by `fetchurl` directly in its derivation.
In this example, we'll adapt [](#ex-fetchers-fetchurl-nixpkgs-version) to append the result of running the `hello` package to the contents we download, purely to illustrate how to manipulate the content.
```nix
{
fetchurl,
hello,
lib,
}:
fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixpkgs/23.11/.version";
nativeBuildInputs = [ hello ];
downloadToTemp = true;
postFetch = ''
${lib.getExe hello} >> $downloadedFile
mv $downloadedFile $out
'';
hash = "sha256-ceooQQYmDx5+0nfg40uU3NNI2yKrixP7HZ/xLZUNv+w=";
}
```
After building the package, the resulting file will have "Hello, world!" appended to it:
```shell
$ nix-build
(output removed for clarity)
/nix/store/ifi6pp7q0ag5h7c5v9h1c1c7bhd10c7f-version
$ cat /nix/store/ifi6pp7q0ag5h7c5v9h1c1c7bhd10c7f-version
23.11
Hello, world!
```
Note that the `hash` specified in the package is different than the hash specified in [](#ex-fetchers-fetchurl-nixpkgs-version), because the contents of the output have changed (even though the actual file that was downloaded is the same).
See [](#chap-pkgs-fetchers-caveats) for more details on how to work with the `hash` attribute when the output changes.
:::
## `fetchzip` {#sec-pkgs-fetchers-fetchzip}
Returns a [fixed-output derivation](https://nixos.org/manual/nix/stable/glossary.html#gloss-fixed-output-derivation) which downloads an archive from a given URL and decompresses it.
Despite its name, `fetchzip` is not limited to `.zip` files but can also be used with [various compressed tarball formats](#tar-files) by default.
This can extended by specifying additional attributes, see [](#ex-fetchers-fetchzip-rar-archive) to understand how to do that.
### Inputs {#sec-pkgs-fetchers-fetchzip-inputs}
`fetchzip` requires an attribute set, and most attributes are passed to the underlying call to [`fetchurl`](#sec-pkgs-fetchers-fetchurl).
The attributes below are treated differently by `fetchzip` when compared to what `fetchurl` expects:
`name` (String; _optional_)
: Works as defined in `fetchurl`, but has a different default value than `fetchurl`.
_Default value:_ `"source"`.
`nativeBuildInputs` (List of Attribute Set; _optional_)
: Works as defined in `fetchurl`, but it is also augmented by `fetchzip` to include packages to deal with additional archives (such as `.zip`).
_Default value:_ `[]`.
`postFetch` (String; _optional_)
: Works as defined in `fetchurl`, but it is also augmented with the code needed to make `fetchzip` work.
:::{.caution}
It is only safe to modify files in `$out` in `postFetch`.
Consult the implementation of `fetchzip` for anything more involved.
:::
_Default value:_ `""`.
`stripRoot` (Boolean; _optional_)
: If `true`, the decompressed contents are moved one level up the directory tree.
This is useful for archives that decompress into a single directory which commonly includes some values that change with time, such as version numbers.
When this is the case (and `stripRoot` is `true`), `fetchzip` will remove this directory and make the decompressed contents available in the top-level directory.
[](#ex-fetchers-fetchzip-simple-striproot) shows what this attribute does.
This attribute is **not** passed through to `fetchurl`.
_Default value:_ `true`.
`extension` (String or Null; _optional_)
: If set, the archive downloaded by `fetchzip` will be renamed to a filename with the extension specified in this attribute.
This is useful when making `fetchzip` support additional types of archives, because the implementation may use the extension of an archive to determine whether they can decompress it.
If the URL you're using to download the contents doesn't end with the extension associated with the archive, use this attribute to fix the filename of the archive.
This attribute is **not** passed through to `fetchurl`.
_Default value:_ `null`.
`recursiveHash` (Boolean; _optional_)
: Works [as defined in `fetchurl`](#sec-pkgs-fetchers-fetchurl-inputs-recursiveHash), but its default value is different than for `fetchurl`.
_Default value:_ `true`.
`downloadToTemp` (Boolean; _optional_)
: Works [as defined in `fetchurl`](#sec-pkgs-fetchers-fetchurl-inputs-downloadToTemp), but its default value is different than for `fetchurl`.
_Default value:_ `true`.
`extraPostFetch` **DEPRECATED**
: This attribute is deprecated.
Please use `postFetch` instead.
This attribute is **not** passed through to `fetchurl`.
### Examples {#sec-pkgs-fetchers-fetchzip-examples}
::::{.example #ex-fetchers-fetchzip-simple-striproot}
# Using `fetchzip` to output contents directly
The following recipe shows how to use `fetchzip` to decompress a `.tar.gz` archive:
```nix
{ fetchzip }:
fetchzip {
url = "https://github.com/NixOS/patchelf/releases/download/0.18.0/patchelf-0.18.0.tar.gz";
hash = "sha256-3ABYlME9R8klcpJ7MQpyFEFwHmxDDEzIYBqu/CpDYmg=";
}
```
This archive has all its contents in a directory named `patchelf-0.18.0`.
This means that after decompressing, you'd have to enter this directory to see the contents of the archive.
However, `fetchzip` makes this easier through the attribute `stripRoot` (enabled by default).
After building the recipe, the derivation output will show all the files in the archive at the top level:
```shell
$ nix-build
(output removed for clarity)
/nix/store/1b7h3fvmgrcddvs0m299hnqxlgli1yjw-source
$ ls /nix/store/1b7h3fvmgrcddvs0m299hnqxlgli1yjw-source
aclocal.m4 completions configure.ac m4 Makefile.in patchelf.spec README.md tests
build-aux configure COPYING Makefile.am patchelf.1 patchelf.spec.in src version
```
If `stripRoot` is set to `false`, the derivation output will be the decompressed archive as-is:
```nix
{ fetchzip }:
fetchzip {
url = "https://github.com/NixOS/patchelf/releases/download/0.18.0/patchelf-0.18.0.tar.gz";
hash = "sha256-uv3FuKE4DqpHT3yfE0qcnq0gYjDNQNKZEZt2+PUAneg=";
stripRoot = false;
}
```
:::{.caution}
The hash changed!
Whenever changing attributes of a Nixpkgs fetcher, [remember to invalidate the hash](#chap-pkgs-fetchers-caveats), otherwise you won't get the results you're expecting!
:::
After building the recipe:
```shell
$ nix-build
(output removed for clarity)
/nix/store/2hy5bxw7xgbgxkn0i4x6hjr8w3dbx16c-source
$ ls /nix/store/2hy5bxw7xgbgxkn0i4x6hjr8w3dbx16c-source
patchelf-0.18.0
```
::::
::::{.example #ex-fetchers-fetchzip-rar-archive}
# Using `fetchzip` to decompress a `.rar` file
The `unrar` package provides a [setup hook](#ssec-setup-hooks) to decompress `.rar` archives during the [unpack phase](#ssec-unpack-phase), which can be used with `fetchzip` to decompress those archives:
```nix
{ fetchzip, unrar }:
fetchzip {
url = "https://archive.org/download/SpaceCadet_Plus95/Space_Cadet.rar";
hash = "sha256-fC+zsR8BY6vXpUkVd6i1jF0IZZxVKVvNi6VWCKT+pA4=";
stripRoot = false;
nativeBuildInputs = [ unrar ];
}
```
Since this particular `.rar` file doesn't put its contents in a directory inside the archive, `stripRoot` must be set to `false`.
After building the recipe, the derivation output will show the decompressed files:
```shell
$ nix-build
(output removed for clarity)
/nix/store/zpn7knxfva6rfjja2gbb4p3l9w1f0d36-source
$ ls /nix/store/zpn7knxfva6rfjja2gbb4p3l9w1f0d36-source
FONT.DAT PINBALL.DAT PINBALL.EXE PINBALL2.MID TABLE.BMP WMCONFIG.EXE
MSCREATE.DIR PINBALL.DOC PINBALL.MID Sounds WAVEMIX.INF
```
::::
## `fetchpatch` {#fetchpatch}
`fetchpatch` works very similarly to `fetchurl` with the same arguments expected. It expects patch files as a source and performs normalization on them before computing the checksum. For example, it will remove comments or other unstable parts that are sometimes added by version control systems and can change over time.
- `relative`: Similar to using `git-diff`'s `--relative` flag, only keep changes inside the specified directory, making paths relative to it.
- `stripLen`: Remove the first `stripLen` components of pathnames in the patch.
- `decode`: Pipe the downloaded data through this command before processing it as a patch.
- `extraPrefix`: Prefix pathnames by this string.
- `excludes`: Exclude files matching these patterns (applies after the above arguments).
- `includes`: Include only files matching these patterns (applies after the above arguments).
- `revert`: Revert the patch.
Note that because the checksum is computed after applying these effects, using or modifying these arguments will have no effect unless the `hash` argument is changed as well.
Most other fetchers return a directory rather than a single file.
## `fetchDebianPatch` {#fetchdebianpatch}
A wrapper around `fetchpatch`, which takes:
- `patch` and `hash`: the patch's filename,
and its hash after normalization by `fetchpatch` ;
- `pname`: the Debian source package's name ;
- `version`: the upstream version number ;
- `debianRevision`: the [Debian revision number] if applicable ;
- the `area` of the Debian archive: `main` (default), `contrib`, or `non-free`.
Here is an example of `fetchDebianPatch` in action:
```nix
{
lib,
fetchDebianPatch,
buildPythonPackage,
}:
buildPythonPackage rec {
pname = "pysimplesoap";
version = "1.16.2";
src = <...>;
patches = [
(fetchDebianPatch {
inherit pname version;
debianRevision = "5";
patch = "Add-quotes-to-SOAPAction-header-in-SoapClient.patch";
hash = "sha256-xA8Wnrpr31H8wy3zHSNfezFNjUJt1HbSXn3qUMzeKc0=";
})
];
# ...
}
```
Patches are fetched from `sources.debian.org`, and so must come from a
package version that was uploaded to the Debian archive. Packages may
be removed from there once that specific version isn't in any suite
anymore (stable, testing, unstable, etc.), so maintainers should use
`copy-tarballs.pl` to archive the patch if it needs to be available
longer-term.
[Debian revision number]: https://www.debian.org/doc/debian-policy/ch-controlfields.html#version
## `fetchsvn` {#fetchsvn}
Used with Subversion. Expects `url` to a Subversion directory, `rev`, and `hash`.
## `fetchgit` {#fetchgit}
Used with Git. Expects `url` to a Git repo, `rev`, and `hash`. `rev` in this case can be full the git commit id (SHA1 hash) or a tag name like `refs/tags/v1.0`.
If you want to fetch a tag you should pass the `tag` parameter instead of `rev` which has the same effect as setting `rev = "refs/tags"/${version}"`.
This is safer than just setting `rev = version` w.r.t. possible branch and tag name conflicts.
Additionally, the following optional arguments can be given:
*`fetchSubmodules`* (Boolean)
: Whether to also fetch the submodules of a repository.
*`fetchLFS`* (Boolean)
: Whether to fetch LFS objects.
*`preFetch`* (String)
: Shell code to be executed before the repository has been fetched, to allow
changing the environment the fetcher runs in.
*`postFetch`* (String)
: Shell code executed after the repository has been fetched successfully.
This can do things like check or transform the file.
*`leaveDotGit`* (Boolean)
: Whether the `.git` directory of the clone should *not* be removed after checkout.
Be warned though that the git repository format is not stable and this flag is therefore not suitable for actual use by itself.
Only use this for testing purposes or in conjunction with removing the `.git` directory in `postFetch`.
*`deepClone`* (Boolean)
: Clone the entire repository as opposing to just creating a shallow clone.
This implies `leaveDotGit`.
*`fetchTags`* (Boolean)
: Whether to fetch all tags from the remote repository. This is useful when the build process needs to run `git describe` or other commands that require tag information to be available. This parameter implies `leaveDotGit`, as tags are stored in the `.git` directory.
*`sparseCheckout`* (List of String)
: Prevent git from fetching unnecessary blobs from server.
This is useful if only parts of the repository are needed.
::: {.example #ex-fetchgit-sparseCheckout}
# Use `sparseCheckout` to only include some directories:
```nix
{ stdenv, fetchgit }:
stdenv.mkDerivation {
name = "hello";
src = fetchgit {
url = "https://...";
sparseCheckout = [
"directory/to/be/included"
"another/directory"
];
hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
};
}
```
:::
See [git sparse-checkout](https://git-scm.com/docs/git-sparse-checkout) for more information.
Some additional parameters for niche use-cases can be found listed in the function parameters in the declaration of `fetchgit`: `pkgs/build-support/fetchgit/default.nix`.
Future parameters additions might also happen without immediately being documented here.
## `fetchfossil` {#fetchfossil}
Used with Fossil. Expects `url` to a Fossil archive, `rev`, and `hash`.
## `fetchcvs` {#fetchcvs}
Used with CVS. Expects `cvsRoot`, `tag`, and `hash`.
## `fetchhg` {#fetchhg}
Used with Mercurial. Expects `url`, `rev`, `hash`, overridable with [`<pkg>.overrideAttrs`](#sec-pkg-overrideAttrs).
A number of fetcher functions wrap part of `fetchurl` and `fetchzip`. They are mainly convenience functions intended for commonly used destinations of source code in Nixpkgs. These wrapper fetchers are listed below.
## `fetchFromGitea` {#fetchfromgitea}
`fetchFromGitea` expects five arguments. `domain` is the gitea server name. `owner` is a string corresponding to the Gitea user or organization that controls this repository. `repo` corresponds to the name of the software repository. These are located at the top of every Gitea HTML page as `owner`/`repo`. `rev` corresponds to the Git commit hash or tag (e.g `v1.0`) that will be downloaded from Git. Finally, `hash` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available but `hash` is currently preferred.
## `fetchFromGitHub` {#fetchfromgithub}
`fetchFromGitHub` expects four arguments. `owner` is a string corresponding to the GitHub user or organization that controls this repository. `repo` corresponds to the name of the software repository. These are located at the top of every GitHub HTML page as `owner`/`repo`. `rev` corresponds to the Git commit hash or tag (e.g `v1.0`) that will be downloaded from Git. If you need to fetch a tag however, you should prefer to use the `tag` parameter which achieves this in a safer way with less boilerplate. Finally, `hash` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available, but `hash` is currently preferred.
To use a different GitHub instance, use `githubBase` (defaults to `"github.com"`).
`fetchFromGitHub` uses `fetchzip` to download the source archive generated by GitHub for the specified revision. If `leaveDotGit`, `deepClone` or `fetchSubmodules` are set to `true`, `fetchFromGitHub` will use `fetchgit` instead. Refer to its section for documentation of these options.
## `fetchFromGitLab` {#fetchfromgitlab}
This is used with GitLab repositories. It behaves similarly to `fetchFromGitHub`, and expects `owner`, `repo`, `rev`, and `hash`.
To use a specific GitLab instance, use `domain` (defaults to `"gitlab.com"`).
## `fetchFromGitiles` {#fetchfromgitiles}
This is used with Gitiles repositories. The arguments expected are similar to `fetchgit`.
## `fetchFromBitbucket` {#fetchfrombitbucket}
This is used with BitBucket repositories. The arguments expected are very similar to `fetchFromGitHub` above.
## `fetchFromSavannah` {#fetchfromsavannah}
This is used with Savannah repositories. The arguments expected are very similar to `fetchFromGitHub` above.
## `fetchFromRepoOrCz` {#fetchfromrepoorcz}
This is used with repo.or.cz repositories. The arguments expected are very similar to `fetchFromGitHub` above.
## `fetchFromSourcehut` {#fetchfromsourcehut}
This is used with sourcehut repositories. Similar to `fetchFromGitHub` above,
it expects `owner`, `repo`, `rev` and `hash`, but don't forget the tilde (~)
in front of the username! Expected arguments also include `vc` ("git" (default)
or "hg"), `domain` and `fetchSubmodules`.
If `fetchSubmodules` is `true`, `fetchFromSourcehut` uses `fetchgit`
or `fetchhg` with `fetchSubmodules` or `fetchSubrepos` set to `true`,
respectively. Otherwise, the fetcher uses `fetchzip`.
## `requireFile` {#requirefile}
`requireFile` allows requesting files that cannot be fetched automatically, but whose content is known.
This is a useful last-resort workaround for license restrictions that prohibit redistribution, or for downloads that are only accessible after authenticating interactively in a browser.
If the requested file is present in the Nix store, the resulting derivation will not be built, because its expected output is already available.
Otherwise, the builder will run, but fail with a message explaining to the user how to provide the file. The following code, for example:
```nix
requireFile {
name = "jdk-${version}_linux-x64_bin.tar.gz";
url = "https://www.oracle.com/java/technologies/javase-jdk11-downloads.html";
hash = "sha256-lL00+F7jjT71nlKJ7HRQuUQ7kkxVYlZh//5msD8sjeI=";
}
```
results in this error message:
```
***
Unfortunately, we cannot download file jdk-11.0.10_linux-x64_bin.tar.gz automatically.
Please go to https://www.oracle.com/java/technologies/javase-jdk11-downloads.html to download it yourself, and add it to the Nix store
using either
nix-store --add-fixed sha256 jdk-11.0.10_linux-x64_bin.tar.gz
or
nix-prefetch-url --type sha256 file:///path/to/jdk-11.0.10_linux-x64_bin.tar.gz
***
```
This function should only be used by non-redistributable software with an unfree license that we need to require the user to download manually.
It produces packages that cannot be built automatically.
## `fetchtorrent` {#fetchtorrent}
`fetchtorrent` expects two arguments. `url` which can either be a Magnet URI (Magnet Link) such as `magnet:?xt=urn:btih:dd8255ecdc7ca55fb0bbf81323d87062db1f6d1c` or an HTTP URL pointing to a `.torrent` file. It can also take a `config` argument which will craft a `settings.json` configuration file and give it to `transmission`, the underlying program that is performing the fetch. The available config options for `transmission` can be found [here](https://github.com/transmission/transmission/blob/main/docs/Editing-Configuration-Files.md#options)
```nix
{ fetchtorrent }:
fetchtorrent {
config = {
peer-limit-global = 100;
};
url = "magnet:?xt=urn:btih:dd8255ecdc7ca55fb0bbf81323d87062db1f6d1c";
hash = "";
}
```
### Parameters {#fetchtorrent-parameters}
- `url`: Magnet URI (Magnet Link) such as `magnet:?xt=urn:btih:dd8255ecdc7ca55fb0bbf81323d87062db1f6d1c` or an HTTP URL pointing to a `.torrent` file.
- `backend`: Which bittorrent program to use. Default: `"transmission"`. Valid values are `"rqbit"` or `"transmission"`. These are the two most suitable torrent clients for fetching in a fixed-output derivation at the time of writing, as they can be easily exited after usage. `rqbit` is written in Rust and has a smaller closure size than `transmission`, and the performance and peer discovery properties differs between these clients, requiring experimentation to decide upon which is the best.
- `config`: When using `transmission` as the `backend`, a json configuration can
be supplied to transmission. Refer to the [upstream documentation](https://github.com/transmission/transmission/blob/main/docs/Editing-Configuration-Files.md) for information on how to configure.

View File

@@ -1,71 +0,0 @@
# Fixed-point arguments of build helpers {#chap-build-helpers-finalAttrs}
As mentioned in the beginning of this part, `stdenv.mkDerivation` could alternatively accept a fixed-point function. The input of such function, typically named `finalAttrs`, is expected to be the final state of the attribute set.
A build helper like this is said to accept **fixed-point arguments**.
Build helpers don't always support fixed-point arguments yet, as support in [`stdenv.mkDerivation`](#mkderivation-recursive-attributes) was first included in Nixpkgs 22.05.
## Defining a build helper with `lib.extendMkDerivation` {#sec-build-helper-extendMkDerivation}
Developers can use the Nixpkgs library function [`lib.customisation.extendMkDerivation`](#function-library-lib.customisation.extendMkDerivation) to define a build helper supporting fixed-point arguments from an existing one with such support, with an attribute overlay similar to the one taken by [`<pkg>.overrideAttrs`](#sec-pkg-overrideAttrs).
Beside overriding, `lib.extendMkDerivation` also supports `excludeDrvArgNames` to optionally exclude some arguments in the input fixed-point arguments from passing down the base build helper (specified as `constructDrv`).
:::{.example #ex-build-helpers-extendMkDerivation}
# Example definition of `mkLocalDerivation` extended from `stdenv.mkDerivation` with `lib.extendMkDerivation`
We want to define a build helper named `mkLocalDerivation` that builds locally without using substitutes by default.
Instead of taking a plain attribute set,
```nix
{
preferLocalBuild ? true,
allowSubstitute ? false,
specialArg ? (_: false),
...
}@args:
stdenv.mkDerivation (
removeAttrs [
# Don't pass specialArg into mkDerivation.
"specialArg"
] args
// {
# Arguments to pass
inherit preferLocalBuild allowSubstitute;
# Some expressions involving specialArg
greeting = if specialArg "hi" then "hi" else "hello";
}
)
```
we could define with `lib.extendMkDerivation` an attribute overlay to make the result build helper also accepts the the attribute set's fixed point passing to the underlying `stdenv.mkDerivation`, named `finalAttrs` here:
```nix
lib.extendMkDerivation {
constructDrv = stdenv.mkDerivation;
excludeDrvArgNames = [
# Don't pass specialArg into mkDerivation.
"specialArg"
];
extendDrvArgs =
finalAttrs:
{
preferLocalBuild ? true,
allowSubstitute ? false,
specialArg ? (_: false),
...
}@args:
{
# Arguments to pass
inherit preferLocalBuild allowSubstitute;
# Some expressions involving specialArg
greeting = if specialArg "hi" then "hi" else "hello";
};
}
```
:::
If one needs to apply extra changes to the result derivation, pass the derivation transformation function to `lib.extendMkDerivation` as `lib.customisation.extendMkDerivation { transformDrv = drv: ...; }`.

View File

@@ -1,12 +0,0 @@
# Images {#chap-images}
This chapter describes tools for creating various types of images.
```{=include=} sections
images/appimagetools.section.md
images/dockertools.section.md
images/ocitools.section.md
images/portableservice.section.md
images/makediskimage.section.md
images/binarycache.section.md
```

View File

@@ -1,166 +0,0 @@
# pkgs.appimageTools {#sec-pkgs-appimageTools}
`pkgs.appimageTools` is a set of functions for extracting and wrapping [AppImage](https://appimage.org/) files.
They are meant to be used if traditional packaging from source is infeasible, or if it would take too long.
To quickly run an AppImage file, `pkgs.appimage-run` can be used as well.
::: {.warning}
The `appimageTools` API is unstable and may be subject to backwards-incompatible changes in the future.
:::
## Wrapping {#ssec-pkgs-appimageTools-wrapping}
Use `wrapType2` to wrap any AppImage.
This will create a FHS environment with many packages [expected to exist](https://github.com/AppImage/pkg2appimage/blob/master/excludelist) for the AppImage to work.
`wrapType2` expects an argument with the `src` attribute, and either a `name` attribute or `pname` and `version` attributes.
It will eventually call into [`buildFHSEnv`](#sec-fhs-environments), and any extra attributes in the argument to `wrapType2` will be passed through to it.
This means that you can pass the `extraInstallCommands` attribute, for example, and it will have the same effect as described in [`buildFHSEnv`](#sec-fhs-environments).
::: {.note}
In the past, `appimageTools` provided both `wrapType1` and `wrapType2`, to be used depending on the type of AppImage that was being wrapped.
However, [those were unified early 2020](https://github.com/NixOS/nixpkgs/pull/81833), meaning that both `wrapType1` and `wrapType2` have the same behaviour now.
:::
:::{.example #ex-wrapping-appimage-from-github}
# Wrapping an AppImage from GitHub
```nix
{ appimageTools, fetchurl }:
let
pname = "nuclear";
version = "0.6.30";
src = fetchurl {
url = "https://github.com/nukeop/nuclear/releases/download/v${version}/nuclear-v${version}.AppImage";
hash = "sha256-he1uGC1M/nFcKpMM9JKY4oeexJcnzV0ZRxhTjtJz6xw=";
};
in
appimageTools.wrapType2 { inherit pname version src; }
```
:::
The argument passed to `wrapType2` can also contain an `extraPkgs` attribute, which allows you to include additional packages inside the FHS environment your AppImage is going to run in.
`extraPkgs` must be a function that returns a list of packages.
There are a few ways to learn which dependencies an application needs:
- Looking through the extracted AppImage files, reading its scripts and running `patchelf` and `ldd` on its executables.
This can also be done in `appimage-run`, by setting `APPIMAGE_DEBUG_EXEC=bash`.
- Running `strace -vfefile` on the wrapped executable, looking for libraries that can't be found.
:::{.example #ex-wrapping-appimage-with-extrapkgs}
# Wrapping an AppImage with extra packages
```nix
{ appimageTools, fetchurl }:
let
pname = "irccloud";
version = "0.16.0";
src = fetchurl {
url = "https://github.com/irccloud/irccloud-desktop/releases/download/v${version}/IRCCloud-${version}-linux-x86_64.AppImage";
hash = "sha256-/hMPvYdnVB1XjKgU2v47HnVvW4+uC3rhRjbucqin4iI=";
};
in
appimageTools.wrapType2 {
inherit pname version src;
extraPkgs = pkgs: [ pkgs.at-spi2-core ];
}
```
:::
## Extracting {#ssec-pkgs-appimageTools-extracting}
Use `extract` if you need to extract the contents of an AppImage.
This is usually used in Nixpkgs to install extra files in addition to [wrapping](#ssec-pkgs-appimageTools-wrapping) the AppImage.
`extract` expects an argument with the `src` attribute, and either a `name` attribute or `pname` and `version` attributes.
::: {.note}
In the past, `appimageTools` provided both `extractType1` and `extractType2`, to be used depending on the type of AppImage that was being extracted.
However, [those were unified early 2020](https://github.com/NixOS/nixpkgs/pull/81572), meaning that both `extractType1` and `extractType2` have the same behaviour as `extract` now.
:::
:::{.example #ex-extracting-appimage}
# Extracting an AppImage to install extra files
This example was adapted from a real package in Nixpkgs to show how `extract` is usually used in combination with `wrapType2`.
Note how `appimageContents` is used in `extraInstallCommands` to install additional files that were extracted from the AppImage.
```nix
{ appimageTools, fetchurl }:
let
pname = "irccloud";
version = "0.16.0";
src = fetchurl {
url = "https://github.com/irccloud/irccloud-desktop/releases/download/v${version}/IRCCloud-${version}-linux-x86_64.AppImage";
hash = "sha256-/hMPvYdnVB1XjKgU2v47HnVvW4+uC3rhRjbucqin4iI=";
};
appimageContents = appimageTools.extract { inherit pname version src; };
in
appimageTools.wrapType2 {
inherit pname version src;
extraPkgs = pkgs: [ pkgs.at-spi2-core ];
extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${appimageContents}/irccloud.desktop $out/share/applications/irccloud.desktop
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/irccloud.png \
$out/share/icons/hicolor/512x512/apps/irccloud.png
substituteInPlace $out/share/applications/irccloud.desktop \
--replace-fail 'Exec=AppRun' 'Exec=${pname}'
'';
}
```
:::
The argument passed to `extract` can also contain a `postExtract` attribute, which allows you to execute additional commands after the files are extracted from the AppImage.
`postExtract` must be a string with commands to run.
:::{.example #ex-extracting-appimage-with-postextract}
# Extracting an AppImage to install extra files, using `postExtract`
This is a rewrite of [](#ex-extracting-appimage) to use `postExtract`.
```nix
{ appimageTools, fetchurl }:
let
pname = "irccloud";
version = "0.16.0";
src = fetchurl {
url = "https://github.com/irccloud/irccloud-desktop/releases/download/v${version}/IRCCloud-${version}-linux-x86_64.AppImage";
hash = "sha256-/hMPvYdnVB1XjKgU2v47HnVvW4+uC3rhRjbucqin4iI=";
};
appimageContents = appimageTools.extract {
inherit pname version src;
postExtract = ''
substituteInPlace $out/irccloud.desktop --replace-fail 'Exec=AppRun' 'Exec=${pname}'
'';
};
in
appimageTools.wrapType2 {
inherit pname version src;
extraPkgs = pkgs: [ pkgs.at-spi2-core ];
extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${appimageContents}/irccloud.desktop $out/share/applications/irccloud.desktop
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/irccloud.png \
$out/share/icons/hicolor/512x512/apps/irccloud.png
'';
}
```
:::

View File

@@ -1,63 +0,0 @@
# pkgs.mkBinaryCache {#sec-pkgs-binary-cache}
`pkgs.mkBinaryCache` is a function for creating Nix flat-file binary caches.
Such a cache exists as a directory on disk, and can be used as a Nix substituter by passing `--substituter file:///path/to/cache` to Nix commands.
Nix packages are most commonly shared between machines using [HTTP, SSH, or S3](https://nixos.org/manual/nix/stable/package-management/sharing-packages.html), but a flat-file binary cache can still be useful in some situations.
For example, you can copy it directly to another machine, or make it available on a network file system.
It can also be a convenient way to make some Nix packages available inside a container via bind-mounting.
`mkBinaryCache` expects an argument with the `rootPaths` attribute.
`rootPaths` must be a list of derivations.
The transitive closure of these derivations' outputs will be copied into the cache.
## Optional arguments {#sec-pkgs-binary-cache-arguments}
`compression` (`"none"` or `"xz"` or `"zstd"`; _optional_)
: The compression algorithm to use.
_Default value:_ `zstd`.
::: {.note}
This function is meant for advanced use cases.
The more idiomatic way to work with flat-file binary caches is via the [nix-copy-closure](https://nixos.org/manual/nix/stable/command-ref/nix-copy-closure.html) command.
You may also want to consider [dockerTools](#sec-pkgs-dockerTools) for your containerization needs.
:::
[]{#sec-pkgs-binary-cache-example}
:::{.example #ex-mkbinarycache-copying-package-closure}
# Copying a package and its closure to another machine with `mkBinaryCache`
The following derivation will construct a flat-file binary cache containing the closure of `hello`.
```nix
{ mkBinaryCache, hello }: mkBinaryCache { rootPaths = [ hello ]; }
```
Build the cache on a machine.
Note that the command still builds the exact nix package above, but adds some boilerplate to build it directly from an expression.
```shellSession
$ nix-build -E 'let pkgs = import <nixpkgs> {}; in pkgs.callPackage ({ mkBinaryCache, hello }: mkBinaryCache { rootPaths = [hello]; }) {}'
/nix/store/azf7xay5xxdnia4h9fyjiv59wsjdxl0g-binary-cache
```
Copy the resulting directory to another machine, which we'll call `host2`:
```shellSession
$ scp result host2:/tmp/hello-cache
```
At this point, the cache can be used as a substituter when building derivations on `host2`:
```shellSession
$ nix-build -A hello '<nixpkgs>' \
--option require-sigs false \
--option trusted-substituters file:///tmp/hello-cache \
--option substituters file:///tmp/hello-cache
/nix/store/zhl06z4lrfrkw5rp0hnjjfrgsclzvxpm-hello-2.12.1
```
:::

File diff suppressed because it is too large Load Diff

View File

@@ -1,113 +0,0 @@
# `<nixpkgs/nixos/lib/make-disk-image.nix>` {#sec-make-disk-image}
`<nixpkgs/nixos/lib/make-disk-image.nix>` is a function to create _disk images_ in multiple formats: raw, QCOW2 (QEMU), QCOW2-Compressed (compressed version), VDI (VirtualBox), VPC (VirtualPC).
This function can create images in two ways:
- using `cptofs` without any virtual machine to create a Nix store disk image,
- using a virtual machine to create a full NixOS installation.
When testing early-boot or lifecycle parts of NixOS such as a bootloader or multiple generations, it is necessary to opt for a full NixOS system installation.
Whereas for many web servers, applications, it is possible to work with a Nix store only disk image and is faster to build.
NixOS tests also use this function when preparing the VM. The `cptofs` method is used when `virtualisation.useBootLoader` is false (the default). Otherwise the second method is used.
## Features {#sec-make-disk-image-features}
For reference, read the function signature source code for documentation on arguments: <https://github.com/NixOS/nixpkgs/blob/master/nixos/lib/make-disk-image.nix>.
Features are separated in various sections depending on if you opt for a Nix-store only image or a full NixOS image.
### Common {#sec-make-disk-image-features-common}
- arbitrary NixOS configuration
- automatic or bound disk size: `diskSize` parameter, `additionalSpace` can be set when `diskSize` is `auto` to add a constant of disk space
- multiple partition table layouts: EFI, legacy, legacy + GPT, hybrid, none through `partitionTableType` parameter
- OVMF or EFI firmwares and variables templates can be customized
- root filesystem `fsType` can be customized to whatever `mkfs.${fsType}` exist during operations
- root filesystem label can be customized, defaults to `nix-store` if it's a Nix store image, otherwise `nixpkgs/nixos`
- arbitrary code can be executed after disk image was produced with `postVM`
- the current nixpkgs can be realized as a channel in the disk image, which will change the hash of the image when the sources are updated
- additional store paths can be provided through `additionalPaths`
### Full NixOS image {#sec-make-disk-image-features-full-image}
- arbitrary contents with permissions can be placed in the target filesystem using `contents`
- a `/etc/nixpkgs/nixos/configuration.nix` can be provided through `configFile`
- bootloaders are supported
- EFI variables can be mutated during image production and the result is exposed in `$out`
- boot partition size when partition table is `efi` or `hybrid`
### On bit-to-bit reproducibility {#sec-make-disk-image-features-reproducibility}
Images are **NOT** deterministic, please do not hesitate to try to fix this, source of determinisms are (not exhaustive) :
- bootloader installation have timestamps
- SQLite Nix store database contain registration times
- `/etc/shadow` is in a non-deterministic order
A `deterministic` flag is available for best efforts determinism.
## Usage {#sec-make-disk-image-usage}
To produce a Nix-store only image:
```nix
let
pkgs = import <nixpkgs> { };
lib = pkgs.lib;
make-disk-image = import <nixpkgs/nixos/lib/make-disk-image.nix>;
in
make-disk-image {
inherit pkgs lib;
config = { };
additionalPaths = [ ];
format = "qcow2";
onlyNixStore = true;
partitionTableType = "none";
installBootLoader = false;
touchEFIVars = false;
diskSize = "auto";
additionalSpace = "0M"; # Defaults to 512M.
copyChannel = false;
}
```
Some arguments can be left out, they are shown explicitly for the sake of the example.
Building this derivation will provide a QCOW2 disk image containing only the Nix store and its registration information.
To produce a NixOS installation image disk with UEFI and bootloader installed:
```nix
let
pkgs = import <nixpkgs> { };
lib = pkgs.lib;
make-disk-image = import <nixpkgs/nixos/lib/make-disk-image.nix>;
evalConfig = import <nixpkgs/nixos/lib/eval-config.nix>;
in
make-disk-image {
inherit pkgs lib;
inherit
(evalConfig {
modules = [
{
fileSystems."/" = {
device = "/dev/vda";
fsType = "ext4";
autoFormat = true;
};
boot.grub.device = "/dev/vda";
}
];
})
config
;
format = "qcow2";
onlyNixStore = false;
partitionTableType = "legacy+gpt";
installBootLoader = true;
touchEFIVars = true;
diskSize = "auto";
additionalSpace = "0M"; # Defaults to 512M.
copyChannel = false;
memSize = 2048; # Qemu VM memory size in MiB (1024*1024 bytes). Defaults to 1024M.
}
```

Some files were not shown because too many files have changed in this diff Show More