Compare commits

..

1344 Commits

Author SHA1 Message Date
Nikolay Amiantov
dda40aa8d1 Revert "liferea: 1.10.18 -> 1.12-rc2"
This reverts commit 73d9d2d577.

It was pushed here accidentially, I've meant 17.03.
2017-03-04 01:15:25 +03:00
Nikolay Amiantov
73d9d2d577 liferea: 1.10.18 -> 1.12-rc2
It's a release candidate but it works with new WebKitGTK and we don't build old
one anymore because of vulnerabilities.

(cherry picked from commit 4a6ba21bdd)
2017-03-04 01:05:37 +03:00
Domen Kožar
5f94adc918 nixos: fix terminal-server, fixes #21834
(cherry picked from commit e5dcce837a)
Signed-off-by: Domen Kožar <domen@dev.si>
2017-01-12 16:42:52 +01:00
Tim Steinbach
294648246d linux: 4.4.30 -> 4.4.31
(cherry picked from commit 579f5fd9dd)
2016-11-12 12:39:53 +03:00
Aneesh Agrawal
d4e38c02dc openssh: Patch CVE-2016-8858
Also add myself as a maintainer.

(cherry picked from commit 7374105a96)
2016-11-12 12:39:53 +03:00
Graham Christensen
3bf5398aeb openssh: apply patch to fix https://bugzilla.redhat.com/show_bug.cgi?id=1380296
(cherry picked from commit 83a8cb1dc2)
2016-11-12 12:39:53 +03:00
Benjamin Staffin
385c74483f openssh: update gssapi patch, fix the build
(cherry picked from commit 43dcb662e7)
2016-11-12 12:39:53 +03:00
Aneesh Agrawal
9366a9bc9f openssh: 7.2p2 -> 7.3p1 (#17493)
Also remove patch for CVE-2015-8325 that has been fixed upstream.
(cherry picked from commit f6eae2efab)
2016-11-12 12:39:52 +03:00
Aneesh Agrawal
759faee13c openssh: update homepage link
Unfortunately, the site is not available over HTTPS.

(cherry picked from commit 2dd09b634e)
2016-11-12 12:39:52 +03:00
Eelco Dolstra
5a090dd515 debian: 8.5 -> 8.6
(cherry picked from commit f081a1aaf4)
2016-11-08 18:04:35 +01:00
Eelco Dolstra
dba154a11a linux: 4.4.26 -> 4.4.30 (close #20226)
(cherry picked from commit ef1a188e07)
2016-11-07 16:51:52 +01:00
Graham Christensen
0973d27ddb tre: add patch for CVE-2016-8859
(cherry picked from commit cd67a0aada)
2016-11-02 12:00:21 +01:00
Eelco Dolstra
c1c0484041 initrd: Include i8042 kernel module
For some reason, between Linux 4.4.19 and 4.4.20, the atkbd and libps2
kernel modules lost their dependency on i8042 in modules.dep, causing
i8042 not to be included in the initrd. This breaks keyboard in the
initrd, in turn breaking LUKS.

This only happens on the 16.03 branch; on 16.09, it appears i8042 is
pulled into the initrd anyway (through some other dependency,
presumably). But let's include it explicitly.

http://hydra.nixos.org/build/40468431
(cherry picked from commit e6088f77be)
2016-10-21 14:30:20 +02:00
Eelco Dolstra
4bd888fb59 linux: 4.4.25 -> 4.4.26
(cherry picked from commit 76a57d83b5)
2016-10-20 13:39:40 +02:00
Eelco Dolstra
31e0e38c26 linux: 4.4.24 -> 4.4.25
(cherry picked from commit 13f43c7ebc)
2016-10-20 13:39:07 +02:00
Tim Steinbach
3af2088b3c linux: 4.4.23 -> 4.4.24 (#19346)
(cherry picked from commit a699eb4798)
2016-10-20 13:38:59 +02:00
Eelco Dolstra
44557795ae linux: 4.4.22 -> 4.4.23
(cherry picked from commit 613a12a8bd)
2016-10-20 13:38:47 +02:00
Franz Pletz
bc6ae16dbb linux: 4.4.20 -> 4.4.22
(cherry picked from commit c83f8a536a)
2016-10-20 13:38:34 +02:00
Vladimír Čunát
a8210cfcd6 intltool: fix #19487 patch download
It's strange.  Maybe they prune the history.

(cherry picked from commit e4d3254101)
2016-10-13 21:56:43 +02:00
Jon Banafato
fa2e6fec02 gnome-maps: add webkitgtk to buildInputs
Per #17143 on GitHub, `gnome-maps` currently fails due to missing
Webkit2. Adding `webkitgtk` to `buildInputs` fixes the issue.

(cherry picked from commit ecd41c19b8)

[Bjørn: orig commit was for GNOME 3.20, I backported it to 3.18 (trivial).]
2016-10-02 20:23:36 +02:00
Thomas Tuegel
9851ca2cb0 dropbox: 11.4.20 -> 11.4.21
(cherry picked from commit ad6b2a68a7)
2016-09-30 14:45:33 -05:00
Tim Steinbach
1abec08343 openvpn: 2.3.10 -> 2.3.12
(cherry picked from commit 244aee5cd1)
2016-09-29 23:22:57 +02:00
Thomas Tuegel
46cfd78b5a spotify: unpack into temporary directory to fix output permissions
(cherry picked from commit f2806a09c4)
2016-09-27 13:50:26 -05:00
Thomas Tuegel
62754725d5 spotify: 1.0.37.152 -> 1.0.38.171
(cherry picked from commit 8e83bb4220)
2016-09-27 13:50:18 -05:00
Peter Simons
29c970988e bind: update to version 9.10.4-P3 to fix CVE-2016-2776
Dropped libressl.patch in the process since this code appears to be
included in newer versions of BIND.
2016-09-27 19:36:19 +02:00
Thomas Tuegel
fb0bab3e8e dropbox: 10.4.26 -> 11.4.20
(cherry picked from commit 240552cba1)
2016-09-26 15:48:51 -05:00
Thomas Tuegel
9dbad47115 dropbox: 10.4.25 -> 10.4.26
(cherry picked from commit 41e0146136)
2016-09-25 10:44:00 -05:00
Vladimír Čunát
3d432d39f0 Merge #18905: ffmpeg: 2.8.6 -> 2.8.8
It contains security fixes.

(cherry picked from commit c3d1caf97b)
2016-09-24 17:42:09 +02:00
Graham Christensen
8a61594f5a lighttpd: 1.4.40 -> 1.4.41
(cherry picked from commit 33be079486)
2016-09-24 11:32:47 +02:00
Bjørn Forsman
91ca9c05f9 lighttpd: 1.4.39 -> 1.4.40
Major bug-fix release; hundreds of issues resolved in issue tracker.

https://www.lighttpd.net/2016/7/16/1.4.40/
(cherry picked from commit 2173e6b49a)
2016-09-24 11:31:14 +02:00
Franz Pletz
b593d62ab8 lighttpd: 1.4.37 -> 1.4.39
(cherry picked from commit 669cd2adbf)
2016-09-24 11:31:05 +02:00
Frederik Rietdijk
43e690f35c pythonPackages.tornado: fix tests, closes #14634
The test runner would import all modules to check whether they might
have tests.

On a Linux system it would load the Tornado module that depends on
kqueue, which is BSD only, and fail.

(cherry picked from commit 6876eab511)
2016-09-22 09:52:28 +02:00
Tom Hunger
70c459e9e4 tornado: disable tests, see #14634
(cherry picked from commit 5b782924c1)
2016-09-22 09:52:17 +02:00
Vladimír Čunát
92c6a44b9e treewide: change $IN_NIX_SHELL handling
... to be compatible with https://github.com/NixOS/nix/pull/933
while not breaking compatibility with current nix.

(cherry picked from commit d4de02c46e)
2016-09-20 14:32:41 +02:00
aszlig
9f765f928b nixos/networking: Use type lines for localCommands
Using types.str doesn't work if you want to mkBefore/mkAfter across
different module definitions, because it only allows for one definition
for the same priority.

This is especially useful if you deploy Hetzner machines via NixOps,
because the physical specification already defines localCommands.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit 97801380b0)
2016-09-20 13:34:44 +02:00
Peter Simons
613eb006e2 nbd: update to version 3.14
(cherry picked from commit 545040811b)
2016-09-19 15:46:54 +02:00
Franz Pletz
b8f7f0e8ab php70: 7.0.10 -> 7.0.11 (security)
See https://secure.php.net/ChangeLog-7.php#7.0.11.

(cherry picked from commit a32281639e)
2016-09-15 14:02:02 +02:00
Herwig Hochleitner
745e18df16 dropbox: 9.4.49 -> 10.4.25
(cherry picked from commit 85fdf8665f)
2016-09-14 12:21:49 -05:00
taku0
42d08c2882 flashplayer: 11.2.202.632 -> 11.2.202.635
(cherry picked from commit 8b6e522bf8)
2016-09-14 17:22:40 +02:00
Franz Pletz
70b9bf3f77 perlPackages.WWWCurl: fix build due to curl 5.10.3
The define CURL_STRICTER is only set if CURL_NO_OLDIES is set, but that breaks
compatibility with this package. Defining CURL_STRICTER is enough to fix the
build.

(cherry picked from commit 46790f360d)
2016-09-14 10:24:13 +02:00
Franz Pletz
ed27ce5a46 curl: 7.50.1 -> 7.50.3, fix CVE-2016-7167
(cherry picked from commit 4ecd0e7434)
2016-09-14 09:02:02 +02:00
Sander van der Burg
36d8acec2b disnix: 0.6 -> 0.6.1
(cherry picked from commit 77b9abf78c)
2016-09-13 19:48:33 +00:00
Sander van der Burg
178282adae dysnomia: bump to version 0.6.1
(cherry picked from commit 2edb28ffc5)
2016-09-13 19:43:49 +00:00
Eelco Dolstra
e302218576 Use builtins.partition if available
(cherry picked from commit 822e1ddd89)
2016-09-12 23:37:29 +02:00
Eelco Dolstra
03fea35ebe enableParallelBuild -> enableParallelBuilding
(cherry picked from commit 02ee9d83d0)
2016-09-12 23:35:41 +02:00
Eelco Dolstra
883f2912e6 chatzilla: 0.9.91 -> 0.9.92
(cherry picked from commit 445a39a23b)
2016-09-12 23:34:55 +02:00
Eelco Dolstra
851c0fd22c nix: Enable install check
Looks like this got disabled accidentally in
ec5b66eb4a.

(cherry picked from commit 6a9fb8b9e0)
2016-09-12 23:34:40 +02:00
Eelco Dolstra
7455231091 linux: 4.4.19 -> 4.4.20
(cherry picked from commit bc7e4e390a)
2016-09-12 23:30:26 +02:00
Eelco Dolstra
0db7608676 nix: 1.11.3 -> 1.11.4
(cherry picked from commit f2ddf2a9be)
2016-09-12 23:29:46 +02:00
Vladimír Čunát
0b5d170c33 nix: maintenance 1.11.2 -> 1.11.3
Fixes #17804.

(cherry picked from commit 3996aa8953)
2016-09-12 23:27:41 +02:00
Kirill Boltaev
a8e0739e0a gnome2.gnome_settings_daemon: add libSM to fix build
(cherry picked from commit 125188b0dc651fc81709fd7bf380a57cf39b260c)
2016-09-12 03:10:52 +03:00
Kirill Boltaev
c283bb5fac gnome2.at_spi: disable hardening to fix build
(cherry picked from commit 8b96b391db)
2016-09-12 03:08:18 +03:00
Kirill Boltaev
9c0634b886 gnome2.gnome_control_center: add libSM to fix build
(cherry picked from commit e3033d87b3)
2016-09-12 03:08:07 +03:00
Kirill Boltaev
36b0a8a5c6 gtkmathview: mark as broken
(cherry picked from commit 43a8ce0f5e)
2016-09-12 03:08:06 +03:00
Kirill Boltaev
b38af9c899 gnome2.gnome_session: mark as broken
(cherry picked from commit 605ddb1047)
2016-09-12 03:08:04 +03:00
Matt Billenstein
fcf24d378c mongodb: 3.2.1 -> 3.2.9
[Bjørn: add missing hash update.]

(cherry picked from commit a83f70c249)
2016-09-09 16:09:31 +02:00
Bjørn Forsman
28fc7e76cd plantuml: 8037 -> 8047
(cherry picked from commit daf068c33b)
2016-09-08 23:21:54 +02:00
Raymond Gauthier
dac192879b plantuml: 8012 -> 8037
Updated to latest stable version.

(cherry picked from commit 5e9a344e62)
2016-09-08 23:21:50 +02:00
Eelco Dolstra
efe2d64b33 charybdis: Fix eval
http://hydra.nixos.org/build/40042712
2016-09-07 10:41:26 +02:00
Franz Pletz
d98383328c charybdis: 3.5.1 -> 3.5.3 (security)
Fixes CVE-2016-7143 (certificate fingerprint spoofing through crafted
SASL messages).

(cherry picked from commit 5f6557d437)
2016-09-07 08:17:25 +02:00
Franz Pletz
f2109ae52c graphicsmagick: 1.3.24 -> 1.3.25 (security)
Includes some security fixes, see

  http://www.graphicsmagick.org/NEWS.html#september-5-2016

(cherry picked from commit 5929399527)
2016-09-07 07:10:32 +02:00
Rob Vermaas
b7d79b9e01 Update maintainers alias to github name. 2016-09-06 09:39:29 +00:00
Alexander Ried
6ac7ffd9d7 tomcat5: remove since it's end of life (#18341)
Source is not available anymore.
(cherry picked from commit 36e8df19e1)
2016-09-06 04:05:10 +02:00
Graham Christensen
b6b0fcbccc Merge pull request #18329 from grahamc/broadcom-sta
Backport broadcom-sta fixes from master to release-16.03
2016-09-05 21:27:01 -04:00
Graham Christensen
d8bade9460 Merge pull request #18330 from grahamc/nvidia-x11
nvidia-x11 fixes from master to release-16.03
2016-09-05 21:25:31 -04:00
aszlig
8daf7e99af broadcom_sta: Add patch to fix NULL pointer deref
The patch is from the following Gentoo bug:

https://bugs.gentoo.org/show_bug.cgi?id=523326#c24

Built successfully against Linux 3.18.36, 4.4.16 and 4.7.0.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @phreedom, @vcunat
(cherry picked from commit fef4b62657)
2016-09-05 17:32:51 -04:00
aszlig
cbdd371988 broadcom_sta: Reindent file, no code changes
Let's make sure we indent using two spaces, because the unpackPhase was
indented using four spaces.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit 8f08399671)
2016-09-05 17:32:49 -04:00
aszlig
531a73d4d0 broadcom_sta: Add patch for supporting Linux 4.7
Patch is from Arch Linux at:

https://aur.archlinux.org/cgit/aur.git/tree/?h=broadcom-wl

I've tested building against 3.18.36, 4.4.16 and 4.7.0.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @phreedom, @vcunat
(cherry picked from commit 4d3545f2a5)
2016-09-05 17:32:47 -04:00
aszlig
5fb7b4b2aa broadcom_sta: 6.30.223.248 -> 6.30.223.271
The patch for kernel version 3.18 is already applied upstream, so we
don't need it any longer.

Without i686-build-failure.patch, the build for i686-linux fails because
it references rdtscl(), which is no longer available in Linux 4.3.0.

Patch for missing rdtscl() is from Arch Linux:

https://aur.archlinux.org/cgit/aur.git/tree/002-rdtscl.patch?h=broadcom-wl-ck

I've tested building against 32 and 64 bit Linux versions 3.18.36,
4.4.16 and 4.7.0.

The hashes were verified using the ones from the AUR (using the 16 bit
hashes of course):

$ nix-hash --type sha256 --to-base16 1kaqa2dw3nb8k23ffvx46g8jj3wdhz8xa6jp1v3wb35cjfr712sg
4f8b70b293ac8cc5c70e571ad5d1878d0f29d133a46fe7869868d9c19b5058cd
$ nix-hash --type sha256 --to-base16 1gj485qqr190idilacpxwgqyw21il03zph2rddizgj7fbd6pfyaz
5f79774d5beec8f7636b59c0fb07a03108eef1e3fd3245638b20858c714144be

AUR hashes can be found at:

https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=broadcom-wl&id=9d6f10b1b7745fbf5d140ac749e2253caf70daa8#n26

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @phreedom, @vcunat
(cherry picked from commit bd7ce1581d)
2016-09-05 17:32:44 -04:00
Frederik Rietdijk
fa9432161e nvidia-x11: fix driSupport32Bit
(cherry picked from commit 8eb4b3af10)
2016-09-05 17:31:56 -04:00
Karn Kallio
5a147f7d82 nvidia-x11: advance to 365.35 and patch kernel 4.7.
(cherry picked from commit 5d11dac8bb)
2016-09-05 17:31:49 -04:00
Shea Levy
cbb1774631 Backport proofgeneral_HEAD 2016-09-05 11:46:17 -04:00
Bjørn Forsman
c84026f7a9 owncloud-client: 2.2.1 -> 2.2.3
Changelog: https://owncloud.org/changelog/desktop/
(cherry picked from commit 5120af001f)
2016-09-05 08:14:14 +02:00
Cast
d13aad6d53 owncloud: 2.1.1 -> 2.2.1
(cherry picked from commit 0efb130d50)
2016-09-05 08:14:00 +02:00
Mayeu - Cast
4967be3d22 owncloud-client: Fix "libocsync.so.0 not found" error
Close #15130

(cherry picked from commit 61b4f1463c)
2016-09-05 08:13:48 +02:00
Micxjo Funkcio
6a4afcded0 owncloudclient: 1.7.1 -> 2.1.1
(cherry picked from commit 23fad46b76)

[Bjørn: unbreaks build (fixes #17016).]
2016-09-05 08:10:13 +02:00
Peter Hoeg
18821680f6 dropbox: 8.4.21 -> 9.4.49
(cherry picked from commit d0ef7140e9)
2016-09-03 16:57:41 +02:00
Thomas Tuegel
46d9f15f4a spotify: 1.0.36 -> 1.0.37
(cherry picked from commit 7bc711e0a7)

The old version is no longer available.
2016-09-02 08:53:54 -05:00
Michael Raskin
546618ccaa libreoffice: 5.1.2.2 -> 5.1.5.2 (fixes CVE-2016-4324) 2016-09-01 10:06:54 +02:00
Tuomas Tynkkynen
8fe93051f6 nilfs-utils: Set dontPatchELF due to broken RPATH by patchelf
(cherry picked from commit 96004b9d8c)
2016-09-01 01:49:52 +03:00
Robin Gloster
17b51929df linux_4_6: fix by removing upstreamed patch
(cherry picked from commit 1e806458dc)

fixes #18157
2016-08-31 14:45:25 +02:00
Thomas Tuegel
31c0cc5531 Merge pull request #18106 from peterhoeg/db_stable
dropbox: 3.20.1 -> 8.4.21
2016-08-31 07:33:25 -05:00
Eelco Dolstra
fe242af45c thunderbird: 45.2.0 -> 45.3.0
(cherry picked from commit 25c9f2729e)
2016-08-31 14:14:09 +02:00
Eelco Dolstra
6c40d62ae2 firefox: 48.0 -> 48.0.2
(cherry picked from commit c2fb3490c9)
2016-08-31 14:06:12 +02:00
Domen Kožar
34175e7d69 sct: backport #17163 2016-08-31 11:56:24 +02:00
Peter Hoeg
90430d4a13 dropbox: 3.20.1 -> 8.4.21 2016-08-30 11:00:19 +08:00
Frederik Rietdijk
7bcf764af8 mendeley: add missing liborc
(cherry picked from commit aca4801f53)
2016-08-29 10:36:53 +02:00
Frederik Rietdijk
4321379991 liborc: init at 0.4.16
(cherry picked from commit 5da0b34591)
2016-08-29 10:36:45 +02:00
Frederik Rietdijk
fa39eb12d0 mendeley: 1.16.1 -> 1.16.2
(cherry picked from commit d87b415dec)
2016-08-29 10:05:32 +02:00
Rahul Gopinath
697e631973 mendeley: fix sha
(cherry picked from commit 1df37fe7a8)
2016-08-29 10:05:20 +02:00
Bjørn Forsman
f36e610413 borgbackup: 1.0.6 -> 1.0.7
(cherry picked from commit 1ba0ef1c73)
2016-08-28 10:51:09 +02:00
Tobias Geerinckx-Rice
d5dd4a6711 borgbackup: 1.0.5 -> 1.0.6
(cherry picked from commit 0e003d39bc)
2016-08-28 10:49:26 +02:00
Nikolay Amiantov
576be66c64 svox: init at 2016-01-25 2016-08-27 00:45:48 +03:00
Nikolay Amiantov
6bb7c96519 mumble: 1.2.10 -> 1.2.15
(cherry picked from commit 6900fdc84b)
2016-08-26 23:30:43 +02:00
Nikolay Amiantov
a91e5c630c mumble: fix speechd support
(cherry picked from commit 5489bc4109)
2016-08-26 23:30:43 +02:00
Nikolay Amiantov
047df60ba7 speechd: 0.7.1 -> 0.8.3
Make it actually useful -- support sound output and several voice modules

(cherry picked from commit f3435096e2)
2016-08-26 23:30:43 +02:00
Franz Pletz
f209ff7757 linux: 4.4.18 -> 4.4.19
(cherry picked from commit aacf6651c1)
2016-08-26 14:48:53 +02:00
Franz Pletz
372a953f31 linux: 4.1.30 -> 4.1.31
(cherry picked from commit 90251478ec)
2016-08-26 14:48:51 +02:00
Franz Pletz
023b486d55 linux: 3.18.36 -> 3.18.40
(cherry picked from commit 377c851395)
2016-08-26 14:48:49 +02:00
Franz Pletz
edf8e8caa4 linux: 3.14.73 -> 3.14.77
(cherry picked from commit dc37edb36c)
2016-08-26 14:48:48 +02:00
Franz Pletz
427e2bb516 linux: 3.12.61 -> 3.12.62
(cherry picked from commit 458d477215)
2016-08-26 14:48:42 +02:00
Vladimír Čunát
15dd86b92e texlive: sync package versions from current master
Fixes #17907, hopefully. The likelihood of fixing a setup
seems better than the likelihood of breaking it.
2016-08-25 22:41:25 +02:00
Vladimír Čunát
4f8cfadb6e Merge #17928: openssl: fix CVE-2016-2177
(cherry picked from commit 801692c3dd)
2016-08-25 22:31:46 +02:00
Lluís Batlle i Rossell
8911ef5132 fossil: update to 1.35
(cherry picked from commit 3aa8f23aec)

Fixing minimal conflicts.
2016-08-25 18:13:55 +02:00
Kevin Marsh
2983880d18 pythonPackages.django_1_9: 1.9.5 -> 1.9.9
(cherry picked from commit c9b29d4e5f)
2016-08-25 18:10:41 +02:00
Kevin Marsh
9bcf8bd223 pythonPackages.django_1_8: 1.8.12 -> 1.8.14
(cherry picked from commit dfb7d6c223)
2016-08-25 18:10:30 +02:00
Franz Pletz
7bc02d0c7f apacheHttpd: 2.4.20 -> 2.4.23 (security)
Fixes CVE-2016-4979.

(cherry picked from commit 4cb7272537)
2016-08-25 03:12:34 +02:00
Tim Steinbach
c5cbda2414 linux: 4.7.1 -> 4.7.2
(cherry picked from commit 175028582c)
2016-08-21 10:15:15 -04:00
Joachim F
5c40862598 Merge pull request #17849 from a1russell/idea
Idea: 2016.1.2 -> 2016.2
2016-08-20 12:04:19 +02:00
Peter Hoeg
03f9a518f0 spotify: 1.0.34.146 -> 1.0.36.120
(cherry picked from commit cb6d258738)
2016-08-19 18:09:02 +02:00
Thomas Tuegel
c7a3fef5a0 spotify: 1.0.33.106 -> 1.0.34.146
(cherry picked from commit 8dc53d76d5)
2016-08-19 18:08:51 +02:00
Vladimír Čunát
3a25b26b2e gnutls*: drop the parallel-build hack
... as it didn't work, apparently: 024cb9ee

(cherry picked from commit 6d75fd1476)
2016-08-19 17:08:13 +02:00
Vladimír Čunát
4dc0b15d94 gnutls33: maintenance 3.3.18 -> 3.3.24
(cherry picked from commit 1441366fdd)
2016-08-19 17:07:33 +02:00
Vladimír Čunát
677910da30 gnutls: security 3.4.13 -> 3.4.14
http://gnutls.org/security.html#GNUTLS-SA-2016-2
(no CVE seems assigned ATM)

(cherry picked from commit cd07a6b4dd)
2016-08-19 17:07:30 +02:00
Edward Tjörnhammar
81ce50f02f idea.idea-{community,ultimate}: 2016.1.3 -> 2016.2
(cherry picked from commit 6423ded1bc)
2016-08-19 09:20:32 -05:00
José Romildo Malaquias
2b573e92d5 idea.idea-{community,ultimate}: 2016.1.2 -> 2016.1.3
(cherry picked from commit a6fd3e8680ff3da7ddc55c8d8dfd38e17f9fcd1f)
(cherry picked from commit 1f77d3cd09)
2016-08-19 09:19:22 -05:00
Rob Vermaas
9994c07ef7 Update TexLive hashes. 2016-08-18 22:19:19 +00:00
Gabriel Ebner
018c04c7ac libewf: fix build with gcc 5
Fixes #15289.

(cherry picked from commit 75d1e986a7)
2016-08-18 22:11:27 +02:00
Rob Vermaas
4396e8f8a3 Set GIT_SSL_CAINFO for fetch-bower 2016-08-18 19:58:45 +00:00
Ricardo M. Correia
a53bb3ceb1 zfs: print the output of the zpool command (if any) when it succeeds
(cherry picked from commit 1cf9bcaa3f)
2016-08-18 17:39:51 +02:00
Svein Ove Aas
5688c39af5 zfs: Keep trying root import until it works
Works around #11003.

(cherry picked from commit 98b213a110)

Reason: several people cannot boot with ZFS on NVMe
2016-08-18 17:38:55 +02:00
Rok Garbas
81a8ce8668 Merge pull request #17816 from lancelotsix/CVE-2016-6313_on_16.03
Update gnupg and libgcrypt on release-16.03 (fixes CVE-2016-6313)
2016-08-18 12:59:46 +02:00
Lancelot SIX
f026bbcba2 gnupg1orig: 1.4.20 -> 1.4.21
Fixes CVE-2016-6313.

See http://lists.gnu.org/archive/html/info-gnu/2016-08/msg00008.html
2016-08-18 11:57:42 +02:00
Lancelot SIX
9cad85016e libgcrypt: 1.6.5 -> 1.6.6
Fixes CVE-2016-6313.

See http://lists.gnu.org/archive/html/info-gnu/2016-08/msg00008.html
2016-08-18 11:57:26 +02:00
Lancelot SIX
5ae1b21df5 libgcrypt_1_5: 1.5.4 -> 1.5.6
Fixes CVE-2016-6313.

See http://lists.gnu.org/archive/html/info-gnu/2016-08/msg00008.html
2016-08-18 11:57:00 +02:00
Lluís Batlle i Rossell
5237768d62 Updating mlt to 6.2.0
(cherry picked from commit 93d8ab8007)

I checked with kdenlive people, and they say that we should always use the
latest mlt possible; that it should not be any problem, and provide only
improvements.

(cherry picked from commit 9f9cac34d3)
2016-08-18 11:22:43 +02:00
Lluís Batlle i Rossell
a898588dd6 Fixing build of shotcut, after cherrypicks from master. 2016-08-18 09:53:29 +02:00
Lluís Batlle i Rossell
f3edc3cd8c More dependencies to shotcut
(cherry picked from commit e31951cb88)
2016-08-18 09:49:08 +02:00
Lluís Batlle i Rossell
aae489527a Shotcut builds, but wants jack1 libs on start.
(cherry picked from commit 5b3c885b35)
2016-08-18 09:48:59 +02:00
Lluís Batlle i Rossell
4e2a6fd288 Removing old traces of broken=true in shotcut 2016-08-18 09:47:45 +02:00
Robert Helgesson
14975c8db8 redstore: fix build under recent glibc
Previously the build would fail due to, e.g., `getaddrinfo` not being
defined.

(cherry picked from commit a4ae7b87f0)
2016-08-17 22:35:04 +02:00
Franz Pletz
bd148edee2 linux: 4.7 -> 4.7.1
(cherry picked from commit 2571438988)
2016-08-17 05:47:21 +02:00
Franz Pletz
37554cb0fd linux: 4.6.6 -> 4.6.7
Fixes CVE-2016-5696.

(cherry picked from commit 7a4407461b)
2016-08-17 05:47:14 +02:00
Franz Pletz
5215a29740 linux: 4.4.17 -> 4.4.18
Fixes CVE-2016-5696.

(cherry picked from commit da95fb368c)
2016-08-17 05:46:51 +02:00
Franz Pletz
a7be831b43 linux: 4.1.27 -> 4.1.30
Fixes CVE-2016-5696.

(cherry picked from commit 2104d28bcd)
2016-08-17 05:46:51 +02:00
Franz Pletz
106e2c1362 postgresql: security updates for all versions
Fixes CVE-2016-5423 and CVE-2016-5424.

See https://www.postgresql.org/about/news/1688/.

(cherry picked from commit 2709079569)
2016-08-16 18:39:20 +02:00
jokogr
baf46b99e3 syncthing: 0.14.3 -> 0.14.4 (#17723) (#17776)
(cherry picked from commit 6172662676)
2016-08-16 14:52:24 +02:00
Nikolay Amiantov
f6a4aa0697 audacity: 2.1.1 -> 2.1.2
(cherry picked from commit 3c4f861200)
2016-08-16 10:27:02 +02:00
Eelco Dolstra
33b8e724ad systemd: Apply upstream bug fix
https://github.com/systemd/systemd/pull/2695
2016-08-15 19:29:44 +02:00
Shea Levy
9906378e77 long-shebang: 1.0.1 -> 1.1.0
(cherry picked from commit 7069047f2e)
2016-08-14 12:33:55 -04:00
Shea Levy
a686013321 long-shebang: 1.0.0 -> 1.0.1
(cherry picked from commit 670801a56a)
2016-08-14 10:58:59 -04:00
obadz
154263c07e Revert "linux kernel 4.4: fix race during build"
Removes patch. Was fixed upstream.

This reverts commit 4788ec1372.
2016-08-12 16:45:13 +01:00
Franz Pletz
985f9ffa59 linux: fix build, remove upstreamed patches
(cherry picked from commit 263fff0ab8)
2016-08-12 17:09:11 +02:00
Domen Kožar
dfa909e74d add Fedora 24
(cherry picked from commit b9e009b5b5)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-08-12 16:44:57 +02:00
obadz
96924b9f28 Revert "ecryptfs: fix kernel bug introduced in 4.4.14"
The Linux 4.4.17 release fixes the underlying issue

This reverts commit fad9a8841b.

(cherry picked from commit 18947c9e36)
2016-08-12 10:56:04 +01:00
Eelco Dolstra
189781a5ad firefox: 47.0.1 -> 48.0
(cherry picked from commit 8877b93649)
2016-08-12 11:30:23 +02:00
Eelco Dolstra
65b384d9bd nss: 3.24 -> 3.26
(cherry picked from commit 6aabe2e4bb)
2016-08-12 11:25:21 +02:00
rnhmjoj
d2bcccfaf0 nss: 3.23 -> 3.24
(cherry picked from commit f2842da8b2)
2016-08-12 11:25:16 +02:00
Eelco Dolstra
7d5a5e146e linux: 4.4.16 -> 4.4.17
(cherry picked from commit e26ac7afd4)
2016-08-12 11:24:45 +02:00
Eelco Dolstra
56c10200ae linux: 4.4.16 -> 4.4.16
(cherry picked from commit 42f8df10a2)
2016-08-12 11:24:41 +02:00
Frederik Rietdijk
3234a4a26f Merge pull request #17556 from jokogr/upgrade/syncthing-16.03
syncthing:  0.12.25 -> 0.14.3  (backport to 16.03)
2016-08-11 09:21:18 +02:00
Joachim Fasting
96097f1ed3 geis: refactor & fix build
- Pass -Wno-error=pedantic to work around ISO C violations
- Build with X11 unconditionally (also rely on pkgconfig for
  detection, --enable-x11 does not work)
- Build against evemu

(cherry picked from commit 3f5d7c7e04)
2016-08-10 19:07:13 +02:00
Rahul Gopinath
ead5d86b86 gnunet: cleanup patching
Do not use loop and sed since sed can take a list of files.

(cherry picked from commit af074c0972)
2016-08-10 18:47:21 +02:00
Rahul Gopinath
3d3a84da43 gnunet: ensure that zlib is actually linked
Fixes #14969

(cherry picked from commit b31ab67a81)
2016-08-10 18:47:15 +02:00
Eelco Dolstra
d502d02dbd Revert "command-not-found: disable module until it's fixed again"
This reverts commit 9ea8f6ad7d.
2016-08-10 18:12:03 +02:00
Domen Kožar
896e54c535 flatten: drastically improve performance, see #17626
(cherry picked from commit ebffa9fd06)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-08-10 17:59:17 +02:00
Eelco Dolstra
7bcd3a9788 Merge pull request #17627 from dguibert/dg/virtualbox-5.0.26
virtualbox: 5.0.20 -> 5.0.26
2016-08-10 12:23:42 +02:00
David Guibert
0471d403df virtualbox: 5.0.20 -> 5.0.26 2016-08-10 12:15:31 +02:00
Franz Pletz
17f6219f38 simp_le: apply patch to update TOS hash
Fixes #17455.

Also see https://github.com/kuba/simp_le/issues/114.

(cherry picked from commit e55aa50175)
2016-08-09 22:14:34 +02:00
Markus Mueller
d6f1895039 ldap module: fix activationScripts declaration
(cherry picked from commit 19ee3baa32)

Closes #11361
2016-08-09 17:36:56 +01:00
Robert Helgesson
cf62a27a32 wsmancli: fix compilation
Without this the package build fails with a linking error. Fixes #14872.

(cherry picked from commit 28f17215b9)
2016-08-07 19:31:15 +02:00
Lluís Batlle i Rossell
1ec1a7c71f Adding kdenlive for kde-5 (15.12).
Merging the branch where I added it, which has some steps
forward/backward.

The changes for master (applications-16.04) are slightly different,
and although I tried to port it there, kdenlive just crashes on start.
Someone should port it there.
2016-08-07 14:25:50 +02:00
Lluís Batlle i Rossell
da1bf5fc71 Making kdenlive find kinit in PATH 2016-08-07 14:21:08 +02:00
Lluís Batlle i Rossell
008f88ae6f Adding the mlt version that matches kdenlive 15.12. 2016-08-07 14:04:44 +02:00
Vladimír Čunát
4c09ea7e3d mesa: vdpau symlinks, broken after 1a52fdc
Fixes #17559. /cc @edolstra.
Using *relative* symlinks doesn't break when moving the files.

(cherry picked from commit 73e1242172)
2016-08-07 11:38:56 +02:00
Lluís Batlle i Rossell
29ebb13afb Revert "Updating mlt to 6.2.0"
This reverts commit 93d8ab8007.
2016-08-06 21:32:08 +02:00
Lluís Batlle i Rossell
06b1f2f3aa More pieces to kdenlive (copied from archlinux) 2016-08-06 17:47:25 +02:00
Peter Hoeg
ac34f8f977 syncthing: 0.14.2 -> 0.14.3 2016-08-06 16:09:22 +03:00
jokogr
22bb834b59 syncthing: 0.14.0 -> 0.14.2 (#17274)
* Update syncthing from 0.14.0 to 0.14.2
* Use fetchFromGitHub instead of fetchgit
* Add joko to package maintainers
2016-08-06 16:09:22 +03:00
Ioannis Koutras
73d54728ca maintainers.nix: add joko 2016-08-06 16:09:22 +03:00
Peter Hoeg
9b3ff00a6f syncthing: 0.13.10 -> 0.14.0 (#17110) 2016-08-06 16:09:22 +03:00
kc1212
0d5c67db6b syncthing: 0.13.9 -> 0.13.10 (#16912) 2016-08-06 16:09:21 +03:00
kc1212
d825227d2c syncthing: 0.13.7 -> 0.13.9 (#16558) 2016-08-06 16:09:21 +03:00
Ioannis Koutras
4c86791195 maintainers.nix: add peterhoeg 2016-08-06 16:09:21 +03:00
Lluís Batlle i Rossell
e17bc0b871 Adding kdenlive for kde5 2016-08-06 14:57:59 +02:00
Lluís Batlle i Rossell
93d8ab8007 Updating mlt to 6.2.0 2016-08-06 14:57:26 +02:00
Peter Hoeg
cbf29a669f syncthing: 0.13.4 -> 0.13.7 2016-08-06 13:41:20 +03:00
Paul Hendry
27f197ca6f syncthing: 0.12.25 -> 0.13.4 (#15730)
Cherry-picked from 8ea1f2d36c

* Rename v0.12.25 package from 'syncthing' to 'syncthing012'
* Remove syncthing011
2016-08-06 13:39:43 +03:00
Franz Pletz
9cb194cfa4 collectd: 5.5.1 -> 5.5.2 (security)
Fixes CVE-2016-6254.

(cherry picked from commit a3f6ca6d17)
2016-08-05 04:10:33 +02:00
Benjamin Staffin
fe8aefa5ed Update google-chrome versions
The previous download links were all broken.

Stable: 51.0.2704.103 -> 52.0.2743.116
Beta:   52.0.2743.41  -> 53.0.2785.34
Dev:    53.0.2767.4   -> 54.0.2816.0
(cherry picked from commit 78e5e61bbe)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-08-04 19:42:53 +02:00
Rob Vermaas
25e68f79e6 Update spotify 2016-08-04 09:12:21 +00:00
Langston Barrett
44b1d6bff3 mopidy service: add default value for configuration (#17385)
Mopidy will start if the configuration is empty.

Fixes #17381.
(cherry picked from commit a28273df32)
2016-08-01 14:54:32 +02:00
Shea Levy
be56795a59 Add dell-530cdn printer driver
(cherry picked from commit 52b787b0cd)
2016-08-01 08:33:14 -04:00
Shea Levy
36bc5257e3 Add long-shebang tool
(cherry picked from commit 03a8f723bd)
2016-07-31 13:12:04 -04:00
artuuge
f5bcd93ea7 epson-escpr: 1.6.4 -> 1.6.5
(cherry picked from commit 03912a2761)
2016-07-29 17:07:37 -04:00
artuuge
392c19f281 update epson-escpr meta
(cherry picked from commit edfb2e7ccb)
2016-07-29 17:07:29 -04:00
artuuge
8ab4500ab4 epson-escpr: 1.6.3 -> 1.6.4
(cherry picked from commit 7ddd6fc1c3)
2016-07-29 17:07:20 -04:00
Rob Vermaas
1425a1f964 dd-agent: support jmx, needs a separate daemon nowadays. 2016-07-29 12:41:35 +00:00
Kranium Gikos Mendoza
b062b52729 pwsafe: 0.95 -> 0.99
(cherry picked from commit cf08d94d18)

pwsafe never built successfully on 16.03; this patch fixes that.
2016-07-28 14:19:05 +02:00
Franz Pletz
f2d4ee1674 php: 5.5.37 -> 5.5.38, 5.6.23 -> 5.6.24 (security)
https://secure.php.net/ChangeLog-5.php#5.5.38
https://secure.php.net/ChangeLog-5.php#5.6.24

(cherry picked from commit 63784b8021)
2016-07-28 06:24:20 +02:00
Teo Klestrup Röijezon
2fb54132c0 oidentd: Set C dialect to gnu89 (broken by GCC 5)
(cherry picked from commit 2d4af4b979)
2016-07-27 15:14:50 +02:00
Robert Helgesson
41c016ee7c autorandr: avoid use of xxd
Use the Python fallback instead of bringing in a dependency on Vim.

(cherry picked from commit 8a82798f97)
2016-07-27 13:27:17 +02:00
Graham Christensen
5deb702e96 autorandr: 4f5e2401ef -> 20150127
wertarbyte has allowed his project to languish, and phillipberdt
has taken it over and is merging pull requests

(cherry picked from commit 7bd2052436)
2016-07-27 13:26:40 +02:00
Lluís Batlle i Rossell
ccd1f37ffe Fix psutils licence.
(cherry picked from commit e412f2199a)
2016-07-27 10:30:42 +02:00
Lluís Batlle i Rossell
d7dca678a9 Adding psutils.
Have we lived without psnup so many years? Incredible.

(cherry picked from commit 03f368ca93)
2016-07-27 10:30:42 +02:00
Kranium Gikos Mendoza
8541088132 vtun: add debian gcc5 fix
(cherry picked from commit 16cc4dd3a3)

See https://hydra.nixos.org/build/35637382/log/raw
2016-07-26 21:58:45 +02:00
Rahul Gopinath
81154eeb07 zandronum: fix build
Fixes #15994

(cherry picked from commit 97dd3b3e62)

See https://hydra.nixos.org/build/37882372/log/raw
2016-07-26 21:47:36 +02:00
Proglodyte
c267320219 v8: fix 4.5.107 build
Similar to #14272, but fixes 4.5 build rather than generic.
- Ignores errors due to strict-overflow warnings
- Strips clang-only '-Wno-format-pedantic' flag out since this build
  uses gcc

(cherry picked from commit 16bd51fc0d)

Fixes https://hydra.nixos.org/build/37879354/nixlog/1/raw
2016-07-26 21:44:47 +02:00
Joachim Fasting
e8395ec41d grsecurity: also disable build of 4.1 packages (16.03)
I failed to realize that 4.1 had not been disabled already
and so this was not included in efb897f221
2016-07-26 21:07:10 +02:00
Vladimír Čunát
ced94a57fb Merge #17141: libidn: security 1.32 -> 1.33
(cherry picked from commit fa1012a294)
2016-07-26 21:00:30 +02:00
Bjørn Forsman
5109827b50 git: fix gitweb.cgi breakage due to missing CGI.pm
CGI.pm was removed from Perl core in v5.22, breaking the gitweb.cgi
script and thus NixOS' services.lighttpd.gitweb. Nixpkgs switched to
Perl 5.22 with a85ba820a4 ("perl: Make 5.22 the default").

Fix it by bringing in the Perl CGI module (and dependency HTMLParser).
The closure size of "nix-build -A git" increase by 1 MiB, to 201 MiB.

(cherry picked from commit e7ef33c50a)
2016-07-26 15:21:13 +02:00
Joachim F
c78f7c4874 Merge pull request #17255 from joachifm/release-16.03-drop-grsec
grsecurity: drop support on 16.03
2016-07-26 10:35:53 +02:00
Vladimír Čunát
f19ce017e6 tiptop: init at 2.3
(cherry picked from commit 375ae11a34)
2016-07-26 11:57:07 +02:00
Joachim Fasting
efb897f221 grsecurity: drop support on 16.03
I'm unable to provide reasonable support for grsecurity on the 16.03 release
branch.  Mark as broken to more accurately reflect the current state of
affairs.  Also disable the grsecurity test.

If sombody wishes to maintain grsecurity on 16.03, please revert this commit.

Closes https://github.com/NixOS/nixpkgs/issues/17061
2016-07-25 19:33:24 +02:00
obadz
ba40b32de2 ecryptfs: fix kernel bug introduced in 4.4.14
Introduced by mainline commit 2f36db7
Patch is from http://www.spinics.net/lists/stable/msg137350.html
Fixes #16766

(cherry picked from commit fad9a8841b)
2016-07-25 14:05:55 +01:00
obadz
932eeb7c0e ecryptfs: cherry-pick test from 4 commits
ecryptfs: add nixos/tests/ecryptfs.nix
(cherry picked from commit ab6fc29719)

ecryptfs: test bug from #16766
(cherry picked from commit d781bf94c1)

ecryptfs: add test to release (#16910)
Would have caught regression #16766
(cherry picked from commit f76a8fbbac)

ecryptfs: add test to release-combined.nix
(cherry picked from commit de80d0544c)
2016-07-25 14:05:55 +01:00
Shea Levy
6d520cec5c Linux 4.7
(cherry picked from commit ac93e9f2c8)
2016-07-24 18:35:08 -04:00
Robert Helgesson
20a83abdcf stellarium: 0.14.2 -> 0.14.3
(cherry picked from commit 1012508356)
2016-07-24 17:40:38 +02:00
Robert Helgesson
31a1303387 stellarium: wrap binary using wrapQtProgram
Fixes #13582 where Stellarium segfaults when starting.

(cherry picked from commit 1bedecb4f9)
2016-07-24 17:40:37 +02:00
Peter Simons
faba44816e stellarium: update to 0.14.2
This patch also fixes https://github.com/NixOS/nixpkgs/issues/13582.

(cherry picked from commit 288d01fe2b)
2016-07-24 17:40:36 +02:00
Michael Raskin
c9be718b43 cvc4: fix the build by skipping line markers in cpp expansions during configure, helps the configure script to find Boost version
(cherry picked from commit 016d523d82)
2016-07-24 16:56:49 +02:00
Ronny Pfannschmidt
3811a6b8a8 gnome-disk-utility: wrapGAppsHook
(cherry picked from commit be7043e01a)
2016-07-24 12:52:34 +02:00
Ronny Pfannschmidt
01328d4a32 gnome-keyring: wrapGAppsHook
(cherry picked from commit ebda96638a)
2016-07-24 12:52:33 +02:00
Ronny Pfannschmidt
58ad6b9236 gnome-online-accounts: use wrapGAppsHook
(cherry picked from commit e6ba55dcf5)
2016-07-24 12:52:33 +02:00
Tobias Geerinckx-Rice
502de3d6e3 dropbear: 2016.73 -> 2016.74
Security fixes:
- Message printout was vulnerable to format string injection
- dropbearconvert import of OpenSSH keys could run arbitrary code
  as the local dropbearconvert user when parsing malicious key
  files
- dbclient could run arbitrary code as the local dbclient user if
  particular -m or -c arguments are provided
- dbclient or dropbear server could expose process memory to the
  running user if compiled with DEBUG_TRACE and running with -v

Fixes:
- Fix port forwarding failure when connecting to domains that have
  both IPv4 and IPv6 addresses. The bug was introduced in 2015.68
- Fix 100% CPU use while waiting for rekey to complete

(cherry picked from commit 7c84bd121a)
2016-07-23 21:35:13 +02:00
Tobias Geerinckx-Rice
c326a1975a dropbear: 2016.72 -> 2016.73
Changes: https://matt.ucc.asn.au/dropbear/CHANGES.
(cherry picked from commit a685456213)
2016-07-23 21:35:00 +02:00
Tobias Geerinckx-Rice
425c5124b5 dropbear: 2015.71 -> 2016.72
Bugfix release:
- Validate X11 forwarding input. Could allow bypass of
  authorized_keys command= restrictions.

(cherry picked from commit e834a7c05b)
2016-07-23 21:34:52 +02:00
Rok Garbas
7c435c925a mysql: 5.5.49 -> 5.5.50 for CVEs (#17160)
Problems include buffer overflows, null pointer dereferences, and
other bugfixes.

 - CVE-2016-3477
 - CVE-2016-3521
 - CVE-2016-3615
 - CVE-2016-5440

Details:
https://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-50.html

backporting @grahamc's work to release-16.03
2016-07-23 18:00:04 +02:00
Tim Steinbach
63f78d9bf3 kernel: 4.6.3 -> 4.6.4 (#16875)
(cherry picked from commit 47da65923b)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-07-23 15:00:18 +02:00
Tobias Geerinckx-Rice
2568ee3d73 lrzip: 0.621 -> 0.630
Changes: http://ck-hack.blogspot.com/2016/06/lrzip-0630.html
(cherry picked from commit 1212d921c1)
2016-07-22 10:06:22 +02:00
Lluís Batlle i Rossell
757901bc6d perf: depend on libiberty to get c++ demangling.
(cherry picked from commit dd02b6f118)
2016-07-21 17:28:07 +02:00
Franz Pletz
349a2a1b01 php: 7.0.8 -> 7.0.9 (security)
https://secure.php.net/ChangeLog-7.php#7.0.9

(cherry picked from commit 77a9ab33a6)
2016-07-21 14:13:12 +02:00
Eelco Dolstra
5a687613c2 Remove nixos.tests.boot.biosUsb.* as release blockers
These have a high random failure rate, blocking channel updates. Issue

(cherry picked from commit a78ecb0d33)
2016-07-21 11:46:03 +02:00
Lluís Batlle i Rossell
3beaca99cb vm/rpm/rpm-closure.pl: make it deterministic
Some recent perl version introduced "keys" to return the keys
in random order. As some of the packages are solved by "provides" and
based on the order, this randomness affects what packages get into the
closure.

This problem may be in other nix perl scripts.

(cherry picked from commit 202ebf794c)
2016-07-21 09:52:57 +02:00
Sheena Artrip
9a2e73c586 gnome-shell: add missing python3 deps for gnome-shell-extension-tool (#16433)
Fix #14651
2016-07-21 01:21:07 +02:00
taku0
6328769bda oraclejdk: 8u91, 8u92 -> 8u101, 8u102 (#17125)
(cherry picked from commit afcf3176ec)
2016-07-20 18:00:44 +02:00
Lluís Batlle i Rossell
24353b91f9 Adding intel-gpu-tools to xorg.
(cherry picked from commit 13fc6e56fe)
2016-07-20 12:45:46 +02:00
Eelco Dolstra
d74e23efa9 gnutls: Disable parallel building
This can fail randomly with

    CC       systemkey.o
  In file included from systemkey.c:47:0:
  systemkey-args.h:1:1: error: unterminated comment
   /*   -*- buffer-read-only: t -*- vi: set ro:

which is presumably caused by a race with the generation step above:

  autogen systemkey-args.def

http://hydra.nixos.org/build/37878764#tabs-buildsteps
(cherry picked from commit 024cb9eecd)
2016-07-20 11:56:40 +02:00
Bjørn Forsman
b9fa0cf83c nixos/ddclient: add warning about password being world readable
Closes #16885.

(cherry picked from commit 78eac466b0)
2016-07-19 16:53:11 +02:00
Rob Vermaas
9909d31602 nixops: update to 1.4 2016-07-19 14:33:15 +00:00
Eelco Dolstra
94eec8fe77 gnutls: Disable test suite
The 3.4.x test suite contains a certificate that expired June 29,
leading to:

FAIL: name-constraints
======================
...
Chain verification output: Not verified. The certificate is NOT trusted. The certificate chain uses expired certificate.
2016-07-19 15:20:45 +02:00
Michiel Leenaars
a6b7474964 gnutls: 3.4.11 -> 3.4.13
(cherry picked from commit 325dafe82b)
2016-07-19 15:12:32 +02:00
Michiel Leenaars
c73d3b13c2 gnutls: 3.4.6 -> 3.4.11
(cherry picked from commit 4ea23ca277)
2016-07-19 15:12:27 +02:00
Matthew Justin Bauer
ebb204732e virtualbox: fix virtualbox guest additions (#16964)
(cherry picked from commit 802a700373)
2016-07-19 13:56:37 +02:00
Franz Pletz
1daaf68e38 imagemagick: fix hashes
See #16958.

(cherry picked from commit b1ff7f83ef)
2016-07-19 13:56:11 +02:00
Ram Kromberg
19e8d07f4e imagemagick: 6.9.3-9 -> 6.9.5-2 (#16958)
(cherry picked from commit 9ff51cc3c4)
2016-07-19 13:56:11 +02:00
Frederik Rietdijk
13138d5fea Python 2.7.11 -> 2.7.12
(cherry picked from commit b49bedd75b)
2016-07-19 11:53:53 +02:00
Eelco Dolstra
9146390f64 python-2.7: Don't use ldconfig and speed up uuid load
(cherry picked from commit de1b4e71c1)
2016-07-19 11:53:38 +02:00
Peter Jones
f231b2b3f7 slic3r: Add LWP for "Send to printer"
This patch adds a dependency on the LWP perl module so that Slic3r can
make HTTP connections to Octoprint and send G-code to a remote printer.

(cherry picked from commit f303a072c0)
2016-07-18 21:26:28 +02:00
Joachim Fasting
ec0889d393 grsecurity_base_linux_4_5: fix build
The hiddev CVE patch, added in
10ba79450b
breaks the grsecurity kernel build.  For now, the simplest solution is to set
kernel patches applied to the grsec base kernel explicitly rather than
inheriting patches from linux_4_5.

Fixes https://github.com/NixOS/nixpkgs/issues/17061
2016-07-18 21:10:36 +02:00
Stephen Whitmore
3a8765a323 youtube-dl: 2016.07.09.2 -> 2016.07.17
(cherry picked from commit d8516b0fe3)
2016-07-18 19:40:17 +02:00
Vladimír Čunát
175ba559f7 gimp: security 2.8.16 -> 2.8.18
Fixes CVE-2016-4994 and some bugs:
http://www.gimp.org/news/2016/07/14/gimp-2-8-18-released/

(cherry picked from commit 540f4a8eab)
2016-07-17 21:55:17 +02:00
Vladimír Čunát
904a6fabdc Merge #16970: webkitgtk24x: 2.4.9 -> 2.4.11
(cherry picked from commit d167bedb67)
2.4.10 introduced lots of security fixes.
2016-07-17 20:25:06 +02:00
Márton Boros
a0c4a3a714 youtube-dl: 2016.07.03.1 -> 2016.07.09.2
(cherry picked from commit 129c17b222)
2016-07-16 12:38:59 +02:00
mimadrid
1513e65b66 youtube-dl: 2016.06.27 -> 2016.07.03.1
(cherry picked from commit aaa023c858)
2016-07-16 12:38:48 +02:00
mimadrid
9ae9de9b56 youtube-dl: 2016.06.19.1 -> 2016.06.27
(cherry picked from commit 654b978fa3)
2016-07-16 12:38:42 +02:00
wrb
c561fe49a6 youtube-dl: 2016.05.21.2 -> 2016.06.19.1 (#16338)
(cherry picked from commit 22a7f3a849)
2016-07-16 12:38:36 +02:00
wrb
0e98bd31ef youtube-dl: 2016.04.19 -> 2016.05.21.2
(cherry picked from commit c27eec296a)
2016-07-16 12:38:30 +02:00
Joachim Schiele
e040c01aab youtube-dl: version bump to 2016.04.19
(cherry picked from commit a021b6a617)
2016-07-16 12:38:23 +02:00
Joachim Fasting
1e70aaaffe youtube-dl: 2016.02.13 -> 2016.04.06
(cherry picked from commit 6111d5b480)
2016-07-16 12:38:11 +02:00
Bjørn Forsman
00dfa5b4e5 nixos/systemd: disable timer units with service
A disabled systemd service with a "startAt" attribute, like this:

  systemd.services.foo-service = {
    enable = false;
    startAt = "*-*-* 05:15:00";
    ...
  };

will cause the following errors in the system journal:

  systemd[1]: foo-service.timer: Refusing to start, unit to trigger not loaded.
  systemd[1]: Failed to start foo-service.timer.

Fix it by not generating the corresponding timer unit when the service
is disabled.

(cherry picked from commit 2eb8aab42c)
2016-07-16 09:41:52 +02:00
Bjørn Forsman
bd1d9ffa91 nixos/swap: support for resizing swapfile
Currently NixOS creates the swapfile (with the specified size) only if
it doesn't already exist. Changing the swapfile size afterwards will not
have any effect.

This commit changes that so the swapfile will be recreated whenever
swapDevices.*.size is changed (or more precisely, whenever the actual
file size differs from the configured one), allowing both growing and
shrinking the swapfile.

The service unit has "restartIfChanged = false", so we don't have to
worry about the swapfile being in use at the time this code is run (you
have to reboot for swapfile changes).

fallocate doesn't shrink files, use truncate for that. truncate can also
be used to grow files, but it creates "holes" in the file which doesn't
work with swapfiles.

(cherry picked from commit b30852ed41)
2016-07-16 09:41:52 +02:00
Bjørn Forsman
08f4bc4c34 nixos/grub: change state file device separator from ':' to ','
':' is currently used as separator in /boot/grub/state for the list of
devices GRUB should be installed to. The problem is that ':' itself may
appear in a device path:

  /dev/disk/by-id/usb-SanDisk_Cruzer_20043512300546C0B317-0:0

With such a path, NixOS will install GRUB *every* time, because it
thinks the configuration differs from the state file (due to the wrong
list split). Fix it by using ',' as separator.

For existing systems with GRUB installed on multiple devices, this
change means that GRUB will be installed one extra time.

(cherry picked from commit aeb516c741)
2016-07-16 09:41:52 +02:00
Bjørn Forsman
3480e79657 avahi: 0.6.31 -> 0.6.32
Bugfix release, backwards compatible:

  https://github.com/lathiat/avahi/releases/tag/v0.6.32

* Update src URL to github (the latest release is only available there).
* Change "$(mkdir_p)" to "$(MKDIR_P)" in the patch to keep it working
  (apply'able).

(cherry picked from commit 79ed40cd69)
2016-07-16 09:41:52 +02:00
mimadrid
ff2c69e1fd strace: 4.11 -> 4.12
(cherry picked from commit a3581f802e)
2016-07-16 09:41:52 +02:00
Rastus Vernon
5424a1dd0e cryptsetup: update project homepage
The project was moved from code.google.com to gitlab.com.

(cherry picked from commit 77d9966d93)
2016-07-16 09:41:52 +02:00
Bjørn Forsman
368214c636 pencil: mark as broken
Currently pencil won't start, due to incompatible firefox version:

  $ pencil
  Error: Platform version '47.0.1' is not compatible with
  minVersion >= 36.0

See https://github.com/prikhi/pencil/issues/840.

(cherry picked from commit 5b6e3a3ed1)
2016-07-16 00:50:03 +02:00
Bjørn Forsman
1ff47d2bfb pencil: unbreak build by using 'firefox-unwrapped' as 'xulrunner'
The xulrunner build itself is broken at the moment.

(cherry picked from commit 15072e8986)
2016-07-16 00:49:35 +02:00
Franz Pletz
92d3da8108 wxPython: Fix missing libgobject-2.0.so
This fixes the following error when trying to run wxPython applications:

    libgobject-2.0.so.0: cannot open shared object file: No such file or directory

This only applies to 16.03. The master branch is not affected.
2016-07-15 23:25:28 +02:00
Bjørn Forsman
bd66409a01 switch-to-configuration: use absolute path to systemd-escape
Fixes issue when upgrading from very old NixOS systems that don't have
systemd-escape in $PATH:

  $ sudo nixos-rebuild switch
  ...
  building the system configuration...
  updating GRUB 2 menu...
  Can't exec "systemd-escape": No such file or directory at /nix/var/nix/profiles/system/bin/switch-to-configuration line 264.
  Unable to escape /!

(cherry picked from commit 9050077cff)
2016-07-15 13:40:03 +02:00
Frederik Rietdijk
fc83837a9c pythonPackages.aws_shell: use futures 3.0, not 2.2
(cherry picked from commit 8fa6930d84)
2016-07-15 11:16:42 +02:00
Frederik Rietdijk
07283cf2b2 pythonPackages.boto3: enable tests, fixes #14985
I've modified #14985 by @adnelson to take into account the update in
b68f09a520

(cherry picked from commit 8729bd8bb9)
2016-07-15 11:16:42 +02:00
Tobias Geerinckx-Rice
119866cf73 pythonPackages.boto3: 1.2.2 -> 1.3.1
(cherry picked from commit b68f09a520)
2016-07-15 11:16:42 +02:00
Eelco Dolstra
7f021bcc38 awscli: 1.10.38 -> 1.10.46
(cherry picked from commit 0fa00cce01)
2016-07-15 11:16:42 +02:00
Patrick Mahoney
20e5938c36 awscli: 1.10.1 -> 1.10.18
And awscli dependencies:

botocore: 1.3.23 -> 1.4.9
s3transfer: init at 0.0.1
(cherry picked from commit f14bf70db4)
2016-07-15 11:16:42 +02:00
Ram Kromberg
0b40a93388 flashplayer: 11.2.202.626 -> 11.2.202.632
(cherry picked from commit 6046702e5e)
2016-07-14 22:27:27 +03:00
Ram Kromberg
d7450443c4 ansible: 1.9.4 -> 1.9.6
(cherry picked from commit e9ddfe3d4c)
2016-07-14 11:09:34 +02:00
Eelco Dolstra
f0210311aa Update 16.03 AMIs
(cherry picked from commit 9aa3e78ab2)
2016-07-13 10:40:29 +02:00
Eelco Dolstra
acfbf1c7d6 Add AMIs in ap-northeast-2 and ap-south-1
(cherry picked from commit 94cc18e9aa)
2016-07-13 10:40:00 +02:00
Eelco Dolstra
2daacfa887 Copy AMIs in parallel
(cherry picked from commit 1e9b8bfb31)
2016-07-13 10:39:57 +02:00
Eelco Dolstra
fbd04a7d97 Create AMIs with Enhanced Networking
Fixes #15956.

(cherry picked from commit 02db7d9821)
2016-07-13 10:39:54 +02:00
obadz
0452a46957 ec2/create-amis.sh: specify the approriate size on snapshots
Should help with #15148

(cherry picked from commit 364a4373cf)
2016-07-13 10:39:50 +02:00
Franz Pletz
10ba79450b linux: Add patch to fix CVE-2016-5829 (#16824)
Fixed for all available 4.x series kernels.

From CVE-2016-5829:

  Multiple heap-based buffer overflows in the hiddev_ioctl_usage function
  in drivers/hid/usbhid/hiddev.c in the Linux kernel through 4.6.3 allow
  local users to cause a denial of service or possibly have unspecified
  other impact via a crafted (1) HIDIOCGUSAGES or (2) HIDIOCSUSAGES ioctl
  call.
(cherry picked from commit dde259dfb5)
2016-07-12 21:01:58 +02:00
Ricardo Ardissone
7545ed3744 subversion: fix apr-1 linking
(cherry picked from commit 025ccbccd7)
2016-07-12 18:08:55 +02:00
Robert Helgesson
6207f049cd handbrake: depend on hicolor_icon_theme
This avoids conflicts on `share/icons/hicolor/icon-theme.cache`.

(cherry picked from commit c071831b8b)
2016-07-12 17:26:22 +02:00
Robert Helgesson
fc144cb62c brasero: depend on hicolor_icon_theme
This avoids conflicts on `share/icons/hicolor/icon-theme.cache`.

(cherry picked from commit 02600dacf8)
2016-07-12 17:26:22 +02:00
mimadrid
73e28bc9b7 filezilla: 3.18.0 -> 3.19.0
(cherry picked from commit 15d28334a7)
2016-07-11 22:24:42 +02:00
mimadrid
cc0d5dd458 filezilla: 3.17.0.1 -> 3.18.0
(cherry picked from commit d7695b790f)
2016-07-11 22:24:33 +02:00
mimadrid
0707378780 libfilezilla: 0.5.1 -> 0.5.3
(cherry picked from commit baab0ff6d3)
2016-07-11 22:24:26 +02:00
Pascal Wittmann
f8da4daeb0 filezilla: 3.17.0 -> 3.17.0.1
(cherry picked from commit 34f4515051)
2016-07-11 22:24:20 +02:00
Pascal Wittmann
b12aae2a53 libfilezilla: 0.5.0 -> 0.5.1
(cherry picked from commit 8ce8226655)
2016-07-11 22:24:14 +02:00
Pascal Wittmann
6b7d187ee6 filezilla: 3.16.1 -> 3.17.0
(cherry picked from commit c03d7f2819)
2016-07-11 22:24:08 +02:00
Pascal Wittmann
98fa5068b3 libfilezilla: 0.4.0.1 -> 0.5.0
(cherry picked from commit 8d7e44745d)
2016-07-11 22:24:01 +02:00
Pascal Wittmann
473754295c filezilla: 3.16.0 -> 3.16.1
(cherry picked from commit de8cc270c1)
2016-07-11 22:23:54 +02:00
Pascal Wittmann
b2846708ea filezilla: 3.15.0.2 -> 3.16.0
(cherry picked from commit ba7b5ad530)
2016-07-11 22:23:46 +02:00
Pascal Wittmann
db8505c1cc libfilezilla: 0.4.0 -> 0.4.0.1
(cherry picked from commit b56c1982bd)
2016-07-11 22:23:33 +02:00
Eelco Dolstra
b8c98b4aa9 linux: Enable paravirtualized spinlocks
This prevents ticket-lock storms on Xen. See
https://blog.xenproject.org/2012/05/11/benchmarking-the-new-pv-ticketlock-implementation/.

Extracted from 7b9c493d60.
2016-07-11 15:17:44 +02:00
Eelco Dolstra
5788d8ed05 linux: Bump NR_CPUS
The default limit (64) is too low for systems like EC2 x1.* instances
or Xeon Phis, so let's increase it.

(cherry picked from commit 1cd7dbc00b)
2016-07-11 15:17:44 +02:00
Eelco Dolstra
ab4e3c7b80 amazon-image.nix: Add the ena driver
This is necessary for Enhanced Networking on x1.* instances.

(cherry picked from commit 56badfee94)
2016-07-11 15:17:44 +02:00
Eelco Dolstra
025a255ea6 ena: Init at 20160629
This adds the Amazon Elastic Network Adapter kernel module required by
EC2 x1.* instances.

(cherry picked from commit 8710672225)
2016-07-11 15:17:44 +02:00
Eelco Dolstra
0229827a15 amazon-image.nix: Add the ixgbevf driver
(cherry picked from commit 3adb769776)
2016-07-11 15:17:44 +02:00
Eelco Dolstra
e501f19620 ixgbevf: Init at 3.2.2
This driver is necessary for Enhanced Networking on most EC2 instance
types.

(cherry picked from commit 04eb7492dc)
2016-07-11 15:17:44 +02:00
Domen Kožar
984e559cdd nix-repl: 2015-09-07 -> 2016-02-28
(cherry picked from commit 5789f5875f)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-07-11 14:01:14 +02:00
Frederik Rietdijk
466303bbe4 python 3.4.4 -> 3.4.5
(cherry picked from commit f04b018111)
2016-07-10 19:19:31 +02:00
Frederik Rietdijk
1cb6bf00b9 python 3.5.1 -> 3.5.2
(cherry picked from commit 52bc8d203f)
2016-07-10 19:06:09 +02:00
Franz Pletz
f57c4b5aac ntp: 4.2.8p6 -> 4.2.8p8 (security)
Fixes CVE-2016-4953, CVE-2016-4954, CVE-2016-4955, CVE-2016-4956.

(cherry picked from commit bdf4c0d21f)
2016-07-10 10:55:08 +02:00
Franz Pletz
e37f347e55 dnsmasq: 2.75 -> 2.76 (security)
Fixes CVE-2015-8899.

(cherry picked from commit 033e593a4f)
2016-07-10 10:55:04 +02:00
Franz Pletz
9d15fdda5e graphicsmagick: 1.3.21 -> 1.3.24 (security)
Fixes CVE-2016-3716, CVE-2016-3717, CVE-2016-2317, CVE-2016-2318,
CVE-2016-5118, CVE-2016-3714, CVE-2016-3715, CVE-2016-3718.

(cherry picked from commit 22c1416192)
2016-07-10 10:54:50 +02:00
Franz Pletz
a130d36e40 vlc: 2.2.2 -> 2.2.4 (security)
Fixes CVE-2016-5108.

(cherry picked from commit 64ab827873)
2016-07-10 10:54:13 +02:00
Franz Pletz
4a9de9cb26 plib: add patch to fix CVE-2011-4620
(cherry picked from commit 9c9abc4c94)
2016-07-10 10:53:42 +02:00
Franz Pletz
e1a506a2f8 wireshark: 2.0.3 -> 2.0.4 (security)
Fixes a few security problems:
  https://www.wireshark.org/docs/relnotes/wireshark-2.0.4.html

(cherry picked from commit a950c154c1)
2016-07-10 10:53:39 +02:00
Franz Pletz
ef6c951d70 libusbmuxd, libimobiledevice: Fix CVE-2016-5104
(cherry picked from commit 77f2fff41d)
2016-07-10 10:53:37 +02:00
Franz Pletz
fdd3f94a97 libvirt: add patch to fix CVE-2016-5008 2016-07-10 10:16:58 +02:00
Vladimír Čunát
f06e94b8b8 gd: use 2.0.* from Debian to fix security 2016-07-10 10:11:27 +02:00
Vladimír Čunát
8e327a08e4 Revert "gd: major+security update 2.0.35 -> 2.2.2"
This reverts commit f48d21551b.
I give up this way; I will try to apply patches instead.
2016-07-10 10:11:27 +02:00
Franz Pletz
98c99b2e0c xercesc: 3.1.3 -> 3.1.4 (security)
Fixes CVE-2016-4463.

(cherry picked from commit 7e9c1a30b3)
2016-07-09 23:30:37 +02:00
Vladimír Čunát
f48d21551b gd: major+security update 2.0.35 -> 2.2.2
Fixes CVE-2015-8874 and CVE-2016-5767 in 2.2.1 -> 2.2.2
Hopefully any breakages will be build-time only.
2016-07-09 17:34:15 +02:00
Robert Helgesson
16e753e54d ddclient service: use environment.etc
The ddclient daemon requires that the configuration file is only
accessible by the ddclient user. This since it typically contains login
information.

(cherry picked from commit 9f4775dbb5)
2016-07-09 14:56:28 +02:00
Franz Pletz
19cf2e9270 Add missing matainer ralith, fix evaluation
Caused by 466e7feece.
2016-07-09 14:17:58 +02:00
Tobias Geerinckx-Rice
6ac1abc6f0 borgbackup: 1.0.4 -> 1.0.5
This update slipped in between 1.0.4 and me pushing 276448a. Upstream says:

This is a critical bugfix release - upgrading to it is strongly recommended!
Please read https://github.com/borgbackup/borg/blob/1.0.5/docs/changes.rst.

(cherry picked from commit 3970c6da5e)
2016-07-09 13:17:44 +02:00
Tobias Geerinckx-Rice
db59a2a8ad borgbackup: 1.0.3 -> 1.0.4
Take Pypi's hint and switch to GitHub.

(cherry picked from commit 276448a477)
2016-07-09 13:17:27 +02:00
roblabla
466e7feece matrix-synapse: update 0.12.0 -> 0.16.1-r1
Fixes critical security issue:

  https://matrix.org/blog/2016/07/08/critical-security-vulnerability-in-synapse-0-12-to-0-16-1-inclusive/

See #16798.

(cherry picked from commit be21e16652)
(cherry picked from commit 091a911bcd)
(cherry picked from commit 26da79230b)
(cherry picked from commit 65005fe302)
(cherry picked from commit f77af9aa5e)
2016-07-09 03:45:40 +02:00
Anders Lundstedt
6320299e16 nixos: fix avahi connectivity for shairport-sync module
The shairport-sync service currently fails to start with the error

shairport avahi_entry_group_new failed

This problem seems to have been introduced by

cdd7310a50

After some trial and error I concluded that the attached commit is a minimal
fix.

(cherry picked from commit 5f3c4bd11e)
2016-07-08 18:11:48 +02:00
Franz Pletz
89d1d487b5 thunderbird-bin: Fix cherry pick fail
Fixes version bump in 094c6ceff0 due to
missing backport of changes to thunderbird-bin on master.

See #16659.

(cherry picked from commit eb4e6b821b)
2016-07-08 17:40:22 +02:00
Vladimír Čunát
eb764fdd44 pythonPackages.breathe: init at 4.2.0
(cherry-picked from b732af00bb)
2016-07-08 15:02:29 +02:00
Ram Kromberg
c2050a492c libpng: 1.2.55 > 1.2.56 CVE-2015-8540 (#16793)
(cherry picked from commit 56791034f6)
2016-07-08 10:55:55 +02:00
taku0
094c6ceff0 thunderbird-bin: 45.1.1 -> 45.2.0 (#16659)
(cherry picked from commit 4774abecb6)
2016-07-08 10:55:28 +02:00
Neil Mayhew
f13e916223 symbola: fix hash mismatch due to new upstream release
Upstream releases are made in-place, ie they update the same URL
rather than creating a new one.

(cherry picked from commit 7a8de0fdcf)
2016-07-07 16:16:09 +02:00
Franz Pletz
67544d2a9f php: fix hashes for 5.5 and 5.6
(cherry picked from commit 5c59a30191)
2016-07-07 14:29:56 +02:00
Franz Pletz
3d4d093b6e php55: 5.5.36 -> 5.5.37 (security)
See https://secure.php.net/ChangeLog-5.php#5.5.37.

(cherry picked from commit d6680b73c3)
2016-07-07 14:29:52 +02:00
Franz Pletz
554782ebc6 php56: 5.6.22 -> 5.6.23 (security)
See https://secure.php.net/ChangeLog-5.php#5.6.23.

(cherry picked from commit 56bbc4cc61)
2016-07-07 14:29:23 +02:00
Alexey Shmalko
0546a4aa57 guake: add gconf to propagatedUserEnvPkgs
This fixes #15978.

(cherry picked from commit 2bd7855c46)
2016-07-06 01:22:21 +03:00
Joachim Fasting
26c327c35d seabios: 1.7.5.2 -> 1.9.2
Also fixes the build

(cherry picked from commit b148be7ff9)
2016-07-05 16:17:36 +02:00
Al Zohali
057421e8e2 nix.requireSignedBinaryCaches: description fix
(cherry picked from commit a227bd4e3b)

[Bjørn: The description says the default is "disabled" (wrong).]
2016-07-05 13:11:13 +02:00
Vincent Laporte
17a777c8ed zim: 0.63 -> 0.65
(cherry picked from commit 13c6b9ba85)

[Bjørn: Without this commit, zim fails to start:
"ERROR: Failed running: $PWD/zim", where $PWD is the (expanded) current
working directory. Fix by making sys.argv[0] an absolute path to zim.]
2016-07-05 10:29:42 +02:00
Lancelot SIX
cc3bae4b92 Merge pull request #16595 from lancelotsix/update_mysql55_url
pkgs.mysql55: update download URL
2016-07-04 22:45:32 +02:00
Tobias Geerinckx-Rice
068d53cb5c geolite-legacy: 2016-06-30 -> 2016-07-04
(cherry picked from commit 17de009046)
2016-07-04 22:18:54 +02:00
Eelco Dolstra
86662a57a5 firefox-esr: Fix build
http://hydra.nixos.org/build/36668046
(cherry picked from commit 0967b0d303)
2016-07-04 14:33:42 +02:00
Eelco Dolstra
b0e30ba444 firefox-esr: 45.1.1 -> 45.2.0
(cherry picked from commit 0c832dceb2)
2016-07-04 14:33:24 +02:00
Eelco Dolstra
3e67bd11d8 firefox: 47.0 -> 47.0.1
(cherry picked from commit 653be3c802)
2016-07-04 14:32:10 +02:00
Franz Pletz
1e1d6ecc1d linux_4_3: Remove, not maintained anymore
(cherry picked from commit 7e9affa7ee)
2016-07-03 09:03:39 +02:00
Franz Pletz
8087fb594e linux: 3.10.101 -> 3.10.102
(cherry picked from commit eed51eccef)
2016-07-03 08:43:48 +02:00
Franz Pletz
de0a27422b linux: 3.12.57 -> 3.12.61
(cherry picked from commit b7e0b118d9)
2016-07-03 08:43:37 +02:00
Franz Pletz
473a643326 linux: 3.14.65 -> 3.14.73
(cherry picked from commit 0387eddb51)
2016-07-03 08:43:24 +02:00
Franz Pletz
0a8eccc471 linux: 3.18.29 -> 3.18.36
(cherry picked from commit 6165af4db2)
2016-07-03 08:43:16 +02:00
Franz Pletz
553900fc7e linux: 4.1.25 -> 4.1.27
(cherry picked from commit 5806b185bd)
2016-07-03 08:43:06 +02:00
Franz Pletz
257fcdd764 linux: 4.4.13 -> 4.4.14
(cherry picked from commit 4a942499b4)
Includes fixes for CVE-2016-{4997,4998}.
2016-07-03 08:42:01 +02:00
Frederik Rietdijk
6317da4000 pythonPackages.setuptools: fix for use in buildEnv
pythonPath needs to be set for it to be included in buildEnv.
This will also fix tox.

(cherry picked from commit def310df45)
2016-07-02 23:45:57 +02:00
mimadrid
708143853e thunderbird: 45.1.0 -> 45.2.0
(cherry picked from commit 0dfaa1e8bd)
It fixes some security problems:
https://www.mozilla.org/en-US/security/advisories/mfsa2016-49/
2016-07-02 17:07:35 +02:00
Rickard Nilsson
953fe5c24a libvirt: Fix libsystemd dependency
(cherry picked from commit 8404d626ad)
2016-07-01 20:20:46 +02:00
Rickard Nilsson
ad2137eeb0 libvirt and pythonPackages.libvirt: 1.3.3 -> 1.3.5
(cherry picked from commit b43268bfeb)
2016-07-01 20:18:14 +02:00
Franz Pletz
eb57c2c9af libvirt: enable zfs on linux
(cherry picked from commit 26964c2fb5)
2016-07-01 20:16:08 +02:00
Alexander Ried
e5b91151e7 libvirt: add comment about updating
(cherry picked from commit e898c4f1d5)
2016-07-01 20:14:55 +02:00
Franz Pletz
3fe1d396bd libvirt: 1.3.2 -> 1.3.3
(cherry picked from commit 862875f9cd)
2016-07-01 20:14:49 +02:00
Rickard Nilsson
3f49faa6aa nixos/libvirtd: Don't use the --daemon flag now that we use the 'notify' service type
(cherry picked from commit 7d67a4da99)
2016-07-01 19:10:21 +02:00
Rickard Nilsson
462d3747b1 nixos/elasticsearch: Set a group on the user
This fixed a problem I had when running ElasticSearch in an LXC
container, and it doesn't hurt using a dedicated group instead of
nogroup anyway.

(cherry picked from commit 9facb7078b)
2016-07-01 19:10:16 +02:00
Rickard Nilsson
adc5760bb2 nixos/libvirt: Syntactic-only refactoring
(cherry picked from commit a0c0f63811)
2016-07-01 19:09:56 +02:00
Rickard Nilsson
bb52e1449d nixos/libvirt: Add virtlogd and virtlockd systemd sockets and services
(cherry picked from commit 301b4e9018)
2016-07-01 19:09:48 +02:00
Rickard Nilsson
b9397df732 nixos/libvirt: Adapt libvirtd.service to upstream sources
(cherry picked from commit 1b54e48561)
2016-07-01 19:09:44 +02:00
Rickard Nilsson
0a16a4e5b1 nixos/libvirt: Remove non-functional service libvirt-guests
It doesn't have a start script, so it hasn't worked at all in
a long time.

(cherry picked from commit 37f4889851)
2016-07-01 19:09:17 +02:00
Frederik Rietdijk
b1aa70a78c python: fix modules in buildEnv, closes #16646
Python 2.7 on Nix is stripped of some modules, which can be added when
needed. This was broken with python.buildEnv.
2016-07-01 16:25:21 +02:00
Frederik Rietdijk
240f55fab6 Python: fix the wheel package 2016-07-01 14:33:28 +02:00
Bjørn Forsman
b5a905beac nixos/update-users-groups.pl: print UIDs and GIDs
Instead of showing this output from "nixos-rebuild switch":

  warning: not applying GID change of group ‘munin’
  warning: not applying UID change of user ‘ntp’

print this:

  warning: not applying GID change of group ‘munin’ (95 -> 102)
  warning: not applying UID change of user ‘ntp’ (3 -> 179)

This makes it possible for users to take action and fixup the UIDs/GIDs
that NixOS won't touch.

(cherry picked from commit 6e528893a8)
2016-07-01 14:23:32 +02:00
Peter Simons
eb4cfc545e ghc-8.0.1.nix: cosmetic
(cherry picked from commit 94b6127f8e)
2016-07-01 10:28:18 +02:00
Nikolay Amiantov
c0fc272230 haskell.packages.ghc801.ghc: upstream tarball updated
(cherry picked from commit c366ab933d)
2016-07-01 10:28:17 +02:00
Nikolay Amiantov
e2c04f25f6 haskell.packages.ghc801: 8.0.0.20160421 -> 8.0.1
(cherry picked from commit 3098547ebc)
2016-07-01 10:28:17 +02:00
Peter Simons
d615935dab ghc: update 8.0.x version to rc4
(cherry picked from commit bdaf650336)
2016-07-01 10:28:17 +02:00
Peter Simons
66b0b2817d ghc: update 8.0.x pre-release from rc2 to rc3
(cherry picked from commit 2422ae0838)
2016-07-01 10:28:17 +02:00
Bjørn Forsman
7bcd427ca9 nixos/gnome-desktop: enable colord service
Fixes this (line wrapped):

  $ gnome-control-center
  [... click on the "Color" item ...]
  (gnome-control-center:3977): color-cc-panel-WARNING **: \
    The name org.freedesktop.ColorManager was not provided by any .service files

With this patch applied, the above warnings are not printed and the GUI
shows some devices that can be managed (my printer and display). Without
this patch the GUI is empty (non-functional).

(cups will also complain in the journal with a similar message when
doing print jobs, without this patch.)

(cherry picked from commit 66ee7a4c46)
2016-07-01 07:34:40 +02:00
Nikolay Amiantov
be4e63004f colord service: init
(cherry picked from commit 4e58b33dee)

[Bjørn: Add ./services/x11/colord.nix to module-list.nix, was missing in
the above commit. (It was added as part of 776845bbeb
("xiccd: init at 0.2.2") though.)
]
2016-07-01 07:34:19 +02:00
Nikolay Amiantov
d445ad758a colord: fix udev rules, add sane support
(cherry picked from commit cf9ddb27d6)
2016-07-01 07:24:23 +02:00
Tobias Geerinckx-Rice
f4aa57ac91 libpsl: list 2016-02-25 -> 2016-06-30
(cherry picked from commit dccac25d5f)
2016-06-30 17:20:26 +02:00
Tobias Geerinckx-Rice
956e33169a geolite-legacy: 2016-06-20 -> 2016-06-30
(cherry picked from commit d6871a2c7a)
2016-06-30 15:41:26 +02:00
Bjørn Forsman
48ded04143 xpra: 0.17.3 -> 0.17.4 (important fixes)
(cherry picked from commit c5b7a9ffeb)
2016-06-30 15:27:29 +02:00
Bjørn Forsman
f2a7816225 xpra: fix some runtime issues
* Add missing modules (fixes warnings and errors).
* Step 1 to unbreak starting Xvfb by making xpra invoke it with
  valid log dir ($HOME/.xpra). Without this fix, it is invoked with
  ~/.xpra, which Xvfb doesn't know how to interpret and uses it
  literally (fail). Step 2 will be fixing an Xvfb permission issue:
  "xf86OpenConsole: Cannot open virtual console 1 (Permission denied)".
* Use XPRA_INSTALL_PREFIX to make it find its icons.

(cherry picked from commit 6d48539fdb)
2016-06-30 15:27:29 +02:00
Bjørn Forsman
37134a4f6b pythonPackages.lz4: init at 0.8.2
Needed for xpra (better compression => better performance).

(cherry picked from commit d71ef00b9d)
2016-06-30 15:27:29 +02:00
Bjørn Forsman
00e58f6557 xpra: 0.17.0 -> 0.17.3
(cherry picked from commit ce8c1ab5e0)
2016-06-30 15:27:29 +02:00
Bjørn Forsman
7efdca8d3d xpra: add missing python 'rencode' module
Fixes this:

  $ xpra [...]
  2016-06-23 17:40:03,407 Warning: rencode import failed:
  2016-06-23 17:40:03,407  No module named rencode
  [...]

(cherry picked from commit 34363d77b0)
2016-06-30 15:27:28 +02:00
David Guibert
ba017747b0 xpra: 0.16.2 -> 0.17.0
(cherry picked from commit 8601f69072)

[Bjørn: 0.16.x is unsupported. Better switch to 0.17.x, like upstream
suggests.]
2016-06-30 15:27:17 +02:00
Emery Hemingway
019c6a15b5 qtox: 1.3.0 -> 1.4.1
(cherry picked from commit c544cbca42)
2016-06-30 09:22:48 +02:00
Edward Tjörnhammar
62e738fb10 qtox: 1.2.4 -> 1.3.0
(cherry picked from commit 7da494b8ae)
2016-06-30 09:22:39 +02:00
Lancelot SIX
47395a0bf1 pkgs.mysql55: update download URL
Point to the archive URL since the 5.5.48 release is not available
anymore on the main URL.
2016-06-29 14:10:19 +02:00
Domen Kožar
1da05dfe43 fix eval 2016-06-29 10:45:19 +02:00
Ruslan Babayev
431b2bbc83 dpdk: pktgen: odp-dpdk: upgrades (#16586)
* dpdk: sync with master

* dpdk: separate configure phase

* pktgen: 3.0.00 -> 3.0.04

* pktgen: add withGtk build option

* odp-dpdk: init at 1.10.1.0

Signed-off-by: Ruslan Babayev <ruslan@babayev.com>
2016-06-29 10:33:29 +02:00
Shea Levy
1e159c7b2c Backport src 1.11 2016-06-28 10:26:42 -04:00
Rickard Nilsson
ff10a7dd40 spotify: 1.0.32.94 -> 1.0.32.96
(cherry picked from commit 58e732978f)
2016-06-28 15:54:16 +02:00
Joachim Fasting
8bf31d7d27 torbrowser: 6.0.1 -> 6.0.2
(cherry picked from commit 9675384c7b)
2016-06-25 14:32:45 +02:00
Joachim Fasting
52e07c5b91 torbrowser: 6.0 -> 6.0.1
(cherry picked from commit 8fc6ca75a9)
2016-06-25 14:32:44 +02:00
Joachim Fasting
00d22e311c torbrowser: explicitly set paths to torrc-defaults and tor
This patch fixes an issue introduced by b897f825942b63ab790cad9ed66c8a79cbb3fc2d
where the bundled tor fails to run.

The error message claims that it cannot communicate with tor, but what actually
happens is that tor never runs at all, because it is invoked with a non-existent
rc file.  Specifying an absolute path to the torrc-defaults file fixes the
problem.  For good measure, we specify an absolute path to the tor executable
itself as well; we want as little autodetection logic as possible.

Note that users of torbrowser *must* remove the existing `~/.torbrowser4` folder
for this to take effect, otherwise torbrowser will continue to use extension
data from the previous release (this is why some existing users were able to
successfully use the new torbrowser version, see
https://github.com/NixOS/nixpkgs/pull/15854).

(cherry picked from commit 961164a8a7)
2016-06-25 14:32:44 +02:00
Mayeu - Cast
e38910e456 torbrowser: 5.5.5 -> 6.0 (#15854)
(cherry picked from commit 4e20fa47e0)
2016-06-25 14:32:43 +02:00
Alexander Ried
eb840acd0b expat: 2.1.1 -> 2.2.0, /cc 16477
Security patches have been integrated upstream, and
(vcunat:) and apparently it includes more security fixes.

(cherry picked from commit 964fd18676)
2016-06-25 09:23:06 +02:00
Tim Steinbach
0202cf7b2e kernel: 4.6.2 -> 4.6.3
(cherry picked from commit 125ffff089)
2016-06-24 20:19:17 -04:00
Nikolay Amiantov
fcd0923564 nixos-install: fix SSL certificate error
(cherry picked from commit 1193790b95)
2016-06-24 19:18:34 +03:00
Michael Raskin
22bb7e8c0b Firefox: 46.0.1 -> 47.0
(cherry picked from commit d88aa14c6e)
Reason: the update includes security fixes.
2016-06-24 08:50:55 -07:00
Vladimír Čunát
f1492d05dd libpng: 1.6.20 -> 1.6.21
(cherry picked from commit 41d3aa5cd2)
Reason: needed to update Firefox to 47.0.
2016-06-24 08:50:48 -07:00
Kyle McKean
0067fa0538 collectd: add snmp support
(cherry picked from commit 544d9a7620)
2016-06-23 16:55:43 +02:00
Vincent Laporte
e1570f766f coq: 8.5 -> 8.5pl1
(cherry picked from commit a036fda544)
2016-06-22 19:09:18 -04:00
Eric Sagnes
d5c61f3e15 php: add meta.platforms 2016-06-22 20:00:14 +01:00
Christopher Lübbemeier
9b4dad2e9a spotify: 1.0.28.89 -> 1.0.32.94 2016-06-22 19:54:48 +01:00
Bjørn Forsman
5c8d9bacd0 nixos/gnome-desktop: fix adding printers with GNOME Control Center
...by adding system-config-printer to services.dbus.packages (if
services.printing.enable is true).

Without this patch, trying to add a printer will result in a little dialog
saying "Failed to add new printer" and gnome-control-center will print this to
the terminal (line wrapped):

(gnome-control-center:3546): printers-cc-panel-WARNING **: \
  GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: \
  The name org.fedoraproject.Config.Printing was not provided by any .service files

system-config-printer supplies the "org.fedoraproject.Config.Printing" dbus
service, thus fixing the problem.

(cherry picked from commit a156a8ab1a)
2016-06-22 14:23:07 +02:00
Bjørn Forsman
83c050aa40 system-config-printer: unbreak dbus service (again)
The service file refers to /usr/bin/... instead of a Nix store path.
Fix it.

The original fix was wrongly removed in commit 03353ce6ff
("system-config-printer: 1.3.12 -> 1 5.7"). We can remove this fixup on
the _next_ upstream release.

(cherry picked from commit b741df943f)
2016-06-22 14:23:07 +02:00
Bjørn Forsman
67d0dd7717 autorevision: init at 1.14
A shell script for extracting revision information useful in
release/build scripting from repositories.

(cherry picked from commit 6536804848)
2016-06-21 15:24:37 +02:00
Joachim Fasting
3b12b30086 Merge pull request #16373 from jb55/fix/wkhtmltopdf-16.03
wkhtmltopdf: fix openssl bug (#15443)
2016-06-21 03:20:09 +02:00
Eric Merritt
ea170eddd5 wget: apply patch for cve-2016-4971 vulnerability
Patch pulled from: https://bugzilla.redhat.com/show_bug.cgi?id=1343666

Backport of #16368.
2016-06-20 22:13:41 +02:00
William Casarin
0472af9f72 wkhtmltopdf: fix openssl bug (#15443)
(cherry picked from commit cac460f6c4)
2016-06-20 09:57:58 -07:00
Scott R. Parish
4b6a974af9 chromium: Update to latest stable, beta, and dev channels
stable 51.0.2704.63 => 51.0.2704.103
beta   51.0.2704.63 => 52.0.2743.41
dev    52.0.2743.10 => 53.0.2767.4

This addresses 15 security fixes, including:

 * High   CVE-2015-1696: Cross-origin bypass in Extension bindings. Credit to
                         anonymous.
 * High   CVE-2015-1697: Cross-origin bypass in Blink. Credit to Mariusz
                         Mlynski.
 * Medium CVE-2016-1698: Information leak in Extension bindings. Credit to
                         Rob Wu.
 * Medium CVE-2016-1699: Parameter sanitization failure in DevTools. Credit
                         to Gregory Panakkal.
 * Medium CVE-2016-1700: Use-after-free in Extensions. Credit to Rob Wu.
 * Medium CVE-2016-1701: Use-after-free in Autofill. Credit to Rob Wu.
 * Medium CVE-2016-1702: Out-of-bounds read in Skia. Credit to cloudfuzzer.

See: http://googlechromereleases.blogspot.com/2016/06/stable-channel-update.html
(cherry picked from commit 1f1f0f049b)
Reason: 18 Security fixes for the stable channel.
2016-06-20 18:49:18 +02:00
Bjørn Forsman
cff5f2ea34 microscheme: 0.9.2 -> 0.9.3
(cherry picked from commit 099d3dc43b)
2016-06-20 16:31:18 +02:00
Tobias Geerinckx-Rice
7348540422 geolite-legacy: 2016-06-13 -> 2016-06-20
(cherry picked from commit 5dd3dbdec4)
2016-06-20 16:03:08 +02:00
Anders Papitto
c204b0d233 gdb: 7.11 -> 7.11.1
(cherry picked from commit e97e6061f7)
2016-06-20 14:41:21 +02:00
Eelco Dolstra
1330016a32 linux: 4.4.12 -> 4.4.13
(cherry picked from commit 453086a15f)
2016-06-20 14:40:50 +02:00
Eelco Dolstra
a274dba845 debian: 7.10 -> 7.11, 8.4 -> 8.5
(cherry picked from commit 5fc64c4baa)
2016-06-20 14:40:44 +02:00
Edward Tjörnhammar
a96c3088f8 jonprl: corrected sha change
(cherry picked from commit f027aa2059)
2016-06-19 10:46:45 +02:00
michael bishop
e53d74d6fc haskell docs: now that hydra pushes directly to S3, it cant function as a binary cache
(cherry picked from commit 410aad942f)
2016-06-19 09:02:42 +02:00
Lluís Batlle i Rossell
256ebc4de1 Update ffmpeg-full to 3.0.2
(cherry picked from commit 3a61de4e69)
2016-06-18 15:50:59 +02:00
Lluís Batlle i Rossell
15235f5ae3 x265: enable parallel build
(cherry picked from commit 726ed32bfd)
2016-06-18 15:50:59 +02:00
Anthony Cowley
3d5ef21601 x265: 1.7 -> 1.9
Unblocks #13822

(cherry picked from commit 6bc1aed873)
2016-06-18 15:50:59 +02:00
Lluís Batlle i Rossell
f827da0136 Update x264 to a recent snapshot (1,5 years update)
(cherry picked from commit 3078537b6a)
2016-06-18 15:50:59 +02:00
Anthony Cowley
19f3e09c06 ffmpeg-full: 2.8.5 -> 3.0
Also changes the homepage URL to https.

(cherry picked from commit 2f6f3c7b55)
2016-06-18 15:50:59 +02:00
Sander van der Burg
af412f29c8 disnix-module: split dysnomia's functionality into a separate module so that it can be used without Disnix and remove the hacky/obsolete avahi publisher
(cherry picked from commit 8fccaa9011)
2016-06-17 09:26:20 +00:00
Robert Helgesson
ea672e3bb8 perl-IO-Socket-SSL: fix default path to SSL certs
(cherry picked from commit 98096004ce)
2016-06-17 11:04:32 +02:00
Robert Helgesson
4ac7425f18 perl-IO-Socket-SSL: 2.020 -> 2.027
(cherry picked from commit e612954896)
2016-06-17 11:04:32 +02:00
Sander van der Burg
ca97cce179 DisnixWebService: 0.5 -> 0.6
(cherry picked from commit fcf72b82ae)
2016-06-17 08:17:35 +00:00
Sander van der Burg
98fda7148e disnixos: 0.4.1 -> 0.5
(cherry picked from commit 16bbfe893b)
2016-06-16 22:17:42 +00:00
Sander van der Burg
50ce587b93 disnix: 0.5 -> 0.6
(cherry picked from commit b4315e523f)
2016-06-16 21:03:30 +00:00
Sander van der Burg
18b0e0e25a dysnomia: 0.5.1 -> 0.6
(cherry picked from commit c5faa7c83d)
2016-06-16 15:47:04 +00:00
Cole Mickens
e3c29b27d8 mitmproxy: change source url
(cherry picked from commit e9b55a03d3)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-06-16 14:24:53 +01:00
taku0
8218d00c42 flashplayer: 11.2.202.621 -> 11.2.202.626
(cherry picked from commit c802f56639)

https://helpx.adobe.com/security/products/flash-player/apsa16-03.html
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4171
2016-06-16 15:10:54 +02:00
Vladimír Čunát
31a2117c61 texlive: add xindy binary
Fixes #16207.

(cherry picked from commit 7a6ec0a0ee)
It seems very unlikely to break anything.
2016-06-16 12:57:59 +02:00
Tobias Geerinckx-Rice
2f1174b6d0 tzdata: 2015g -> 2016e 2016-06-14 19:25:59 +02:00
Tobias Geerinckx-Rice
2f430d2eae geolite-legacy: 2016-06-08 -> 2016-06-13
(cherry picked from commit 156a14d153)
2016-06-14 19:06:44 +02:00
zimbatm
7d4dcf04d4 virtualbox: give full url for downloading the ext (#15869)
The user only has to agree on the terms and conditions before
downloading the file. We might as well give him access to the full URL
by default.
(cherry picked from commit a6593a16f7)
2016-06-13 22:38:29 +02:00
Michael Raskin
b984ab19ae virtualboxGuestAdditions: update hash for virtualbox 5.0.20
(cherry picked from commit fde921578a)
2016-06-13 22:38:15 +02:00
Michael Raskin
76ebea5f53 virtualbox: 5.0.14 -> 5.0.20
(cherry picked from commit 4f5e4ad69c)
2016-06-13 22:38:05 +02:00
Herwig Hochleitner
f9e2b4cc15 virtualbox: 5.0.12 -> 5.0.14
(cherry picked from commit bd3ca11e0d)
2016-06-13 22:37:05 +02:00
Rob Vermaas
fd60751ce0 Fix hash for Debian 8.4 Jessie 2016-06-13 12:20:33 +00:00
Rob Vermaas
eab6c3a636 nlopt: remove broken attribute, build works fine. 2016-06-13 10:46:01 +00:00
Shea Levy
9e959ce644 linux 4.6.1 -> 4.6.2
(cherry picked from commit 4fbafb2395)
2016-06-10 09:30:22 -04:00
taku0
6daa706c06 firefox-bin: 46.0.1 -> 47.0
(cherry picked from commit 697437c8e7)
2016-06-09 22:32:01 +02:00
taku0
cde6bb63c0 firefox-bin: fixed missing icon
(cherry picked from commit 07a83f226e)
2016-06-09 22:32:00 +02:00
taku0
d77e65360e firefox-bin: 45.0.2 -> 46.0.1
(cherry picked from commit 90f5be3133)
2016-06-09 22:31:59 +02:00
Vladimír Čunát
4959bd75db io: fix evaluation by adding maintainers.vrthra 2016-06-09 20:51:32 +02:00
Joachim Fasting
0e0bb8a173 grsecurity: simplify preConfigure
(cherry picked from commit 39db90eaf6)
2016-06-09 15:08:26 +02:00
Joachim Fasting
f1d7572a5f build-support/grsecurity: simplify the grsecurityOverrider
Adding inputs required by gcc plugins to the ambient environment is sufficient.

(cherry picked from commit 27035365ec)

Fixes the build error: https://hydra.nixos.org/build/36725847/nixlog/1/raw
2016-06-09 15:08:26 +02:00
Vladimír Čunát
d6c4dc1094 Merge #16045: kernel: 4.6.0 -> 4.6.1
(cherry picked from commit 20c2ce4954)
2016-06-09 15:02:58 +02:00
Vladimír Čunát
e61983e6a5 Merge #16044: kernel: 4.1.20 -> 4.1.25
(cherry picked from commit c0895be3ee)
2016-06-09 15:02:53 +02:00
Vladimír Čunát
8eb439701e Merge #16043: kernel: 4.4.11 -> 4.4.12
(cherry picked from commit f9310c2eee)
2016-06-09 15:02:40 +02:00
Rahul Gopinath
dd06c4e52b io: 2013.12.04 -> 2015.11.11
Updating IO language to latest version

(cherry picked from commit c860de987d)

This also fixes the build
2016-06-09 14:17:52 +02:00
Eelco Dolstra
72b4009367 php56: update to 5.6.22 2016-06-09 11:58:43 +02:00
Tobias Geerinckx-Rice
1207ac1aaf geolite-legacy: 2016-06-06 -> 2016-06-08 2016-06-08 19:55:13 +02:00
Eelco Dolstra
55b2e62cd0 mesa: Use symlinks instead of hard links for the DRI/vdpau drivers
This reduces the size of the drivers output from 193 MiB to 44 MiB.

(cherry picked from commit 1a52fdc3c6)
2016-06-07 19:38:21 +02:00
Domen Kožar
f199be0faf Merge pull request #15963 from abuibrahim/release-16.03
pktgen: build with the same CFLAGS as dpdk
2016-06-07 14:28:57 +01:00
Matthias Beyer
3e3f2d9f55 postgresql: 9.5.1 -> 9.5.3, potentially fixes CVE-2016-2193, CVE-2016-3065
(cherry picked from commit 0ac6b862ac)
2016-06-07 15:09:08 +02:00
Joachim Fasting
184fcf6f99 grsecurity: 4.5.5-201605291201 -> 4.5.6-201606051644
(cherry picked from commit 72899d92d0)
2016-06-07 15:08:32 +02:00
Joachim Fasting
7336a66637 grsecurity: 4.5.5-201605211442 -> 4.5.5-201605291201
(cherry picked from commit bfefc54bc5)
2016-06-07 15:08:31 +02:00
Joachim Fasting
c5e10541fb Merge pull request #16028 from grahamc/patch-1
gemconfig: rmagick requires which as of 2.15.4 (16.03)
2016-06-07 14:35:59 +02:00
Graham Christensen
55d6354b1b gemconfig: rmagick requires which as of 2.15.4 (16.03) 2016-06-06 15:58:48 -05:00
Tobias Geerinckx-Rice
a24903b558 geolite-legacy: 2016-02-25 -> 2016-06-06 2016-06-06 16:23:09 +02:00
Vladimír Čunát
8d8fd460e1 libexttextcat: homepage has moved
(cherry picked from commit ab5a5f760f)
2016-06-06 11:10:54 +02:00
koral
87fe38fd0e rmlint: 2.4.2 -> 2.4.4
(cherry picked from commit 92471cbc8f)
2016-06-05 17:41:01 +02:00
koral
3104d1a871 moreutils: 0.58 -> 0.59
(cherry picked from commit 179f5e9500)
2016-06-05 17:21:26 +02:00
Ruslan Babayev
82fe7aca1e pktgen: build with the same CFLAGS as dpdk 2016-06-03 11:04:22 -07:00
Eelco Dolstra
3111985677 Explicitly specify the subsystem for /dev/vboxguest
Otherwise systemd gets confused and forgets about device units after
reloading.

https://github.com/NixOS/nixops/issues/391
https://github.com/systemd/systemd/issues/3423
(cherry picked from commit 7c19b395eb)
2016-06-03 00:43:50 +02:00
Graham Christensen
44079251e1 nvidia-x11: 361.42 -> 361.45.11 (close #15885)
(cherry picked from commit 180417f385)
2016-06-03 00:19:27 +02:00
Bjørn Forsman
bc64569195 sam-ba: init at 2.16
Programming tools for Atmel SAM3/7/9 ARM-based microcontrollers.

(I've only runtime tested the 64-bit binary, not the 32-bit one.)

(cherry picked from commit fbde3a7452,
plus removing ".lib" from "stdenv.cc.cc.lib" to be compatible with
release-16.03.)
2016-06-02 12:57:49 +02:00
Domen Kožar
63b97855f1 Merge pull request #15907 from abuibrahim/release-16.03
Release 16.03
2016-06-01 23:54:59 +01:00
Ruslan Babayev
179a099704 add DPDK pktgen 2016-06-01 14:04:00 -07:00
Ruslan Babayev
a0912e7093 dpdk: make primary output usable as RTE_SDK 2016-06-01 00:37:04 -07:00
Ruslan Babayev
f0006ff228 dpdk: separate kernel modules 2016-05-31 22:31:53 -07:00
Ruslan Babayev
d1934f6741 dpdk: move apps to examples output 2016-05-31 22:27:36 -07:00
Ruslan Babayev
d08fa96079 dpdk: install examples to bin 2016-05-31 22:25:13 -07:00
Ruslan Babayev
3780426629 dpdk: add pkgconfig to buildInputs
This unbreaks vm_power_mgr example.
2016-05-31 22:24:12 -07:00
Tuomas Tynkkynen
d9a80ed0a5 NixOS installer tests: Add a test using Gummiboot
Issue #14956

(cherry picked from commit 1feed61164)
2016-05-31 17:04:24 +02:00
Bjørn Forsman
009fa8e588 zbar: fix camera support (enables 'zbarcam' tool)
Add Debian patches (with fetchpatch) to make things work. Among other
things, the patches port the application from V4L to V4L2.

This increases the closure size from 729 MiB to 730 MiB.

(cherry picked from commit 65ccda5b96)
2016-05-31 09:32:48 +02:00
aszlig
00682602ae Merge pull request #15762 (Chromium update)
This is the original pull request plus some commits from me to bring all
channels to the latest versions, because the fixed security
vulnerabilites might not be fixed in the dev version we had before.

I've tested the whole changeset on my Hydra at:

https://headcounter.org/hydra/eval/322006

Thanks to @srp for the initial commit and thus implicitly also for the
security notice.

Cc: @abbradar
(backported from commit b5f95a5303)
Reason: Lots of security fixes (see e2d067d)
2016-05-28 21:26:35 +02:00
Eelco Dolstra
15e7e6e561 Term::ReadLine::Gnu: Fix finding libncursesw
Fixes

  Cannot do `initialize' in Term::ReadLine::Gnu at /nix/store/8kld1l6cn75lh0csw8wq6zbccallkr73-nixos-test-driver/bin/.nixos-test-driver-wrapped line 115.

when running NixOS VM tests interactively.

(cherry picked from commit 012313f253)
2016-05-27 13:42:04 +02:00
Eelco Dolstra
a80c23228f Improve types.listOf error message
If an option value is not a list, you now get

  The option value `bla' in `file.nix' is not a list.

rather than

  value is a string while a list was expected, at .../nixpkgs/lib/lists.nix:49:56

(cherry picked from commit b056948c00)
2016-05-27 13:41:45 +02:00
Eelco Dolstra
08ab2e49f8 thunderbird: 45.0 -> 45.1.0
(cherry picked from commit fa1b9ec1e6)
2016-05-27 13:41:19 +02:00
Eelco Dolstra
a4c9f82bdc nixos-generate-config: Enable strictness
(cherry picked from commit c6ab4ab206)
2016-05-27 13:41:09 +02:00
Eelco Dolstra
4701211bf8 Fix failure to start old containers
The existence of $root/var/lib/private/host-notify as a socket
prevented a bind mount:

  container foo[8083]: Failed to create mount point /var/lib/containers/foo/var/lib/private/host-notify: No such device or address

(cherry picked from commit b37d6d8996)
2016-05-27 13:40:50 +02:00
Eelco Dolstra
0559af6262 KDE test: Bump kdm start timeout
Hopefully this will fix random failures like
http://hydra.nixos.org/build/36249079.

(cherry picked from commit b786b00023)
2016-05-27 13:39:56 +02:00
Joachim Fasting
31ad93861a Merge pull request #15727 from bendlas/update-dropbox-stable
dropbox: [nixos-stable] use qt55, fixes #15703
2016-05-27 13:01:32 +02:00
Vladimír Čunát
16e9b2d121 nixpkgs manual: fix #15735: correct dash rendering
(cherry picked from commit 88a6ce17ef)
2016-05-27 10:41:55 +02:00
Joachim Fasting
b73a9c1f66 Merge pull request #15708 from grahamc/facetimehd-16.03
Backport facetimehd updates to 16.03
2016-05-27 00:49:15 +02:00
Marius Bakke
17aa9bdd97 openvswitch: 2.3.1 -> 2.3.3 (CVE-2016-2074) (#15724) 2016-05-26 22:00:29 +02:00
Graham Christensen
5f26258fc1 facetimehd, facetimehd-firmware: Add grahamc as a maintainer
(cherry picked from commit f993e6543a)
2016-05-26 14:14:17 -05:00
Graham Christensen
c192196ce7 facetimehd: Document updating the facetimehd-firmware
(cherry picked from commit 24a87685e2)
2016-05-26 14:13:25 -05:00
Graham Christensen
de802776d2 facetimehd-firmware: 1.43 -> 1.43_4
(cherry picked from commit 27bf0d203d)
2016-05-26 14:13:22 -05:00
David Tulig
415a07e126 syncthing: 0.12.23 -> 0.12.25 (#15723)
fixes #15633

(cherry picked from commit ddf264536c)
2016-05-26 21:04:31 +02:00
Herwig Hochleitner
aa3b85e370 dropbox: use qt55, fixes #15703 2016-05-26 19:57:09 +02:00
Franz Pletz
796f7fbba2 php: 5.5.35 -> 5.5.36, 7.0.6 -> 7.0.7 (security)
See:

  * https://secure.php.net/ChangeLog-5.php#5.5.36
  * https://secure.php.net/ChangeLog-7.php#7.0.7

(cherry picked from commit 93c010ddad)
2016-05-26 18:45:19 +02:00
Franz Pletz
e124e7d9b8 libndp: 1.5 -> 1.6 (security)
Fix CVE-2016-3698.

See https://lwn.net/Articles/688591/.

(cherry picked from commit 28395e85da)
2016-05-26 17:26:14 +02:00
Vladimír Čunát
cc3d2344a4 grsecurity_base_linux_4_5: get all patches
This in particular includes qat_common_Makefile to fix parallel make.

(cherry picked from commit 058c71498e)
2016-05-26 16:36:44 +02:00
Vladimír Čunát
e2f484f780 Revert "root: enable parallel building"
This reverts commit 2991fdca52.
Hydra builds often report missing various files.

(cherry picked from commit ee1a10ee6b)
2016-05-26 16:29:31 +02:00
Bjørn Forsman
3fa87b52cd shutter: init at 0.93.1
Screenshot and annotation tool.

The application may complain about missing GConf dbus service[1], but it
still works (and remembers its settings, AFAICT).

[1]: The error message is (line wrapped):
  GConf Error: Failed to contact configuration server; the most
  common cause is a missing or misconfigured D-Bus session bus daemon. See
  http://projects.gnome.org/gconf/ for information. (Details -  1: GetIOR
  failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name
  org.gnome.GConf was not provided by any .service files)

(cherry picked from commit 0b3b45c5a7)
2016-05-26 14:58:21 +02:00
Bjørn Forsman
cc8368af7c perlPackages: add dependencies needed by 'shutter' application
shutter is a screenshot and annotation GUI tool, coming to Nix soon.
This commit adds its needed perl dependencies:

  Gnome2, Gnome2Canvas, Gnome2VFS, Gnome2Wnck, GooCanvas,
  Gtk2AppIndicator, Gtk2ImageView, Gtk2Unique, ProcSimple

All expressions are created with nix-generate-from-cpan and manual
tweaks to (propagated)buildInputs and meta.license.

(cherry picked from commit 444afc43ac)
2016-05-26 14:58:21 +02:00
Bjørn Forsman
719b9a3187 goocanvas: 0.10 -> 1.0 (fixes build)
I'm not updating to the 2.x version yet, because the only dependee of
this package is 'shutter' (which I'm about to package) and it doesn't
support 2.x.

(cherry picked from commit b9f30bdc20)
2016-05-26 14:58:21 +02:00
Vladimír Čunát
1b5e492e0f libxml2: fixup validation problems with 2.9.4
... by reverting an upstream commit
/cc #15697.

I should make some distro pay me for digging into such things :-)

(cherry picked from commit 3069606108)
2016-05-26 13:51:25 +02:00
Peter Simons
b8b4585a78 haskell-split: disable test suite to fix the build 2016-05-26 12:40:06 +02:00
Kranium Gikos Mendoza
9fe9a1a95b facetimehd: git-20160127 -> git-20160503
Fixes issues with kernels newer than 4.4.

(cherry picked from commit bc93957bb5)
2016-05-25 15:13:47 -05:00
Bjørn Forsman
ebf0815d9d qscreenshot: init at 1.0
Create and edit screenshots.

(cherry picked from commit 41fa133548)
2016-05-25 19:03:21 +02:00
Graham Christensen
809aa9ca22 libxml2: 2.9.3 -> 2.9.4 for three CVEs (close #15697)
- CVE-2016-4447: libxml2: Heap-based buffer underreads due to xmlParseName
   https://bugzilla.redhat.com/show_bug.cgi?id=1338686

 - CVE-2016-4448 libxml2: Format string vulnerability
   https://bugzilla.redhat.com/show_bug.cgi?id=1338700

 - CVE-2016-4449 libxml2: Inappropriate fetch of entities content
   https://bugzilla.redhat.com/show_bug.cgi?id=1338701

and many other fixed issues, available at http://www.xmlsoft.org/news.html

(cherry picked from commit 772851ff46)
2016-05-25 18:30:33 +02:00
Eelco Dolstra
b8d73243f5 nixos.tests.swraid: Drop mdadm -W
This command is racy because it will return a non-zero exit code if
the array is already clean. This caused numerous random failures. It
should be unnecessary anyway. (Maybe in the past we needed this
because of #15226.)

http://hydra.nixos.org/job/nixos/release-16.03/nixos.tests.installer.swraid.i686-linux
(cherry picked from commit 3e7b510281)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-05-24 20:03:27 +01:00
Eelco Dolstra
1d65b59fa2 test-driver: Fix "unit X is inactive and there are no pending jobs"
This was causing many random test failures.

(cherry picked from commit ad29b72686)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-05-24 20:01:52 +01:00
Joachim Fasting
2da70691d6 top-level/release.nix: remove xf86videomodesetting
See c7d92f9485

(cherry picked from commit 7817d0901d)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-05-24 17:59:03 +01:00
Domen Kožar
37e7e86ddd snabbswitch: use prePatch phase so we can still apply patches 2016-05-24 17:37:08 +01:00
Eelco Dolstra
18e067ac80 xf86-video-modesetting: Remove
This driver is part of xorg-server now, so we were using an outdated
version.

(cherry picked from commit c7d92f9485)
2016-05-24 15:34:30 +02:00
Domen Kožar
a96ca6491a add CentOS 7.1
(cherry picked from commit 56714859f4)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-05-24 11:36:03 +01:00
Domen Kožar
2cf5dcd99a add OpenSuse 13.2 2016-05-24 11:04:53 +01:00
Domen Kožar
9d5fde9c5a debian7: change hash due to 7.10 release 2016-05-24 10:41:13 +01:00
Taeradan
34a7a5ce98 fail2ban service: add iproute to PATH
iproute is required for blocking via null routes; without it, rules
based on routes.conf will fail.

Closes #15638

(cherry picked from commit 77028b1e8d)
2016-05-23 22:38:53 +02:00
Bjørn Forsman
25077350b7 wireshark: 2.0.2 -> 2.0.3
(cherry picked from commit d809ef47cb)

Fixes security issues:
  * https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-4084
  * https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-4083
  * https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-4082
  * https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-4080
  * https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-4079
  * https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-4078
  * https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-4077
  * https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-4076
  * https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-4006
2016-05-23 20:30:33 +02:00
Domen Kožar
91cc776f0a setuid-wrappers: remove config.system.path from the closure
The motivation is using sudo in chroot nix builds, a somewhat
special edge case I have and pulling system path into chroot
yields to some very nasty bug like
https://github.com/NixOS/nixpkgs/issues/15581

Previously:

$ cat /var/setuid-wrappers/sudo.real
/nix/store/3sm04dzh0994r86xqxy52jjc0lqnkn65-system-path/bin/sudo

After the change:

$ cat /var/setuid-wrappers/sudo.real
/nix/store/4g9sxbzy8maxf1v217ikp69c0c3q12as-sudo-1.8.15/bin/sudo
2016-05-23 13:50:50 +01:00
Eelco Dolstra
8688c1774d xf86-video-intel: 2015-11-14 -> 2016-05-22
This fixes compositing in KDE on a Intel HD Graphics 530 for me.

(cherry picked from commit a0f89ee509)
2016-05-22 23:20:17 +02:00
Eelco Dolstra
d35b0bae59 xkeyboard-config: 2.16 -> 2.17
(cherry picked from commit 600cd79f1e)
2016-05-22 23:20:03 +02:00
Eelco Dolstra
5679647b18 linux: 4.4.10 -> 4.4.11
(cherry picked from commit 3ee6b22dc3)
2016-05-22 23:19:52 +02:00
Joachim Fasting
7e5aca7e37 grsecurity: 4.5.5-201605202102 -> 4.5.5-201605211442
(cherry picked from commit 5a357d9731)
2016-05-22 20:13:38 +02:00
Joachim Fasting
d7e4b2328d grsecurity: 4.5.4-201605131918 -> 4.5.5-201605202102
(cherry picked from commit cdf2ffda9d)
2016-05-22 20:13:38 +02:00
Joachim Fasting
c93dd27168 linux: 4.5.4 -> 4.5.5
(cherry picked from commit 79481bd68f)
2016-05-22 20:13:37 +02:00
Franz Pletz
0a76452a07 linux: 4.5.3 -> 4.5.4
(cherry picked from commit 006f6d9437)
2016-05-22 20:13:36 +02:00
Tim Steinbach
b3b73d8d1f kernel: 4.5.2 -> 4.5.3
(cherry picked from commit 02d94d335a)
2016-05-22 20:13:36 +02:00
Bjørn Forsman
0f9e365e0f wildmidi: 0.3.8 -> 0.3.9
(cherry picked from commit 1cc4e03a7c)
2016-05-22 18:19:17 +02:00
Nick Novitski
9e41ad381f neovim: fix Man command
(cherry picked from commit 15c6fa023f)
2016-05-22 17:35:23 +02:00
Bjørn Forsman
a59d84038f qmmp: 0.8.4 -> 0.9.9
The 0.x versions is for Qt 4, whereas the new 1.x is for Qt 5. We'll
update to the Qt 5 version later. Upstream currently makes simultaneous
releases of both Qt 4 and 5 branches.

(cherry picked from commit cc41cb30e3)
2016-05-22 16:35:56 +02:00
Bjørn Forsman
aff03ae142 evtest: fixup source hash for release-16.03
Cherry-picking directly from master is now unsafe (ref. parent commit),
because fetchgit on master branch creates different hashes than on
release-16.03. (And I didn't notice until building on a *different*
machine, because on my first machine, the source was already
downloaded...)
2016-05-22 00:30:58 +02:00
Bjørn Forsman
6353f87b2a evtest: 1.32 -> 1.33
(cherry picked from commit b51986b8d1)
2016-05-21 23:30:06 +02:00
Svend Sorensen
65dcba37b7 librecad: 2.0.9 -> 2.0.10
(cherry picked from commit ddcf5d3941)
2016-05-21 22:37:23 +02:00
ne0phyte
ff2cb156ec librecad: 2.0.8 -> 2.0.9
(cherry picked from commit 1532ce35b8)
2016-05-21 22:37:23 +02:00
Arnold Krille
0b0f759b93 unbound service: do not initialize root cert
When enableRootTrustAnchor is set to false, there is really no point in
initializing the root key before starting unbound.

Fixes #15605.

(cherry picked from commit bf0e745597)
2016-05-21 22:27:55 +02:00
Tobias Geerinckx-Rice
7f9d53813d borgbackup: 1.0.2 -> 1.0.3
Changes: https://github.com/borgbackup/borg/blob/1.0.3/docs/changes.rst

(cherry picked from commit b1f6a10e1e)
2016-05-21 22:21:50 +02:00
Bjørn Forsman
652659adae john: use gcc 4.9 instead of 5 (unbreaks build)
Fixes this build error:

  dynamic_fmt.o: In function `DynamicFunc__crypt_md5_to_input_raw_Overwrite_NoLen':
  .../john-1.8.0-jumbo-1/src/dynamic_fmt.c:4989: undefined reference to `MD5_body_for_thread'

Upstream issue:

  https://github.com/magnumripper/JohnTheRipper/issues/1093

(cherry picked from commit d5656873d7)
2016-05-21 22:18:22 +02:00
Alexander Ried
e2deaf77c1 releasenotes: fix opengl.extraPackages option name
Should be merged into master and release-16.03 I guess
(cherry picked from commit 31fa7eda70)
2016-05-21 16:35:31 +02:00
Rickard Nilsson
d1226f311c openldap: 2.4.42 -> 2.4.44
(cherry picked from commit efe33d6e87)
Signed-off-by: Domen Kožar <domen@dev.si>

CVE-2015-6908
2016-05-20 19:06:23 +01:00
Lluís Batlle i Rossell
0dae829da7 Allow not rebasing in cygwin stdenv.
This changes cygwin stdenv, but I don't think it will hurt much people.

This allows mkDerivation to get "dontRebase=true" to skip the usual cygwin
rebase. This is required, if we are using this stdenv to build DLLs for win32
inside x86_64-cygwin, because /bin/rebase crashes at finding an arch mismatch.
Additionally, we don't need any rebase for libraries built by visual studio and
meant for visual studio (my use case).

I'm using nix in x86_64-cygwin to build libraries with visual studio, both for
x86_64 and x86.

(cherry picked from commit f6f5c185ca)
2016-05-20 17:25:56 +02:00
Nikolay Amiantov
4d97547bc3 buildFHSUserEnv: don't run bash in login mode for .env
Fixes https://github.com/NixOS/nixpkgs/issues/12406 for `.env`

(cherry picked from commit ca38376566)
2016-05-20 14:21:00 +03:00
Robert Helgesson
56060a2081 expat: patch CVE-2015-1283 and CVE-2016-0718 (close #15561)
Note, CVE-2015-1283 is already patched in expat version 2.1.1 but, as
explained in the patch, the fix was insufficient.

(cherry picked from commit 34cf7934c3)
2016-05-20 09:45:14 +02:00
Vladimír Čunát
38793f09b2 mesa: maintenance update 11.1.2 -> 11.1.4
It's probably the last one in this branch.
2016-05-20 09:44:38 +02:00
Joachim Fasting
6e0dddf9c5 Merge pull request #15566 from bendlas/update-dropbox-stable
[nixos-stable] dropbox: 3.12.6 -> 3.20.1
2016-05-20 06:22:07 +02:00
Domen Kožar
9ea8f6ad7d command-not-found: disable module until it's fixed again
See https://github.com/NixOS/nixos-channel-scripts/issues/4

(cherry picked from commit 2a3c0ca3d5)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-05-19 20:17:02 +01:00
Domen Kožar
c4622d53a1 dpdk: predefined instruction set, build in parallel, use external deps 2016-05-19 19:37:11 +01:00
Domen Kožar
9c0ed7fa21 snabb: build in parallel
(cherry picked from commit 76aa0ba664)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-05-19 15:05:56 +01:00
Bjørn Forsman
bf9903cdb8 gnome-terminal: enable GNOME Shell search provider (for 3.18)
[This is a re-application of the patch that was originally written for
GNOME 3.16. It was lost during the transition to GNOME 3.18.]

Silly ./configure, it looks for dbus file from gnome-shell in the
installation tree of the package it is configuring. Fix by copying the
needed file from gnome-shell before ./configure is run.

This change makes gnome-shell a build time dependency (not runtime).

(cherry picked from commit ca717d0d65)
2016-05-19 13:59:54 +02:00
Vladimír Čunát
ed6a1e01c5 Merge #15541: expat: 2.1.0 -> 2.1.1 (security)
Tested it builds, including some reverse dependencies,
and it certainly didn't cause a mass build breakage on master.
2016-05-19 08:45:11 +02:00
Bjørn Forsman
168b688150 qtcreator: 3.6.0 -> 3.6.1 (bugfixes)
Changelog:
http://code.qt.io/cgit/qt-creator/qt-creator.git/tree/dist/changes-3.6.1.md?h=3.6
(cherry picked from commit b06ecd7f85)
2016-05-18 23:03:38 +02:00
Pascal Wittmann
d3c3177c90 subversion: fix evaluation 2016-05-18 21:56:09 +02:00
Pascal Wittmann
43e8b6d5bd subversion: 1.9.3 -> 1.9.4 (fixes CVE-2016-2168, CVE-2016-2167) 2016-05-18 21:33:55 +02:00
Pascal Wittmann
44353501f6 subversion: 1.8.15 -> 1.8.16 (fixes CVE-2016-2168, CVE-2016-2167) 2016-05-18 21:33:07 +02:00
Robert Helgesson
f23048d0e4 expat: 2.1.0 -> 2.1.1
Also remove CVE patch merged upstream and enable tests.

(Cherry-picked from 6658077815 by falsifian.)
2016-05-18 08:53:47 -07:00
Eelco Dolstra
6ae66651ad linux: 4.4.9 -> 4.4.10
(cherry picked from commit 7a8ea6138e)
2016-05-18 11:42:42 +02:00
Tim Steinbach
c92b8f6a53 kernel: 4.4.8 -> 4.4.9 (#15276)
(cherry picked from commit f53850bf21)
2016-05-18 11:42:38 +02:00
Tobias Geerinckx-Rice
d9af74cac8 mcelog: 136 -> 137
(cherry picked from commit 806ce6323e)
2016-05-17 16:02:52 +02:00
Tobias Geerinckx-Rice
a9c465bdcd mcelog: 135 -> 136
Adds support to decode MSCOD values for Skylake server.

(cherry picked from commit d99df88efe)
2016-05-17 16:02:38 +02:00
Tobias Geerinckx-Rice
d4581ee724 mcelog: 134 -> 135
(cherry picked from commit d5207802fa)
2016-05-17 16:02:21 +02:00
Tobias Geerinckx-Rice
4b977a2656 mcelog: 133 -> 134
trigger: Avoid warning from earlier merge
(cherry picked from commit c0a35241f0)
2016-05-17 16:02:13 +02:00
Tobias Geerinckx-Rice
5921de6cf3 mcelog: 132 -> 133
Bugfix: no longer hangs on unknown errors in non-daemon mode.
(cherry picked from commit 7951dd531e)
2016-05-17 16:02:04 +02:00
Bjørn Forsman
5438cb191c saleae-logic: 1.1.15 -> 1.2.9
Changelog:
http://support.saleae.com/hc/en-us/articles/210245593-Saleae-Logic-Beta-Software-Changelog

(Yes, the changelog title contains the word 'beta', but as of version
1.2.9 the beta branding is removed from the software as the beta branch
was merged to master.)

This software update is required for newer logic analysers (e.g. Logic
Pro 8). (The original Logic is still supported, although it's difficult
to find info about it on their website.)

v1.2.9 grew new dependencies: libxcb, zlib, pciutils, xkeyboardconfig.

The LD_PRELOAD library hack, used to divert writes from
$out/Settings/settings.xml to $HOME/.saleae-logic-settings.xml, has been
updated. The new software writes more paths
($out/{Settings,Errors,Databases,Calibration}) and uses a few extra
library calls to access those paths
(open,openat,stat,access,unlink,...). So instead of single file
redirect, the library now redirects accesses to all those directories,
mirrored in $HOME/.saleae-logic/. (Existing
$HOME/.saleae-logic-settings.xml files will be automatically migrated to
$HOME/.saleae-logic/Settings/settings.xml.)

(cherry picked from commit 314b1fbf0c)

[release-16.03 backport note: s/stdenv.cc.cc.lib/stdenv.cc.cc/ to fix
error: attribute ‘lib’ missing, at .../saleae-logic/default.nix:19:65]
2016-05-17 15:08:36 +02:00
Vladimír Čunát
15941ff8f2 fetchurl mirrors: fix gnupg URLs
Some mirrors were missing /gcrypt. Now they should be consistent.
Fixes 15510. Closes 15511.

(cherry picked from commit af364c0f77)
2016-05-17 11:38:15 +02:00
Shea Levy
01f5711485 notmuch: Backport 0.22 2016-05-16 15:20:39 -04:00
Shea Levy
6c23e7e59a gsasl: Maintain, fix gssapi support
(cherry picked from commit da998cffcd)
2016-05-16 14:10:38 -04:00
Shea Levy
059fc4505d linux-4.6: Fix copy-paste error.
Thanks to @NeQuissimus for the spot

(cherry picked from commit 1ea263ef03)
2016-05-16 13:53:32 -04:00
Shea Levy
102a5d663c Linux 4.6
(cherry picked from commit 0373eb86f1)
2016-05-16 12:03:01 -04:00
Joachim Fasting
22a6aaa7ed kernelPatches.grsecurity: 4.5.4-201605122039 -> 4.5.4-201605131918
Also revert to using the grsecurity-scrape mirror; relying on upstream
just isn't viable. Lately, updates have been so frequent that a new
version is released before Hydra even gets around to building the
previous one.

(cherry picked from commit 6194e9d801)
2016-05-15 11:07:29 +02:00
Joachim Fasting
efa24fbae9 kernelPatches.grsecurity_4_5: 4.5.4-201605112030 -> 4.5.4-201605122039
(cherry picked from commit 7fdce2feb0)
2016-05-15 11:07:19 +02:00
Joachim Fasting
890949a2f0 grsecurity_4_5: 4.5.3-201605080858 -> 4.5.4-201605112030
(cherry picked from commit 10aaca8c1f)
2016-05-15 11:07:06 +02:00
Joachim Fasting
5f6dbe1a5a grsecurity: add option to disable chroot caps restriction
The chroot caps restriction disallows chroot'ed processes from running
any command that requires `CAP_SYS_ADMIN`, breaking `nixos-rebuild`. See
e.g., https://github.com/NixOS/nixpkgs/issues/15293

This significantly weakens chroot protections, but to break
nixos-rebuild out of the box is too severe.

(cherry picked from commit d4d7bfe07b)
2016-05-15 11:06:50 +02:00
Joachim Fasting
149d9acf4f kernelPatches.grsecurity_4_5: 201605060852 -> 201605080858
(cherry picked from commit 52477b0a0b)
2016-05-15 11:06:35 +02:00
Joachim Fasting
4ac9b33fa4 linuxPackages_grsec_4_5: 3.1-4.5.2-201604290633 -> 3.1-4.5.3-201605060852
(cherry picked from commit 27061905bd)
2016-05-15 11:06:04 +02:00
Joachim Fasting
bddaf83203 grsecurity: drop support for 4.4 kernels
From now on, only the testing branch of grsecurity will be supported.
Additionally, use only patches from upstream.

It's impossible to provide meaningful support for grsecurity stable.
First, because building and testing \(m \times n \times z) [1], packages
is infeasible.  Second, because stable patches are only available from
upstream for-pay, making us reliant on third-parties for patches. In
addition to creating yet more work for the maintainers, using stable
patches provided by a third-party goes against the wishes of upstream.

nixpkgs provides the tools necessary to build grsecurity kernels for any
version the user chooses, however, provided they pay for, or otherwise
acquire, the patch themselves.

Eventually, we'll want to remove the now obsolete top-level attributes,
but leave them in for now to smoothe migration (they have been removed
from top-level/release.nix, though, because it makes no sense to have
them there).

[1]: where \(m\) is the number of grsecurity flavors, \(n\) is the
number of kernel versions, and z is the size of the `linuxPackages` set

(cherry picked from commit 0bd31bce10)
2016-05-15 11:05:42 +02:00
Joachim Fasting
e8faaf0996 grsecurity module: fix grsec-lock unit ordering
Requirement without ordering implies parallel execution; it is crucial
that sysctl tunables are finalized before the lock is engaged, however.

(cherry picked from commit 60a27781d6)
2016-05-15 11:05:16 +02:00
Joachim Fasting
2884d35e98 grsecurity: ensure that PaX ELF markings are enabled
The upstream default is to enable only xattr markings, breaking the
paxmarks facility.

(cherry picked from commit a69501a936)
2016-05-15 11:05:02 +02:00
Joachim Fasting
1e97d62dfd linuxPackages_grsec_4_5: init at 3.1-4.5.2-201604290633
(cherry picked from commit fecb56fc3f)
2016-05-15 11:04:11 +02:00
Joachim Fasting
b799be8305 dirmngr: 1.0.3 -> 1.1.1
Fixes the build.

This package is probably ripe for removal by now, as dirmngr was incorporated
into gnupg a couple of years ago:
https://lists.gnupg.org/pipermail/gnupg-announce/2014q4/000358.html

(cherry picked from commit 201f6600cb)
2016-05-15 10:36:01 +02:00
Joachim Fasting
2ae983dda5 libksba: 1.3.3 -> 1.3.4
Contains a fix for https://access.redhat.com/security/cve/CVE-2016-4574

(cherry picked from commit 7e4db700dc)
2016-05-15 10:35:49 +02:00
aszlig
5454a88346 chromium: Update to latest beta and dev channels
Overview of the updated versions:

beta: 50.0.2661.49 -> 51.0.2704.47
dev:  51.0.2693.2  -> 52.0.2729.3

It has been a while since we had a major Chromium update that compiled
and worked without troubles, but version 52 builds and the VM tests are
successful as well:

https://headcounter.org/hydra/eval/320335

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit ad2c8d3510)
Reason: 50.0.2661.102 fixes a bunch of security vulnerabilities and
        we want to have them fixed in beta/dev as well.
2016-05-15 05:20:05 +02:00
Scott R. Parish
5dbabdd2a9 chromium: Update stable to 50.0.2661.102 for multiple security fixes
This addresses the following security fixes:

 * High   CVE-2016-1667: Same origin bypass in DOM. Credit to
                         Mariusz Mlynski.
 * High   CVE-2016-1668: Same origin bypass in Blink V8 bindings. Credit
                         to Mariusz Mlynski.
 * High   CVE-2016-1669: Buffer overflow in V8. Credit to Choongwoo Han.
 * Medium CVE-2016-1670: Race condition in loader. Credit to anonymous.
 * Medium CVE-2016-1671: Directory traversal using the file scheme on
                         Android. Credit to Jann Horn.

See: http://googlechromereleases.blogspot.com/2016/05/stable-channel-update.html

Signed-off-by: Scott R. Parish <srparish@gmail.com>
Tested-by: aszlig <aszlig@redmoonstudios.org>
Closes: #15446
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit 5ebf20db0f)
2016-05-15 05:19:10 +02:00
Nikolay Amiantov
342435cc57 firefox: upstream moved to ffmpeg from gstreamer
Sadly, they don't support using system library yet (or I was unattentive).
2016-05-15 01:12:12 +03:00
Vladimír Čunát
607f4aea53 Merge #15447: glibc security updates
(cherry picked from commit 45a14c873b)
2016-05-14 21:38:57 +02:00
Chris Martin
db49414fe3 idea.webstorm: 10.0.4 -> 10.0.5
(cherry picked from commit ff48229c42)
2016-05-13 16:02:56 +02:00
Chris Martin
de0aaaa2e7 idea.phpstorm: 10.0.1 -> 10.0.4
(cherry picked from commit ee511456fc)
2016-05-13 16:02:56 +02:00
Chris Martin
a3b52aadd6 idea.pycharm-professional: 2016.1.2 -> 2016.1.3
(cherry picked from commit 8cf2a2dbeb)
2016-05-13 16:02:55 +02:00
Chris Martin
d045c5379a idea.pycharm-community: 2016.1.2 -> 2016.1.3
(cherry picked from commit 89f46ab3e3)
2016-05-13 16:02:55 +02:00
Chris Martin
ef4ad6f467 idea.ruby-mine: 7.1.2 -> 7.1.5
(cherry picked from commit 22b8bb4bd0)
2016-05-13 16:02:55 +02:00
Chris Martin
528113039d idea.idea-ultimate: 2016.1.1 -> 2016.1.2
(cherry picked from commit 69448be776)
2016-05-13 16:02:54 +02:00
Chris Martin
4ef2b9f770 idea.idea15-ultimate: 15.0.5 -> 15.0.6
(cherry picked from commit ac076eeb20)
2016-05-13 16:02:54 +02:00
Chris Martin
80aa3b2594 idea.idea-community: 2016.1.1 -> 2016.1.2
(cherry picked from commit 4217743b94)
2016-05-13 16:02:54 +02:00
Chris Martin
eb94b7cdf5 idea.idea14-community: 14.1.6 -> 14.1.7
(cherry picked from commit 149ba81f79)
2016-05-13 16:02:53 +02:00
Chris Martin
2b7584da96 idea.clion: 1.2.4 -> 1.2.5
(cherry picked from commit 9fe577bdc0)
2016-05-13 16:02:53 +02:00
Chris Martin
9683f06fb2 idea.android-studio: 2.0.0.20 -> 2.1.1.0
(cherry picked from commit 7d0570a253)
2016-05-13 16:02:43 +02:00
Edward Tjörnhammar
dee9b879ca Merge pull request #15321 from a1russell/idea
idea.idea14-ultimate: init at 14.1.7
2016-05-13 15:53:14 +02:00
taku0
f98d57b46d flashplayer: 11.2.202.616 -> 11.2.202.621
(cherry picked from commit cade2f36e5)
2016-05-12 16:26:09 +03:00
Eelco Dolstra
aab59c028a pythonPackages.psutil: Drop busybox dependency
This broke the build on OS X. And we're not even running the tests
anyway.

(cherry picked from commit 742e72eded)
2016-05-12 14:42:08 +02:00
Bjørn Forsman
d3456dc1e4 sigrok: update whole suite to latest (2016-01)
Release announcement, 2016-01-30:
https://www.sigrok.org/blog/major-sigrok-releases-libsigrok-libsigrokdecode-sigrok-cli-pulseview

I first tried updating the projects in separate commits. But later I
found cyclic dependencies, that would break git bisect, so I ended up
squashing the commits:

* libsigrok: 0.3.0 -> 0.4.0
  Enable building libsigrokcxx.so, the C++ bindings for libsigrok, by
  adding doxygen, glibmm and python as build deps. This is needed for
  Pulseview >= 0.3.0. Also update the firmware (sigrok-firmware-fx2lafw)
  while at it.

* libsigrokdecode: 0.3.0 -> 0.4.0

* sigrok-cli: 0.5.0 -> 0.6.0

* pulseview: 0.2.0 -> 0.3.0
  New dependency: glibmm (due to libsigrokcxx.pc from libsigrok).

Note that collectd is incompatible with the new libsigrok release, so
I let it use the old one (0.3.0).

(cherry picked from commit 300e495101)
2016-05-11 22:25:47 +02:00
Bjørn Forsman
c8269df1b5 libserialport: 0.1.0 -> 0.1.1
(cherry picked from commit f768098e3e)
2016-05-11 22:25:45 +02:00
Adam Russell
a4f13a8bae idea.idea14-ultimate: init at 14.1.7 2016-05-11 13:43:20 -05:00
Eelco Dolstra
600efba242 google-talk-plugin: 5.4.2.0 -> 5.41.0.0
(cherry picked from commit 86c45ba50d)
2016-05-11 20:18:53 +02:00
Bjørn Forsman
92099db6f7 hashcat: 0.49 -> 2.00
The current URL is broken, upstream has moved the download from .../files/ to
.../files_legacy/. But after fixing that, starting hashcat results in:

  $ ./result/bin/hashcat
  ERROR: this copy of hashcat is outdated. Get a more recent version.

So just update to latest.

New releases are on github, the license is now MIT and there are build
system changes.

(cherry picked from commit 800042b310)
2016-05-11 19:17:36 +02:00
Franz Pletz
eae3eef2c1 msmtp: 1.6.2 -> 1.6.4
(cherry picked from commit d7338bf9d7)
2016-05-11 10:25:22 -04:00
Carles Pagès
995ddb04a3 makeImageFromDebDist: accept additional parameters for vm, as in rpm version.
(cherry picked from commit e7ab828da1)
2016-05-11 16:24:41 +02:00
Shea Levy
1906eb9cd5 Add kerberos mappings for MIT exchange server
(cherry picked from commit 67d430096f)
2016-05-11 09:09:34 -04:00
Rob Vermaas
2c5ad36cff Add scikitlearn to binary cache. 2016-05-11 10:35:51 +00:00
Shea Levy
b10f61bc1b Backport offlineimap-6.7 2016-05-10 18:10:39 -04:00
Shea Levy
e2cd6d6931 Fix license attr
(cherry picked from commit 6f12b7aec4)
2016-05-10 17:43:16 -04:00
Shea Levy
042b69374d Add kerberos pythonPackage
(cherry picked from commit f298ebb957)
2016-05-10 17:32:32 -04:00
Herwig Hochleitner
4f2a7a9eba [nixos-stable] dropbox: 3.12.6 -> 3.20.1 2016-05-10 19:32:18 +02:00
Rob Vermaas
713c240563 Adding pythonPackags.pandas to binary cache. Python packages are
not part of nixpkgs/nixos jobsets in 16.03+ since ccd1029f58. Until
it gets added again, adding some python packages that take really
long to build.
2016-05-10 15:15:12 +00:00
Tuomas Tynkkynen
4cdf5b4279 otter: Mark broken
Build hangs an hits the hydra time limit:
http://hydra.nixos.org/build/34897110

(cherry picked from commit ca0e724266)
2016-05-10 15:50:23 +02:00
Eelco Dolstra
091ca4e97c firefox: Revert to SHA-256 hashes
Using SHA-512 causes problems for users upgrading from NixOS 15.09.

Fixes #15349.
2016-05-10 15:31:52 +02:00
Tobias Geerinckx-Rice
659212aea7 thunderbird: 38.7.1 -> 45.0
Changes: https://www.mozilla.org/en-US/thunderbird/45.0/releasenotes/
(cherry picked from commit 2dc8975bc4)
2016-05-10 11:10:53 +02:00
Bjørn Forsman
1c1efaad6e moreutils: add meta.platforms (= all)
(cherry picked from commit 977cd5de36)
2016-05-09 20:35:40 +02:00
Eelco Dolstra
53d34e016f thunderbird: 38.7.0 -> 38.7.1
(cherry picked from commit ca983ec20c)
2016-05-09 19:43:20 +02:00
Eelco Dolstra
d2fcb5afb7 Add mirror://mozilla scheme
(cherry picked from commit cb37ab146b)
2016-05-09 19:42:30 +02:00
Eelco Dolstra
2eb3eafedf Fix some URLs that lacked a URI scheme
(cherry picked from commit 7ce5d43c63)
2016-05-09 19:40:51 +02:00
Eelco Dolstra
efd03d53ca copy-tarballs.pl: Add --exclude flag
(cherry picked from commit 4f4ba0d3f4)
2016-05-09 19:40:47 +02:00
Eelco Dolstra
a5d71c175c firefox-esr: 45.0.2 -> 45.1.1
(cherry picked from commit de22402f85)
2016-05-09 19:40:42 +02:00
Eelco Dolstra
a8f1c55157 firefox: 46.0 -> 46.0.1
(cherry picked from commit 02d01dc7c5)
2016-05-09 19:40:38 +02:00
Eelco Dolstra
592dd23efc aws-sdk-cpp: 0.9.6 -> 0.10.6
(cherry picked from commit 11e252e5a0)
2016-05-09 19:40:17 +02:00
Eelco Dolstra
96e204b064 firefox: Don't use out-dated system sqlite 2016-05-09 19:39:46 +02:00
Eelco Dolstra
4d496ea6b0 firefox: 45.0.2 -> 46.0
Still using GTK+ 2 for now, since apparently building with GTK+ 3
still requires GTK+ 2, increasing the closure size. (#15008)

(cherry picked from commit 930d243ea4)
2016-05-09 19:39:21 +02:00
Eelco Dolstra
7efca53da4 Update EC2 AMIs to 16.03.659.011ea84
This includes the binutils mass rebuild.

(cherry picked from commit ecfc523d32)
2016-05-09 19:39:12 +02:00
Tobias Geerinckx-Rice
44eeb747ac borgbackup: 1.0.1 -> 1.0.2
Changes: https://github.com/borgbackup/borg/blob/1.0.2/docs/changes.rst
(cherry picked from commit 6e261865a4)
2016-05-09 14:55:40 +02:00
Tobias Geerinckx-Rice
984dc3ef6c borgbackup: 1.0.0 -> 1.0.1
Changes: https://github.com/borgbackup/borg/blob/1.0.1/docs/changes.rst
(cherry picked from commit f019db633f)
2016-05-09 14:55:34 +02:00
Tobias Geerinckx-Rice
7c406f347f borgbackup: 0.30.0 -> 1.0.0
Major upgrade, be sure to read the release notes:
https://github.com/borgbackup/borg/blob/1.0.0/docs/changes.rst

(cherry picked from commit b747253700)
2016-05-09 14:55:25 +02:00
Lluís Batlle i Rossell
1cfa84a52d Making vm's interactive shell handle the terminal well.
(cherry picked from commit e21dd19168)
2016-05-09 14:30:07 +02:00
Lluís Batlle i Rossell
6e4a8bea9e Making vm's qemu cache=unsafe. Faster.
I don't think it's unsafe, if it's meant for nix expressions.

(cherry picked from commit ab93f8c137)
2016-05-09 14:30:02 +02:00
Lluís Batlle i Rossell
8fd1ed7621 vm: allow overriding QEMU_OPTS / memSize for images.
It's nice to be able to create disk images with -smp 4
in qemu.

(cherry picked from commit 635c99ce87)
2016-05-09 14:29:56 +02:00
Lluís Batlle i Rossell
b1ffcd19d1 Adding libuuid (libblkid) to lvm2.
It wants it to detect if there are filesystems present in block devices, in
case of pvcreate. Otherwise it complaints "lvm built without blkid support" and
lacks the feature of detecting/wiping.

(cherry picked from commit 2f35e223b1)

I fixed an easy conflict.
2016-05-09 14:29:34 +02:00
Lluís Batlle i Rossell
165781b529 Fixing nfsd service, wait on local-fs.
Otherwise, mountd was started exporting directories before local-fs was ready,
and it failed to start nfsd on missing fs.

(cherry picked from commit 9f6afb7d78)
2016-05-09 14:26:49 +02:00
Lluís Batlle i Rossell
74139a6b58 Fixing stunt-rally 2.6 (adding newer bullet)
(cherry picked from commit f0c503593f)

There were some weird conflicts.
2016-05-08 16:25:49 +02:00
Lluís Batlle i Rossell
aa296f3913 Adding vmlinux to linux kernel 'dev' derivation.
It takes some extra 13MB (and in dev, not out), but allows perf to show kernel
symbols when profiling. I think it is worth it.

In my NixOS, I refer to it in the system derivation, for easy telling to perf
through /run/booted-system/vmlinux:

  system.extraSystemBuilderCmds = ''
    ln -s ${config.boot.kernelPackages.kernel.dev}/vmlinux $out/vmlinux
  '';

(cherry picked from commit 53a4582552)
2016-05-07 23:32:55 +02:00
Nikolay Amiantov
1527011d5f dropbox: meta.licenses -> meta.license
(cherry picked from commit 62c41cc539)
2016-05-07 15:17:43 +03:00
Nikolay Amiantov
f4d610867a dropbox: mark as unfree
(cherry picked from commit 41ced9f100)
2016-05-07 15:17:42 +03:00
Thomas Tuegel
fcd2a001ef quassel: 0.12.3 -> 0.12.4
Security update for CVE-2016-4414 (denial of service).

(cherry picked from commit f2ec142847)
2016-05-07 07:00:39 -05:00
zimbatm
bbd47710de quassel: fix sources
Fixes changes after #14080 where the updated hash was missing.

Put the source in a common file so there is only one place to update.

(cherry picked from commit 23b9d037de)

Backported from master to facilitate future updates.
2016-05-07 07:00:39 -05:00
Nikolay Amiantov
54b7bdac59 Merge pull request #15284 from sheenobu/bspwm/socket_patch/1603
bspwm: backport of socket unlink fix to 0.9
2016-05-07 15:50:50 +04:00
Sheena Artrip
15a51fcfdb bspwm: backport of socket unlink fix to 0.9 2016-05-07 04:31:06 -04:00
aszlig
65f4e9d4c5 Merge branch 'stage1-dont-kill-kthreads'
Merges pull request #15275:

    This addresses #15226 and fixes killing of processes before
    switching from the initrd to the real root.

    Right now, the pkill that is issued not only kills user space
    processes but also sends a SIGKILL to kernel threads as well.
    Usually these threads ignore signals, but some of these processes do
    handle signals, like for example the md module, which happened in
    #15226.

    It also adds a small check for the swraid installer test and a
    standalone test which checks on just that problem, so in the future
    this shouldn't happen again.

This has been acked by @edolstra on IRC.

The reason I'm merging this to 16.03 is that this branch fixes #15226
and thus also fixes mdraid setups out there.

Tested using the boot-stage1.nix NixOS test against release-16.03.
2016-05-06 22:11:10 +02:00
aszlig
6228949157 nixos/tests/boot-stage1: Add myself to maintainers
As @edolstra pointed out that the kernel module might be painful to
maintain. I strongly disagree because it's only a small module and it's
good to have such a canary in the tests no matter how the bootup process
looks like, so I'm going the masochistic route and try to maintain it.

If it *really* becomes too much maintenance burden, we can still drop or
disable kcanary.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-05-06 22:06:34 +02:00
aszlig
43da2f3209 nixos/release-combined: Add boot-stage1 test
We don't want to push out a channel update whenever this test fails,
because that might have unexpected and confused side effects and it
*really* means that stage 1 of our boot up is broken.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-05-06 22:06:34 +02:00
aszlig
45b7d41fa7 nixos/tests: Add a test for boot stage 1
We already have a small regression test for #15226 within the swraid
installer test. Unfortunately, we only check there whether the md
kthread got signalled but not whether other rampaging processes are
still alive that *should* have been killed.

So in order to do this we provide multiple canary processes which are
checked after the system has booted up:

 * canary1: It's a simple forking daemon which just sleeps until it's
            going to be killed. Of course we expect this process to not
            be alive anymore after boot up.
 * canary2: Similar to canary1, but tries to mimick a kthread to make
            sure that it's going to be properly killed at the end of
            stage 1.
 * canary3: Like canary2, but this time using a @ in front of its
            command name to actually prevent it from being killed.
 * kcanary: This one is a real kthread and it runs until killed, which
            shouldn't be the case.

Tested with and without 67223ee and everything works as expected, at
least on my machine.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-05-06 22:06:34 +02:00
aszlig
74b41a7385 nixos/tests/installer/swraid: Check for safemode
This is a regression test for #15226, so that the test will fail once we
accidentally kill one or more of the md kthreads (aka: if safe mode is
enabled).

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-05-06 22:06:34 +02:00
aszlig
cc98c4e105 nixos/stage-1: Don't kill kernel threads
Unfortunately, pkill doesn't distinguish between kernel and user space
processes, so we need to make sure we don't accidentally kill kernel
threads.

Normally, a kernel thread ignores all signals, but there are a few that
do. A quick grep on the kernel source tree (as of kernel 4.6.0) shows
the following source files which use allow_signal():

  drivers/isdn/mISDN/l1oip_core.c
  drivers/md/md.c
  drivers/misc/mic/cosm/cosm_scif_server.c
  drivers/misc/mic/cosm_client/cosm_scif_client.c
  drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
  drivers/staging/rtl8188eu/core/rtw_cmd.c
  drivers/staging/rtl8712/rtl8712_cmd.c
  drivers/target/iscsi/iscsi_target.c
  drivers/target/iscsi/iscsi_target_login.c
  drivers/target/iscsi/iscsi_target_nego.c
  drivers/usb/atm/usbatm.c
  drivers/usb/gadget/function/f_mass_storage.c
  fs/jffs2/background.c
  fs/lockd/clntlock.c
  fs/lockd/svc.c
  fs/nfs/nfs4state.c
  fs/nfsd/nfssvc.c

While not all of these are necessarily kthreads and some functionality
may still be unimpeded, it's still quite harmful and can cause
unexpected side-effects, especially because some of these kthreads are
storage-related (which we obviously don't want to kill during bootup).

During discussion at #15226, @dezgeg suggested the following
implementation:

for pid in $(pgrep -v -f '@'); do
    if [ "$(cat /proc/$pid/cmdline)" != "" ]; then
        kill -9 "$pid"
    fi
done

This has a few downsides:

 * User space processes which use an empty string in their command line
   won't be killed.
 * It results in errors during bootup because some shell-related
   processes are already terminated (maybe it's pgrep itself, haven't
   checked).
 * The @ is searched within the full command line, not just at the
   beginning of the string. Of course, we already had this until now, so
   it's not a problem of his implementation.

I posted an alternative implementation which doesn't suffer from the
first point, but even that one wasn't sufficient:

for pid in $(pgrep -v -f '^@'); do
    readlink "/proc/$pid/exe" &> /dev/null || continue
    echo "$pid"
done | xargs kill -9

This one spawns a subshell, which would be included in the processes to
kill and actually kills itself during the process.

So what we have now is even checking whether the shell process itself is
in the list to kill and avoids killing it just to be sure.

Also, we don't spawn a subshell anymore and use /proc/$pid/exe to
distinguish between user space and kernel processes like in the comments
of the following StackOverflow answer:

http://stackoverflow.com/a/12231039

We don't need to take care of terminating processes, because what we
actually want IS to terminate the processes.

The only point where this (and any previous) approach falls short if we
have processes that act like fork bombs, because they might spawn
additional processes between the pgrep and the killing. We can only
address this with process/control groups and this still won't save us
because the root user can escape from that as well.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Fixes: #15226
2016-05-06 22:06:34 +02:00
Joachim Fasting
24e394d447 bittorrentSync20: 2.3.6 -> 2.3.7
(cherry picked from commit e4bd66c8f0)

For a list of changes post 2.x (mostly fixes & minor improvements), see
http://help.getsync.com/hc/en-us/articles/206216855-Sync-2-x-change-log
2016-05-06 08:33:53 +02:00
Joachim Fasting
f10759fb19 bittorrentSync14: 1.4.110 -> 1.4.111
(cherry picked from commit 6d2625a940)
2016-05-06 08:33:30 +02:00
Joachim Fasting
011de8e341 bittorrentSync20: 2.3.3 -> 2.3.6 (#15147)
Note that this changes the domain from getsyncapp.com (no longer valid)
to getsync.com.
(cherry picked from commit a7886c9189)
2016-05-06 08:33:25 +02:00
obadz
b82cef091a linux kernel 4.4: fix race during build
Patch drivers/crypto/qat/qat_common/Makefile so that qat_asym_algs.o
explicitly depends on headers qat_rsaprivkey-asn1.h and qat_rsapubkey-asn1.h

(cherry picked from commit 4788ec1372)
This should fix evaluation of 4.5 kernel. I forgot to pick this one.
2016-05-05 13:41:56 +02:00
Vladimír Čunát
1c161afba8 linux kernel 4.5: fix race during build
This is just 4788ec1372 but for 4.5 instead of 4.4.
Example failure: http://hydra.nixos.org/build/35194276

(cherry picked from commit 323825f967)
2016-05-05 12:18:08 +02:00
José Romildo Malaquias
69420c5242 imlib2: 1.4.8 -> 1.4.9
(cherry picked from commit 3e401a8d01)

Contains fixes for CVE-2011-5326, CVE-2016-3993, CVE-2016-3994, CVE-2016-4024
2016-05-04 06:48:45 +02:00
Franz Pletz
853fe4ceeb libressl: 2.2.6 -> 2.2.7, 2.3.3 -> 2.3.4
Fix multiple vulnerabilities in libcrypto relating to ASN.1 and encoding.

http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.2.7-relnotes.txt
http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.3.4-relnotes.txt
(cherry picked from commit 6d55b2e9c0)
2016-05-04 01:28:01 +02:00
Franz Pletz
99e8c374ab gitlab: 8.5.7 -> 8.5.12
(cherry picked from commit 2acea21155)
2016-05-04 01:26:50 +02:00
Franz Pletz
26d9b997f2 imagemagick: Disable insecure coders (ImageTragick)
See:

  * https://imagetragick.com/
  * https://www.imagemagick.org/discourse-server/viewtopic.php?f=4&t=29588

(cherry picked from commit 69c14985d0)
2016-05-04 01:26:47 +02:00
Franz Pletz
1b48d611f0 imagemagick: 6.9.3-8 -> 6.9.3-9
(cherry picked from commit 05eae0242d)
2016-05-04 01:26:42 +02:00
Hannu Hartikainen
bd65ff6157 silver-searcher: add alias "ag" (2nd attempt)
(Now 'self' is removed, to fix eval on release-16.03.)

(cherry picked from commit e3e502e37a)
2016-05-03 23:54:40 +02:00
Lluís Batlle i Rossell
6a142de011 Adding blktrace
Tool to get traces of operations in block devices on linux.

(cherry picked from commit 94520a25ad)
2016-05-03 23:46:05 +02:00
Franz Pletz
82ca7f75d6 redshift service: run as user service
Fixes #14882.

(cherry picked from commit 882391a162)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-05-03 22:33:27 +01:00
Bjørn Forsman
45156b4057 jenkins service: improve curl call in postStart
* Perform HTTP HEAD request instead of full GET (lighter weight)
* Don't log output of curl to the journal (it's noise/debug)
* Use explicit http:// URL scheme
* Reduce poll interval from 10s to 2s (respond to state changes
  quicker). Probably not relevant on boot (lots of services compete for
  the CPU), but online service restarts/reloads should be quicker.
* Pass --fail to curl (should be more robust against false positives)
* Use 4 space indent for shell code.

(cherry picked from commit 78b6e8c319)
2016-05-03 23:19:16 +02:00
Bjørn Forsman
b786bfd8a3 jenkins service: remove unneeded (and brittle) part of postStart
The current postStart code holds Jenkins off the "started" state until
Jenkins becomes idle. But it should be enough to wait until Jenkins
start handling HTTP requests to consider it "started".

More reasons why the current approach is bad and we should remove it,
from @coreyoconnor in
https://github.com/NixOS/nixpkgs/issues/14991#issuecomment-216572571:

  1. Repeatedly curling for a specific human-readable string to
  determine "Active" is fragile. For instance, what happens when jenkins
  is localized?

  2. The time jenkins takes to initializes is variable. This (at least
  used to) depend on the number of jobs and any plugin upgrades requested.

  3. Jenkins can be requested to restart from the UI. Which will not
  affect the status of the service. This means that the service being
  "active" does not imply jenkins is initialized. Downstream services
  cannot assume jenkins is initialized if the service is active. Might
  as well accept that and remove the initialized test from service
  startup.

Fixes #14991.

(cherry picked from commit 51e5beca42)
2016-05-03 23:18:49 +02:00
Eelco Dolstra
ef4354ed47 Revert "silver-searcher: add alias "ag""
This reverts commit 6a87c8278f. It
breaks Nixpkgs evaluation:

http://hydra.nixos.org/build/35152628
2016-05-03 17:09:46 +02:00
Nathan Zadoks
e48108a671 openssl: 1.0.1s -> 1.0.1t, 1.0.2g -> 1.0.2h
CVE-2016-2108, high severity: Memory corruption in the ASN.1 encoder
CVE-2016-2107, high severity: Padding oracle in AES-NI CBC MAC check
CVE-2016-2105, low severity: EVP_EncodeUpdate overflow
CVE-2016-2106, low severity: EVP_EncryptUpdate overflow
CVE-2016-2109, low severity: ASN.1 BIO excessive memory allocation
CVE-2016-2176, low severity: EBCDIC overread

(cherry picked from commit bdafc6df04)
2016-05-03 17:06:30 +02:00
Edward Tjörnhammar
d444f80a67 idea.idea-{community,ultimate}: 2016.1 -> 2016.1.1
(cherry picked from commit 066b5cb11a)
2016-05-03 11:06:20 +02:00
Jascha Geerds
5ef3d295fa idea.pycharm: 5.0.3 -> 2016.1.2
(cherry picked from commit cf224573d6)
2016-05-03 11:06:19 +02:00
Chris Martin
538325fa13 idea.idea15-ultimate: init at 15.0.5
(cherry picked from commit 19abd55420)
2016-05-03 11:06:19 +02:00
Edward Tjörnhammar
e7203e849c idea.idea-{community,ultimate}: 15.0.4 -> 2016.1
(cherry picked from commit 5bb0aa3bac)
2016-05-03 11:06:19 +02:00
Hannu Hartikainen
6a87c8278f silver-searcher: add alias "ag"
(cherry picked from commit e3e502e37a)
2016-05-03 10:54:03 +02:00
Edward Tjörnhammar
69ec0b84fc kodi: 16.0 -> 16.1 2016-05-03 07:13:21 +02:00
Edward Tjörnhammar
86eba313d2 kodiPlugins.svtplay: 4.0.23 -> 4.0.24 2016-05-03 07:13:21 +02:00
Simon Vandel Sillesen
5e99cb7b37 kodiPlusings.pvr-hts: fix loading of plugin
The plugin was looking for pvr.hts.so.2.2.13, so as only pvr.hts.so was copied, the plugin would not load. This symlinks all variants of the name to the addons folder.
2016-05-03 07:13:20 +02:00
Edward Tjörnhammar
c6d47d58d2 kodiPlugins.svtplay: 4.0.21 -> 4.0.23 2016-05-03 07:13:20 +02:00
Edward Tjörnhammar
698839dacd kodiPlugins.steam-launcher: 3.1.1 -> 3.1.4 2016-05-03 07:13:20 +02:00
Edward Tjörnhammar
605dad66c8 kodiPlugins.salts: 2.0.6 -> 2.0.19 2016-05-03 07:13:20 +02:00
Edward Tjörnhammar
70f8e48774 kodiPlugins.hyper-launcher.{plugin,service}: init at 1.2.0 2016-05-03 07:13:20 +02:00
Edward Tjörnhammar
3e2ed47f86 kodiPlugins.pdfreader: init at 1.0.2 2016-05-03 07:13:19 +02:00
Edward Tjörnhammar
f2637409ca kodiPlugins: sort collection alphabetically 2016-05-03 07:13:10 +02:00
Shea Levy
65145c529f krb5: 1.14 -> 1.14.2 (security updates)
(cherry picked from commit edb0b7e36f)
2016-05-02 14:19:46 -04:00
Tobias Geerinckx-Rice
dde31766dd stress-ng: 0.05.00 -> 0.05.25
(cherry picked from commit d51a55366e)
2016-05-02 16:29:34 +02:00
Louis Taylor
149d1c6dfe kernel: 4.5.1 -> 4.5.2
(cherry picked from commit 90cdfb5414)
2016-05-02 11:25:58 +02:00
Tim Steinbach
ef69b9faca kernel: 4.5 -> 4.5.1 (#14691)
(cherry picked from commit af4d84544f)
2016-05-02 11:25:58 +02:00
Louis Taylor
006c8b35cf linux: add 4.5
(cherry picked from commit 8bdee80d39)
2016-05-02 11:25:57 +02:00
Lluís Batlle i Rossell
143fdbc8d4 Enabling vaapi by default on mpv.
vdpau is enabled; why vaapi not?
2016-05-02 11:25:57 +02:00
Joachim Fasting
15d0025919 Merge pull request #15143 from Beauhurst/php_updates_r16.03
PHP security updates (r16.03 backport)
2016-05-02 01:55:20 +02:00
Robert Scott
38cb63fa33 php: 5.5.34 -> 5.4.35 2016-05-01 20:36:00 +00:00
Robert Scott
ad33a4e258 php: 5.6.20 -> 5.6.21 2016-05-01 20:36:00 +00:00
Sheena Artrip
e843b35e39 Added sheenobu as maintainer
(cherry picked from commit 15f46547d9)
2016-05-01 13:46:25 +02:00
Joachim Fasting
2597f52e51 Merge pull request #15114 from Beauhurst/squid_r16.03
Squid security fixes (16.03 backport)
2016-04-30 19:19:35 +02:00
Robert Scott
6cf2f5d8e8 squid: 3.2.13 -> 3.2.14 (though many CVEs still have no fix on this branch!) 2016-04-30 16:48:58 +00:00
Robert Scott
13513e731e squid: 3.4.11 -> 3.4.14 (though many CVEs still have no fix on this branch!) 2016-04-30 16:09:40 +00:00
Robert Scott
eb17cacf36 squid: 3.5.15 -> 3.5.17 (resolving CVE-2016-3947, CVE-2016-3948, CVE-2016-4051, CVE-2016-4052, CVE-2016-4053, CVE-2016-4054)
squid supplies patches for advisories, but patches for the above advisories applied together don't compile, hence the version bump for stable
2016-04-30 14:24:42 +00:00
Brad Ediger
e9351babed spotify: 1.0.27 -> 1.0.28
(cherry picked from commit 0da43bdc1d)

Backported because the old version is not available for download anymore.
2016-04-30 00:27:51 +02:00
Sheena Artrip
accca28dfd spotify: add sheenobu as maintainer
(cherry picked from commit 45b19e1908)

0da43bdc1d depends on this.
2016-04-30 00:27:00 +02:00
Tobias Geerinckx-Rice
ba705adfc3 claws-mail: rename from (and alias to) clawsMail
(cherry picked from commit 730d488a12)
2016-04-29 22:59:00 +02:00
Domen Kožar
d84ef15f1f vmTools.diskImages: add ubuntu 16.04
(cherry picked from commit 8a3b70791c)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-04-29 12:35:03 +01:00
Tuomas Tynkkynen
3b196dbb6f utillinux: Restore utillinuxCurses alias
This got removed by eead3bc536. Reintroduce the alias to avoid
breaking users' configurations.

(cherry picked from commit 676019bd85)
2016-04-29 10:10:20 +02:00
Rommel M. Martinez
bf1f79384e consoletools: copy utils to bin
(cherry picked from commit a6ce78130b)

Without this, `make install` puts stuff in `$out/usr/local`
2016-04-29 06:32:32 +02:00
Joachim Fasting
94137534be torbrowser: fix argument handling in wrapper
With $@ unquoted, the wrapper would always just pass "" to firefox

(cherry picked from commit 4741627bcf)
2016-04-28 23:50:00 +02:00
Joachim Fasting
5ccb23ff86 torbrowser: 5.5.4 -> 5.5.5
(cherry picked from commit 38ea8c6c30)
2016-04-28 23:50:00 +02:00
Vladimír Čunát
fcbb56accc fixup the previous cherry-pick
Thanks to @obadz for noticing promptly.
2016-04-28 18:50:44 +02:00
obadz
b1c19d6e00 qt4: add a toplevel entry for the version skype uses
Otherwise, it won't get built by hydra

abbradar: use `self` as needed for overrides.
(cherry picked from commit 98a7f819d9)
2016-04-28 18:35:21 +02:00
Eelco Dolstra
a240110dc8 acme.nix: Fix unit descriptions
Unit descriptions should be capitalized, and timer units don't have
to describe that they're timers.

(cherry picked from commit 0c5e837b66)
2016-04-28 13:59:17 +02:00
Eelco Dolstra
fa941ebacb copy-tarballs.pl: Use substituters to obtain tarballs
(cherry picked from commit 35bd7708d5)
2016-04-28 13:58:55 +02:00
Eelco Dolstra
9723a7df51 texlive-new: Export source tarballs via an attribute
This allows them to be found by find-tarballs.nix (which can only see
fetchurl dependencies if they are attributes, not if they're part of a
string context).

(cherry picked from commit be8fc33164)
2016-04-28 13:58:47 +02:00
Eelco Dolstra
a906b4be43 linux: 4.4.7 -> 4.4.8
(cherry picked from commit 454eefa63b)
2016-04-28 13:58:19 +02:00
Bjørn Forsman
0170599d55 jenkins service: bring back $SSL_CERT_FILE
A continuation of commit 23489b34c0
("Bring back $SSL_CERT_FILE"). Quoting that commit message:

  Commit 9f358f809d removed
  $SSL_CERT_FILE, which is fine for binaries linking against the current
  OpenSSL package, but not old binaries (e.g. those installed via
  nix-env). So let's keep $SSL_CERT_FILE for a while longer.

The above patch is only applied to 'release-16.03', so do the same for
this one.
2016-04-27 20:34:00 +02:00
Rob Vermaas
011ea84707 Fix nlopt build.
(cherry picked from commit 6c8fbed541)
2016-04-27 09:32:12 +00:00
Rob Vermaas
8914bb774b Add openblas 0.2.17 to make octave 4.0.1 work. 2016-04-27 09:31:47 +00:00
David Guibert
0c12babcfd kerberos_server: fix evaluation (closes #14928)
(cherry picked from commit 23e3cbeca4)
2016-04-25 16:05:45 +02:00
Sheena Artrip
47f2bf34f7 virtualbox: obey NIX_BUILD_CORES for make invocation, backport to 16.03 (#14964) 2016-04-25 07:14:11 +01:00
Joachim Fasting
dd1fa18646 rsync: fix version typo
Typo introduced at c3b4dd920b50d6fd7625ada250d042b47fbd0217; went
undetected because the checksum was not changed.

Reported by m4t__ on IRC

(cherry picked from commit 68691d31b1)
2016-04-25 02:04:52 +02:00
Robert Helgesson
a5e9fe0c6c perl-Guard: 1.022 -> 1.023
Fixes build with Perl 5.22.

(cherry picked from commit 5895b38c29)
2016-04-24 18:20:27 +02:00
Robert Helgesson
8cba91997f perl-Exception-Base: 0.25 -> 0.2501
Fixes build under Perl 5.22.

(cherry picked from commit 46e5412cfd)
2016-04-24 18:20:27 +02:00
Tuomas Tynkkynen
15530f9d48 dar: 2.5.2 -> 2.5.3
While at it, add xz support and enable parallel build.

(cherry picked from commit a3466e300d)
2016-04-24 13:36:59 +02:00
Joachim Fasting
a122cccd37 Merge pull request #14932 from grahamc/graceful-facetimehd-module-unload-16.03
Backport: replace module_init_tools with kmod, and graceful facetimehd module unloading to 16.03
2016-04-23 20:17:31 +02:00
Graham Christensen
b6c51f3e79 facetimehd: Only unload module if it is loaded
The pre-sleep service exits if any command fails. Unloading facetimehd
without it being loaded blocks subsequent commands from running.

Note: `modprobe -r` works a bit better when unloading unused modules,
and is preferrable to `rmmod`. However, the facetimehd module does not
support suspending. In this case, it seems preferable to forcefully
unload the module. `modprobe` does not support a `--force` flag when
removing, so we are left with `rmmod`.

See:
 - https://github.com/NixOS/nixpkgs/pull/14883
 - https://github.com/patjak/bcwc_pcie/wiki#known-issues
2016-04-23 11:59:00 -05:00
Tuomas Tynkkynen
aad8f223d8 module_init_tools: Remove
It is deprecated doesn't handle compressed modules, unlike its modern
counterpart kmod.

Add a compatibility alias to kmod for now in case someone is depending
on this in their scripts.
2016-04-23 11:58:17 -05:00
Tuomas Tynkkynen
37ad310ceb qemu-img: Fix module paths
They are compressed nowadays.

Not sure if these are really needed since nobody noticed they were
broken, but anyway...
2016-04-23 11:54:54 -05:00
Tuomas Tynkkynen
809a13010a treewide: Replace module_init_tools -> kmod
The former is deprecated and doesn't handle compressed kernel modules,
so all current usages of it are broken.

(cherry picked from commit 01854a850a)
2016-04-23 11:54:34 -05:00
Joachim Fasting
5740226f88 Revert "Merge pull request #14926 from grahamc/graceful-facetimehd-module-unload-16.03"
This reverts commit 71916459a3, reversing
changes made to 9d1662c6c9.

I noticed too late that this does not use kmod, like its counterpart on master.
See https://github.com/NixOS/nixpkgs/issues/14885
2016-04-23 18:24:18 +02:00
Joachim Fasting
71916459a3 Merge pull request #14926 from grahamc/graceful-facetimehd-module-unload-16.03
facetimehd: Only unload module if it is loaded (16.03)
2016-04-23 18:05:10 +02:00
Graham Christensen
52ecfe2da2 facetimehd: Only unload module if it is loaded
The pre-sleep service exits if any command fails. Unloading facetimehd
without it being loaded blocks subsequent commands from running.

Note: `modprobe -r` works a bit better when unloading unused modules,
and is preferrable to `rmmod`. However, the facetimehd module does not
support suspending. In this case, it seems preferable to forcefully
unload the module. `modprobe` does not support a `--force` flag when
removing, so we are left with `rmmod`.

See:
 - https://github.com/NixOS/nixpkgs/pull/14883
 - https://github.com/patjak/bcwc_pcie/wiki#known-issues
2016-04-23 09:31:40 -05:00
Domen Kožar
9d1662c6c9 make all boot tests release critical #14902 2016-04-23 13:12:17 +01:00
danbst
b991fc6e88 tortoisehg: 3.7.1 -> 3.7.3, refactor
update tortoisehg to 3.7.3 and remove source patch in build expression.
setup.py in TortoiseHG computes wrong paths in `build` phase
(upstream bug https://bitbucket.org/tortoisehg/thg/issues/4483/problems-with-setuppy-on-posix-systems).
So we skip this phase and perform install manually (the `build` phase is still performed as subcommand).

(cherry picked from commit 2fce49d3e8)
2016-04-22 19:14:44 +02:00
Dan Connolly
f9f4988bf3 tortoisehg: 3.6 -> 3.7.1, fixes package
fixes #13507

On June 8 (e8655ee) tortoisehg changed the way
it computes the `/usr/share` directory in a way that
invalidated the assumptions behind the use
of substituteInPlace in postUnpack.

(cherry picked from commit a4ce0e233b)
2016-04-22 19:14:43 +02:00
Domen Kožar
8bdc9ba2ad eval
(cherry picked from commit 8262cd0244)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-04-20 23:39:02 +01:00
Domen Kožar
a56a9d1b59 linuxPackages.dpdk: fix build 2016-04-20 23:09:30 +01:00
Dmitry Kalinkin
4e75fd5ceb root: fix NixOS build, build with lzma from nix, update homepage url
(cherry picked from commit f2200369e5)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-04-20 22:59:07 +01:00
Dmitry Kalinkin
b6d61b18aa root: 5.34.15 -> 6.04.16
(cherry picked from commit b8b368ef7c)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-04-20 22:59:07 +01:00
Joachim Fasting
e86e97b6d9 Merge #14851: oraclejdk: 8u77 -> 8u91, 8u92
(cherry picked from commit 1636d18050)
2016-04-20 18:16:01 +02:00
Domen Kožar
55830cfb33 add linuxPackages.dpdk: libs and drivers for fast packet processing
(cherry picked from commit e6899cc80c)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-04-20 16:14:19 +01:00
Joachim Fasting
94d5586c3a kernel-headers: mark broken for grsecurity kernels
Extracting headers from a grsecurity patched kernel triggers additional
build steps that require gcc plugins.  For this to work, we'd need to
add gmp, libmpfr, and libmpc to the build inputs as well as run `make
prepare` before installing the headers (lest the build fail due to
missing files).

Out-of-tree modules use kernel.dev and user space should use the Linux
API headers used to build libc, not headers extracted from random
kernels, so fixing this for grsecurity is pointless.

(cherry picked from commit 893186f4fd)
2016-04-19 22:52:26 +02:00
Michael Raskin
77e694fb08 libreoffice: 5.1.0.3 -> 5.1.2.2; still building, but the previous version in master was broken anyway and these problems are now fixed
(cherry picked from commit b338187e71)

Closes NixOS/nixpkgs#14799
2016-04-19 16:07:28 +02:00
Tom Hinton
5fc8d32ed2 Patch virtinst to refer to ${libvirt}/bin/virsh (#14818)
Also amend to resolve virt-viewer from $PATH, as this is considered an
optional dependency by upstream (per the error messages).
2016-04-19 10:12:53 +01:00
Thomas Tuegel
9d52c8d439 kde5.kcolorchooser: init at 15.12.3
(cherry picked from commit c37c5d4b52)
2016-04-18 16:29:35 -05:00
joachifm
6c89eed306 Merge pull request #14765 from jraygauthier/jrg/brother_printer_fixes_nixos1603
brgenml1cupswrapper: init at 3.1.0-1 + fix regression and improvements
2016-04-18 22:25:05 +02:00
Jos van den Oever
815460df40 davmail: 4.7.1 -> 4.7.2 2016-04-18 17:19:21 +02:00
Lluís Batlle i Rossell
c212183a99 Fixing ogre-paged build.
I update to a tree maintained by rigsofrods people.

(cherry picked from commit ecedf80a52)
2016-04-18 15:19:28 +02:00
Lluís Batlle i Rossell
b5b52a95b1 Fixing back ogre.
The merge of rigs of rods broke this.
2016-04-18 15:19:28 +02:00
Tim Steinbach
49401f708b kernel: 4.4.6 -> 4.4.7 (#14690)
(cherry picked from commit ccc3080857)
2016-04-18 14:21:55 +02:00
Lluís Batlle i Rossell
62c6f988e5 Adding back rigs of rods.
The result is similar to master "3868f02b173f44c735d9b904c687cdf4b8fdc64e".
Should be equivalent.
2016-04-18 14:18:30 +02:00
Raymond Gauthier
2acc814b15 brgenml1cupswrapper: fix regression and improvements
`cp`, `grep`, `chmod`, `sed` executables
no longer found when upgrading from nixos
15.09 to 16.03. Fixed by use of wrapper
script that brings these executables into
`PATH`.

Also fix lpd binaries on 64 bits machines
by use of `callPackage_i686`.
2016-04-18 06:45:57 -04:00
Raymond Gauthier
35fdddd136 brgenml1cupswrapper: init at 3.1.0-1
Brother generic cups wrapper over lpr driver
`brgenml1lpr` init at same version.
2016-04-18 06:45:48 -04:00
Raymond Gauthier
9c2d09201b maintainers.nix: add jraygauthier 2016-04-18 06:45:30 -04:00
Lluís Batlle i Rossell
cd7a5b4478 Removing content-pack download from rigsofrods.
The content packs from 0.37 don't seem to work. We should get one from 0.4, but
there are license problems, I think.
2016-04-18 11:56:43 +02:00
joachifm
4ac4b35948 Merge pull request #14735 from sheenobu/sipsak_fixbuild_gnu89_1603
sipsak: fix build by using --std=gnu89, backport to 16.03
2016-04-16 20:30:37 +02:00
Tobias Geerinckx-Rice
d8b3905a3d debian-devscripts: 2.16.1 -> 2.16.2
(cherry picked from commit ec8484734b)
2016-04-16 20:16:23 +02:00
Tuomas Tynkkynen
a9321b4e4f perlPackages.CGIPSGI: fix build
(cherry picked from commit ad8947ab1d)
2016-04-16 20:07:52 +02:00
Tuomas Tynkkynen
81493ac214 perlPackages.CGIEmulatePSGI: fix build
(cherry picked from commit 0aa19c5d87)
2016-04-16 20:07:52 +02:00
Tuomas Tynkkynen
2a48aef4f4 perlPackages.HTMLMason: fix build
(cherry picked from commit 18245ab18b)
2016-04-16 20:07:52 +02:00
Tuomas Tynkkynen
5d3ce8d177 perlPackages.{libfile,}strip-nondeterminism: 0.014 -> 0.016
Fixes build due to missing tarball.

(cherry picked from commit 2fdb9dcd9b)
2016-04-16 20:07:51 +02:00
Tuomas Tynkkynen
d2e0144945 perlPackages.FileBaseDir: fix build
(cherry picked from commit 9483bf606b)
2016-04-16 20:07:51 +02:00
Tuomas Tynkkynen
e7433c4961 perlPackages.TextTrim: fix build
(cherry picked from commit deb5366a9f)
2016-04-16 20:07:51 +02:00
Tuomas Tynkkynen
2782c1b325 perlPackages.CatalystControllerHTMLFormFu: fix build
(cherry picked from commit 81fc6fc7be)
2016-04-16 20:07:51 +02:00
Tuomas Tynkkynen
6b9f2f46ca perlPackages.TestWWWMechanizeCGI: fix build
(cherry picked from commit b577c309f0)
2016-04-16 20:07:51 +02:00
Tuomas Tynkkynen
aa8b552123 perlPackages.DateTimeFormatMySQL: fix build
(cherry picked from commit 0461c1eeef)
2016-04-16 20:07:50 +02:00
Tuomas Tynkkynen
3575c29135 perlPackages.DateTimeFormatISO8601: fix build
(cherry picked from commit 3dc2e7877e)
2016-04-16 20:07:50 +02:00
Tuomas Tynkkynen
48a1f20705 perlPackages.HTMLFormFu: fix build
(cherry picked from commit 773f27525a)
2016-04-16 20:07:50 +02:00
Tuomas Tynkkynen
669e165442 perlPackages.NetOAuth: fix build
(cherry picked from commit a20e80a816)
2016-04-16 20:07:50 +02:00
Tuomas Tynkkynen
fbc1e14ccd perlPackages.NetTwitterLite: fix build
(cherry picked from commit 7da9f71bf7)
2016-04-16 20:07:49 +02:00
Robert Helgesson
aa2180f0f6 perl-CPAN: depend on ModuleBuild
Also fix license field and minor other cleanups.

(cherry picked from commit a8272280d7)
2016-04-16 20:07:49 +02:00
Sheena Artrip
0520f58246 sipsak: fix build by using --std=gnu89, backport to 16.03 2016-04-16 13:53:25 -04:00
Vladimír Čunát
6ff0fabcd1 Merge #14757: openssh: fix CVE-2015-8325
(cherry picked from commit 4b9e9703d4)
2016-04-16 08:32:43 +02:00
Lluís Batlle i Rossell
067c15ea9e Make rigsofrods build the latest code.
I add angelscript 2.22 too, as it makes RoR happy.
2016-04-16 00:59:45 +02:00
Lluís Batlle i Rossell
9615d3a5be Fixing mygui build.
It wanted to find libboost_system
2016-04-15 20:34:53 +02:00
Lluís Batlle i Rossell
c6f4b4ab6d Fixnig ogre build in gcc 5. 2016-04-15 20:19:36 +02:00
Lluís Batlle i Rossell
40266527a8 Revert "rigsofrods: remove dead package"
This reverts commit 69e7948ffe.
2016-04-15 20:09:41 +02:00
Joachim Fasting
37148e6af4 electrum: 2.6.3 -> 2.6.4
(cherry picked from commit 9340014c58)

Upstream will not hesitate to ignore support requests filed against
anything other than the latest release.
2016-04-15 18:08:14 +02:00
joachifm
7e5838792c Merge pull request #14689 from grahamc/spotify-16.03
backport to 16.03: spotify: 1.0.26.125.g64dc8bc6-14 -> 1.0.27.71.g0a26e3b2-9
2016-04-14 15:43:50 +02:00
Ricardo M. Correia
e45ea6ddb7 nixos.locate: fix update-locatedb service failure
It was failing with a `Read-only filesystem` failure due to the systemd
service option `ReadWriteDirectories` not being correctly configured.

Fixes #14132

(cherry picked from commit f5951c55f7)
2016-04-14 15:38:53 +02:00
Sheena Artrip
07e216686e spotify: 1.0.26.125.g64dc8bc6-14 -> 1.0.27.71.g0a26e3b2-9
(cherry picked from commit 50e8994973)
2016-04-14 08:08:39 -05:00
taku0
ed6ff1be10 thunderbird-bin: 38.7.2 -> 45.0
(cherry picked from commit eb5c4fdadf)
2016-04-14 14:47:03 +02:00
Christoph Hrdinka
eac9571fb4 pcsx2: disable advance SIMD instructions
By setting `-DDISABLE_ADVANCE_SIMD=TRUE` pcsx2 will be compiled with predefined
SIMD flags instead of `-march=native`. This makes the resulting binary more
portable. Further this seems to be needed to make pcsx2 compile with gcc5.

(cherry picked from commit cc1cef3abc)
2016-04-14 14:18:21 +02:00
Eelco Dolstra
75ecb56930 firefox-esr: 45.0.1esr -> 45.0.2esr
Also, switch to upstream SHA-512 hashes.

(cherry picked from commit 18a6403c59)
2016-04-14 13:23:53 +02:00
Franz Pletz
b345526120 firefox: 45.0.1 -> 45.0.2
(cherry picked from commit 84edf81d71)
2016-04-14 13:23:44 +02:00
Eelco Dolstra
f21658dfca Add a regression test for #14623
(cherry picked from commit a42698d2a4)
2016-04-14 13:20:32 +02:00
Eelco Dolstra
b6de72513f Fix X11 tests broken by the removal of -ac
Probably missed a few. Also adding xauth to the system path (it was
already in the closure).

(cherry picked from commit 9153d8ed64)
2016-04-14 13:20:25 +02:00
Eelco Dolstra
659c41a7d5 X server: Enable local access control
For the last ten years we have been passing -ac to the X server, which
is very bad idea.

Fixes #14623.

(cherry picked from commit 1541fa351b)
2016-04-14 13:20:22 +02:00
Eelco Dolstra
e8f2870044 cudatoolkit: Don't barf on GCC > 4.9
Blender appears to build/run fine with GCC 5.3.

(cherry picked from commit bd4720a7d6)
2016-04-14 13:19:42 +02:00
Eelco Dolstra
ebd611f76c blender: 2.77 -> 2.77a
(cherry picked from commit 9fa5c5d461)
2016-04-14 13:19:38 +02:00
Eelco Dolstra
e0f77f7217 Restore default core limit of 0:infinity
Continuation of 79c3c16dcb. Systemd 229
sets the default RLIMIT_CORE to infinity, causing systems to be
littered with core dumps when systemd.coredump.enable is disabled.

This restores the 15.09 soft limit of 0 and hard limit of infinity.

(cherry picked from commit 840f3230a2)
2016-04-14 13:19:25 +02:00
Eelco Dolstra
c813fc2d50 fetchurl: Support SHA-512 hashes
(cherry picked from commit 3ecbe604ef)
2016-04-14 13:19:06 +02:00
Sergey Sofeychuk
57e423f17b imgur-screenshot: 1.5.4 -> 1.7.1
(cherry picked from commit 9a11aafb91)
2016-04-14 05:18:45 +03:00
Tristan Helmich
8add11ee76 samba4Full: 4.3.6 -> 4.3.8 (#14661)
Fixes the following security issues:
 * CVE-2015-5370 (Multiple errors in DCE-RPC code)
 * CVE-2016-2110 (Man in the middle attacks possible with NTLMSSP)
 * CVE-2016-2111 (NETLOGON Spoofing Vulnerability)
 * CVE-2016-2112 (LDAP client and server don't enforce integrity)
 * CVE-2016-2113 (Missing TLS certificate validation)
 * CVE-2016-2114 ("server signing = mandatory" not enforced)
 * CVE-2016-2115 (SMB IPC traffic is not integrity protected)
 * CVE-2016-2118 (SAMR and LSA man in the middle attacks possible)

See http://badlock.org/ for details.

(cherry picked from commit 192dc27dc3)
2016-04-13 18:01:07 +02:00
Taylor "Nekroze" Lawson
e409886147 Updated unifi-controller package to 4.8.15
Previous version (4.8.14) is no longer available to download.
(cherry picked from commit 5330df8984)
2016-04-13 02:54:33 +02:00
Joachim Fasting
027e666b34 Revert "Merge pull request #14262 from peterhoeg/flexget"
This reverts commit c8b6c37792, reversing
changes made to 91a3e47895.

Sorry, I did not notice that this was opened against the wrong branch ...
2016-04-13 02:53:28 +02:00
taku0
8d90560e2d firefox-bin: 45.0.1 -> 45.0.2 (#14626)
(cherry picked from commit c98cca3614)
2016-04-13 02:51:43 +02:00
taku0
9c304461dc firefox-bin: 45.0 -> 45.0.1
(cherry picked from commit 9aa6ca99e4)
2016-04-13 02:51:43 +02:00
taku0
1a2349c328 firefox-bin: 44.0.2 -> 45.0
(cherry picked from commit 153468aa5e)
2016-04-13 02:51:43 +02:00
joachifm
c8b6c37792 Merge pull request #14262 from peterhoeg/flexget
flexget: create nixos service module
2016-04-13 02:44:37 +02:00
joachifm
91a3e47895 Merge pull request #14641 from grahamc/slack-16.03
Backport Slack to 16.03
2016-04-13 01:34:30 +02:00
Tim Steinbach
03cd6abaa8 slack: Fix 2.0.3
(cherry picked from commit b6c80ee36c)
2016-04-12 18:19:39 -05:00
Tim Steinbach
609a09578f slack: 2.0.1 -> 2.0.3
(cherry picked from commit 0dfcc687be)
2016-04-12 18:19:29 -05:00
Greyson Fischer
3ad206abfb slack: init at 2.0.1
(cherry picked from commit 7fe888e521)
2016-04-12 18:19:22 -05:00
Tuomas Tynkkynen
7c0caab184 Merge pull request #14633 from layus/vlc-fix-stable
vlc: fixes the two windows issue with qt5
2016-04-13 00:43:40 +03:00
Guillaume Maudoux
d3c950bf09 vlc: fixes the two windows issue with qt5
Fix a bug with vlc displaying video in a separate window.

(cherry picked from commit 43cf5d3369)
Reason: qt5.vlc is also broken on stable.
2016-04-12 23:30:30 +02:00
Nikolay Amiantov
510eb45314 wine: use gcc49 for 64-bit builds
(cherry picked from commit 24835df322)
2016-04-12 21:32:55 +03:00
Nikolay Amiantov
63909c944d wrapCCMulti: split from gcc_multi
(cherry picked from commit 391c3e505e)
2016-04-12 21:31:28 +03:00
Nikolay Amiantov
f717a5b531 wine: fix outputs and pulseaudio support
(cherry picked from commit b109f33d64)
2016-04-12 18:44:44 +03:00
Robert Scott
1dd14cc044 django: 1.9.4 -> 1.9.5 2016-04-12 12:26:19 +02:00
Robert Scott
bc2efefc5a django: 1.8.11 -> 1.8.12 2016-04-12 12:26:07 +02:00
Eelco Dolstra
0904efa11d find-tarballs.nix: Handle stdenv bootstrap fetchurl
(cherry picked from commit f1f79505fc)
2016-04-12 11:22:10 +02:00
Vladimír Čunát
0864adcc33 vlc: lower priority of qt5 versions
/cc #14610

(cherry picked from commit 4709bdcb71)
Having `nix-env -i vlc` install something else than `pkgs.vlc`
(nondeterministically) was bad.
2016-04-12 10:16:21 +02:00
Vladimír Čunát
4ffe3f9593 nixos-generate-config: lower priority of nix.maxJobs
Fixes #6429.

(cherry picked from commit 5c04313451)
2016-04-12 08:10:31 +02:00
Nikolay Amiantov
4b667665c2 imgurbash: fix for new imgur API 2016-04-12 04:16:34 +03:00
Aaron Son
ed2d804d5d gradle: Fix gradle-2.12 on Linux to find libstdc++.so reference in native library.
(cherry picked from commit bbfad5111a)
2016-04-11 22:32:07 +02:00
Tim Steinbach
766d696c68 gradle: 2.11 -> 2.12
(cherry picked from commit aa4af87501)
2016-04-11 22:32:07 +02:00
risicle
e8c4cab725 PHP security updates (r16.03 backport) (#14590)
* php55: 5.5.33 -> 5.5.34

* php: 5.6.19 -> 5.6.20
2016-04-11 12:08:22 +01:00
joachifm
2e594a50cf Merge pull request #14580 from LumiGuide/fix-php
php: re-enable mysql support
2016-04-11 11:01:36 +02:00
Tomasz Kontusz
a8ffc875a5 partimage: correct the patch SHA256
It was using a hash for the file itself, instead of the one for a sanitized patch.

(cherry picked from commit 789c281a62)
2016-04-11 02:08:12 +03:00
Bas van Dijk
6a0702b5f7 php: re-enable mysql support
Commit 464b56f fixes issue #14351
2016-04-10 20:34:13 +02:00
Joachim Fasting
84ffd46322 mupen64plus: build with gcc49
Works around failure with gcc5, see
https://hydra.nixos.org/build/34273319/nixlog/1/raw
Not a real fix, but a working build is better than nothing ...

I have tested that the program at least runs: it fails to load a few
plugins, tho, have no idea to what extent that affects use
  Couldn't load plugin 'ricevideo.so':
  /nix/store/...-mupen64plus-1.5/share/mupen64plus/plugins/ricevideo.so:
  undefined symbol: glCombinerInputNV
  Couldn't load plugin 'glN64.so':
  /nix/store/...-mupen64plus-1.5/share/mupen64plus/plugins/glN64.so:
  undefined symbol: glCombinerInputNV

(cherry picked from commit 9a55b76db1)
2016-04-10 15:56:02 +02:00
Micxjo Funkcio
acd39d653f botanUnstable: 1.11.28 -> 1.11.29 (security)
This release contains fixes for
  * CVE-2016-2849
  * CVE-2016-2850

(cherry picked from commit 3c2e932450)
2016-04-10 12:12:37 +02:00
Micxjo Funkcio
85ffe0cb45 libsndfile: 1.0.25 -> 1.0.26 (security)
This release contains fixes for
  * CVE-2014-9496
  * CVE-2014-9756
  * CVE-2015-7805

(cherry picked from commit 75c033969b)
2016-04-10 12:12:23 +02:00
Vladimír Čunát
3e1a5d957f Merge #14541: nvidia-x11: 358.16 -> 361.42 2016-04-10 11:56:02 +02:00
Micxjo Funkcio
279b1818c0 pcre: patch CVE-2016-1283
This fixes CVE-2016-1283, which allows remote attackers to cause
a denial of service (heap-based buffer overflow) or possibly
have unspecified other impact via a crafted regular expression.

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1283
(cherry picked from commit 1e2fe7e07d)
2016-04-10 04:22:11 +03:00
Marius Bakke
236fc23aae p7zip: 9.38 -> 15.14.1
(cherry picked from commit 5d15c0f5fd)

The delta contains a fix for CVE-2015-1038 which affects p7zip since 0.9.20 (fix
occurs in 15.10)
2016-04-09 19:00:23 +02:00
Joachim Fasting
97f6277819 manual: delete dangling pointer to real-world NixOS configs
At some point we probably want to replace this with a curated list
of configurations or even an upstreamed repository of examples, but
for now this is just noise.

Fixes NixOS/nixpkgs#14522

(cherry picked from commit 678e1955b1)
2016-04-09 18:17:18 +02:00
Eelco Dolstra
1de085f998 nvidia-x11: 358.16 -> 361.42
This fixes the segfault reported in #13942 caused by missing
libEGL.so.0 and libEGL_nvidia.so.0 symlinks.

(cherry picked from commit f3b43b8a4488d50663052a24b02abd77fc668502)
2016-04-08 15:02:01 -05:00
Eelco Dolstra
aef0efc389 httpd.service: Support reload
This is useful when ACME has generated a new TLS certificate.

(cherry picked from commit 133e6e1ea6)
2016-04-08 19:42:15 +02:00
Eelco Dolstra
71b8ddc4f4 Revert "gcc: Use the pre-C++11 ABI by default"
This reverts commit 83011723af. This
never worked because gcc's setup hook is never actually sourced. I
could fix this but since nobody complained, we probably don't need it.

(cherry picked from commit 60f07e8e10)
2016-04-08 19:34:11 +02:00
Evgeny Egorochkin
464b56fd31 binutils: cherry-pick a patch from master; this fixes build failure for akonadi; see https://sourceware.org/bugzilla/show_bug.cgi?id=19698
Fixes #14512

(cherry picked from commit 5982591afc)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-04-08 18:32:41 +01:00
Nikolay Amiantov
152c67dfb4 flashplayer: cleanup, add comment to maintainers
(cherry picked from commit d45ac41e87)
2016-04-08 18:23:07 +02:00
taku0
7403dde875 flashplayer: fix build on 32-bit platform
(cherry picked from commit 28232c3746)
2016-04-08 18:23:07 +02:00
taku0
01fbc3b4ba flashplayer: 11.2.202.577 -> 11.2.202.616
(cherry picked from commit 03e74fb117)

Security fix for APSB16-10.
2016-04-08 18:22:12 +02:00
Graham Christensen
3c534c83ce mercurial: 3.7.1 -> 3.7.3 for multiple CVEs
CVE-2016-3068

    Blake Burkhart discovered that Mercurial allows URLs for Git
    subrepositories that could result in arbitrary code execution on
    clone.

CVE-2016-3069

    Blake Burkhart discovered that Mercurial allows arbitrary code
    execution when converting Git repositories with specially
    crafted names.

CVE-2016-3630

    It was discovered that Mercurial does not properly perform bounds-
    checking in its binary delta decoder, which may be exploitable for
    remote code execution via clone, push or pull.

(cherry picked from commit f9099deb8e)
2016-04-08 15:18:11 +02:00
Micxjo Funkcio
3c5b61c851 optipng: 0.7.5 -> 0.7.6 (CVE-2016-2191)
(cherry picked from commit eda65083e8)
2016-04-08 11:02:26 +02:00
Nikolay Amiantov
5cce08c86e steam: add xdg_utils to chrootenv
(cherry picked from commit c4bbfdb478)
2016-04-08 03:13:59 +03:00
taku0
3a0b02c880 thunderbird-bin: 38.7.1 -> 38.7.2
(cherry picked from commit 8be8b6c713)

Works around potential security problems with the graphite font
shaping library.
See https://www.mozilla.org/en-US/thunderbird/38.7.2/releasenotes/
2016-04-07 23:09:11 +02:00
Wout Mertens
ac4a8e2e58 Merge pull request #14521 from jb55/fix/wkhtmltopdf
wkhtmltopdf: 0.12.2.4 -> 0.12.3.2, fix broken build on 16.03
2016-04-07 22:02:44 +02:00
Domen Kožar
22bd9c12fe Revert "kernelHeaders: fix build with libmpc"
This reverts commit b0adde8f8a.

Doesn't fix the issue for grsec kernels.
2016-04-07 11:34:48 +01:00
Lluís Batlle i Rossell
516f47efef Making trac/ldap handle httpd 2.4.
The option authzldapauthoritative had been removed in 2.4
2016-04-07 11:38:06 +02:00
Frederik Rietdijk
99a0db0586 mendeley: 1.16 -> 1.16.1 2016-04-07 09:35:47 +02:00
William Casarin
56ff791a54 wkhtmltopdf: 0.12.2.4 -> 0.12.3.2
Fixes #14422
2016-04-07 00:20:41 -07:00
Eelco Dolstra
cbeef98664 Add 16.03 AMIs
(cherry picked from commit ab2855b975)
2016-04-06 18:43:57 +02:00
Eelco Dolstra
b2ca64f52b Move the EC2 AMI registry from the NixOps repo
NixOps has infrequent releases, so it's not the best place for keeping
the list of current AMIs. Putting them in Nixpkgs means that AMI
updates will be delivered as part of the NixOS channels.

(cherry picked from commit 4e356cefd7)
2016-04-06 18:43:14 +02:00
Eelco Dolstra
a550dcac7f Update AMI creation script
(cherry picked from commit 69c746d06b)
2016-04-06 18:40:53 +02:00
Eelco Dolstra
1e462c6ba0 mpv: 0.15.0 -> 0.16.0
(cherry picked from commit 9c2a49e76a)
2016-04-06 18:40:48 +02:00
Domen Kožar
567b65d165 nixos tests: increase timeout for udevadm settle, see #13559 2016-04-06 12:56:51 +01:00
Domen Kožar
22094324fb linuxHeaders: add platforms
(cherry picked from commit c850203487)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-04-06 12:43:07 +01:00
Domen Kožar
b0adde8f8a kernelHeaders: fix build with libmpc
(cherry picked from commit e9842ea8d7)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-04-06 12:43:06 +01:00
Domen Kožar
94036474c2 phantomjs2: 2.0.0 -> 2.1.1 (fix build) 2016-04-06 12:29:45 +01:00
Damien Cassou
18eb994dd0 pharo-no-spur: 2015.08.06 -> 2016.02.18
(cherry picked from commit 21cb5fcf78)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-04-06 10:45:28 +01:00
Damien Cassou
4207e29b0d pharo-spur: 2016.02.15 -> 2016.04.04
(cherry picked from commit e1ab998776)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-04-06 10:45:28 +01:00
Roger Qiu
8777eb989a nixos/stage-1: Removed logCommands conditional for resetting the file descriptors after completion of logging
(cherry picked from commit 53e8e93939)
2016-04-05 23:55:59 +02:00
Markus Wotringer
0a5e7f3ba7 conkeror: 1.0pre-20150730 -> 1.0pre-20160130
(cherry picked from commit 90624dcf89)

See https://github.com/NixOS/nixpkgs/issues/14448
2016-04-05 23:55:25 +02:00
Nikolay Amiantov
a5d3fdc726 dspam service: run after postgresql to prevent segfaults
(cherry picked from commit ea5c7d553c)
2016-04-05 18:01:49 +03:00
Nikolay Amiantov
b2be13433d uwsgi service: use python.buildEnv, fix PATH
(cherry picked from commit 25754a5fc2)
2016-04-05 17:58:47 +03:00
Nikolay Amiantov
4b167d2c79 paprefs: propagate GConf dbus service
(cherry picked from commit 822665f066)
2016-04-05 17:58:30 +03:00
Vladimír Čunát
c8350dd33d vmTools: update debian jessie 8.3 -> 8.4
Their in-place updates break download hashes...

(cherry picked from commit aa670eb503)
2016-04-05 14:34:01 +02:00
Damien Cassou
54cab9cafe emacs25pre: 25.0.50-1b5630e -> 25.0.92
(cherry picked from commit 9b52caaa0c)
2016-04-05 10:49:50 +02:00
Christoph Ruegge
73e0cc9b8e emacs25pre: call autogen.sh before configuring
(cherry picked from commit c251f82de9)
2016-04-05 10:49:50 +02:00
Vladimír Čunát
e154450871 nixpkgs manual introduction: improve
- make line wrapping more consistent (overlong lines)
- don't stress the manual is *only* for contributors,
  as it does contain some user-guide parts, including the intro itself
- since March our Hydra publishes binaries immediately,
  not waiting for channel update

(cherry picked from commit 2bbae9696a)
2016-04-05 10:06:30 +02:00
Daniel Peebles
8fe066a16a Merge pull request #14451 from NeQuissimus/readme1603
README: 15.09 -> 16.03
(cherry picked from commit cf39ca1950)
2016-04-05 10:06:30 +02:00
obadz
a4f36d49a5 citrix-receiver: fix patchelf error during installPhase
Due to recent change in patchelf, it's now necessary to run chmod u+w
prior to running patchelf itself. Fixes #14440 for citrix-receiver
2016-04-04 15:52:17 +01:00
Eelco Dolstra
002d151ebe php: Disable mysql support
It's broken (#14351). Disabling to allow PHP to load.
2016-04-04 15:24:01 +02:00
Eelco Dolstra
ad0b2cfb7c Revert "initrd: Use modprobe from busybox"
This reverts commit 45c218f893.

Busybox's modprobe causes numerous "Unknown symbol" errors in the
kernel log, even though the modules do appear to load correctly.
2016-04-04 15:24:01 +02:00
Tomasz Kontusz
04a9e43f97 mini-httpd: add -ansi to CFLAGS
(cherry picked from commit 36135033b6)

Fixes gcc5 build
2016-04-04 12:55:49 +02:00
Nicolas B. Pierron
3420ac1b2e Fix typo in service.syncthing.dataDir description.
(cherry picked from commit 411408f74c)
2016-04-04 12:42:06 +02:00
Tomasz Kontusz
575450370c gnaural: build with gcc49
(cherry picked from commit 4a75df9395)
2016-04-04 12:19:54 +02:00
=
32d29b7897 libtorrentRasterbar: 1.0.6 -> 1.0.9
(cherry picked from commit 9d8d875918)
Fixes https://bbs.archlinux.org/viewtopic.php?id=206627 (affecting deluge)
2016-04-04 12:18:17 +02:00
David Guibert
3f96280da0 skype: build qt4 with the 32bits clangStdenv
This allows to build skype without errors like this:
clang++ -Wl,-O1 -o libmng libmng.o     -lmng
/nix/store/1d2abmmqvindckyq51nq9kd1yisiv54j-binutils-2.26/bin/ld: skipping incompatible /nix/store/72nklasrjg774iwxxnpyxwkzxz2j37v5-libmng-2.0.2/lib/libmng.so when searching for -lmng
/nix/store/1d2abmmqvindckyq51nq9kd1yisiv54j-binutils-2.26/bin/ld: cannot find -lmng
/nix/store/1d2abmmqvindckyq51nq9kd1yisiv54j-binutils-2.26/bin/ld: skipping incompatible /nix/store/n0y8pv4kaff7vnq7rmzwrd654gqaj0ki-glibc-2.23/lib/libm.so when searching for -lm
/nix/store/1d2abmmqvindckyq51nq9kd1yisiv54j-binutils-2.26/bin/ld: skipping incompatible /nix/store/n0y8pv4kaff7vnq7rmzwrd654gqaj0ki-glibc-2.23/lib/libm.a when searching for -lm
clang-3.7: error: linker command failed with exit code 1 (use -v to see invocation)

(cherry picked from commit 7f69d5ed8c)
2016-04-02 19:53:05 +03:00
Rastus Vernon
ae4d57f2e7 nixos manual: recommend use of dd for writing the image
Unetbootin works by altering the image and placing a boot loader on it.
For this reason, it cannot work with UEFI and the installation guides
for other distributions (incl. Debian and Fedora) recommend against
using it.

Since dd writes the image verbatim to the drive, and not just the files,
it is not necessary to change the label after using it for UEFI
installations.

vcunat: tiny changes to the PR. Close #14139.
(cherry picked from commit d6998b0674)
2016-04-02 17:43:13 +02:00
Eric Sagnes
6666a901f1 fcitx-engines.mozc: build protobuf dependency using clang
(cherry picked from commit a5285ae477)
2016-04-02 10:09:51 +02:00
Gabriel Ebner
111132d097 ibus-engines.mozc: build protobuf dependency using clang.
Fixes #14261.

(cherry picked from commit e5c4d29f79)
2016-04-02 10:09:46 +02:00
Franz Pletz
3fbea87f2f imlib2: 1.4.6 -> 1.4.8 (security)
Fixes:

 * CVE-2014-9762
 * CVE-2014-9763
 * CVE-2014-9764

(cherry picked from commit 94396b8d91)
2016-04-02 00:08:34 +02:00
Théophane Hufschmitt
f8a5d1e3ea moreutils : 0.57 -> 0.58
(cherry picked from commit 93856f36a2)

Source URL for 0.57 is 404; fixes NixOS/nixpkgs#14374
2016-04-01 19:21:13 +02:00
Christian Albrecht
2c5df45dad zsh: fix configureFlags #14256
commit 97332d3 introduced non expanding $out/etc/zprofile in zshs compiled in PATH.
this commit reverts the change so that $out is expanded at configure time.

(cherry picked from commit 9c6a69230d)

Fixes #14256.
2016-04-01 18:31:20 +02:00
Domen Kožar
089a5889ce Merge pull request #14368 from ttuegel/kde5-release-16.03
release-16.03: note KDE 5 upgrades in release notes
2016-04-01 15:19:35 +01:00
Eelco Dolstra
6e90d2f83a ssh: Fix support for ssh-dss host keys
(cherry picked from commit 3fb1708427)
2016-04-01 16:04:15 +02:00
Thomas Tuegel
e90ef1b4c3 release-16.03: note KDE 5 upgrades in release notes 2016-04-01 08:57:21 -05:00
Eelco Dolstra
8a8e3cec76 firefox-esr: Fix name
The Firefox wrapped called itself "firefox" rather than "firefox-esr".

Also eliminate a use of splitString which is evil and should never be
used.

(cherry picked from commit 2f0195003e)
2016-04-01 13:53:37 +02:00
Lluís Batlle i Rossell
d9f5e80b9f Updating trigger-rally to 0.6.3
(cherry picked from commit f07b934c8a)
2016-04-01 11:16:31 +02:00
Lluís Batlle i Rossell
90fb3bf286 Updating giv to latest from git (>0.9.25).
We were using a version years old.

I picked the git version instead of the last release because the git version
has fixes not released for almost one year.

(cherry picked from commit f38d620d59)
2016-04-01 10:13:27 +02:00
Frederik Rietdijk
c4d75ae5be spotify: 1.0.26.125.g64dc8bc6-14 -> 1.0.26.125.g64dc8bc6-15 2016-04-01 08:36:46 +02:00
Vladimír Čunát
41eee441ef gnucash-2.6: hack around test failures
They were most likely triggered by #909.
Tested only against 16.03 due to webkitgtk problems on master.

(cherry picked from commit 0689ff1574)
2016-04-01 07:48:53 +02:00
Domen Kožar
ecf6ca477c changelog: correct path to gitit nixos module
(cherry picked from commit d8abfc87c6)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-31 23:49:48 +01:00
Domen Kožar
b01eedaeec nixos-generate-config.pl: correct path for broadcom-43xx 2016-03-31 23:46:54 +01:00
makefu
9733045d05 graphite: fix carbonCache graphiteWeb graphiteApi
This commit implements the changes necessary to start up a graphite carbon Cache
with twisted and start the corresponding graphiteWeb service.
Dependencies need to be included via python buildEnv to include all recursive
implicit dependencies.

Additionally cairo is a requirement of graphiteWeb and pycairo is not a standard
python package (buildPythonPackage) and therefore cannot be included via
buildEnv. It also needs cairo in the Library PATH.

(cherry picked from commit 626bfce3b8)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-31 23:40:00 +01:00
Domen Kožar
216c840ca8 changelog: note binutils upgrade 2016-03-31 23:39:01 +01:00
Domen Kožar
279557e6d2 changelog: note release date 2016-03-31 23:08:49 +01:00
Domen Kožar
d231868990 changelog: add all new NixOS modules 2016-03-31 23:00:24 +01:00
ne0phyte
5c5e904763 kicad: 2013 stable -> 4.0.2
(cherry picked from commit cce37d2164)
2016-03-31 23:11:47 +02:00
Joachim Fasting
a8e92de019 electrum: 2.6.2 -> 2.6.3
(cherry picked from commit 0e05d552f8)
Upstream tends to outright close tickets filed against anything but the
latest version.
2016-03-31 23:11:00 +02:00
Lancelot SIX
70bab96717 gnupg20: 2.0.29 -> 2.0.30
See https://lists.gnupg.org/pipermail/gnupg-announce/2016q1/000385.html

(cherry picked from commit d6f9e35683)
2016-03-31 20:50:37 +02:00
Nikolay Amiantov
9ac86f947e steam: use old C++ ABI for primus
(cherry picked from commit 0276a8b2d2)
2016-03-31 19:53:21 +03:00
Nikolay Amiantov
bd19f47b68 primus: propagate stdenv to primusLibs
(cherry picked from commit 9b7edbeb2f)
2016-03-31 19:53:15 +03:00
Nikolay Amiantov
b0d9cb36de stdenvAdapters.useOldCXXAbi: add new adapter
(cherry picked from commit 9134f9358a)
2016-03-31 19:53:08 +03:00
Joachim Fasting
4a021a017d kdevplatform: disable parallel build
Hotfix for 1edb9b9558
Ref: https://github.com/NixOS/nixpkgs/pull/13843

(cherry picked from commit cd7242d09d)
Hydra has a failure on 16.03, too:
http://hydra.nixos.org/build/33898803/nixlog/1/raw
2016-03-31 18:03:53 +02:00
Vladimír Čunát
6465c790e2 partimage: fix build with openssl-1.0.2
...by using patch from Arch (taken from Debian).

(cherry picked from commit 1186bffb7f)
2016-03-31 17:57:42 +02:00
Franz Pletz
38fca2124a php: 7.0.2 -> 7.0.5 (security)
https://secure.php.net/ChangeLog-7.php#7.0.5

(cherry picked from commit fc1e886f1b)
2016-03-31 16:09:03 +02:00
Michael Raskin
5fa1475d12 davfs2: 1.4.7 -> 1.5.2; fixes the build
(cherry picked from commit cdb2bc77c4)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-31 13:48:26 +01:00
Domen Kožar
0263e6efec qemu: 2.5.0 -> 2.5.1
Hopefully this also fixes installer tests on i686

(cherry picked from commit 8a34a3b37a)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-31 13:48:08 +01:00
Eelco Dolstra
65075167ce NixOS manual: Add some release notes
(cherry picked from commit e60be0923b)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-31 13:47:12 +01:00
Eelco Dolstra
a2b526d41a Fix the boot-ec2-config test
(cherry picked from commit 1783e33b06)
2016-03-31 13:32:56 +02:00
Pascal Wittmann
daf0729f3a nixos/manpages: enable linebreaking after slashes
Allow linbreaks after slashes in long URLs. The option used
is documented at

   http://docbook.sourceforge.net/release/xsl/current/doc/manpages/man.break.after.slash.html

This commit fixes #4538.

(cherry picked from commit 8ddfab0cf2)
2016-03-31 11:29:05 +02:00
Tuomas Tynkkynen
2d840dad4c ios-cross-compile: Don't build on hydra
http://hydra.nixos.org/build/33505267/nixlog/1/raw

(cherry picked from commit c12f63821f)
2016-03-31 07:22:54 +03:00
Vladimír Čunát
2253d675d7 hhvm: disable parallel building
/cc #14151.
http://hydra.nixos.org/build/33846692/nixlog/1/tail

(cherry picked from commit 254e2cc982)
2016-03-31 00:56:48 +02:00
Domen Kožar
26ac90e6ad Merge pull request #14264 from ttuegel/emacs-release-16.03
emacsPackagesNg: remove compatibility cl-lib
2016-03-30 23:33:18 +01:00
Domen Kožar
864b2d6aae perlPackages.UnicodeString: fix build (also imapsync)
(cherry picked from commit 1845159705)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-30 21:07:53 +01:00
Luca Bruno
2173c47506 namazu: mark as broken
(cherry picked from commit 04d4d0000f)
2016-03-30 21:54:41 +02:00
Eelco Dolstra
792bbd380e Fix the EC2 test
We now generate a qcow2 image to prevent hitting Hydra's output size
limit. Also updated /root/user-data -> /etc/ec2-metadata/user-data.

http://hydra.nixos.org/build/33843133
(cherry picked from commit 0d3738cdcc)
2016-03-30 21:51:15 +02:00
Rickard Nilsson
5feeab1d57 nixos/filesystems: Fix fs options type error
(cherry picked from commit 6ff5821be6)
2016-03-30 21:51:10 +02:00
Luca Bruno
556e1b892b glib-tested: suppress gdbus test needing machine-id
(cherry picked from commit 184b7ba3c6)
2016-03-30 21:29:19 +02:00
Luca Bruno
33fe6ee6a6 oprofile: depend on libiberty_static
(cherry picked from commit 18918507f2)
2016-03-30 21:00:53 +02:00
Luca Bruno
77a465e98f libiberty: add static variant
(cherry picked from commit 088231fe9f)
2016-03-30 21:00:46 +02:00
Domen Kožar
b0f8e15376 remove erlangR14: outdated and doesn't build
(cherry picked from commit a1cfdb9c88)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-30 18:55:20 +01:00
Lluís Batlle i Rossell
4254bb9828 Fix evaluation. (licenses, not licences)
Thanks Domen.

(cherry picked from commit 0c98b52816)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-30 18:52:00 +01:00
Lluís Batlle i Rossell
e59d4141c6 Updating wings and dependencies to match erlang
I updated the erlang esdl lib, added the erlang cl lib,
added opencl-headers and ocl-icd to make wings build and run.

I have not tested its opencl part; I only added dependencies so
it builds.

(cherry picked from commit f6a44bea9e)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-30 18:51:47 +01:00
Michael Raskin
162556c9c6 perl-Alien-Wx: pass ModuleBuild dependency
(cherry picked from commit af3ec2046a)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-30 18:44:15 +01:00
Domen Kožar
d2e4593240 manual: use a better relaxng validation tool #4966
(cherry picked from commit ccdda96c2f)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-30 18:37:29 +01:00
Graham Christensen
e8c74f4c61 jenkins: copy .war to $out, fixes #14137
(cherry picked from commit 0b8dd57694)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-30 18:37:15 +01:00
Ambroz Bizjak
32889165e0 pythonPackages/power: 1.2 -> 1.4
This fixes the build both for Python 2.7 and 3.

(cherry picked from commit 492c826a5d)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-30 18:36:51 +01:00
Aristid Breitkreuz
7cf7ed166c Finance::Quote: 1.37 -> 1.38 & add missing dependency on CGI
(cherry picked from commit 63032dae9d)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-30 18:13:16 +01:00
Eelco Dolstra
23489b34c0 Bring back $SSL_CERT_FILE
Commit 9f358f809d removed
$SSL_CERT_FILE, which is fine for binaries linking against the current
OpenSSL package, but not old binaries (e.g. those installed via
nix-env). So let's keep $SSL_CERT_FILE for a while longer.
2016-03-30 16:37:18 +02:00
Eelco Dolstra
badecc4c42 nixos-rebuild: Fix Nix fallback
Somebody forgot that Bash is not a real programming language...

(cherry picked from commit c94f8a4abd)
2016-03-30 16:37:03 +02:00
aszlig
7133dcdd28 chromium: Update all channels to latest versions
Overview of the updated versions:

stable: 49.0.2623.87 -> 49.0.2623.110
beta:   50.0.2661.26 -> 50.0.2661.49
dev:    50.0.2661.18 -> 51.0.2693.2

Most notably, this includes a series of urgent security fixes:

 * CVE-2016-1646: Out-of-bounds read in V8. Credit to Wen Xu from
                  Tencent KeenLab.
 * CVE-2016-1647: Use-after-free in Navigation. Credit to anonymous.
 * CVE-2016-1648: Use-after-free in Extensions. Credit to anonymous.
 * CVE-2016-1649: Buffer overflow in libANGLE. Credit to lokihardt
                  working with HP's Zero Day Initiative / Pwn2Own.
 * CVE-2016-1650: Denial of service in PageCaptureSaveAsMHTMLFunction

The official release announcement with details about these fixes can be
found here:

http://googlechromereleases.blogspot.de/2016/03/stable-channel-update_24.html

Beta and stable could be also affected, although I didn't do a detailed
check whether that's the case.

As this introduces Chromium 51 as the dev version, I had to make the
following changes to make it build:

 * libexif got removed, so let's do that on our end as well.
   See https://codereview.chromium.org/1803883002 for details.
 * Chromium doesn't seem to compile with our version of libpng, so let's
   resort to the bundled libpng for now.
 * site_engagement_ui.cc uses isnan outside of std namespace, so
   we're fixing that in postPatch using sed.

I have successfully built all versions on i686-linux and x86_64-linux
and tested it using the VM tests.

Test reports can be found at the following evaluation of my Hydra:

https://headcounter.org/hydra/eval/314584

Thanks to @grahamc for reporting this.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Reported-by: Graham Christensen <graham@grahamc.com>
Fixes: #14299
(cherry picked from commit ef753d210e)
2016-03-30 15:27:44 +02:00
Domen Kožar
6824d79c69 Merge pull request #14316 from ttuegel/kde5-release-16.03
kde5.applications: 15.12.1 -> 15.12.3
2016-03-30 13:02:03 +01:00
Vladimír Čunát
36107e6f03 qt4-clang: fix fallout from f9b5ed66d1
There's still the question of Hydra binaries etc. but this should at
least fix evaluation and running problems.

(cherry picked from commit 8ffe681713)
2016-03-30 13:28:46 +02:00
Franz Pletz
5b83e496c8 dhcpcd: 6.9.4 -> 6.10.1 (security)
Fixes CVE-2016-1503 & CVE-2016-1504.

Changelog:
  - http://roy.marples.name/archives/dhcpcd-discuss/2016/1143.html
  - http://roy.marples.name/archives/dhcpcd-discuss/2016/1146.html

(cherry picked from commit 5aa986fba2)

See #14313.
2016-03-30 13:08:00 +02:00
Eelco Dolstra
24d68896e4 Inline qt4-clang
This prevents a potential name/version conflict in nix-env, and a
large Hydra build for a proprietary package.

(cherry picked from commit f9b5ed66d1)
2016-03-30 11:26:17 +02:00
Eelco Dolstra
115cb2f780 openvpn: 2.3.8 -> 2.3.10
In particular, this fixes the systemd-ask-password regression
re-introduced by cb1c818491.

(cherry picked from commit 38afa836b3)
2016-03-30 11:26:17 +02:00
Eelco Dolstra
e61b8b2294 Catalyst::Action::Rest: 1.19 -> 1.20
(cherry picked from commit 6e08bd27fc)
2016-03-30 11:26:17 +02:00
Eelco Dolstra
79c3c16dcb Restore core dumps
Systemd 229 sets kernel.core_pattern to "|/bin/false" by default,
unless systemd-coredump is enabled. Revert back to the default of
writing "core" in the current directory.

(cherry picked from commit 54ca7e9f75)
2016-03-30 11:26:17 +02:00
Vladimír Čunát
8f9f2347d3 firefox-esr: fix build after 574a6d34d2
We're now using only newer versions that have ./configure in the root.
${pname} isn't the correct directory name for esr versions.

(cherry picked from commit ec4685cf70)
2016-03-30 11:26:17 +02:00
Eelco Dolstra
aeab34ccd2 firefox-esr: 38.6.1 -> 45.0.1
(cherry picked from commit 574a6d34d2)
2016-03-30 11:26:17 +02:00
Eelco Dolstra
8bd86b91d9 firefox: 45.0 -> 45.0.1
(cherry picked from commit 79d6dc91fe)
2016-03-30 11:26:17 +02:00
Peter Simons
5b86bfc58d ghc: version 6.12.3 is broken after updating to gcc 5.x
http://hydra.nixos.org/build/33627548
(cherry picked from commit 070b123d4b)
2016-03-30 10:59:12 +02:00
Vladimír Čunát
2aba37aaf0 intltool: fix problems with perl-5.22
http://hydra.nixos.org/build/33608086/nixlog/1/raw
(cherry picked from commit 117183e27e)
2016-03-30 10:44:48 +02:00
Vladimír Čunát
ccc2c7c9e5 mesa: maintenance update 11.1.1 -> 11.1.2
(cherry picked from commit f4cb39c3d3)
2016-03-30 10:44:43 +02:00
Peter Simons
d665da8ea6 Disable broken Haskell builds some more. 2016-03-29 21:59:06 +02:00
Nikolay Amiantov
f3319286ff xserver service: add glamoregl for intel drivers
Closes #14286

Credits to vcunat for the initial patch.

(cherry picked from commit 63f1eb6b00)
2016-03-29 19:04:11 +03:00
Peter Simons
c1818c2963 Disable broken Haskell builds. 2016-03-29 17:12:45 +02:00
Nikolay Amiantov
bf65250cdb Revert "Remove PATH assumption from fhs-userenv."
This reverts commit 2f26b82411.

This breaks terminfo in Bash for some reason (i.e. TAB and other
special keys).

(cherry picked from commit a5322efd95)
2016-03-29 17:58:36 +03:00
Thomas Tuegel
83d6492b02 kde5.applications: 15.12.1 -> 15.12.3
(cherry picked from commit 7079075d4caab68a22e8a1aac82df774f1d99d58)
2016-03-29 09:49:50 -05:00
Vladimír Čunát
12528e547f manual rl-16.03: document broadcom issue #12595
(cherry picked from commit d9b98b6b50)
2016-03-29 16:33:49 +02:00
Peter Simons
cc8278e186 Document the fact that the firewall allows pings by default in rl-1603.xml.
(cherry picked from commit 9a2ee42f52)
2016-03-29 16:15:17 +02:00
Domen Kožar
2e7727f647 nixos/lib/testing.nix: make 'config' a free variable
cc @edolstra

(cherry picked from commit c56c3b6596)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-29 14:35:56 +01:00
Nikolay Amiantov
90748d0983 avidemux: don't depend on unfree FAAC by default
(cherry picked from commit c2c1ef89cd3c2e232d744b034e685fb10cd23327)
2016-03-29 16:15:55 +03:00
Nikolay Amiantov
0432279805 avidemux: 2.5.6 -> 2.6.12
(cherry picked from commit 8b0076b887)

Fixes i686-linux builds.
2016-03-29 16:01:39 +03:00
Brian McKenna
6af1cd202d steam: enable hardware decoding (for In-Home Streaming)
Previous to this patch I was getting software decoding when I used In-Home
Streaming. I had a look around and according to:

https://bbs.archlinux.org/viewtopic.php?id=187922

> It seems that the libva version Steam comes with, is not compatible anymore to
> the newer libva 1.4.0.

Substituting in our version of libva gives me hardware decoding!

(cherry picked from commit d47e2fde69)
2016-03-29 15:47:56 +03:00
Vladimír Čunát
445e5c4ca5 rustc: disable parallel building
http://hydra.nixos.org/build/33119905/nixlog/1/raw

(cherry picked from commit d7e87db0c7)
2016-03-29 13:02:22 +02:00
Vladimír Čunát
60622584db xmlsec: fix linkage, probably after #909
This fixes builds of (some) reverse dependencies, e.g. aqbanking.

(cherry picked from commit e69306c463)
2016-03-29 12:23:10 +02:00
Vladimír Čunát
6135eafe30 pythonPackages.poppler-qt4: fix build by a hack
/cc maintainer @sepi.

(cherry picked from commit 5147b9d30a)
2016-03-29 11:57:01 +02:00
Vladimír Čunát
e19d01d6c6 dvdisaster: disable parallel building
http://hydra.nixos.org/build/33609373/nixlog/1/raw
/cc @nkcx. I notified upstream.

(cherry picked from commit 62c29908da)
2016-03-29 10:54:46 +02:00
taku0
c9f09d2b77 thunderbird-bin: 38.6.0 -> 38.7.1
(cherry picked from commit dc73280d19)

Security & bug fixes

See https://www.mozilla.org/en-US/thunderbird/38.7.0/releasenotes/
and https://www.mozilla.org/en-US/thunderbird/38.7.1/releasenotes/
2016-03-29 02:34:58 +02:00
Robin Gloster
0f7088161a vacuum: fix build 2016-03-28 23:33:47 +00:00
Nikolay Amiantov
fcd16856b4 haskellPackages.mueval: fix build
(cherry picked from commit d94ffd5655394131d292780cb5e82dc13fcd6d2b)
2016-03-29 02:24:23 +03:00
Domen Kožar
7f2dc5d3f6 garden 2016-03-29 00:15:27 +01:00
Domen Kožar
2267e14d68 Merge pull request #14280 from therealpxc/backport-new-robotics-pkgs
Backport new robotics pkgs
2016-03-29 00:12:19 +01:00
Patrick Callahan
ac5f358c00 genromfs: init at 0.5.2 2016-03-28 15:42:55 -07:00
Patrick Callahan
4ae5327664 gazebo: init at 6.5.1 and 7.0.0 2016-03-28 15:42:05 -07:00
Patrick Callahan
3fd3be4408 ignition.transport: init at 0.9.0 and 1.0.1 2016-03-28 15:42:05 -07:00
Patrick Callahan
f50a79045c sdformat: init at 3.7.0 and 4.0.0 2016-03-28 15:42:05 -07:00
Patrick Callahan
1f379d95e4 ignition robotics libs: init; .math: init at 2.3.0 2016-03-28 15:42:04 -07:00
Patrick Callahan
a6f5f1efad tinyxml-2: init at 3.0.0 2016-03-28 15:42:04 -07:00
Patrick Callahan
20aa39d18d ogre: 1.9.0 -> 1.9-hg 2016-03-28 15:42:04 -07:00
Patrick Callahan
1d72ddad9d qgroundcontrol: init at 2.9.4 2016-03-28 15:42:04 -07:00
=
4e2f29507f meterbridge: fix gcc-5 build (thanks to: http://ports.ubuntu.com/pool/universe/m/meterbridge/)
(cherry picked from commit c7a26ccf9d)
2016-03-28 22:32:19 +02:00
taku0
979bef5356 oraclejdk: 8u73, 8u74 -> 8u77
(cherry picked from commit b8cc111764)

Security fix for CVE-2016-0636.

http://www.oracle.com/technetwork/java/javase/8u77-relnotes-2944725.html
2016-03-28 21:25:56 +02:00
Joachim Fasting
d022dc9300 lsh: fix gcc5 build
The build fails with c11 (also tested c99), but works with gnu90.

(cherry picked from commit 8bd72dfaa4)
2016-03-28 19:06:32 +02:00
Brad Ediger
3a13d4707b spotify: 1.0.25.127 -> 1.0.26.125
(cherry picked from commit 066042e3fa)
2016-03-28 18:27:45 +02:00
Joachim Fasting
713af5258f v8: fix build(s)
Ignore errors due to strict-overflow warnings; strip clang-only flag on
non-clang builds. Concerning the latter "fix", it's not entirely clear to me why
the -Wno-format-pedantic flag ends up being passed to gcc, the .gyp file appears
to already condition the inclusion of this flag on whether cc=clang.

(cherry picked from commit 72b5bfda97)
2016-03-28 18:04:49 +02:00
Domen Kožar
70a3a43ed8 Merge pull request #14268 from grahamc/failingtests-16.03
ikiwiki: Fix failing dependency builds (16.03)
2016-03-28 15:38:27 +01:00
Ambroz Bizjak
caffe29c3e wxPython: Fix runtime error due to library dependencies not in RUNPATH.
I think what's happening is that the linker automatically adds DT_NEEDED dependencies to some libraries because it finds these libraries are being used directly, but
because they're not linked explicitly with -lflags, the gcc wrapper does not add them to RUNPATH.
2016-03-28 16:28:53 +02:00
Graham Christensen
ddede54d49 perlPackage.RTClientREST: Depend on CGI
(cherry picked from commit 125ee11a35)
2016-03-28 09:20:25 -05:00
Graham Christensen
1d05903577 I18NLangTags: Removed, as this version is 12 years old and is now bundled with core.
(cherry picked from commit c3d6b5e8f2)
2016-03-28 09:20:25 -05:00
Graham Christensen
e3def23b8f perlPackages.DateTimeFormatDateParse: Depend on ModuleBuild
(cherry picked from commit 36b88f8df7)
2016-03-28 09:20:25 -05:00
Graham Christensen
65f4afba5e perlPackages.DataSerializer: Depend on ModuleBuild
(cherry picked from commit 200ddaa54f)
2016-03-28 09:20:25 -05:00
Graham Christensen
191df96839 perlPackages.ScalarString: Depend on ModuleBuild
(cherry picked from commit ce5914c898)
2016-03-28 09:20:24 -05:00
Graham Christensen
ad2acc8fcd perlPackages.ParamsClassify: Depend on ModuleBuild
(cherry picked from commit aa73eadc1c)
2016-03-28 09:20:24 -05:00
Graham Christensen
ec561c6075 perlPackages.NetOpenIDConsumer: Depend on CGI
(cherry picked from commit 849e743040)
2016-03-28 09:20:24 -05:00
Graham Christensen
0f59068762 perlPackages.HTTPLite: Depend on ModuleBuild
(cherry picked from commit df9a6362ea)
2016-03-28 09:20:24 -05:00
Graham Christensen
e32aabe4f1 perlPackages.DataFloat: Depend on ModuleBuild
(cherry picked from commit 9fc9ede52d)
2016-03-28 09:20:24 -05:00
Graham Christensen
d8fe0c9790 perlPackages.DataEntropy: Depend on ModuleBuild
(cherry picked from commit 4532a2a75d)
2016-03-28 09:20:24 -05:00
Graham Christensen
3816f98e0a perlPackages.CryptEksblowfish: Depend on ModuleBuild
(cherry picked from commit 5dd946ded9)
2016-03-28 09:20:23 -05:00
Graham Christensen
15c7003f07 perlPackages.ClassMix: Depend on CGI
(cherry picked from commit 189d29e5f6)
2016-03-28 09:20:23 -05:00
Graham Christensen
1ff2835e5a perlPackages.AuthenPassphrase: Depend on ModuleBuild
(cherry picked from commit fb7ebfb8a6)
2016-03-28 09:14:14 -05:00
Graham Christensen
153fdba2c4 perlPackages.AuthenDecHpwd: Depend on ModuleBuild
(cherry picked from commit 2d182a2992)
2016-03-28 09:13:56 -05:00
Graham Christensen
f45acd3831 perlPackages.DataInteger: depend on ModuleBuild
(cherry picked from commit f11fd4a476)
2016-03-28 09:13:48 -05:00
Vladimír Čunát
e7ffa6c42e clang-3.5: mark as broken
It seems unlikely someone will want to fix it anymore.

(cherry picked from commit be447475d3)
2016-03-28 14:43:02 +02:00
Vladimír Čunát
af551f2dea qt55.vlc: fix build
I tested it on a video to make sure the bug doesn't appear.

(cherry picked from commit ed47bb1ca8)
2016-03-28 14:37:52 +02:00
Andrew Kelley
538d9b5d6d llvmPackages: add 3.8.0 (close #13801)
vcunat's review:
 - let's not switch the default versions of llvm* for now
 - the only changes I see is adding python to clang's buildInputs
   and using the big so-file as discussed in #12759
   (BUILD_SHARED_LIBS -> LLVM_LINK_LLVM_DYLIB)
 - in future it will be nice to split libLLVM into a separate output

(cherry picked from commit f5fe051c71)
2016-03-28 13:52:24 +02:00
Thomas Tuegel
c5583a4540 emacsPackagesNg: remove compatibility cl-lib
ELPA has the compatibility library cl-lib-0.5 which interferes with the
builtin cl-lib-1.0.

(cherry picked from commit 6c05554b85)
2016-03-28 06:31:07 -05:00
aszlig
f12e91f2c5 chromium: Link using gold linker flags
I originally wanted to do this a long time (a31301d) but IIRC back then
it didn't compile. Nowadays with the splitup of the gold linking flags
and the binutils integration, it's merely just a switch to flip, so
let's do that.

Only tested it by building against the current Chromium stable version
on 64bit, because right now builds on Hydra seem to time out (because of
this?) anyway so we have nothing to lose here.

The linking time was hereby reduced from >30 minutes (I didn't measure
it exactly but looked half an hour later to the build progress and it
was *still* linking) to about a few seconds, which I guess is even
though the measurement is quite bogus a tremendous improvement
nonetheless.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit f9fff51c2a)
2016-03-28 11:42:07 +02:00
Vladimír Čunát
04e2196d82 glu: fix the pkg-config file (fixes #14260)
(cherry picked from commit a7d34e0c13)
2016-03-28 11:34:05 +02:00
Domen Kožar
7877e33af8 fix munin (and the test), refs #12801 #13999 2016-03-28 10:26:06 +01:00
Michael Raskin
ee6a568a14 Fix Midori build
(cherry picked from commit 891fa19e29)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-28 09:37:30 +01:00
Michael Raskin
6dd99f177c lilypond: set some HOME during the build for Metafont
(cherry picked from commit 1a97cfb91f)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-28 09:37:26 +01:00
Vladimír Čunát
2647742e02 Revert "texlive.combine: patch paths into texmf.cnf"
This reverts commit 7e74fad881.
Let's revert this in the release, at least for now. It seems the change
isn't perfect and causes some problems.
2016-03-28 08:45:08 +02:00
Nikolay Amiantov
64fd93763a skype: use clang-built qt4 to fix segfault
(cherry picked from commit 28af80fcc0)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-27 20:26:25 +01:00
Joachim Fasting
4476d74db6 linux_grsec_3_14: mark as broken
First, The patch is outdated, I failed to find it anywhere in the mirror repos.
Second, the build fails, and while it may be "fixed" by ad-hoc patching (it
appears to simply need some missing includes), this would mean shipping a
potentially insecure software package. Given that the only reason to use
grsecurity is security, this is both misleading and exposes users to undue risk.
Finally, the build has been broken for quite a long time with no complaints,
leading me to believe that the number of actual users is quite low.

(cherry picked from commit dd16dcbba4)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-27 20:25:33 +01:00
Nikolay Amiantov
9b79dd6bf4 pgadmin: enable parallel building
(cherry picked from commit 7b82f5a3fb)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-27 20:25:16 +01:00
Joachim Fasting
30745200d3 lttng-modules: mark as broken on kernel version <3.18
On linux 3.14, we get errors like
  error: 'struct snd_soc_codec' has no member named 'name'
     __string( name,  codec->CODEC_NAME_FIELD )
indicating that the module is incompatible with the linux API
in this kernel version.

See https://hydra.nixos.org/build/33102405/nixlog/1/raw

(cherry picked from commit a452b43ee5)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-27 20:25:06 +01:00
Domen Kožar
7bd9321c6d perlPackages.TestMockModule: fix build 2016-03-27 20:22:52 +01:00
Domen Kožar
bb6d3c16d3 nixUnstable: bump 2016-03-27 20:22:52 +01:00
Nikolay Amiantov
7e74fad881 texlive.combine: patch paths into texmf.cnf
...instead of environment variables. Close #12768.

(cherry picked from commit acf664814e)
2016-03-27 21:20:32 +02:00
Nikolay Amiantov
471e755cc2 Revert "codeblocks: fix build"
This reverts commit fd9416fb4b.

This shouldn't be needed now that we properly link wxGTK.

(cherry picked from commit 4e9ddd3770)
2016-03-27 21:01:27 +03:00
Nikolay Amiantov
3e30c35937 wxgtk: explicitly link to libX11 and libcairo
(cherry picked from commit 5471eed63c)
2016-03-27 21:01:27 +03:00
Nikolay Amiantov
5ce9f24ded skype: small cleanup
(cherry picked from commit 3819384395)
2016-03-27 21:01:27 +03:00
Pascal Wittmann
9cb9a6b509 ispc: fix one error by adding glibc32
llvm linking errors remain
2016-03-27 18:03:40 +02:00
Vladimír Čunát
da25f05fc2 texlive: document in nixpkgs manual
Fixes #13240. It's not really better than source-code comments it replaced,
but it's in a better accessible place.

(cherry picked from commit e3da83297f)
2016-03-27 14:33:40 +02:00
Peter Hoeg
d80126bb93 flexget nixos module: run the service and specify configuration
This module adds support for defining a flexget service.

Due to flexget insisting on being able to write all over where it finds
its configuration file, we use a ExecStartPre hook to copy the generated
configuration file into place under the user's home. It's fairly ugly
and I'm very open to suggestions
2016-03-27 17:41:46 +08:00
Joachim Fasting
843d11b292 codeblocks: fix build
https://hydra.nixos.org/build/33633573/nixlog/1/raw
(cherry picked from commit fd9416fb4b)
2016-03-27 10:30:31 +02:00
Joachim Fasting
424d1aff43 linux_chromiumos: require 64bit build host
I noticed that almost all the Hydra build failures were on i686. Sure
enough, upstream says that you need an x86_64 machine to build the
kernel.

(cherry picked from commit bd9737cc3e)
2016-03-27 10:29:46 +02:00
Joachim Fasting
e332f57678 accelio: mark as broken on grsec kernels
All hydra builds against grsec kernels fail.

(cherry picked from commit 8f261d717d)
2016-03-27 10:29:45 +02:00
Joachim Fasting
6a45a297b9 lttng-modules: mark as broken on grsec
All hydra builds against grsec kernels fail; seemingly because
the PaX hardening plugins are incompatible with lttng-modules
(the code writes to locations marked as read-only).

(cherry picked from commit 1939256550)
2016-03-27 10:29:45 +02:00
Joachim Fasting
207131488e rtl8812au: mark as broken on grsec kernels
All hydra builds against grsec kernels fail; builds against vanilla
kernels work.

(cherry picked from commit 2182fd52ad)
2016-03-27 10:29:45 +02:00
Joachim Fasting
ea8311a366 spl: mark as broken on grsec kernels
All hydra builds against grsec kernels fail; non-grsec kernels
succeed.

(cherry picked from commit 2a097803d4)
2016-03-27 10:29:44 +02:00
Joachim Fasting
bd58129a12 openafsClient: mark as broken on unsupported kernels
Sandboxed builds against linux 3.14 and 4.4 fail; 3.18.29 and 4.3
succeed.  From this, I conclude that 4.3 is the latest supported
version, while the lower bound is set to the oldest kernel in
nixpkgs >3.14 (the changelog does not indicate otherwise).

It appears that openafs-client is simply incompatible with grsec;
all hydra builds of openafs-client on grsec fail; local sandboxed
builds against grsec with the most recent openafs-client also fail.

(cherry picked from commit b741198116)
2016-03-27 10:29:44 +02:00
Joachim Fasting
bfece38f51 openafsClient: 1.6.14 -> 1.6.17
According to the changelog, the delta between these versions contains
fixes for several CVEs.

See https://www.openafs.org/dl/openafs/1.6.17/RELNOTES-1.6.17
and https://www.openafs.org/dl/openafs/1.6.16/RELNOTES-1.6.16
and https://www.openafs.org/dl/openafs/1.6.15/RELNOTES-1.6.15

(cherry picked from commit df0481276d)
2016-03-27 10:29:43 +02:00
Joachim Fasting
3af4a10350 hugin: add missing dependencies
https://hydra.nixos.org/build/33609995/nixlog/2/raw
(cherry picked from commit 29c3314fe4)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-26 20:23:58 +00:00
Robert Scott
076dd96812 osrm-backend: add patch fixing build by un-hard-coding gcc-ar and gcc-ranlib paths
(cherry picked from commit 7a3e154c27)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-26 20:12:38 +00:00
Robert Scott
939612898d osrm-backend: switch src to use fetchFromGitHub
(cherry picked from commit 0fdf7106e5)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-26 20:12:36 +00:00
Joachim Fasting
7f7f3c1bc2 io: fix gcc5 build
c11 inline semantics breaks the build

See https://github.com/stevedekorte/io/issues/316
and https://hydra.nixos.org/build/33606216/nixlog/1/raw

(cherry picked from commit 3fe86ac582)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-26 20:11:57 +00:00
Joachim Fasting
32f6c6be6b accelio: kernel 4.2 is the most recent supported kernel
All Hydra builds on more recent kernels fail; from reading
the accelio documentation, I get the impression that 4.2 is
the most recent supported kernel version.

(cherry picked from commit 74838cd03d)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-26 20:11:21 +00:00
Joachim Fasting
06416457c2 jool: mark broken for kernel versions > 4.3
All hydra builds for kernel version >4.3 fail; the build failure
indicates changes to the kernel API used by the package.

(cherry picked from commit eeca73dfac)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-26 20:11:21 +00:00
Joachim Fasting
bc393f79eb gsb: mark as broken
No active maintenance for several years; dependencies cannot be met.

(cherry picked from commit 1379baca94)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-26 20:11:21 +00:00
Joachim Fasting
e96ce2c60e perf: fix build
https://hydra.nixos.org/build/33553564/nixlog/1/raw
(cherry picked from commit 89c6b3c11a)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-26 20:11:21 +00:00
Joachim Fasting
be5b364581 grsecurity: fix gcc plugin
Also needs mpfr and libmpc

(cherry picked from commit 304c4a514e)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-26 20:11:21 +00:00
Joachim Fasting
06efe48e33 udftools: fix gcc5 build
-fgnu89-inline was insufficient, revert to -std=gnu90
See https://hydra.nixos.org/build/33103604/nixlog/1/raw

Also fix various undefined reference errors by ad-hoc patching

(cherry picked from commit c13ddd14bd)
2016-03-26 18:24:00 +01:00
Joachim Fasting
04c2762461 yad: ad-hoc patching to fix undefined reference errors
(cherry picked from commit cb896a1e7f)
2016-03-26 18:24:00 +01:00
Joachim Fasting
d6ac1e6d51 yad: fix gcc5 build
https://hydra.nixos.org/build/33612450/nixlog/1/raw
(cherry picked from commit 0b060bdf68)
2016-03-26 18:23:59 +01:00
Joachim Fasting
84fbe0d6d7 zoom: fix gcc5 build
https://hydra.nixos.org/build/33122239/nixlog/1/raw
(cherry picked from commit a4ed052407)
2016-03-26 18:23:59 +01:00
Joachim Fasting
916531dfd1 leocad: work around cmath problem
introduced by recent glibc

https://hydra.nixos.org/build/33610365/nixlog/1/raw
(cherry picked from commit 6448c94e57)
2016-03-26 18:23:59 +01:00
Joachim Fasting
3047988677 curl3: mark as broken
This is an ancient version of curl, that currently has 19 known vulnerabilities.
It is used by and was added to support only one package.

(cherry picked from commit 1f78d14028)
2016-03-26 18:23:59 +01:00
Octavian Cerna
4562338552 quagga: 0.99.24.1 -> 1.0.20160315
(cherry picked from commit c3ee17fe74)
Security update, fixes CVE-2016-2342
2016-03-26 12:59:06 +01:00
Peter Simons
6f10147e8c Synchronize Haskell package sets with master @ ce2c13675d.
The update was generated by hackage2nix from the following inputs:

  - Hackage: ab666959f0
  - LTS Haskell: 6c45757bda
  - Stackage Nightly: d8a2cae779
2016-03-26 11:27:05 +01:00
Cole Mickens
c110614936 python.pyjwt: platforms: linux -> unix 2016-03-25 23:48:09 +02:00
Pascal Wittmann
cecc1e32db eggdrop: fix build with gcc5 2016-03-25 19:56:43 +01:00
Eelco Dolstra
18fd4c1430 blender: Disable i686-linux build
The openimageio dependency doesn't build on i686. But probably nobody
cares about running Blender on 32-bit anymore.

http://hydra.nixos.org/build/33602734
(cherry picked from commit 7f61c7289f)
2016-03-25 16:45:23 +01:00
Eelco Dolstra
ab2ac03378 thunderbird: 38.6.0 -> 38.7.0
Lots of security fixes: https://www.mozilla.org/en-US/security/known-vulnerabilities/thunderbird/#thunderbird38.7

(cherry picked from commit aa6ab92d93)
2016-03-25 16:45:23 +01:00
Eelco Dolstra
970b8ee8e7 blender: 2.76b -> 2.77
(cherry picked from commit 4f47fe2f9c)
2016-03-25 16:45:23 +01:00
Eelco Dolstra
e81ca34a6a opensubdiv: 3.0.3 -> 3.0.4
(cherry picked from commit 5759b447dc)
2016-03-25 16:45:23 +01:00
Eelco Dolstra
5d391c49a9 nixpkgs-metrics: Suppress build products
(cherry picked from commit 03df731fb5)
2016-03-25 16:45:23 +01:00
Eelco Dolstra
5d24af631a Add metrics job to unstable aggregate
(cherry picked from commit c23e9e12f8)
2016-03-25 16:45:23 +01:00
Eelco Dolstra
c3fe7bed20 Keep track of Nixpkgs/NixOS evaluation statistics
(cherry picked from commit fab439201e)
2016-03-25 16:45:23 +01:00
Domen Kožar
148b740a63 nix.useChroot: allow 'relaxed' as a value
(cherry picked from commit cfc1fe345ceb77131a4f7461e28f482baf626de3)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-25 12:48:06 +00:00
Tim Steinbach
92f1827ea0 grsecurity: 4.4.4 -> 4.4.5
(cherry picked from commit a5d8256df4)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-25 09:59:03 +00:00
Domen Kožar
23730413fe kernel: fix build of 3.10 and 3.12 on i686 2016-03-25 09:50:25 +00:00
Domen Kožar
efc7b847e3 libgda: 5.2.2 -> 5.2.4 (fix build) 2016-03-25 09:50:25 +00:00
Joachim Fasting
49e5d4c507 bigloo: pin gcc version to 4.9
https://hydra.nixos.org/build/33120353/nixlog/1/raw
(cherry picked from commit 803b21959e)
2016-03-25 07:55:33 +01:00
Joachim Fasting
67fee4b26e hugs: fix build & meta fixups
Fix build by applying a patch from Arch Linux.
See https://hydra.nixos.org/build/33247205/log/raw

Meta fixups
- The license is actually 3-clause BSD license.
- Use HTTPS homepage
- Adopt the package
- Convert src.sha256 to base32

(cherry picked from commit 04bcb88332)
2016-03-25 00:45:35 +01:00
Pascal Wittmann
bf92ff9657 tpm-tools: fix build by applying debians patch 2016-03-24 22:20:10 +01:00
Evgeny Egorochkin
1695966348 virtualization/azure: update the scripts for image maintenance 2016-03-24 22:38:37 +02:00
Evgeny Egorochkin
13c0d0c86e azure: package sdk and vhd tools for go 2016-03-24 22:38:28 +02:00
Evgeny Egorochkin
cb69e43ad0 virtualization/azure: reorder WALA and SSHD 2016-03-24 22:38:18 +02:00
Evgeny Egorochkin
e86c38f9b3 virtualization/azure: turn off verbose logging 2016-03-24 22:38:08 +02:00
Evgeny Egorochkin
e32412ae22 virtualization/azure: make the image dynamic again since azure-cli upload bug is fixed 2016-03-24 22:37:58 +02:00
Evgeny Egorochkin
45f34ab410 virtualization/azure: take entropy handling code out of WALA and execute it before SSHD generates the host keys 2016-03-24 22:37:47 +02:00
Cole Mickens
c938ab4dc8 virtualization/azure: fixes
azure-agent: add option for verbose logging
azure-agent: disable ssh host key regeneration
azure-common: set verbose logging on
azure-image: increase size to 30GB
2016-03-24 22:37:36 +02:00
Evgeny Egorochkin
32f0c51ab7 azure-image: provide configuration.nix which allows nixos-rebuild to build a working generation and add helpful comments 2016-03-24 22:36:40 +02:00
Pascal Wittmann
523ce20887 jbig2enc: fix build 2016-03-24 20:21:57 +01:00
Joachim Fasting
d64126b0fe cadaver: fix build against newer versions of openssl
Apply patch from Arch Linux.

See https://hydra.nixos.org/build/33258957/nixlog/1/raw

(cherry picked from commit db6ae35bd9)
2016-03-24 19:06:46 +01:00
Pascal Wittmann
273cc85e69 ispc: fix build 2016-03-24 18:12:49 +01:00
Domen Kožar
5ea3dfcc6e bootstrapped-pip: support Python 2.6
(cherry picked from commit 9c274b4bef)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-24 15:45:07 +00:00
Adam Bell
0bac5850a2 pgadmin 1.20.0 -> 1.22.1
(cherry picked from commit 854b13dc00)

Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-24 15:44:54 +00:00
Domen Kožar
6486138750 linux: 4.4.5 -> 4.4.6 2016-03-24 15:44:54 +00:00
Domen Kožar
6df636feef springlobby: 0.195 -> 0.243 (fix build) 2016-03-24 15:44:54 +00:00
Mitchell Pleune
3cac2c5fc5 iodined service: wantedBy ip-up.target
When iodined tries to start before any interface other than loopback has an ip, iodined fails.
Wait for ip-up.target

The above is because of the following:
in iodined's code: src/common.c line 157
	the flag AI_ADDRCONFIG is passed as a flag to getaddrinfo.
	Iodine uses the function

		get_addr(char *host,
			int port,
			int addr_family,
			int flags,
			struct sockaddr_storage *out);

	to get address information via getaddrinfo().

	Within get_addr, the flag AI_ADDRCONFIG is forced.

	What this flag does, is cause getaddrinfo to return
	"Name or service not known" as an error explicitly if no ip
	has been assigned to the computer.
	see getaddrinfo(3)

Wait for an ip before starting iodined.

(cherry picked from commit 927aaecbcb)
2016-03-24 14:24:00 +01:00
Lluís Batlle i Rossell
9fb09319a3 octave: update to 4.0.1
bugfix release, they say.

(cherry picked from commit 1f8ffdde5b)
2016-03-24 13:55:49 +01:00
Lluís Batlle i Rossell
b522266b77 octave: parallel building and check.
I think those were not updated since 3.8.2. They worked for me. Let's see.

(cherry picked from commit 74ccfd690d)
2016-03-24 13:55:49 +01:00
Eelco Dolstra
4be705574a Fix 16.03 version number
The 77900 delta does not correspond to the 16.03-beta tag, so git
describe gives a different version than the NixOS version.
2016-03-24 13:48:16 +01:00
Lluís Batlle i Rossell
b314616134 Setting gfortran to gcc5. octave was crashing.
Otherwise, using imread() in octave threw:

/nix/store/4fvwfzwg58d7167an550xm1k6m7px443-octave-4.0.0/lib/octave/4.0.0/oct/x86_64-unknown-linux-gnu/__magick_read__.oct: failed to load: /nix/store/w7xr6frwffrl135v7vpxdwmnx8l95j5m-gfortran-4.9.3/lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /nix/store/qlxkin1arzwbcpiny6amn8747wp8ndg7-graphicsmagick-1.3.21/lib/libGraphicsMagick++.so.11)

(this is from 16.03, although I push this to staging)

(cherry picked from commit a9d14e3452)
2016-03-24 10:58:32 +01:00
Eelco Dolstra
4be870bad3 stdenv-darwin: Fix dependency on bootstrapTools
Commit 2040a9ac57 changed the order of
$PATH elements, causing initialpath to appear after buildInputs. Thus
gnugrep ended up depending on bin/sh from bootstrapTools, rather than
from pkgs.bash. The fix is to provide pkgs.bash via buildInputs rather
than initialPath.

http://hydra.nixos.org/build/33276697
(cherry picked from commit 7fc24dfd21)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-24 09:04:17 +00:00
Vladimír Čunát
52604ad28d ensureNewerSourcesHook: fix problems with symlinks
Fixes #14043. Now symlinks themselves are touched instead of their
targets.

(cherry picked from commit ff60350eb9)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-24 09:04:17 +00:00
Tuomas Tynkkynen
97a7b595ce vc: Broken on i686
http://hydra.nixos.org/build/33122230/nixlog/1/raw =>

CMake Error at CMakeLists.txt:163 (message):
  Unsupported target architecture 'i686'.  No support_???.cpp file exists for
  this architecture.

(cherry picked from commit c58c1f3b50)
2016-03-24 02:23:48 +02:00
Nikolay Amiantov
99d1e66c4d elmPackages.elm-compiler: use old language-ecmascript
(cherry picked from commit f0187cb4c3)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-23 21:49:28 +00:00
Vladimír Čunát
76c266017d zopfli: disable parallel building
It was failing often, e.g.:
https://hydra.nixos.org/build/32101335/nixlog/1/raw

(cherry picked from commit b336ed89e6)
2016-03-23 20:21:18 +01:00
Graham Christensen
1a3edcdbda zam-plugins: sha256 changed
(cherry picked from commit 587ae0f63f)
2016-03-23 17:44:08 +01:00
Graham Christensen
796efbab1c vacuum: port to mkDerivation, add zlib for hydra failure
(cherry picked from commit aba56e7f59)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-23 16:06:59 +00:00
Graham Christensen
dc670e38fb codeblocks: ad libX11 build dependency to fix hydra build
http://hydra.nixos.org/build/33296816/nixlog/1
(cherry picked from commit 3f6023dd16)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-23 15:42:44 +00:00
Michael Raskin
6abce9522c gcl: gcc5 build: enforce old inline semantics for now; will be fixed in the next upstream release
(cherry picked from commit 9ed00ff086)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-23 15:41:45 +00:00
Joachim Fasting
9687ed9046 gcl: fix gcc5 build
Apply patch from Gentoo

(cherry picked from commit 27eac5313e)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-23 15:41:40 +00:00
Joachim Fasting
34455365b8 clisp: fix i686 build
Requires -falign-functions=4

See https://hydra.nixos.org/build/33256640/nixlog/1/raw

(cherry picked from commit 1972c5aa17)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-23 15:41:33 +00:00
Domen Kožar
b5d47a8cfe openimageio: 1.6.9 -> 1.6.11 (fixes build on i686) 2016-03-23 15:41:28 +00:00
Joachim Fasting
26a5e637b7 clementineFree: fix gcc5 build
Uses gcc switches that are no longer valid. Also strip
-Werror for good measure. See
https://hydra.nixos.org/build/33277865/nixlog/1/raw

(cherry picked from commit 72bcff71fe)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-23 15:41:28 +00:00
Domen Kožar
58153f164d Merge pull request #14160 from ttuegel/release-16.03
[release-16.03] KDE 5 fixes
2016-03-23 15:31:05 +00:00
Thomas Tuegel
cb9f989b18 kde5.l10n.sr: patch shebangs 2016-03-23 08:44:49 -05:00
Thomas Tuegel
e81ee2be29 kde5.l10n.nl: re-enable 2016-03-23 08:44:35 -05:00
Thomas Tuegel
3ff6d0492a kwin: allow CMake to set RPATH during build 2016-03-23 08:44:15 -05:00
Thomas Tuegel
b8db5897c7 calamares: mark broken 2016-03-23 08:44:05 -05:00
Ambroz Bizjak
d1afa1b0d1 opencsg: Fix build related to missing libX11 linking the example.
(cherry picked from commit 853d612c3f)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-23 12:58:23 +00:00
Graham Christensen
edca647059 slic3r: Add ModuleBuild to BuildInputs, due to http://hydra.nixos.org/build/33298227/nixlog/1
(cherry picked from commit 29cf3ecd78)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-23 12:54:15 +00:00
Octavian Cerna
257e0f78b0 hhvm: 3.6.0 -> 3.12.1
(cherry picked from commit 524310d29e)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-23 12:50:50 +00:00
Joachim Fasting
ae5901f97c arangodb: fix gcc5 build
https://hydra.nixos.org/build/33263863/nixlog/1/raw
(cherry picked from commit 037e815787)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-23 12:39:37 +00:00
Ludovic Courtès
7a1b8a3bdf Remove Guix.
(cherry picked from commit 5dab370d77)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-23 12:39:25 +00:00
Domen Kožar
709a2fd0c5 sync uids with master 2016-03-23 12:17:53 +00:00
Domen Kožar
0858ece1ad Pin hydra-www and hydra-queue-runner uids
hydra user is already pinned, this is needed due to
https://github.com/NixOS/nixpkgs/issues/14148
2016-03-23 12:15:29 +00:00
Tim Steinbach
ac79602d7d kernel: 3.14.63 -> 3.14.65
(cherry picked from commit 4274edbe40)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-23 11:33:20 +00:00
Tim Steinbach
80e93efbc9 kernel: 3.12.55 -> 3.12.57
(cherry picked from commit bf41deb889)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-23 11:33:12 +00:00
Tim Steinbach
fcb270e5f5 kernel: 3.10.99 -> 3.10.101
(cherry picked from commit 6f5f855a2e)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-23 11:33:00 +00:00
Charles Strahan
d664e30a14 go-1.6: fix the build
One of the test scripts dynamically creates and executes a bash script,
which attempts to use `/usr/bin/env bash`. This patches the file to
use the stdenv's shell instead.

Otherwise, the only way this could have worked was by building go_1_6
outside of the sandbox.

(cherry picked from commit 0547fd247f)
2016-03-23 00:28:44 -04:00
Joachim Fasting
531baf82ad cataclysm-dda: build recipe enhancements & gcc5 support
- Remove redundant platform check; meta.platforms is sufficient
- Use postPatch rather than override patchPhase entirely
- Strip -Werror
- Move build-time only dependencies to nativeBuildInputs

This also fixes gcc5 build, which fails due to a deprecated-declarations
warning (see https://hydra.nixos.org/build/33117020/nixlog/2/raw).

(cherry picked from commit 18b35bd741)
2016-03-23 01:44:55 +01:00
Joachim Fasting
77eaab7d6c criu: fix build
Would fail due to -Werror; see
https://hydra.nixos.org/build/33217086/nixlog/2/raw

(cherry picked from commit 3e1ec2b663)
2016-03-23 00:33:52 +01:00
Domen Kožar
ca6ac920ed fix perl modules for i3 2016-03-22 23:13:40 +00:00
Domen Kožar
4452a68425 remove elrangR15 and riak 1.3.0 as they're outdated 2016-03-22 21:39:38 +00:00
Kevin Cox
723989b6c4 mesos: Patch more executable paths.
(cherry picked from commit 8b7adf808e)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-22 21:28:27 +00:00
Kevin Cox
7e0c19c1a2 Mesos: 26.0 -> 27.1
(cherry picked from commit 2843d83905)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-22 21:28:11 +00:00
Domen Kožar
f115f87bb5 nix-exec: use stable Nix
(cherry picked from commit 59ba0fb295)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-22 21:24:34 +00:00
Domen Kožar
15761b0520 flow: 0.18.1 -> 0.22.1 2016-03-22 21:21:53 +00:00
Domen Kožar
5d21d6a8a6 perl: bind some CGI 2016-03-22 21:18:37 +00:00
Domen Kožar
0e41e8bbf0 xen: use gcc49 2016-03-22 21:04:30 +00:00
Domen Kožar
b4d6442660 cmis: fix build with gcc5 2016-03-22 20:59:25 +00:00
Pascal Wittmann
637e3b0b43 mailutils: fix build by using gcc49 2016-03-22 20:52:49 +01:00
Pascal Wittmann
5cdd170af6 zynaddsubfx: fix build
see #13559
2016-03-22 19:09:31 +01:00
Pascal Wittmann
d82e740f9b itk: ping gcc version to 4.9 2016-03-22 17:58:58 +01:00
Joachim Fasting
d5a73df00b archimedes: pin gcc to version 4.9
https://hydra.nixos.org/build/33241446/nixlog/1/raw
(cherry picked from commit 92261129ea)
2016-03-22 15:43:45 +01:00
Joachim Fasting
e10b2fbfb5 afterstep: pin gcc to version 4.9
See https://hydra.nixos.org/build/33238876/nixlog/1/raw

(cherry picked from commit aa4d438107)
2016-03-22 15:43:44 +01:00
Lluís Batlle i Rossell
c431588cd2 Making ffmpeg friendly for arm. 2016-03-22 15:01:18 +01:00
Lluís Batlle i Rossell
d1a8d192a5 Update linux raspberry-pi to 4.1.y.
I could boot it in pi2; I don't know if I needed new
firmware files in /boot.
2016-03-22 15:01:18 +01:00
Lluís Batlle i Rossell
b08b468c2b Fixing vxl build with gcc 5. 2016-03-22 14:42:35 +01:00
Domen Kožar
2e53a8dd7f perl-Net-SMTP-SSL: 1.01 -> 1.03 2016-03-21 21:46:30 +00:00
Pascal Wittmann
a699a188b7 bviplus: fix build
See #13559
2016-03-21 21:54:42 +01:00
Pascal Wittmann
2f666306aa atftp: fix build by using gcc49
See #13559
2016-03-21 21:46:14 +01:00
Pascal Wittmann
98c5bb1603 avarice: fix build by using gcc49
See #13559
2016-03-21 21:40:40 +01:00
Pascal Wittmann
a33efc99b4 amuleGui: fix build
See #13559
2016-03-21 21:29:58 +01:00
Franz Pletz
15d42c3605 nss: 3.22.2 -> 3.23 (security)
Fixes CVE-2016-1950.

See: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_3.23_release_notes

(cherry picked from commit 1a9b272c09)
2016-03-21 21:29:24 +01:00
Joachim Fasting
2746f3a854 haka: fix build on gcc5
See https://hydra.nixos.org/build/33296799/nixlog/1/raw

(cherry picked from commit c1901038c8)
2016-03-21 19:12:36 +01:00
Graham Christensen
01f2389e2d squid: 3.5.1 -> 3.5.15 for CVE-2016-2571
(cherry picked from commit 75c90fff39)
2016-03-21 18:49:19 +01:00
aszlig
8c2fa806b8 google-chrome: Fix fetching upstream binary
Commit aa097946d2 only fixed evaluation.

Ssince 37dbd62 however, the fetchurl call is already implied so just
changing the path will still result in fetchurl (fetchurl ...), so let's
drop the outer fetchurl.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @msteen, @benley
(cherry picked from commit 4d305102e0)
2016-03-21 16:18:35 +01:00
Tim Steinbach
dc3073b52f kernel: 3.18.27 -> 3.18.29 (close #14057)
(cherry picked from commit 6476075ccf)
2016-03-21 12:42:52 +01:00
Tim Steinbach
12329a24de kernel: 4.1.17 -> 4.1.20 (close #14058)
(cherry picked from commit 379709b404)
2016-03-21 12:42:32 +01:00
Vladimír Čunát
5c04d08990 chrome: fix evaluation after 6041cfe2af
(cherry picked from commit aa097946d2)
2016-03-21 12:05:49 +01:00
Vladimír Čunát
4515fe3934 Merge #14075: backport php security updates 2016-03-21 11:59:57 +01:00
aszlig
4b054488bd nixos/tests/chromium: Propagate "system" to pkgs
Assigning the channelMap by the function attrset argument at the
top-level of the test expression file may reference a different
architecture than we need for the tests.

So if we get the pkgs attribute by auto-calling, this will lead to test
failure because we have a different architecture for the test than for
the browser.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit e047d79279)
2016-03-21 04:21:29 +01:00
aszlig
274a7cf7ee chromium: Fix comment of upstream-info.nix
As of 6041cfe, the upstream-info.nix (back then it was called
sources.nix) is no longer in the source/ subdirectory, so we need to fix
that comment to say that the file is autogenerated from update.sh in the
*same* directory.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit 5ebd629c6f)
2016-03-21 04:21:29 +01:00
aszlig
b7aadc752e nixos/tests/chromium: Allow overriding channel map
This has been the case before e45c211, but it turns out that it's very
useful to override the channel packages so we can run tests with
different Chromium build options.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit 3bd71b135b)
2016-03-21 04:21:28 +01:00
aszlig
6f4d27f60f chromium: Revert working around --sysroot filter
This reverts commit 5979946c41.

I have tested this by building against the stable version of Chromium
and it seems to compile just fine, so it doesn't seem to be needed
anymore.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit fb65a0048a)
2016-03-21 04:21:27 +01:00
aszlig
5e3cbd4856 chromium: Show status about precompiling .py files
Only a aesthetics thingy, but also corrects the comment, because we're
essentially precompiling .py files, NOT the .pyc files (the latter are
the results).

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit 1f497204f7)
2016-03-21 04:21:26 +01:00
aszlig
7dcc25befe chromium: Move source/default.nix into common.nix
This addresses #12794 so that we now have only a single tarball where we
base our build on instead of splitting the source into different outputs
first and then reference the outputs.

The reason I did this in the first place is that we previously built the
sandbox as a different derivation and unpacking the whole source tree
just for building the sandbox was a bit too much.

As we now have namespaces sandbox built in by default we no longer have
that derivation anymore. It still might come up however if we want to
build NaCl as a separate derivation (see #8560), but splitting the
source code into things only NaCl might require is already too much work
and doesn't weight out the benefits.

Another issue with the source splitup is that Hydra now has an output
limit for non-fixed-output derivations which we're already hitting.

Tested the build against the stable channel and it went well, but I
haven't tested running the browser.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit 4f981b4f84)
2016-03-21 04:21:25 +01:00
aszlig
a7fea3ef54 chromium: Move fetchurl calls to getChannel
We always do something like "fetchurl channelProduct", so let's move it
to getChannel directly so we can avoid those fetchurl calls all over the
place.

Also, we can still access subattributes from the fetchurl call if we
need to, so there really is no need to expose the product's attributes
directly.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit 37dbd62a83)
2016-03-21 04:21:24 +01:00
aszlig
6334932eb7 chromium/plugins: Break long line
Yes, I know I'm a bit nitpicky, but lines >80 chars are very ugly if you
have two windows side-by-side.

Thus no feature changes here.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit 4984a2bf76)
2016-03-21 04:21:24 +01:00
aszlig
bfec68ed10 chromium/common.nix: Remove unreferenced attrs
We're going to refactor things anyway, so let's first get rid of
everything that's not used anymore.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit 985df3900d)
2016-03-21 04:21:23 +01:00
aszlig
5d47e25dc3 chromium/source: Move update.nix to parent dir
We now should have only the default.nix left in the source directory and
we can start to factor out the pieces into the Chromium main derivation
attributes.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit 6041cfe2af)
2016-03-21 04:21:22 +01:00
aszlig
8f211997eb chromium: Rename sources.nix to upstream-info.nix
The "sources.nix" also contains information about where to get binary
packages, so calling it "upstream-info.nix" fits better in terms of
naming.

Also, we're moving it away from the sources dir, because the latter will
soon vanish.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit 2d9a604907)
2016-03-21 04:21:21 +01:00
aszlig
3c72d75922 chromium/source: Move patches into its own subdir
We're going to reference the patches in the Chromium main build rather
than applying it to the sources. So as a first step, this should keep
the patches away from the "source" subdirectory so we can make it flat.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit d6b11ed722)
2016-03-21 04:21:20 +01:00
Franz Pletz
d1b7c0ea70 bind: 9.10.3 -> 9.10.3-P4 (security)
Fixes:

  * CVE-2016-1285: https://kb.isc.org/article/AA-01352/
  * CVE-2016-1286: https://kb.isc.org/article/AA-01353/

(cherry picked from commit 404a699a20)
2016-03-21 04:05:22 +01:00
Franz Pletz
51c88123b4 lxc: Add patch to fix bash completion
Fixes #9616.

(cherry picked from commit b33453bd98)
2016-03-21 03:10:52 +01:00
Franz Pletz
b79b512ef0 lxc: 1.1.4 -> 1.1.5
(cherry picked from commit 4d0d1124ae)
2016-03-21 03:10:50 +01:00
Peter Simons
cc86145ed5 Merge pull request #14082 from neilmayhew/fix/hardlink
hardlink: Fix Mac build error
2016-03-20 17:25:47 +01:00
Joachim Fasting
23445ad23e ldm: fix build
There were two problems:
- because buildPhase is specified directly, preBuild ends up never being
  executed; and
- the source is missing a header, resulting in an undefined reference error

(cherry picked from commit f59998055b)
2016-03-20 16:59:19 +01:00
Joachim Fasting
8e34256a80 nixos: disable the clfswm window manager module
(cherry picked from commit e891e50946)
2016-03-20 16:59:18 +01:00
Joachim Fasting
e1bb0cdf4a clfswm: mark as broken
This package has been broken for quite a long time.  I attempted
to fix it, to no avail.

See also: https://hydra.nixos.org/build/33498133/nixlog/2/raw

(cherry picked from commit 9ae0e6633e)
2016-03-20 16:59:18 +01:00
Joachim Fasting
5d98a082e5 lp_solve: mark as broken
See https://hydra.nixos.org/build/32393768/log/raw

(cherry picked from commit 649c2cd027)
2016-03-20 16:59:18 +01:00
Sander van der Burg
8cd4e77209 dysnomia: bump to version 0.5.1
(cherry picked from commit 7ed3dc6cfc)
2016-03-20 15:23:31 +00:00
Greyson
c7eba63f29 unifi: 4.7.6 -> 4.8.14
Includes upstream URL relocation.

(cherry picked from commit e379e4aa38)

Old tarball is missing.
2016-03-20 05:58:52 +01:00
Neil Mayhew
0fd813b299 hardlink: Fix Mac build error
Use $CC instead of hardcoded gcc which isn't used on Mac
2016-03-19 21:41:27 -06:00
Lluís Batlle i Rossell
50a2e74991 Missing path in prev commit
(cherry picked from commit 9b8b143c99)
2016-03-20 00:47:40 +01:00
Lluís Batlle i Rossell
34c3b3f27f Fixing icu for ARM with a patch from openembedded.
It failed with an "internal error".

(cherry picked from commit e6e7de082d)
2016-03-20 00:43:02 +01:00
Joachim Fasting
8dfd8b83d4 nano: 2.5.0 -> 2.5.3
Also move build-time dependencies to nativeBuildInputs

(cherry picked from commit d43578b599)
2016-03-19 22:56:14 +01:00
Joachim Fasting
413c01a0f8 ipxe: fix gcc5 build
gcc5 enables additional warnings, causing the build to fail with
-Werror.  The build could be fixed by specifically disabling errors
for `discarded-array-qualifiers` and `logical-not-parentheses` warnings,
but simply passing -Wno-error is more future proof.

See https://hydra.nixos.org/build/33274006/nixlog/1/raw

(cherry picked from commit 8dfb8d06f0)
2016-03-19 22:47:29 +01:00
lukasepple
7cec20c775 torbrowser: 5.5.3 -> 5.5.4
(cherry picked from commit 1dbf51416a)
2016-03-19 22:44:55 +01:00
Franz Pletz
fe3d97ea6b pythonPackages.libvirt: 1.3.0 -> 1.3.2
(cherry picked from commit b887b16a2c)
2016-03-19 17:37:01 +01:00
Franz Pletz
c5e6538869 pythonPackages.searx: 0.7.0 -> 0.8.1
The old version was broken.

(cherry picked from commit 87012e7321)
2016-03-19 16:56:37 +01:00
Franz Pletz
39a87f331c libvirt: Add fpletz as maintainer
(cherry picked from commit e312a34775)
2016-03-19 16:56:37 +01:00
Franz Pletz
2e5f582da8 libvirt: 1.3.0 -> 1.3.2
Fixes CVE-2015-5313.

(cherry picked from commit ff0cfc160f)
2016-03-19 16:56:37 +01:00
Peter Simons
89284c21bc wrap-gapps-hook.sh: fix double inclusion guard
The simple "return" would not override the non-zero error code set by the
preceding test command, therefore aborting scripts running with "set -e".

(cherry picked from commit af81505c00)
2016-03-19 15:58:35 +01:00
Peter Simons
cbcfaaa006 gnupg-2.1: add myself as maintainer plus minor cosmetic
(cherry picked from commit ab450f8477)
2016-03-19 15:58:12 +01:00
Peter Simons
9f75d283c1 gnupg-2.1: drop unnecessary autoreconf hook from build
This change also prevents gnupg 2.1 from considering itself as an
unstable development version, which it is not.

(cherry picked from commit eadf39a16c)
2016-03-19 15:58:01 +01:00
Yann Hodique
eacd290c33 git: 2.7.3 -> 2.7.4
(cherry picked from commit 31c317e09e)
2016-03-19 15:56:41 +01:00
Robert Scott
b07d941c8e php: 5.6.18 -> 5.6.19 (security update) 2016-03-19 13:31:14 +00:00
Robert Scott
a572a2f291 php: 5.5.32 -> 5.5.33 (security update) 2016-03-19 13:31:14 +00:00
Pierre Dal-Pra
f79a9ca3c0 docker: 1.10.0 -> 1.10.3
(cherry picked from commit d97805ccd0)
2016-03-19 12:50:21 +01:00
Joachim Fasting
ef8bb2e6e5 nixos/tests: fix docker test
The docker service is socket activated by default; thus,
`waitForUnit("docker.service")` before any docker command causes the
unit test to time out.

Instead, do `waitForUnit("sockets.target")` to ensure that sockets are
setup before running docker commands.

(cherry picked from commit ece457c62f)
2016-03-19 12:50:21 +01:00
Joachim Fasting
5dc086df29 flexcpp: patch all shebangs & fix installation
Using the original build recipe would result in an output
without the actual flexcpp binary.

(cherry picked from commit a8556bd5d7)
2016-03-19 12:50:21 +01:00
Joachim Fasting
eaeb0d8073 flexcpp: 2.03.00 -> 2.04.00
(cherry picked from commit dd177e62e3)
2016-03-19 12:50:21 +01:00
Joachim Fasting
684a291c66 bobcat: fix installation
Another hotfix for eae059b0b6
(I kind of jumped the gun on this one ...)

The `build install` command takes a positional argument
indicating which components to install; without it, nothing
is installed and the build fails to create the store output.

(cherry picked from commit 8e359b2e21)
2016-03-19 12:50:21 +01:00
Joachim Fasting
28625e932f bobcat: patch all shebangs
Hotfix for eae059b0b6

Not really a regression, but it turns out that the man page
target requires shebang patching as well.

(cherry picked from commit 3704901dc8)
2016-03-19 12:50:21 +01:00
Joachim Fasting
a0e49374df bobcat: 4.00.00 -> 4.01.04
Appears to fix https://hydra.nixos.org/build/33157535/nixlog/1/raw

(cherry picked from commit eae059b0b6)
2016-03-19 12:50:21 +01:00
Joachim Fasting
8be69850ab manual: fix meta.description in ruby example expression
Noted by @namore on github

(cherry picked from commit 49dc7e2d61)
2016-03-19 12:50:21 +01:00
Lluís Batlle i Rossell
d1cd035a3b Updating ts to 0.7.6.
(cherry picked from commit 41c05b47a0)
2016-03-19 12:24:27 +01:00
Sander van der Burg
38b79d7686 fetchbower: quote parameter to prevent ambigious redirects if version specifiers have wildcards
(cherry picked from commit 27e23486bb)
2016-03-18 12:06:37 +00:00
Peter Simons
d505f470d3 nixos/tests/firewall.nix: ping now succeeds in the firewall's default configuration
(cherry picked from commit c523aeffde)
2016-03-18 11:44:50 +01:00
Mathias Schreck
06115a3907 nodejs: 5.8.0 -> 5.9.0
(cherry picked from commit cd38a38316)
2016-03-18 10:10:15 +00:00
Peter Simons
1a07877b5c Set networking.firewall.allowPing = true by default.
This patch fixes https://github.com/NixOS/nixpkgs/issues/12927.

It would be great to configure good rate-limiting defaults for this via
/proc/sys/net/ipv4/icmp_ratelimit and /proc/sys/net/ipv6/icmp/ratelimit,
too, but I didn't since I don't know what a "good default" would be.

(cherry picked from commit a0ab4587b7)
2016-03-18 08:25:35 +01:00
Peter Simons
cfc1b69bed ghcjs: synchronize state with master @ daa03b0229 2016-03-18 08:23:31 +01:00
Peter Simons
014223bd00 cabal2nix: synchronize state with master @ daa03b0229 2016-03-18 08:23:31 +01:00
Peter Simons
26b6957daf Haskell: synchronize state with master @ daa03b0229 2016-03-18 08:23:30 +01:00
Tuomas Tynkkynen
fd4cdf183a ARM stdenv: Update bootstrap tools
For some reason, the current bootstrap tools fail to build gettext:

init2.c:37: MPFR assertion failed: (64 - 0) == ((64 - 0)/8) * 8 && sizeof(mp_limb_t) == ((64 - 0)/8)
libxml/xpath.c: In function 'xmlXPathCompPathExpr':
libxml/xpath.c:10627:1: internal compiler error: Aborted
 xmlXPathCompPathExpr(xmlXPathParserContextPtr ctxt) {
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[5]: *** [libxml/libxml_rpl_la-xpath.lo] Error 1

I didn't investigate why this is the case but rebuilding the bootstrap
tools seems to help.

I used this old-ish WIP branch https://github.com/dezgeg/nixpkgs/commits/arm-bootstrap
since latest master has even more problems with cross-compiling anything.
(I will eventually push this stuff and make the ARM bootstraps build on hydra.)

(cherry picked from commit cdef1cdd38)
2016-03-18 03:17:45 +02:00
Robert Helgesson
8e11767d02 perl-Hook-LexWrap: 0.24 -> 0.25
Also add meta section.

(cherry picked from commit b9f7bb15e5)
2016-03-17 22:35:53 +01:00
Tanner Doshier
f6bec34f6f tarsnap: 1.0.36.1 -> 1.0.37
(cherry picked from commit ab1008014d)
2016-03-17 15:08:06 +01:00
Joachim Fasting
f95d5d0e86 dnscrypt-proxy service: documentation fixes
- fix `enable` option description
  using `mkEnableOption longDescription` is incorrect; override
  `description` instead
- additional details for proper usage of the service, including
  an example of the recommended configuration
- clarify `localAddress` option description
- clarify `localPort` option description
- clarify `customResolver` option description

(cherry picked from commit a0663e3709)
2016-03-17 15:07:44 +01:00
Joachim Fasting
d12bc4ffa1 electrum: 2.6.1 -> 2.6.2
(cherry picked from commit 1b3d974c98)
2016-03-17 15:06:12 +01:00
Joachim Fasting
9379081695 electrum: 2.5.4 -> 2.6.1
(cherry picked from commit 1ff8a6b6c4)
2016-03-17 15:06:11 +01:00
Domen Kožar
12c908ec5b nixUnstable: point to latest 1.12pre
(cherry picked from commit 8e398a88a1)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-17 13:03:50 +00:00
Domen Kožar
baf7f98b45 pythonPackages.cryptography: 1.1.1 -> 1.2.3 (fix openssl build) 2016-03-17 13:01:23 +00:00
Domen Kožar
00793f0756 nghttp2: fix url
(cherry picked from commit 826eeec841)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-17 10:56:46 +00:00
Vladimír Čunát
3fb27d83ab firefox: disable optimization hack (i686-linux)
It seems to build fine even without it, so the original reason doesn't
hold anymore:
https://github.com/NixOS/nixpkgs/commit/f4b5671b0d9e8904a4ad6b3fd85268

(cherry picked from commit 9be0c7d463)
2016-03-17 09:28:04 +01:00
Franz Pletz
c29ebc60f5 gitlab service: Remove emailFrom option
Not being used anymore. Use `services.gitlab.extraConfig.gitlab.email_from`
instead.

(cherry picked from commit 38579a1cc9)
2016-03-17 04:17:55 +01:00
Franz Pletz
72a9c3c018 gitlab: 8.5.5 -> 8.5.7
(cherry picked from commit 1cd99b1a48)
2016-03-17 03:39:48 +01:00
Peter Simons
88a20de886 git: update from version 2.7.1 to 2.7.3 2016-03-16 21:37:31 +01:00
Vladimír Čunát
066d56507e Revert "nvidia: 358.16 -> 361.28" to fix #13942
This reverts commit e0fe8cf204.
Befor updating we need to fixup problems related to GLVND transition.

(cherry picked from commit a1de225913)
2016-03-16 20:09:04 +01:00
Sander van der Burg
2e4c131749 disnixos: bump to version 0.4.1
(cherry picked from commit 0f46200f26)
2016-03-16 13:29:38 +00:00
Nikolay Amiantov
e4662de8c8 cups service: fix gutenprint update when there's no printers
(cherry picked from commit 851af5e888)
2016-03-15 21:47:18 +03:00
Eelco Dolstra
1010ced00c Remove setting non-existent sysctl options 2016-03-15 17:42:12 +01:00
Eelco Dolstra
ac18b492d5 NixOS release: Don't depend on chromium
This is failing because it exceeds the hydra-queue-runner size limit.

http://hydra.nixos.org/build/33303819
(cherry picked from commit 3135af2511)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-15 15:20:05 +00:00
Eelco Dolstra
5f2226ddc7 Fix NixOS tested job
(cherry picked from commit 55e71f45cc)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-15 15:19:56 +00:00
Eelco Dolstra
4066f15504 Build most ISOs/OVAs for x86_64-linux only
Probably not many people care about i686-linux any more, but building
all these images is fairly expensive (e.g. in the worst case, every
Nixpkgs commit would trigger a few gigabytes of uploads to S3).

(cherry picked from commit daa093bf3c)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-15 15:19:37 +00:00
Eelco Dolstra
d24e4eef6c Combine ISO generation steps
This folds adding hydra-build-products into the actual ISO generation,
preventing an unnecessary download of the ISO.

(cherry picked from commit 10293b87a9)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-15 15:18:30 +00:00
Eelco Dolstra
fa4b560533 Combine OVA generation steps
Previously this was done in three derivations (one to build the raw
disk image, one to convert to OVA, one to add a hydra-build-products
file). Now it's done in one step to reduce the amount of copying
to/from S3. In particular, not uploading the raw disk image prevents
us from hitting hydra-queue-runner's size limit of 2 GiB.

(cherry picked from commit 5cc7bcda30)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-15 15:18:25 +00:00
Joachim Fasting
e3153cc3a5 torbrowser: 5.5.2 -> 5.5.3
(cherry picked from commit 665e79324e)
2016-03-15 14:55:47 +01:00
Aneesh Agrawal
0b5026fe95 openssh: 7.2p1 -> 7.2p2 for OSA x11fwd.adv
Fixes OpenSSH Security Advisory x11fwd.adv, which is available at
http://www.openssh.com/txt/x11fwd.adv.

(cherry picked from commit e5ca25eb7a)
2016-03-15 00:39:44 +01:00
Aneesh Agrawal
848855a5ab openssh: update GSSAPI patch to openssh 7.2
(cherry picked from commit ce74aac132)
2016-03-15 00:39:43 +01:00
Aneesh Agrawal
448f8b0451 openssh: decouple gssapi patch from kerberos
The GSSAPI patch is useful but maintained by Debian, not upstream, and
can be slow to update. To avoid breaking openssh_with_kerberos when
the openssh version is bumped but the GSSAPI patch has not been updated,
don't enable the GSSAPI patch implicitly but require it to be explicitly
enabled.

(cherry picked from commit 9e86984fe0)
2016-03-15 00:39:43 +01:00
Eelco Dolstra
4d9f98face openssh: Fix build
(cherry picked from commit cc71804ab0)
2016-03-14 23:22:07 +01:00
Aneesh Agrawal
2d683367ed openssh: 7.1p2 -> 7.2p1
(cherry picked from commit 7f8d50b443)
2016-03-14 23:22:07 +01:00
Graham Christensen
1f6b9b333d ilbc: extract-cfile.awk has fallen off the internet
Close #13923.

(cherry picked from commit 2aae2af845)
2016-03-14 21:42:53 +01:00
Graham Christensen
331e442eb7 graphite2: security update 1.2.4 -> 1.3.6 (close #13918)
CVE-2016-1977 CVE-2016-2790 CVE-2016-2791 CVE-2016-2792
CVE-2016-2793 CVE-2016-2794 CVE-2016-2795 CVE-2016-2796
CVE-2016-2797 CVE-2016-2798 CVE-2016-2799 CVE-2016-2800
CVE-2016-2801 CVE-2016-2802

vcunat fixed the tarball name and redirected to github.

(cherry picked from commit c310cb9e46)
2016-03-14 21:31:42 +01:00
Graham Christensen
7bcbf598ae eduke32: 20150420-5160 moved to the old releases directory
Close #13922.

(cherry picked from commit f165334492)
2016-03-14 20:48:41 +01:00
Graham Christensen
fd3f80cf37 d4x: Update download URL to fedora, d4k.krasu.ru no longer exists
(cherry picked from commit 2c8cb42c71)
2016-03-14 20:48:38 +01:00
Eelco Dolstra
04e07c8db2 pull request #13919 from grahamc/samba
samba: 4.3.1 -> 4.3.6 for CVE-2015-7560 CVE-2016-0771
(cherry picked from commit 06bebedf66)
2016-03-14 20:12:22 +01:00
Vladimír Čunát
d9b70033a6 tevent, ldb: security updates needed for samba
I managed to find no news or changelog on these,
so it's rather a black box to me, but it's clear that (some) bumps
were required for samba.

(cherry picked from commit 530214321d)
2016-03-14 20:12:21 +01:00
Philipp Volguine
4b0fceda0f Gitlab package version 8.5.1 -> 8.5.5
-had to bump the versions on a few gem dependencies

(cherry picked from commit a2424fffd3)
2016-03-14 16:41:02 +01:00
Philipp Volguine
e2c85dc185 gitlab service startup fix
-gitlab-sidekiq was being started with a misspelled argument name
 which caused the mailer queue to never run and never send mail

(cherry picked from commit 10198b586e)
2016-03-14 16:36:27 +01:00
Joachim Fasting
fc2a19eeb4 sway: fix build
Building the manual requires docbook_xsl; in sandboxed environments,
the build would fail due to being unable to download missing docbook
resources.

Also include some minor improvements to the build recipe:
- use fetchFromGitHub
- move build-time dependencies to nativeBuildInputs

xref: https://github.com/NixOS/nixpkgs/pull/13900
(cherry picked from commit 868082f616)
2016-03-14 15:56:56 +01:00
Joachim Fasting
a2273f6125 transmission: build transmission-cli
As of version 2.92, transmission-cli is no longer built by default (it
is deprecated).  This breaks the bittorrent vmtest.  For now, explicitly
enable the cli.

(cherry picked from commit 4393e6f619)
2016-03-14 11:27:18 +01:00
Joel Moberg
8065ea839d avahi: fix test
Reflects module changes made by cdd7310a50

(cherry picked from commit 75e96d2c30)
2016-03-14 11:26:57 +01:00
宋文武
fe5d858fe0 drop my maintainership (close #13881)
(cherry picked from commit 93feb5d115)
2016-03-13 18:39:32 +01:00
Vincent Laporte
f960683794 pixman: remove legacy patches
(cherry picked from commit b1801168e3)
https://github.com/NixOS/nixpkgs/pull/13579#issuecomment-195994082
2016-03-13 18:15:28 +01:00
Frederik Rietdijk
a7c64d5df6 Merge pull request #13888 from Beauhurst/r16.03_django_updates
django security updates (backport to release-16.03)
2016-03-13 10:54:03 -04:00
Robert Scott
b992c1b19b django: 1.9.3 -> 1.9.4, 1.8.10 -> 1.8.11 2016-03-13 14:48:52 +00:00
aszlig
8b39b045d8 chromium/update.sh: Allow to be called out-of-tree
Changing the working directory to
pkgs/applications/networking/browsers/chromium is a bit annoying, so
let's make sure the script can be called from anywhere.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit a62f100ec3)
2016-03-13 12:33:09 +01:00
aszlig
84e8aa8105 chromium/common: Shut up about precompiling .pyc's
The errors are completely non-fatal and only cause a particular file to
be not precompiled. Unfortunately this can lead to confusion to whether
these errors are real errors or not, so let's shut it up completely
because they're *not* real errors.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit f7e2171937)
2016-03-13 12:33:09 +01:00
Graham Christensen
7d734df56d chromium: 49.0.2626.75 -> 50.0.2661.26 for CVE-2016-1643 CVE-2016-1644 CVE-2016-1645
(cherry picked from commit e54434751a)
2016-03-13 12:33:08 +01:00
Joachim Fasting
42079b64d5 fstar: 2016-01-12 -> 0.9.2.0
FStar has been broken for a while, due to its regression test failing.
Bump to the latest release, which is newer than the previous rev.

(cherry picked from commit f82a46cf58)
2016-03-13 11:31:17 +01:00
Joachim Fasting
ae349e1d43 abook: fix build with gcc5
(cherry picked from commit d4ae8b68cb)
2016-03-13 11:30:47 +01:00
Sheena Artrip
8df9058d46 spotify: 1.0.23.93 -> 1.0.25.127
(cherry picked from commit ebc5b6e1ad)
2016-03-13 06:00:31 +01:00
Svein Ove Aas
fbf59749d3 simp_le: 2016-01-09 -> 2016-02-06
(cherry picked from commit 4b998c1f94)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-12 20:43:28 +00:00
tg(x)
d54510bb57 pax-utils: 1.1.1 -> 1.1.6
(cherry picked from commit 184aca3907)
2016-03-12 17:49:54 +01:00
Domen Kožar
dbcb901036 fix installer tests #13559 2016-03-11 16:08:27 +00:00
Eelco Dolstra
5456a2d030 Move testBootstrapTools to make-bootstrap-tools.nix
(cherry picked from commit 639d7409f2)
2016-03-11 16:24:07 +01:00
zimbatm
bb4f9c93dc make-wrapper.sh: add an --unset argument
`--set FOO ""` is not strictly equivalent to `--unset FOO`. In the former case
the environment variable still exists with an empty string as a value.

(cherry picked from commit 5e5494a852)
2016-03-11 16:23:55 +01:00
Vladimír Čunát
207882e82f make-bootstrap-tools: fix #13629: glibc problems
On x86_64-linux glibc started to use linker scripts more extensively.

(cherry picked from commit aa564c9ed0)
(cherry picked from commit 5702bc3b55)
2016-03-11 16:21:17 +01:00
Eelco Dolstra
ad6fee913d Don't apply patchelf to itself
Since patchelf 0.8 rewrites binaries in place, this causes a bus
error.

(cherry picked from commit a6d19c28f1)
2016-03-11 16:21:01 +01:00
Eelco Dolstra
11fc5010e4 go-1.4: Update binutils patch to handle i686-linux
http://hydra.nixos.org/build/32872391
(cherry picked from commit a11a281071)
2016-03-11 16:20:24 +01:00
Eelco Dolstra
f7eb5d7419 librdf_redland: Fix dependency on libraptor2
This broke soprano/nepomuk.

http://hydra.nixos.org/build/32556702
(cherry picked from commit e9f1fa8bb0)
2016-03-11 16:20:19 +01:00
Eelco Dolstra
c4fc753068 go-1.4: Fix build against binutils 2.26
The go linker barfed on the new relocation types emitted by binutils
2.26.

https://github.com/golang/go/issues/13114
http://hydra.nixos.org/build/32554876
(cherry picked from commit ff69fc6fb9)
2016-03-11 16:20:16 +01:00
Eelco Dolstra
a77785096c binutils: Apply upstream bug fix
This broke syslinux: http://hydra.nixos.org/build/32430411/nixlog/89/raw

(cherry picked from commit 89742e6b05)
2016-03-11 16:20:09 +01:00
Eelco Dolstra
07b375e361 glibc: Enable separate debug symbols
The importance of glibc makes it worthwhile to provide debug
symbols. However, this revealed an issue with separateDebugInfo: it
was indiscriminately adding --build-id to all ld invocations, while in
fact it should only do that for final links. Glibc also uses non-final
("relocatable") links, leading to subsequent failure to apply a build
ID ("Cannot create .note.gnu.build-id section, --build-id
ignored"). So now ld-wrapper.sh only passes --build-id for final
links.

(cherry picked from commit d5bb6a1f9c)
2016-03-11 16:19:00 +01:00
Eelco Dolstra
0c00ca14ed separateDebugInfo: Compress debug sections at compile/link time
(cherry picked from commit 69a337edae)
2016-03-11 16:18:56 +01:00
Eelco Dolstra
e9f847ea54 stdenv-linux: Ensure binutils comes before bootstrapTools in $PATH
Otherwise, when building glibc and other packages, the "strip" from
bootstrapTools is used, which doesn't recognise some tags produced by
the newer "ld" from binutils.

(cherry picked from commit 2040a9ac57)
2016-03-11 16:18:49 +01:00
Eelco Dolstra
9bafea49ed stdenv-linux: Avoid building m4/bison twice
(cherry picked from commit 559ecc9212)
2016-03-11 16:18:45 +01:00
Eelco Dolstra
a33faa6919 binutils: 2.23.1 -> 2.26
There has been an abortive attempt to upgrade binutils in the past
(see #909). Since we can't stay stuck at 2.23.1 forever, let's try
again.

(cherry picked from commit 817145ebbc)
2016-03-11 16:18:41 +01:00
Eelco Dolstra
a3750f7803 perlPackages: Fix some Perl 5.22 breakage
Most was caused by the removal of CGI and Module::Build from Perl.

(cherry picked from commit e9a81e41ed)
2016-03-11 16:18:04 +01:00
Eelco Dolstra
fda621baec perl: Make 5.22 the default
(cherry picked from commit a85ba820a4)
2016-03-11 16:17:59 +01:00
Eelco Dolstra
4807161a4d m2crypto: 0.21.1 -> 0.23.0
The previous version broke because it required SSLv2 support in OpenSSL:

ImportError: /nix/store/c0z7qlycaa2jhqjq0v9vy3j4nw4layw2-python2.7-m2crypto-0.21.1/lib/python2.7/site-packages/M2Crypto/__m2crypto.so: undefined symbol: SSLv2_method
(cherry picked from commit 49f23a6028)
2016-03-11 16:16:33 +01:00
Eelco Dolstra
3f65ad28be perl-packages.nix: Remove unnecessary variable quotations
(cherry picked from commit 4e906f9fb2)
2016-03-11 16:16:19 +01:00
Eelco Dolstra
856fa7f3f2 LWP::Protocol::https: Fix SSL cert handling
We lost this in 9f358f809d. Updated to
use /etc/ssl/certs/ca-certificates.crt if it exists and SSL_CERT_FILE
is not set.

(cherry picked from commit bd7f379a3f)
2016-03-11 16:16:07 +01:00
Eelco Dolstra
ac22e8344d Remove unmaintained gnupdate script
(cherry picked from commit 50e1e69c0a)
2016-03-11 16:16:00 +01:00
Eelco Dolstra
43504afcb7 cudatoolkit: Add version 7.5.18
(cherry picked from commit 6d97de951d)
2016-03-11 16:15:52 +01:00
Eelco Dolstra
d9dbe89eb5 cudatoolkit: Merge into one file and use callPackages
(cherry picked from commit 6c1e3a82de)
2016-03-11 16:15:47 +01:00
Eelco Dolstra
41dc4eca0c nix-generate-from-cpan: Skip "if" package since it's part of Perl now
(cherry picked from commit e2ad72342e)
2016-03-11 16:15:38 +01:00
Eelco Dolstra
9f185a9669 nix-generate-from-cpan: Don't quote names that don't need it
(cherry picked from commit 50b950fe8d)
2016-03-11 16:15:33 +01:00
Eelco Dolstra
a7ca3a4afb ifplugd: Remove
This package hasn't been updated in 11 years, and isn't really useful
anymore in a modern Linux system.

(cherry picked from commit 6bd0c3fe9d)
2016-03-11 16:15:21 +01:00
Eelco Dolstra
7ff8194989 keen4: Add license
(cherry picked from commit 449894ccb5)
2016-03-11 16:15:15 +01:00
Eelco Dolstra
147249a5e6 firefox: 44.0.2 -> 45.0
(cherry picked from commit 0d6d91739f)
2016-03-11 16:14:43 +01:00
Eelco Dolstra
e00cbc0130 thunderbird: Fix hash
Commit 4a54794d18 upgraded Thunderbird's
version to 38.6.0 (accidentally?), but didn't change the hash. This
wasn't caught due to tarballs.nixos.org being keyed on hash only.

(cherry picked from commit d25135ff6e)
2016-03-11 16:14:23 +01:00
Eelco Dolstra
e64ae06426 thunderbird: Fix build on gcc 5
It was barfing due to --enable-stdcxx-compat. Not clear if/why we
still need this, so let's disable it. If necessary a fix is available
at https://bugzilla.mozilla.org/show_bug.cgi?id=1153109.

(cherry picked from commit 4f5d48abf5)
2016-03-11 16:14:12 +01:00
Eelco Dolstra
751718af64 pykde4: Fix gcc 5 build failure
(cherry picked from commit bb43b542d6)
2016-03-11 16:14:08 +01:00
Eelco Dolstra
d5ca898035 mtdutils: 1.5.1 -> 1.5.2
Fixes gcc 5 build failure.

(cherry picked from commit 1146f460d3)
2016-03-11 16:14:03 +01:00
Eelco Dolstra
ffb23b77e0 rcs: Fix build on gcc 5
http://hydra.nixos.org/build/32624218
(cherry picked from commit 1c74a16e10)
2016-03-11 16:13:59 +01:00
Eelco Dolstra
e1922e3103 Mark some packages as broken due to GCC 5
(cherry picked from commit 47a04ac52c)
2016-03-11 16:13:56 +01:00
Eelco Dolstra
8668905d22 gcc: Remove 4.3 and 4.4
GCC 4.3 was used by only one package ("self"), which I've marked as
broken.

(cherry picked from commit 62c562a522)
2016-03-11 16:13:51 +01:00
Eelco Dolstra
80961187e0 gsl: Disable tests on i686-linux
http://hydra.nixos.org/build/32624041
(cherry picked from commit dd1f01ec11)
2016-03-11 16:13:46 +01:00
Eelco Dolstra
a98d111d81 telepathy-qt: Fix build on gcc 5
-Werror considered harmful.

(cherry picked from commit 4bb9117992)
2016-03-11 16:13:42 +01:00
Eelco Dolstra
6ef4803b6d libcli: Fix build on gcc 5
http://hydra.nixos.org/build/32606953
(cherry picked from commit 6bec7cb9fc)
2016-03-11 16:13:38 +01:00
Eelco Dolstra
5e936719a0 aterm: Mark as broken
It segfaults when built with GCC 5. I could try to fix it, but it's
not clear if anybody still cares about this package. Disabling it
until somebody complains.

http://hydra.nixos.org/build/32612811
(cherry picked from commit a5b501a36e)
2016-03-11 16:13:30 +01:00
Eelco Dolstra
a9b01de70d gcc: Use the pre-C++11 ABI by default
(cherry picked from commit 83011723af)
2016-03-11 16:13:01 +01:00
Eelco Dolstra
cb5f0fc64d Switch to GCC 5
(cherry picked from commit c388380bb4)
2016-03-11 16:12:57 +01:00
Eelco Dolstra
15db5f4353 openssl: Use 1.0.2 by default
Provided that not too much breaks, we should probably cherry-pick this
to 16.03, since the end of the 1.0.1 support window is a bit too close
to the expected lifetime of 16.0.3. @domenkozar

(cherry picked from commit e0d17fdf10)
2016-03-11 16:11:44 +01:00
Peter Simons
a56c4875dc perl-DateTimeX-Easy: disable failing test suite to fix Hydra build
(cherry picked from commit 83f2a6792c)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-11 13:44:27 +00:00
Lluís Batlle i Rossell
c5b31675a8 Adding rowhammer test.
(cherry picked from commit e026b5c243)
2016-03-11 14:33:40 +01:00
Lluís Batlle i Rossell
3f7eee0c40 Update ghdl mcode to 0.33.
(cherry picked from commit e9d6aadc51ecdd274cd383a99ea840a94b58d954)
(cherry picked from commit 7f7c2171c0)
2016-03-11 14:33:39 +01:00
Domen Kožar
838702564f nss: 3.22 -> 3.22.2 (CVE-2016-1950)
(cherry picked from commit 603ea2652f)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-11 12:18:51 +00:00
taku0
19c10d7347 flashplayer: 11.2.202.559 -> 11.2.202.577
(cherry picked from commit 218901bdb6)
2016-03-11 08:02:22 +01:00
Domen Kožar
8eba878ced speedtest-cli: 0.3.1 -> 0.3.4 (fix runtime)
(cherry picked from commit 83766949c1)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-10 20:43:02 +00:00
Vladimír Čunát
2b240463bf antimony: fix build with glibc-2.23
And enableParalelBuilding = true;

(cherry picked from commit 7ccccec51b)
2016-03-10 19:03:20 +01:00
Joachim Fasting
d1df887b29 faust2: fix build
Fixes https://github.com/NixOS/nixpkgs/issues/12749

The build failure was caused by brittle detection of the
llvm version. See the code for (excessive) details. This fix
is a quick hack, a proper fix would be to parse the version
of the input llvm derivation and use that to derive a proper
value. Here we just pin the version.

Also move build-time deps to `nativeBuildInputs`.

(cherry picked from commit 2f73decba8)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-10 16:51:45 +00:00
Domen Kožar
e1ce1fe14d Merge pull request #13598 from ttuegel/release-16.03-kde-5
Plasma 5.5.5
2016-03-10 16:48:53 +00:00
Vladimír Čunát
36bad18d57 nvidia-x11*: use mirror-agnostic URLs
(cherry picked from commit 17b83a88c3)
2016-03-10 15:57:35 +01:00
Graham Christensen
8c6cf0ca7c nvidia_x11_legacy304: 304.125 -> 304.131
Thanks to the great commit message in 6257425dab
(thank you edwtjo) I was able to go back and find out the patch which
was causing build failures is no longer necessary after upgrading
this legacy driver.

(cherry picked from commit fed36719f6)
Close #13799.

Tested-by: vcunat; it refuses to run with 4.4 kernel but it does with 4.1.
2016-03-10 15:51:59 +01:00
Al Zohali
b13a486f24 ChromiumOS kernel option fixup
(cherry picked from commit 9d03355bed)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-10 12:53:08 +00:00
Christoph Hrdinka
9b544ab3cc transmission: 2.90 -> 2.92
(cherry picked from commit c5695bc8be)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-10 12:51:58 +00:00
ashgillman
797b5a2f1b Use lcms2 for all pillow python versions
(cherry picked from commit 6ab7c50ea6)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-10 12:50:27 +00:00
Thomas Strobel
c74e3fd3ae xpra: 0.14.19/0.15.3 -> 0.16.2
(cherry picked from commit 83b15e2fc4)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-10 12:36:25 +00:00
Tim Steinbach
d41ac378b6 kernel: 4.4.4 -> 4.4.5
(cherry picked from commit 7c90420119)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-10 12:36:15 +00:00
Domen Kožar
e8e8164f34 Remove which -> type -P alias.
Aliases are not the same as programs. They won't work in subshells.
It's better to just use which as it's only 88K.

(cherry picked from commit 73ba0ae2de)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-10 10:40:29 +00:00
Domen Kožar
fb57ac55ff bareos: add rocksdb dependency
(cherry picked from commit 76f8ee2418)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-10 09:44:47 +00:00
Hoang Xuan Phu
6fa68be9c2 archiveopteryx: override specific build settings instead of PREFIX
Closes #13708 and fixes #13707.

(cherry picked from commit 5ac1de516e)
Closes #13805.
2016-03-10 09:35:16 +01:00
Franz Pletz
6377a295a3 Merge pull request #13796 from grahamc/libotr-16.03
libotr: upgrade v4, remove v3, and pidgin-otr for CVE-2016-2851 (16.03)
2016-03-10 00:24:01 +01:00
Graham Christensen
a039af10eb pidgin-otr: 4.0.1 -> 4.0.2 for CVE-2016-2851
(cherry picked from commit 6f8a914d57b5696e20c961659649aee286c4c7e6)
2016-03-09 17:23:42 -06:00
Graham Christensen
26833c5ecd libotr_3_2: remove, not updated since 2012, and unused.
(cherry picked from commit 6f574732a43ac24832ac92df99e8c826b301a4eb)
2016-03-09 17:23:42 -06:00
Franz Pletz
33b0851d88 libotr: 4.1.0 -> 4.1.1 (CVE-2016-2851)
https://www.x41-dsec.de/lab/advisories/x41-2016-001-libotr/
(cherry picked from commit 728cf25e16)
2016-03-10 00:14:40 +01:00
Vladimír Čunát
b28e618fb0 gpgstats: fix build on 32-bit; LFS problems
(cherry picked from commit 5782b5d3e8)
/cc #13559.
2016-03-09 23:16:45 +01:00
Nikolay Amiantov
c82d282f06 stepmania: fix on i686
(cherry picked from commit a75eb513c6)
2016-03-09 22:17:33 +03:00
Domen Kožar
34b06b4ba1 xen: remove unneeded depds now that stubdom is disabled
(cherry picked from commit 9ad60eae48)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-09 18:56:41 +00:00
kklas
d005b64940 sw-raid: make mdmon start from initrd
Also add required systemd services for starting/stopping mdmon.

(cherry picked from commit aac666e302)

See https://github.com/NixOS/nixpkgs/pull/13447#issuecomment-189963243 for cherry-pick discussion.
2016-03-09 21:20:36 +03:00
Domen Kožar
9c36de8cb2 xen: disable stubdom due to #13590
(cherry picked from commit 086a7d138d)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-09 13:52:01 +00:00
Lluís Batlle i Rossell
2e324f2144 Fixing my-env to get NIX_CFLAGS_COMPILE and so on
Yes, I still use my-env. I tested that it works on 16.03.

(cherry picked from commit 63ffd27a6b)
2016-03-09 12:45:45 +01:00
Pascal Wittmann
a0531e0394 libclc: 2015-03-27 -> 0.2.0
Fix build with newer LLVM version

(cherry picked from commit b1dd00f616)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-09 11:27:09 +00:00
Domen Kožar
5978790955 boringssl: 2014-08-20 -> 2016-03-08
(cherry picked from commit 64d5af4663)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-09 11:27:09 +00:00
Rok Garbas
e696b60f38 nixos/doc: adding line about the change in service.syncthing 2016-03-09 12:25:58 +01:00
Rob Vermaas
aecf27fe92 Remove kill -9 -1 from initrd of amazon-image.nix. This causes a kernel panic.
(cherry picked from commit ed5920ec65)
2016-03-09 09:56:18 +00:00
John Chee
4baa4995f3 lastpass-cli: 0.7.0 -> 0.9.0
(cherry picked from commit e0b541acc7)
2016-03-09 07:22:11 +01:00
Joachim Fasting
e3613ab3ee dnscrypt-proxy service: fix apparmor profile
The daemon additionally requires libcap, liblz4, and libattr.

(cherry picked from commit e7cfccbcc2)
2016-03-09 05:17:32 +01:00
Joachim Fasting
55588d7acd dnscrypt-proxy service: fix default resolver name
The "opendns" resolver has changed name to "cisco", causing the default
dnscrypt-proxy configuration to fail.

(cherry picked from commit e3ae435aad)
2016-03-09 03:01:17 +01:00
Mathieu Boespflug
440e2a757a spark: Fix tarball hash.
Maybe tarball changed upstream. Who knows.

Fixes #13703

(cherry picked from commit 6cf1853f29)

@joachifm: the original used the archive checksum, whereas `fetchzip` uses the
checksum of the archive contents.
2016-03-08 16:19:32 +01:00
Nathan Zadoks
2a36173043 bird module: run as user/group bird, not ircd
(cherry picked from commit 0360e410b7)
2016-03-08 11:58:34 +01:00
Sander van der Burg
db10d1bd21 runLatex: always include basic texlive stuff (thanks to vcunat)
(cherry picked from commit e91b9bede0)
2016-03-08 10:50:07 +00:00
Franz Pletz
69dbce32ce grsecurity: 4.4.2 -> 4.4.4
See #13505.

(cherry picked from commit 255d710757)
2016-03-08 01:07:55 +01:00
Franz Pletz
613dfd513c Merge remote-tracking branch 'origin/pr/13505'
Fixes #13505.

(cherry picked from commit eb5a897161)
2016-03-08 01:07:40 +01:00
Franz Pletz
3a5a26e2ed linux_4_4: 4.4.3 -> 4.4.4
(cherry picked from commit 3b1f2e070b)
2016-03-07 23:35:07 +01:00
Franz Pletz
89774f5b38 linux_3_14: 3.14.61 -> 3.14.63
(cherry picked from commit af40e356fe)
2016-03-07 23:35:05 +01:00
Franz Pletz
3356e5c033 linux_3_12: 3.12.54 -> 3.12.55
(cherry picked from commit 354a1935d3)
2016-03-07 23:35:04 +01:00
Franz Pletz
bc6547a13f linux_3_10: 3.10.97 -> 3.10.99
(cherry picked from commit 5b8361c118)
2016-03-07 23:34:59 +01:00
Svein Ove Aas
5b3c61ea5f nvidia: major update 358.16 -> 361.28
Beta also gets updated, but even upstream it's older than stable.
vcunat generalized parallel make. Close #12719.

(cherry picked from commit e0fe8cf204)
This is a new long-lived branch, so the update seems suitable for 16.03.
2016-03-07 23:20:15 +01:00
Henry Till
927ce5ca71 racket: fix build error
https://github.com/racket/racket/issues/1222

closes #13733

(cherry picked from commit cf71bc9255)
2016-03-07 21:28:54 +01:00
Robert Helgesson
50131497b7 eclipse-plugin-checkstyle: 6.14.0 -> 6.16.0
Download URL for 6.14.0 is broken, fixes #13746.

(cherry picked from commit 54c7ef17a9)
2016-03-07 21:11:33 +01:00
Christoph Hrdinka
b5a0c16f8f pidgin: fix gstreamer plugin path
Closes #13722, fixes #13719 and maybe #10556.

(cherry picked from commit d3e3b135ea)
2016-03-07 07:12:25 +01:00
Luca Bruno
3b5ae362d9 chromium: add StartupWMClass to desktop file. Fixes #12433
(cherry picked from commit 5f8311775c)
2016-03-06 21:52:47 +01:00
Bjørn Forsman
1db66c9f47 grafana service: unbreak
Accidentally broken by 4fede53c09
("nixos manuals: bring back package references").

Without this fix, grafana won't start:

$ systemctl status grafana
...
systemd[1]: Starting Grafana Service Daemon...
systemd[1]: Started Grafana Service Daemon.
grafana[666]: 2016/03/06 19:57:32 [log.go:75 Fatal()] [E] Failed to detect generated css or javascript files in static root (%!s(MISSING)), have you executed default grunt task?
systemd[1]: grafana.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: grafana.service: Unit entered failed state.
systemd[1]: grafana.service: Failed with result 'exit-code'.

(cherry picked from commit d99033beb9)
2016-03-06 21:44:53 +01:00
Vladimír Čunát
1e634a6fcc curl: use an official download link
It works now that we have e6f61b4cf3.

(cherry picked from commit a458a9f78f)
2016-03-06 11:13:49 +01:00
Profpatsch
0db38615dc manual/installing: add loadkeys hint
Closes #13702 and fixes #3132.
(Tiny changes by vcunat.)

(cherry picked from commit af4e8a4d3b)
2016-03-06 11:06:25 +01:00
aszlig
58d901d16f chromium: Update all channels to latest versions
Overview of the updated versions:

stable: 48.0.2564.116 -> 49.0.2623.75
beta:   49.0.2623.63  -> 49.0.2623.75
dev:    50.0.2657.0   -> 50.0.2661.11

Stable and beta are now in par because of the release of a major stable
update.

The release addresses 26 security vulnerabilities, the following with an
assigned CVE:

 * CVE-2016-1630: Same-origin bypass in Blink. Credit to Mariusz
                  Mlynski.
 * CVE-2016-1631: Same-origin bypass in Pepper Plugin. Credit to Mariusz
                  Mlynski.
 * CVE-2016-1632: Bad cast in Extensions. Credit to anonymous.
 * CVE-2016-1633: Use-after-free in Blink. Credit to cloudfuzzer.
 * CVE-2016-1634: Use-after-free in Blink. Credit to cloudfuzzer.
 * CVE-2016-1635: Use-after-free in Blink. Credit to Rob Wu.
 * CVE-2016-1636: SRI Validation Bypass. Credit to Ryan Lester and
                  Bryant Zadegan.
 * CVE-2015-8126: Out-of-bounds access in libpng. Credit to
                  joerg.bornemann.
 * CVE-2016-1637: Information Leak in Skia. Credit to Keve Nagy.
 * CVE-2016-1638: WebAPI Bypass. Credit to Rob Wu.
 * CVE-2016-1639: Use-after-free in WebRTC. Credit to Khalil Zhani.
 * CVE-2016-1640: Origin confusion in Extensions UI. Credit to Luan
                  Herrera.
 * CVE-2016-1641: Use-after-free in Favicon. Credit to Atte Kettunen of
                  OUSPG.

The full announcement which also includes the link to the bug tracker
can be found here:

http://googlechromereleases.blogspot.de/2016/03/stable-channel-update.html

Also, the 32bit Chrome package needed for the Flash and Widevine plugins
doesn't exist anymore, because Google has dropped support for 32bit
distros, see here for the announcement:

https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/FoE6sL-p6oU

On our end, we need to fix the patch for the plugin paths to work for
the latest dev channel. The change is very minor, because the
nix_plugin_paths_46.patch only doesn't apply because of an iOS-related
ifdef.

Built and tested on my Hydra at:

https://headcounter.org/hydra/eval/311511

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Fixes: #13665
(cherry picked from commit 8b97ca270e)
2016-03-05 22:54:06 +01:00
Vladimír Čunát
3a3f336148 nvidia_x11_legacy340: update 340.76 -> 340.94
Fixes #13658.

(cherry picked from commit 54d342add8)
2016-03-05 22:20:18 +01:00
Domen Kožar
780dc0ad29 Merge pull request #13689 from 4z3/release-16.03
exim: 4.86 -> 4.86.2
2016-03-05 19:24:07 +00:00
tv
62c29a96be exim: 4.86 -> 4.86.2 2016-03-05 14:45:10 +01:00
aszlig
0cb416f51d chromium/updater: Fix eval error on stdenv.is32bit
There is no stdenv.is32bit, so let's just use !stdenv.is64bit.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit c3d82f0fbf)
2016-03-05 03:16:52 +01:00
aszlig
181986627e chromium/updater: Fix getting latest versions
Comparing the current version with the version in sources list and
accidentally swapping the version arguments isn't going to get very far
because every new version that will come up will then be treated as "we
already have that version".

So we're now using versionOlder and also a check whether the version is
the *same* as the one in sources.nix.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit 8d5accb691)
2016-03-05 03:03:39 +01:00
Kevin Marsh
f3ab45e5dc django: 1.8.9 -> 1.8.10 2016-03-04 16:11:14 -05:00
Kevin Marsh
1e2ec46525 django: 1.9.2 -> 1.9.3 2016-03-04 16:11:07 -05:00
Robin Gloster
3d10bc8804 ceph: fix for zip timestamps
(cherry picked from commit e2372a4183)
Signed-off-by: Robin Gloster <mail@glob.in>
2016-03-04 14:17:26 +00:00
zimbatm
f7ac2e1b2e bats: fixes installation
The build was failing with:

  /...-stdenv/setup: ./install.sh: /usr/bin/env: bad interpreter: No such file
  or directory

See https://hydra.nixos.org/build/32353411/log

(cherry picked from commit a3119bd35d)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-03 15:19:16 +00:00
Domen Kožar
c9f73f8860 Merge pull request #13630 from mbakke/dnscrypt-stable
dnscrypt-proxy: 1.6.0 -> 1.6.1
2016-03-03 14:45:18 +00:00
Thomas Tuegel
73435915ba kde5.plasma.plasma-workspace: 5.5.5.1 -> 5.5.5.2
(cherry picked from commit 6af59c9d06)
2016-03-03 05:57:34 -06:00
Marius Bakke
2d6d111a3e dnscrypt-proxy: 1.6.0 -> 1.6.1 2016-03-02 23:49:44 +00:00
Domen Kožar
89d9159353 Merge pull request #13618 from cleverca22/multimc-release
multimc: fix building under chroot
2016-03-02 17:52:53 +00:00
michael bishop
ff28655321 multimc: fix building under chroot 2016-03-02 13:51:15 -04:00
Domen Kožar
31b5d57123 Attempt to fix transient grub1 test kernel panics
Example: http://hydra.nixos.org/build/32469819/nixlog/26/raw
(cherry picked from commit ba05826707)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-02 17:32:30 +00:00
Domen Kožar
12d4f7abfb remove lvm_33, fixes #12310
(cherry picked from commit d72e93f59d)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-02 17:01:15 +00:00
Eelco Dolstra
2068621b45 openssl: 1.0.1r -> 1.0.1s, 1.0.2f -> 1.0.2g
CVE-2016-0800. Fixes #13506.

(cherry picked from commit cdbd14a1a8)
2016-03-02 10:29:59 +01:00
aszlig
468a40bd89 nixos/release: Replace a: b: a // b by mergeAttrs
No change in functionality, it just looks nicer that way.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
(cherry picked from commit a429444a75)
2016-03-02 02:22:03 +01:00
Robin Gloster
a56d33a016 qt_gstreamer1: add upstream patch to build with current gstreamer
(cherry picked from commit 995475944f)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-03-01 23:45:32 +00:00
aszlig
a49ba9c6fe Merge pull request #13585 (nixos-tests-splitup)
This splits a few NixOS tests (namely Chromium, VirtualBox and the
networking tests) into several subtests that are exposed via attributes.

The networking tests were already split up but they didn't expose an
attribute set of available tests but used a function attribute to
specify the resulting test instead.

A new function callSubTests in nixos/release.nix is now responsible for
gathering subtests, which is also used for the installer and boot tests.
The latter is now placed in a tests.boot.* namespace rather than
"polluting" the tests attribute set with its subtest.
2016-03-01 23:19:00 +01:00
Thomas Tuegel
b96e0c2c8c kde5.plasma: 5.5.4 -> 5.5.5
This minor update includes bug and security fixes, so it should be
backported to the release branch.

(cherry picked from commit 78602b6806)
2016-03-01 13:45:25 -06:00
Thomas Tuegel
adb81add90 kde5: consolidate packages into desktops/kde-5
This is an organizational change from master. It is not strictly
necessary, but backporting it to the release branch will make it
significantly easier to backport patches or updates in the future.

(cherry picked from commit 98d8e1a160)
2016-03-01 13:44:33 -06:00
Luca Bruno
5440568fea devhelp: fix build with new webkitgtk
(cherry picked from commit b2889efff2)
2016-03-01 18:58:44 +01:00
Domen Kožar
a202c8027e openspades: fix build 2016-03-01 14:32:06 +01:00
Domen Kožar
746912a9ca rethinkdb: patch for glibc 2.23 2016-03-01 14:13:53 +01:00
Carles Pagès
503bb92245 kodiPlugins.pvr-hts: 2.1.18 -> 2.2.13
(cherry picked from commit 7eb15265d3)
2016-03-01 14:03:02 +01:00
Sander van der Burg
6adae8e146 nodejs-4_x: bump to version 4.3.1
(cherry picked from commit c8e55671cd)
2016-03-01 12:31:19 +00:00
zimbatm
461ed7cc55 redmine: fix compilation with ruby 2.3
Just bumped the JSON dependency manually to the one bundled with ruby 2.3

(cherry picked from commit de8c119a4b)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-02-29 13:49:37 +00:00
Domen Kožar
d07f940046 transmission: 2.84 -> 2.90
(cherry picked from commit 756604cc08)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-02-29 13:10:42 +00:00
Eelco Dolstra
eef44f2495 patchelf: Use 0.9 release tarball
(cherry picked from commit d255a8980a)
2016-02-29 11:42:20 +01:00
Eelco Dolstra
f5351fec36 patchelf: 0.8 -> 0.9
(cherry picked from commit 424af2cd52)
2016-02-29 11:42:16 +01:00
Eelco Dolstra
4025cb9e0c netpbm: Disable parallel building
Looks like the "partlist" file is constructed in an unsound way.

http://hydra.nixos.org/build/32430147
(cherry picked from commit abd3c246a4)
2016-02-29 11:42:04 +01:00
Eelco Dolstra
dc99ce8565 Manual: rl-unstable.xml -> rl-1603.xml
(cherry picked from commit 56e68d4d5f)
2016-02-29 11:41:23 +01:00
Vladimír Čunát
6ee0b0e335 haskellPackages: fix evaluation
It seems `self` was wanted instead of `pkgs` by the author of 3844206.

(cherry picked from commit 0294fc5bbd)
Signed-off-by: Domen Kožar <domen@dev.si>
2016-02-29 10:26:05 +00:00
Domen Kožar
74f22ff827 prepare for 16.03 2016-02-28 22:30:51 +00:00
37667 changed files with 1459637 additions and 3236297 deletions

View File

@@ -1,103 +0,0 @@
# EditorConfig configuration for nixpkgs
# https://EditorConfig.org
# Top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file, utf-8 charset
[*]
end_of_line = lf
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
# see https://nixos.org/nixpkgs/manual/#chap-conventions
# Match json/lockfiles/markdown/nix/perl/python/ruby/shell/docbook files, set indent to spaces
[*.{json,lock,md,nix,pl,pm,py,rb,sh,xml}]
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
[*.{json,lock,md,nix,rb}]
indent_size = 2
# Match perl/python/shell scripts, set indent width of four
[*.{pl,pm,py,sh}]
indent_size = 4
# Match gemfiles, set indent to spaces with width of two
[Gemfile]
indent_size = 2
indent_style = space
# 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
[nixos/modules/services/networking/ircd-hybrid/*.{conf,in}]
trim_trailing_whitespace = unset
[pkgs/build-support/dotnetenv/Wrapper/**]
end_of_line = unset
indent_style = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
[pkgs/development/compilers/elm/registry.dat]
end_of_line = unset
insert_final_newline = unset
[pkgs/development/haskell-modules/hackage-packages.nix]
indent_style = unset
trim_trailing_whitespace = unset
[pkgs/servers/dict/wordnet_structures.py]
trim_trailing_whitespace = unset
[pkgs/tools/misc/timidity/timidity.cfg]
trim_trailing_whitespace = unset
[pkgs/tools/virtualization/ovftool/*.ova]
end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
charset = unset

View File

@@ -1,41 +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.
# 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

17
.gitattributes vendored
View File

@@ -1,17 +0,0 @@
**/deps.nix linguist-generated
**/deps.json 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

311
.github/CODEOWNERS vendored
View File

@@ -1,311 +0,0 @@
# 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.
#
# IMPORTANT NOTE: in order to actually get pinged, commit access is required.
# This also holds true for GitHub teams. Since almost none of our teams have write
# permissions, you need to list all members of the team with commit access individually.
# This file
/.github/CODEOWNERS @edolstra
# GitHub actions
/.github/workflows @NixOS/Security @Mic92 @zowoq
/.github/workflows/merge-staging @FRidh
# EditorConfig
/.editorconfig @Mic92 @zowoq
# Libraries
/lib @edolstra @nbp @infinisil
/lib/systems @alyssais @nbp @ericson2314 @matthewbauer
/lib/generators.nix @edolstra @nbp @Profpatsch
/lib/cli.nix @edolstra @nbp @Profpatsch
/lib/debug.nix @edolstra @nbp @Profpatsch
/lib/asserts.nix @edolstra @nbp @Profpatsch
/lib/path.* @infinisil @fricklerhandwerk
# Nixpkgs Internals
/default.nix @nbp
/pkgs/top-level/default.nix @nbp @Ericson2314
/pkgs/top-level/impure.nix @nbp @Ericson2314
/pkgs/top-level/stage.nix @nbp @Ericson2314 @matthewbauer
/pkgs/top-level/splice.nix @Ericson2314 @matthewbauer
/pkgs/top-level/release-cross.nix @Ericson2314 @matthewbauer
/pkgs/stdenv/generic @Ericson2314 @matthewbauer
/pkgs/stdenv/generic/check-meta.nix @Ericson2314 @matthewbauer @piegamesde
/pkgs/stdenv/cross @Ericson2314 @matthewbauer
/pkgs/build-support/cc-wrapper @Ericson2314
/pkgs/build-support/bintools-wrapper @Ericson2314
/pkgs/build-support/setup-hooks @Ericson2314
/pkgs/build-support/setup-hooks/auto-patchelf.sh @layus
/pkgs/build-support/setup-hooks/auto-patchelf.py @layus
# Nixpkgs build-support
/pkgs/build-support/writers @lassulus @Profpatsch
# Nixpkgs make-disk-image
/doc/builders/images/makediskimage.section.md @raitobezarius
/nixos/lib/make-disk-image.nix @raitobezarius
# Nixpkgs documentation
/maintainers/scripts/db-to-md.sh @jtojnar @ryantm
/maintainers/scripts/doc @jtojnar @ryantm
/doc/* @fricklerhandwerk
/doc/build-aux/pandoc-filters @jtojnar
/doc/builders/trivial-builders.chapter.md @fricklerhandwerk
/doc/contributing/ @fricklerhandwerk
/doc/contributing/contributing-to-documentation.chapter.md @jtojnar @fricklerhandwerk
/doc/stdenv @fricklerhandwerk
/doc/using @fricklerhandwerk
# NixOS Internals
/nixos/default.nix @nbp @infinisil
/nixos/lib/from-env.nix @nbp @infinisil
/nixos/lib/eval-config.nix @nbp @infinisil
/nixos/doc/manual/configuration/abstractions.xml @nbp
/nixos/doc/manual/configuration/config-file.xml @nbp
/nixos/doc/manual/configuration/config-syntax.xml @nbp
/nixos/doc/manual/configuration/modularity.xml @nbp
/nixos/doc/manual/development/assertions.xml @nbp
/nixos/doc/manual/development/meta-attributes.xml @nbp
/nixos/doc/manual/development/option-declarations.xml @nbp
/nixos/doc/manual/development/option-def.xml @nbp
/nixos/doc/manual/development/option-types.xml @nbp
/nixos/doc/manual/development/replace-modules.xml @nbp
/nixos/doc/manual/development/writing-modules.xml @nbp
/nixos/doc/manual/man-nixos-option.xml @nbp
/nixos/modules/installer/tools/nixos-option.sh @nbp
/nixos/modules/system @dasJ
/nixos/modules/system/activation/bootspec.nix @grahamc @cole-h @raitobezarius
/nixos/modules/system/activation/bootspec.cue @grahamc @cole-h @raitobezarius
# NixOS integration test driver
/nixos/lib/test-driver @tfc
# 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
# Updaters
## update.nix
/maintainers/scripts/update.nix @jtojnar
/maintainers/scripts/update.py @jtojnar
## common-updater-scripts
/pkgs/common-updater/scripts/update-source-version @jtojnar
# Python-related code and docs
/maintainers/scripts/update-python-libraries @FRidh
/pkgs/development/interpreters/python @FRidh
/doc/languages-frameworks/python.section.md @FRidh @mweinelt
/pkgs/development/tools/poetry2nix @adisbladis
/pkgs/development/interpreters/python/hooks @FRidh @jonringer
# Haskell
/doc/languages-frameworks/haskell.section.md @cdepillabout @sternenseemann @maralorn
/maintainers/scripts/haskell @cdepillabout @sternenseemann @maralorn
/pkgs/development/compilers/ghc @cdepillabout @sternenseemann @maralorn
/pkgs/development/haskell-modules @cdepillabout @sternenseemann @maralorn
/pkgs/test/haskell @cdepillabout @sternenseemann @maralorn
/pkgs/top-level/release-haskell.nix @cdepillabout @sternenseemann @maralorn
/pkgs/top-level/haskell-packages.nix @cdepillabout @sternenseemann @maralorn
# Perl
/pkgs/development/interpreters/perl @stigtsp @zakame @dasJ
/pkgs/top-level/perl-packages.nix @stigtsp @zakame @dasJ
/pkgs/development/perl-modules @stigtsp @zakame @dasJ
# R
/pkgs/applications/science/math/R @jbedo
/pkgs/development/r-modules @jbedo
# Ruby
/pkgs/development/interpreters/ruby @marsam
/pkgs/development/ruby-modules @marsam
# Rust
/pkgs/development/compilers/rust @Mic92 @LnL7 @zowoq @winterqt @figsoda
/pkgs/build-support/rust @zowoq @winterqt @figsoda
/doc/languages-frameworks/rust.section.md @zowoq @winterqt @figsoda
# C compilers
/pkgs/development/compilers/gcc @matthewbauer
/pkgs/development/compilers/llvm @matthewbauer
# Compatibility stuff
/pkgs/top-level/unix-tools.nix @matthewbauer
/pkgs/development/tools/xcbuild @matthewbauer
# Audio
/nixos/modules/services/audio/botamusique.nix @mweinelt
/nixos/modules/services/audio/snapserver.nix @mweinelt
/nixos/tests/modules/services/audio/botamusique.nix @mweinelt
/nixos/tests/snapcast.nix @mweinelt
# Browsers
/pkgs/applications/networking/browsers/firefox @mweinelt
# Certificate Authorities
pkgs/data/misc/cacert/ @ajs124 @lukegb @mweinelt
pkgs/development/libraries/nss/ @ajs124 @lukegb @mweinelt
pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
# Jetbrains
/pkgs/applications/editors/jetbrains @edwtjo
# Licenses
/lib/licenses.nix @alyssais
# Qt / KDE
/pkgs/applications/kde @ttuegel
/pkgs/desktops/plasma-5 @ttuegel
/pkgs/development/libraries/kde-frameworks @ttuegel
/pkgs/development/libraries/qt-5 @ttuegel
# PostgreSQL and related stuff
/pkgs/servers/sql/postgresql @thoughtpolice @marsam
/nixos/modules/services/databases/postgresql.xml @thoughtpolice
/nixos/modules/services/databases/postgresql.nix @thoughtpolice
/nixos/tests/postgresql.nix @thoughtpolice
# Hardened profile & related modules
/nixos/modules/profiles/hardened.nix @joachifm
/nixos/modules/security/hidepid.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-config.nix @joachifm
# Home Automation
/nixos/modules/services/misc/home-assistant.nix @mweinelt
/nixos/modules/services/misc/zigbee2mqtt.nix @mweinelt
/nixos/tests/home-assistant.nix @mweinelt
/nixos/tests/zigbee2mqtt.nix @mweinelt
/pkgs/servers/home-assistant @mweinelt
/pkgs/tools/misc/esphome @mweinelt
# Network Time Daemons
/pkgs/tools/networking/chrony @thoughtpolice
/pkgs/tools/networking/ntp @thoughtpolice
/pkgs/tools/networking/openntpd @thoughtpolice
/nixos/modules/services/networking/ntp @thoughtpolice
# Network
/pkgs/tools/networking/kea/default.nix @mweinelt
/pkgs/tools/networking/babeld/default.nix @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
# Dhall
/pkgs/development/dhall-modules @Gabriella439 @Profpatsch @ehmry
/pkgs/development/interpreters/dhall @Gabriella439 @Profpatsch @ehmry
# Idris
/pkgs/development/idris-modules @Infinisil
# 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 @adisbladis
/pkgs/applications/editors/emacs @adisbladis
/pkgs/top-level/emacs-packages.nix @adisbladis
# Neovim
/pkgs/applications/editors/neovim @figsoda @jonringer @teto
# VimPlugins
/pkgs/applications/editors/vim/plugins @figsoda @jonringer
# VsCode Extensions
/pkgs/applications/editors/vscode/extensions @jonringer
# Prometheus exporter modules and tests
/nixos/modules/services/monitoring/prometheus/exporters.nix @WilliButz
/nixos/modules/services/monitoring/prometheus/exporters.xml @WilliButz
/nixos/tests/prometheus-exporters.nix @WilliButz
# PHP interpreter, packages, extensions, tests and documentation
/doc/languages-frameworks/php.section.md @aanderse @etu @globin @ma27 @talyz
/nixos/tests/php @aanderse @etu @globin @ma27 @talyz
/pkgs/build-support/build-pecl.nix @aanderse @etu @globin @ma27 @talyz
/pkgs/development/interpreters/php @jtojnar @aanderse @etu @globin @ma27 @talyz
/pkgs/development/php-packages @aanderse @etu @globin @ma27 @talyz
/pkgs/top-level/php-packages.nix @jtojnar @aanderse @etu @globin @ma27 @talyz
# Podman, CRI-O modules and related
/nixos/modules/virtualisation/containers.nix @zowoq @adisbladis
/nixos/modules/virtualisation/cri-o.nix @zowoq @adisbladis
/nixos/modules/virtualisation/podman @zowoq @adisbladis
/nixos/tests/cri-o.nix @zowoq @adisbladis
/nixos/tests/podman @zowoq @adisbladis
# Docker tools
/pkgs/build-support/docker @roberth
/nixos/tests/docker-tools* @roberth
/doc/builders/images/dockertools.section.md @roberth
# Blockchains
/pkgs/applications/blockchains @mmahut @RaghavSood
# Go
/doc/languages-frameworks/go.section.md @kalbasit @Mic92 @zowoq
/pkgs/build-support/go @kalbasit @Mic92 @zowoq
/pkgs/development/compilers/go @kalbasit @Mic92 @zowoq
# GNOME
/pkgs/desktops/gnome @jtojnar
/pkgs/desktops/gnome/extensions @piegamesde @jtojnar
/pkgs/build-support/make-hardcode-gsettings-patch @jtojnar
# Cinnamon
/pkgs/desktops/cinnamon @mkg20001
# nim
/pkgs/development/compilers/nim @ehmry
/pkgs/development/nim-packages @ehmry
/pkgs/top-level/nim-packages.nix @ehmry
# terraform providers
/pkgs/applications/networking/cluster/terraform-providers @zowoq
# kubernetes
/nixos/doc/manual/configuration/kubernetes.chapter.md @zowoq
/nixos/modules/services/cluster/kubernetes @zowoq
/nixos/tests/kubernetes @zowoq
/pkgs/applications/networking/cluster/kubernetes @zowoq
# Matrix
/pkgs/servers/heisenbridge @piegamesde
/pkgs/servers/matrix-conduit @piegamesde
/nixos/modules/services/misc/heisenbridge.nix @piegamesde
/nixos/modules/services/misc/matrix-conduit.nix @piegamesde
/nixos/tests/matrix-conduit.nix @piegamesde
# Dotnet
/pkgs/build-support/dotnet @IvarWithoutBones
/pkgs/development/compilers/dotnet @IvarWithoutBones
# 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

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

@@ -0,0 +1,15 @@
# 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
See the nixpkgs manual for details on how to [Submit changes to nixpkgs](http://hydra.nixos.org/job/nixpkgs/trunk/manual/latest/download-by-type/doc/manual#chap-submitting-changes).

View File

@@ -1,11 +1,17 @@
## Issue description
## Basic info
To make sure that we are on the same page:
* Kernel: (run `uname -a`)
* 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`)
## Describe your issue here
### Expected result
### Actual result
### Steps to reproduce
## Technical details
Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.

View File

@@ -1,41 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: '0.kind: bug'
assignees: ''
---
### Describe the bug
A clear and concise description of what the bug is.
### Steps To Reproduce
Steps to reproduce the behavior:
1. ...
2. ...
3. ...
### Expected behavior
A clear and concise description of what you expected to happen.
### Screenshots
If applicable, add screenshots to help explain your problem.
### Additional context
Add any other context about the problem here.
### Notify maintainers
<!--
Please @ people who are in the `meta.maintainers` list of the offending package or module.
If in doubt, check `git blame` for whoever last touched something.
-->
### Metadata
Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.
```console
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
output here
```

View File

@@ -1,39 +0,0 @@
---
name: Build failure
about: Create a report to help us improve
title: 'Build failure: PACKAGENAME'
labels: '0.kind: build failure'
assignees: ''
---
### Steps To Reproduce
Steps to reproduce the behavior:
1. build *X*
### Build log
```
log here if short otherwise a link to a gist
```
### Additional context
Add any other context about the problem here.
### Notify maintainers
<!--
Please @ people who are in the `meta.maintainers` list of the offending package or module.
If in doubt, check `git blame` for whoever last touched something.
-->
### Metadata
Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.
```console
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
output here
```

View File

@@ -1,32 +0,0 @@
---
name: Missing or incorrect documentation
about: Help us improve the Nixpkgs and NixOS reference manuals
title: 'Documentation: '
labels: '9.needs: documentation'
assignees: ''
---
## Problem
<!-- describe your problem -->
## Proposal
<!-- propose a solution (optional) -->
## Checklist
<!-- make sure this issue is not redundant or obsolete -->
- [ ] checked [latest Nixpkgs manual] \([source][nixpkgs-source]) and [latest NixOS manual] \([source][nixos-source])
- [ ] checked [open documentation issues] for possible duplicates
- [ ] checked [open documentation pull requests] for possible solutions
[latest Nixpkgs manual]: https://nixos.org/manual/nixpkgs/unstable/
[latest NixOS manual]: https://nixos.org/manual/nixos/unstable/
[nixpkgs-source]: https://github.com/NixOS/nixpkgs/tree/master/doc
[nixos-source]: https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual
[open documentation issues]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+label%3A%229.needs%3A+documentation%22
[open documentation pull requests]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+is%3Apr+label%3A%228.has%3A+documentation%22%2C%226.topic%3A+documentation%22

View File

@@ -1,28 +0,0 @@
---
name: Out-of-date package reports
about: For packages that are out-of-date
title: 'Update request: PACKAGENAME OLDVERSION → NEWVERSION'
labels: '9.needs: package (update)'
assignees: ''
---
- Package name:
- Latest released version:
<!-- Search your package here: https://search.nixos.org/packages?channel=unstable -->
- Current version on the unstable channel:
- Current version on the stable/release channel:
<!--
Type the name of your package and try to find an open pull request for the package
If you find an open pull request, you can review it!
There's a high chance that you'll have the new version right away while helping the community!
-->
- [ ] Checked the [nixpkgs pull requests](https://github.com/NixOS/nixpkgs/pulls)
**Notify maintainers**
<!-- If the search.nixos.org result shows no maintainers, tag the person that last updated the package. -->
-----
Note for maintainers: Please tag this issue in your PR.

View File

@@ -1,19 +0,0 @@
---
name: Packaging requests
about: For packages that are missing
title: 'Package request: PACKAGENAME'
labels: '0.kind: packaging request'
assignees: ''
---
**Project description**
<!-- Describe the project a little: -->
**Metadata**
* homepage URL:
* source URL:
* license: mit, bsd, gpl2+ , ...
* platforms: unix, linux, darwin, ...

View File

@@ -1,31 +0,0 @@
---
name: Unreproducible package
about: A package that does not produce a bit-by-bit reproducible result each time it is built
title: ''
labels: [ '0.kind: enhancement', '6.topic: reproducible builds' ]
assignees: ''
---
Building this package twice does not produce the bit-by-bit identical result each time, making it harder to detect CI breaches. You can read more about this at 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.
### Steps To Reproduce
```
nix-build '<nixpkgs>' -A ... --check --keep-failed
```
You can use `diffoscope` to analyze the differences in the output of the two builds.
To view the build log of the build that produced the artifact in the binary cache:
```
nix-store --read-log $(nix-instantiate '<nixpkgs>' -A ...)
```
### Additional context
(please share the relevant fragment of the diffoscope output here,
and any additional analysis you may have done)

View File

@@ -1,40 +1,18 @@
###### Description of changes
###### Things done:
<!--
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.
-->
- [ ] Tested using sandboxing (`nix-build --option build-use-chroot true` or [nix.useChroot](http://nixos.org/nixos/manual/options.html#opt-nix.useChroot) on NixOS)
- [ ] Built on platform(s): NixOS / OSX / Linux
- [ ] 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).
###### Things done
###### More
<!-- Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers. -->
Fixes issue #<insert id>
- Built on platform(s)
- [ ] x86_64-linux
- [ ] aarch64-linux
- [ ] x86_64-darwin
- [ ] aarch64-darwin
- [ ] For non-Linux: Is `sandbox = true` set in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/command-ref/conf-file.html))
- [ ] Tested, as applicable:
- [NixOS test(s)](https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests) (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests))
- and/or [package tests](https://nixos.org/manual/nixpkgs/unstable/#sec-package-tests)
- or, for functions and "core" functionality, tests in [lib/tests](https://github.com/NixOS/nixpkgs/blob/master/lib/tests) or [pkgs/test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/test)
- made sure NixOS tests are [linked](https://nixos.org/manual/nixpkgs/unstable/#ssec-nixos-tests-linking) to the relevant packages
- [ ] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"`. Note: all changes have to be committed, also see [nixpkgs-review usage](https://github.com/Mic92/nixpkgs-review#usage)
- [ ] Tested basic functionality of all binary files (usually in `./result/bin/`)
- [23.05 Release Notes (or backporting 22.11 Release notes)](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#generating-2305-release-notes)
- [ ] (Package updates) Added a release notes entry if the change is major or breaking
- [ ] (Module updates) Added a release notes entry if the change is significant
- [ ] (Module addition) Added a release notes entry if adding a new NixOS module
- [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).
cc @<maintainer>
<!--
To help with the large amounts of pull requests, we would appreciate your
reviews of other pull requests, especially simple package updates. Just leave a
comment describing what you have tested in the relevant package/service.
Reviewing helps to reduce the average time-to-merge for everyone.
Thanks a lot if you do!
List of open PRs: https://github.com/NixOS/nixpkgs/pulls
Reviewing guidelines: https://nixos.org/manual/nixpkgs/unstable/#chap-reviewing-contributions
-->
---
_Please note, that points are not mandatory, but rather desired._

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,6 +0,0 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"

181
.github/labeler.yml vendored
View File

@@ -1,181 +0,0 @@
"6.topic: agda":
- 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":
- pkgs/desktops/cinnamon/**/*
- nixos/modules/services/x11/desktop-managers/cinnamon.nix
- nixos/tests/cinnamon.nix
"6.topic: emacs":
- nixos/modules/services/editors/emacs.nix
- nixos/modules/services/editors/emacs.xml
- nixos/tests/emacs-daemon.nix
- pkgs/applications/editors/emacs/elisp-packages/**/*
- pkgs/applications/editors/emacs/**/*
- pkgs/build-support/emacs/**/*
- pkgs/top-level/emacs-packages.nix
"6.topic: Enlightenment DE":
- nixos/modules/services/x11/desktop-managers/enlightenment.nix
- pkgs/desktops/enlightenment/**/*
- pkgs/development/python-modules/python-efl/*
"6.topic: erlang":
- 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":
- pkgs/build-support/fetch*/**/*
"6.topic: GNOME":
- doc/languages-frameworks/gnome.section.md
- nixos/modules/services/desktops/gnome/**/*
- nixos/modules/services/x11/desktop-managers/gnome.nix
- nixos/tests/gnome-xorg.nix
- nixos/tests/gnome.nix
- pkgs/desktops/gnome/**/*
"6.topic: golang":
- doc/languages-frameworks/go.section.md
- pkgs/build-support/go/**/*
- pkgs/development/compilers/go/**/*
"6.topic: haskell":
- 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: kernel":
- pkgs/build-support/kernel/**/*
- pkgs/os-specific/linux/kernel/**/*
"6.topic: lua":
- pkgs/development/interpreters/lua-5/**/*
- pkgs/development/interpreters/luajit/**/*
- pkgs/development/lua-modules/**/*
- pkgs/top-level/lua-packages.nix
"6.topic: Lumina DE":
- nixos/modules/services/x11/desktop-managers/lumina.nix
- pkgs/desktops/lumina/**/*
"6.topic: LXQt":
- nixos/modules/services/x11/desktop-managers/lxqt.nix
- pkgs/desktops/lxqt/**/*
"6.topic: mate":
- nixos/modules/services/x11/desktop-managers/mate.nix
- nixos/tests/mate.nix
- pkgs/desktops/mate/**/*
"6.topic: nixos":
- nixos/**/*
- pkgs/os-specific/linux/nixos-rebuild/**/*
"6.topic: nim":
- doc/languages-frameworks/nim.section.md
- pkgs/development/compilers/nim/*
- pkgs/development/nim-packages/**/*
- pkgs/top-level/nim-packages.nix
"6.topic: ocaml":
- 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":
- 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: policy discussion":
- .github/**/*
"6.topic: printing":
- nixos/modules/services/printing/cupsd.nix
- pkgs/misc/cups/**/*
"6.topic: python":
- doc/languages-frameworks/python.section.md
- pkgs/development/interpreters/python/**/*
- pkgs/development/python-modules/**/*
- pkgs/top-level/python-packages.nix
"6.topic: qt/kde":
- 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: ruby":
- doc/languages-frameworks/ruby.section.md
- pkgs/development/interpreters/ruby/**/*
- pkgs/development/ruby-modules/**/*
"6.topic: rust":
- doc/languages-frameworks/rust.section.md
- pkgs/build-support/rust/**/*
- pkgs/development/compilers/rust/**/*
"6.topic: stdenv":
- pkgs/stdenv/**/*
"6.topic: steam":
- pkgs/games/steam/**/*
"6.topic: systemd":
- pkgs/os-specific/linux/systemd/**/*
- nixos/modules/system/boot/systemd*/**/*
"6.topic: TeX":
- doc/languages-frameworks/texlive.section.md
- pkgs/tools/typesetting/tex/**/*
"6.topic: vim":
- 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":
- pkgs/applications/editors/vscode/**/*
"6.topic: xfce":
- nixos/doc/manual/configuration/xfce.xml
- nixos/modules/services/x11/desktop-managers/xfce.nix
- nixos/tests/xfce.nix
- pkgs/desktops/xfce/**/*
"8.has: changelog":
- nixos/doc/manual/release-notes/**/*
"8.has: documentation":
- doc/**/*
- nixos/doc/**/*
"8.has: module (update)":
- nixos/modules/**/*

9
.github/stale.yml vendored
View File

@@ -1,9 +0,0 @@
# Configuration for probot-stale - https://github.com/probot/stale
daysUntilStale: 180
daysUntilClose: false
exemptLabels:
- "1.severity: security"
- "2.status: never-stale"
staleLabel: "2.status: stale"
markComment: false
closeComment: false

View File

@@ -1,34 +0,0 @@
name: Backport
on:
pull_request_target:
types: [closed, labeled]
# 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.
permissions:
contents: read
jobs:
backport:
permissions:
contents: write # for korthout/backport-action to create branch
pull-requests: write # for korthout/backport-action to create PR to backport
name: Backport Pull Request
if: github.repository_owner == 'NixOS' && github.event.pull_request.merged == true && (github.event_name != 'labeled' || startsWith('backport', github.event.label.name))
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Create backport PRs
uses: korthout/backport-action@v1.2.0
with:
# Config README: https://github.com/korthout/backport-action#backport-action
pull_description: |-
Bot-based backport to `${target_branch}`, triggered by a label in #${pull_number}.
* [ ] Before merging, ensure that this backport complies with the [Criteria for Backporting](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#criteria-for-backporting-changes).
* Even as a non-commiter, if you find that it does not comply, leave a comment.

View File

@@ -1,29 +0,0 @@
name: Basic evaluation checks
on:
workflow_dispatch
# pull_request:
# branches:
# - master
# - release-**
# push:
# branches:
# - master
# - release-**
permissions:
contents: read
jobs:
tests:
runs-on: ubuntu-latest
# we don't limit this action to only NixOS repo since the checks are cheap and useful developer feedback
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v20
- uses: cachix/cachix-action@v12
with:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
name: nixpkgs-ci
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
# explicit list of supportedSystems is needed until aarch64-darwin becomes part of the trunk jobset
- run: nix-build pkgs/top-level/release.nix -A tarball.nixpkgs-basic-release-checks --arg supportedSystems '[ "aarch64-darwin" "aarch64-linux" "x86_64-linux" "x86_64-darwin" ]'

View File

@@ -1,21 +0,0 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p html-tidy
set -euo pipefail
shopt -s inherit_errexit
normalize() {
tidy \
--anchor-as-name no \
--coerce-endtags no \
--escape-scripts no \
--fix-backslash no \
--fix-style-tags no \
--fix-uri no \
--indent yes \
--wrap 0 \
< "$1" \
2> /dev/null
}
diff -U3 <(normalize "$1") <(normalize "$2")

View File

@@ -1,37 +0,0 @@
name: "Direct Push Warning"
on:
push:
branches:
- master
- release-**
permissions:
contents: read
jobs:
build:
permissions:
contents: write # for peter-evans/commit-comment to comment on commit
runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS'
env:
GITHUB_SHA: ${{ github.sha }}
GITHUB_REPOSITORY: ${{ github.repository }}
steps:
- name: Check if commit is a merge commit
id: ismerge
run: |
ISMERGE=$(curl -H 'Accept: application/vnd.github.groot-preview+json' -H "authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" https://api.github.com/repos/${{ env.GITHUB_REPOSITORY }}/commits/${{ env.GITHUB_SHA }}/pulls | jq -r '.[] | select(.merge_commit_sha == "${{ env.GITHUB_SHA }}") | any')
echo "ismerge=$ISMERGE" >> $GITHUB_OUTPUT
# github events are eventually consistent, so wait until changes propagate to thier DB
- run: sleep 60
if: steps.ismerge.outputs.ismerge != 'true'
- name: Warn if the commit was a direct push
if: steps.ismerge.outputs.ismerge != 'true'
uses: peter-evans/commit-comment@v2
with:
body: |
@${{ github.actor }}, you pushed a commit directly to master/release branch
instead of going through a Pull Request.
That's highly discouraged beyond the few exceptions listed
on https://github.com/NixOS/nixpkgs/issues/118661

View File

@@ -1,41 +0,0 @@
name: "Checking EditorConfig"
permissions: read-all
on:
# avoids approving first time contributors
pull_request_target:
branches-ignore:
- 'release-**'
jobs:
tests:
runs-on: ubuntu-latest
if: "github.repository_owner == 'NixOS' && !contains(github.event.pull_request.title, '[skip treewide]')"
steps:
- name: Get list of changed files from PR
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh api \
repos/NixOS/nixpkgs/pulls/${{github.event.number}}/files --paginate \
| jq '.[] | select(.status != "removed") | .filename' \
> "$HOME/changed_files"
- name: print list of changed files
run: |
cat "$HOME/changed_files"
- uses: actions/checkout@v3
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@v20
with:
# nixpkgs commit is pinned so that it doesn't break
# editorconfig-checker 2.4.0
nix_path: nixpkgs=https://github.com/NixOS/nixpkgs/archive/c473cc8714710179df205b153f4e9fa007107ff9.tar.gz
- name: Checking EditorConfig
run: |
cat "$HOME/changed_files" | nix-shell -p editorconfig-checker --run 'xargs -r editorconfig-checker -disable-indent-size'
- if: ${{ failure() }}
run: |
echo "::error :: Hey! It looks like your changes don't follow our editorconfig settings. Read https://editorconfig.org/#download to configure your editor so you never see this error again."

View File

@@ -1,24 +0,0 @@
name: "Label PR"
on:
pull_request_target:
types: [edited, opened, synchronize, reopened]
# 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.
permissions:
contents: read
pull-requests: write
jobs:
labels:
runs-on: ubuntu-latest
if: "github.repository_owner == 'NixOS' && !contains(github.event.pull_request.title, '[skip treewide]')"
steps:
- uses: actions/labeler@v4
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
sync-labels: true

View File

@@ -1,39 +0,0 @@
name: "Build NixOS manual"
permissions: read-all
on:
pull_request_target:
branches:
- master
paths:
- 'nixos/**'
jobs:
nixos:
runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS'
steps:
- uses: actions/checkout@v3
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@v20
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true
- uses: cachix/cachix-action@v12
with:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
name: nixpkgs-ci
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
- name: Building NixOS manual with DocBook options
run: NIX_PATH=nixpkgs=$(pwd) nix-build --option restrict-eval true nixos/release.nix -A manual.x86_64-linux
- name: Building NixOS manual with Markdown options
run: |
export NIX_PATH=nixpkgs=$(pwd)
nix-build \
--option restrict-eval true \
--arg configuration '{ documentation.nixos.options.allowDocBook = false; }' \
nixos/release.nix \
-A manual.x86_64-linux

View File

@@ -1,31 +0,0 @@
name: "Build Nixpkgs manual"
permissions: read-all
on:
pull_request_target:
branches:
- master
paths:
- 'doc/**'
jobs:
nixpkgs:
runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS'
steps:
- uses: actions/checkout@v3
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@v20
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true
- uses: cachix/cachix-action@v12
with:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
name: nixpkgs-ci
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
- name: Building Nixpkgs manual
run: NIX_PATH=nixpkgs=$(pwd) nix-build --option restrict-eval true pkgs/top-level/release.nix -A manual

View File

@@ -1,64 +0,0 @@
name: "Check NixOS Manual DocBook rendering against MD rendering"
on:
schedule:
# * is a special character in YAML so you have to quote this string
# Check every 24 hours
- cron: '0 0 * * *'
permissions:
contents: read
jobs:
check-rendering-equivalence:
permissions:
pull-requests: write # for peter-evans/create-or-update-comment to create or update comment
if: github.repository_owner == 'NixOS'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v20
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true
- uses: cachix/cachix-action@v12
with:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
name: nixpkgs-ci
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
- name: Build DocBook and MD manuals
run: |
export NIX_PATH=nixpkgs=$(pwd)
nix-build \
--option restrict-eval true \
-o docbook nixos/release.nix \
-A manual.x86_64-linux
nix-build \
--option restrict-eval true \
--arg configuration '{ documentation.nixos.options.allowDocBook = false; }' \
-o md nixos/release.nix \
-A manual.x86_64-linux
- name: Compare DocBook and MD manuals
id: check
run: |
export NIX_PATH=nixpkgs=$(pwd)
.github/workflows/compare-manuals.sh \
docbook/share/doc/nixos/options.html \
md/share/doc/nixos/options.html
# if the manual can't be built we don't want to notify anyone.
# while this may temporarily hide rendering failures it will be a lot
# less noisy until all nixpkgs pull requests have stopped using
# docbook for option docs.
- name: Comment on failure
uses: peter-evans/create-or-update-comment@v2
if: ${{ failure() && steps.check.conclusion == 'failure' }}
with:
issue-number: 189318
body: |
Markdown and DocBook manuals do not agree.
Check https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }} for details.

View File

@@ -1,26 +0,0 @@
name: "No channel PR"
on:
pull_request:
branches:
- 'nixos-**'
- 'nixpkgs-**'
permissions:
contents: read
jobs:
fail:
permissions:
contents: none
name: "This PR is is targeting a channel branch"
runs-on: ubuntu-latest
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

View File

@@ -1,33 +0,0 @@
name: "Set pending OfBorg status"
on:
pull_request_target:
# Sets the ofborg-eval status to "pending" to signal that we are waiting for
# OfBorg even if it is running late. The status will be overwritten by OfBorg
# once it starts evaluation.
# WARNING:
# When extending this action, be aware that $GITHUB_TOKEN allows (restricted) write access to
# the GitHub repository. This means that it should not evaluate user input in a
# way that allows code injection.
permissions:
contents: read
jobs:
action:
if: github.repository_owner == 'NixOS'
permissions:
statuses: write
runs-on: ubuntu-latest
steps:
- name: "Set pending OfBorg status"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: Bearer $GITHUB_TOKEN" \
-d '{"context": "ofborg-eval", "state": "pending", "description": "Waiting for OfBorg..."}' \
"https://api.github.com/repos/NixOS/nixpkgs/commits/${{ github.event.pull_request.head.sha }}/statuses"

View File

@@ -1,59 +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 * * *'
permissions:
contents: read
jobs:
periodic-merge:
permissions:
contents: write # for devmasx/merge-branch to merge branches
pull-requests: write # for peter-evans/create-or-update-comment to create or update comment
if: github.repository_owner == 'NixOS'
runs-on: ubuntu-latest
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: haskell-updates
- from: release-22.11
into: staging-next-22.11
- from: staging-next-22.11
into: staging-22.11
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
steps:
- uses: actions/checkout@v3
- name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
uses: devmasx/merge-branch@1.4.0
with:
type: now
from_branch: ${{ matrix.pairs.from }}
target_branch: ${{ matrix.pairs.into }}
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Comment on failure
uses: peter-evans/create-or-update-comment@v2
if: ${{ failure() }}
with:
issue-number: 105153
body: |
Periodic merge from `${{ matrix.pairs.from }}` into `${{ matrix.pairs.into }}` has [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).

View File

@@ -1,57 +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 * * *'
permissions:
contents: read
jobs:
periodic-merge:
permissions:
contents: write # for devmasx/merge-branch to merge branches
pull-requests: write # for peter-evans/create-or-update-comment to create or update comment
if: github.repository_owner == 'NixOS'
runs-on: ubuntu-latest
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
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
steps:
- uses: actions/checkout@v3
- name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
uses: devmasx/merge-branch@1.4.0
with:
type: now
from_branch: ${{ matrix.pairs.from }}
target_branch: ${{ matrix.pairs.into }}
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Comment on failure
uses: peter-evans/create-or-update-comment@v2
if: ${{ failure() }}
with:
issue-number: 105153
body: |
Periodic merge from `${{ matrix.pairs.from }}` into `${{ matrix.pairs.into }}` has [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).

View File

@@ -1,57 +0,0 @@
name: "Update terraform-providers"
on:
schedule:
- cron: "0 3 * * *"
workflow_dispatch:
permissions:
contents: read
jobs:
tf-providers:
permissions:
contents: write # for peter-evans/create-pull-request to create branch
pull-requests: write # for peter-evans/create-pull-request to create a PR, for peter-evans/create-or-update-comment to create or update comment
if: github.repository_owner == 'NixOS' && github.ref == 'refs/heads/master' # ensure workflow_dispatch only runs on master
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v20
with:
nix_path: nixpkgs=channel:nixpkgs-unstable
- name: setup
id: setup
run: |
echo "title=terraform-providers: update $(date -u +"%Y-%m-%d")" >> $GITHUB_OUTPUT
- name: update terraform-providers
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config user.name "github-actions[bot]"
echo | nix-shell \
maintainers/scripts/update.nix \
--argstr commit true \
--argstr keep-going true \
--argstr max-workers 2 \
--argstr path terraform-providers
- name: clean repo
run: |
git clean -f
- name: create PR
uses: peter-evans/create-pull-request@v4
with:
body: |
Automatic update by [update-terraform-providers](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/update-terraform-providers.yml) action.
https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}
Check that all providers build with:
```
@ofborg build terraform.full
```
branch: terraform-providers-update
delete-branch: false
title: ${{ steps.setup.outputs.title }}
token: ${{ secrets.GITHUB_TOKEN }}

21
.gitignore vendored
View File

@@ -2,32 +2,15 @@
,*
.*.swp
.*.swo
.\#*
\#*\#
.idea/
.vscode/
outputs/
result-*
result
!pkgs/development/python-modules/result
result-*
/doc/NEWS.html
/doc/NEWS.txt
/doc/manual.html
/doc/manual.pdf
/result
/source/
.version-suffix
.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
# JetBrains IDEA module declaration file
/nixpkgs.iml
/pkgs/desktops/kde-5/*/tmp/

View File

@@ -1,14 +0,0 @@
ajs124 <git@ajs124.de> <ajs124@users.noreply.github.com>
Anderson Torres <torres.anderson.85@protonmail.com>
Daniel Løvbrøtte Olsen <me@dandellion.xyz> <daniel.olsen99@gmail.com>
Fabian Affolter <mail@fabian-affolter.ch> <fabian@affolter-engineering.ch>
Janne Heß <janne@hess.ooo> <dasJ@users.noreply.github.com>
Jörg Thalheim <joerg@thalheim.io> <Mic92@users.noreply.github.com>
Martin Weinelt <hexa@darmstadt.ccc.de> <mweinelt@users.noreply.github.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>
Vladimír Čunát <v@cunat.cz> <vcunat@gmail.com>
Vladimír Čunát <v@cunat.cz> <vladimir.cunat@nic.cz>

5
.mention-bot Normal file
View File

@@ -0,0 +1,5 @@
{
"userBlacklist": [
"civodul"
]
}

7
.travis.yml Normal file
View File

@@ -0,0 +1,7 @@
language: python
python: "3.4"
sudo: required
dist: trusty
before_install: ./maintainers/scripts/travis-nox-review-pr.sh nix
install: ./maintainers/scripts/travis-nox-review-pr.sh nox
script: ./maintainers/scripts/travis-nox-review-pr.sh build

View File

@@ -1 +1 @@
23.05
16.03

View File

@@ -1,145 +0,0 @@
# 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)
* Make sure there is no open issue on the topic
* [Submit a new issue](https://github.com/NixOS/nixpkgs/issues/new/choose) by choosing the kind of topic and fill out the template
## Submitting changes
Read the ["Submitting changes"](https://nixos.org/nixpkgs/manual/#chap-submitting-changes) section of the nixpkgs manual. It explains how to write, test, and iterate on your change, and which branch to base your pull request against.
Below is a short excerpt of some points in there:
* Format the commit messages in the following way:
```
(pkg-name | nixos/<module>): (from -> to | init at version | refactor | etc)
(Motivation for change. Link to release notes. 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).
Examples:
* nginx: init at 2.0.1
* firefox: 54.0.1 -> 55.0
https://www.mozilla.org/en-US/firefox/55.0/releasenotes/
* 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 short, just one sentence.
* Be capitalized.
* Not start with the package name.
* More generally, it should not refer to the package name.
* Not end with a period (or any punctuation for that matter).
* `meta.license` must be set and fit the upstream license.
* If there is no upstream license, `meta.license` should default to `lib.licenses.unfree`.
* If in doubt, try to contact the upstream developers for clarification.
* `meta.maintainers` must be set.
See the nixpkgs manual for more details on [standard meta-attributes](https://nixos.org/nixpkgs/manual/#sec-standard-meta-attributes).
## 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/Discourse archives, pull request discussions or upstream changes, it may require a lot of work.
Package version upgrades usually allow for simpler commit messages, including attribute name, old and new version, as well as a reference to the relevant release notes/changelog. Every once in a while a package upgrade requires more extensive changes, and that subsequently warrants a more verbose message.
Pull requests should not be squash merged in order to keep complete commit messages and GPG signatures intact and must not be when the change doesn't make sense as a single commit.
This means that, when addressing review comments in order to keep the pull request in an always mergeable status, you will sometimes need to rewrite your branch's history and then force-push it with `git push --force-with-lease`.
Useful git commands that can help a lot with this are `git commit --patch --amend` and `git rebase --interactive`. For more details consult the git man pages or online resources like [git-rebase.io](https://git-rebase.io/) or [The Pro Git Book](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History).
## Rebasing between branches (i.e. from master to staging)
From time to time, changes between branches must be rebased, for example, if the
number of new rebuilds they would cause is too large for the target branch. When
rebasing, care must be taken to include only the intended changes, otherwise
many CODEOWNERS will be inadvertently requested for review. To achieve this,
rebasing should not be performed directly on the target branch, but on the merge
base between the current and target branch.
In the following example, we assume that the current branch, called `feature`,
is based on `master`, and we rebase it onto the merge base between
`master` and `staging` so that the PR can eventually be retargeted to
`staging` without causing a mess. The example uses `upstream` as the remote for `NixOS/nixpkgs.git`
while `origin` is the remote you are pushing to.
```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 change the base branch in the GitHub PR using the *Edit* button in the upper
right corner, and switch from `master` to `staging`. *After* the PR has been
retargeted it might be necessary to do a final rebase onto the target branch, to
resolve any outstanding 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
```
## Backporting changes
Follow these steps to backport a change into a release branch in compliance with the [commit policy](https://nixos.org/nixpkgs/manual/#submitting-changes-stable-release-branches).
You can add a label such as `backport release-22.11` to a PR, so that merging it will
automatically create a backport (via [a GitHub Action](.github/workflows/backport.yml)).
This also works for PR's that have already been merged, and might take a couple of minutes to trigger.
You can also create the backport manually:
1. Take note of the commits in which the change was introduced into `master` branch.
2. Check out the target _release branch_, e.g. `release-22.11`. Do not use a _channel branch_ like `nixos-22.11` or `nixpkgs-22.11-darwin`.
3. Create a branch for your change, e.g. `git checkout -b backport`.
4. When the reason to backport is not obvious from the original commit message, use `git cherry-pick -xe <original commit>` and add a reason. Otherwise use `git cherry-pick -x <original commit>`. That's fine for minor version updates that only include security and bug fixes, commits that fixes an otherwise broken package or similar. Please also ensure the commits exists 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.
5. Push to GitHub and open a backport pull request. Make sure to select the release branch (e.g. `release-22.11`) as the target branch of the pull request, and link to the pull request in which the original change was committed to `master`. The pull request title should be the commit title with the release version as prefix, e.g. `[22.11]`.
6. When the backport pull request is merged and you have the necessary privileges you can also replace the label `9.needs: port to stable` with `8.has: port to stable` on the original pull request. This way maintainers can keep track of missing backports easier.
## Criteria for Backporting changes
Anything that does not cause user or downstream dependency regressions can be backported. This includes:
- New Packages / Modules
- Security / Patch updates
- Version updates which include new functionality (but no breaking changes)
- Services which require a client to be up-to-date regardless. (E.g. `spotify`, `steam`, or `discord`)
- Security critical applications (E.g. `firefox`)
## Generating 23.05 Release Notes
<!--
note: title unchanged even though we don't need regeneration because extant
PRs will link here. definitely change the title for 23.11 though.
-->
Documentation in nixpkgs is transitioning to a markdown-centric workflow. In the past release notes required a translation step to convert from markdown to a compatible docbook document, but this is no longer necessary.
Steps for updating 23.05 Release notes:
1. Edit `nixos/doc/manual/release-notes/rl-2305.section.md` with the desired changes
2. Commit changes to `rl-2305.section.md`.
## Reviewing contributions
See the nixpkgs manual for more details on how to [Review contributions](https://nixos.org/nixpkgs/manual/#chap-reviewing-contributions).

13
COPYING
View File

@@ -1,4 +1,4 @@
Copyright (c) 2003-2023 Eelco Dolstra and the Nixpkgs/NixOS contributors
Copyright (c) 2003-2016 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.

138
README.md
View File

@@ -1,119 +1,43 @@
<p align="center">
<a href="https://nixos.org#gh-light-mode-only">
<img src="https://raw.githubusercontent.com/NixOS/nixos-homepage/master/logo/nixos-hires.png" width="500px" alt="NixOS logo"/>
</a>
<a href="https://nixos.org#gh-dark-mode-only">
<img src="https://raw.githubusercontent.com/NixOS/nixos-artwork/master/logo/nixos-white.png" width="500px" alt="NixOS logo"/>
</a>
</p>
[<img src="http://nixos.org/logo/nixos-hires.png" width="500px" alt="logo" />](https://nixos.org/nixos)
<p align="center">
<a href="https://github.com/NixOS/nixpkgs/blob/master/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)
[![Issue Stats](http://www.issuestats.com/github/nixos/nixpkgs/badge/pr?style=flat)](http://www.issuestats.com/github/nixos/nixpkgs)
[![Issue Stats](http://www.issuestats.com/github/nixos/nixpkgs/badge/issue?style=flat)](http://www.issuestats.com/github/nixos/nixpkgs)
[Nixpkgs](https://github.com/nixos/nixpkgs) is a collection of over
80,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-16.03` for the latest
release and `nixos-unstable` for the latest successful build of master:
# Community
```
% git remote update channels
% git rebase channels/nixos-16.03
```
* [Discourse Forum](https://discourse.nixos.org/)
* [Matrix Chat](https://matrix.to/#/#community:nixos.org)
* [NixOS Weekly](https://weekly.nixos.org/)
* [Community-maintained wiki](https://nixos.wiki/)
* [Community-maintained list of ways to get in touch](https://nixos.wiki/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/)
* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
* [Continuous package builds for the NixOS 22.11 release](https://hydra.nixos.org/jobset/nixos/release-22.11)
* [Continuous package builds for 16.03 release](https://hydra.nixos.org/jobset/nixos/release-16.03)
* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
* [Tests for the NixOS 22.11 release](https://hydra.nixos.org/job/nixos/release-22.11/tested#tabs-constituents)
* [Tests for 16.03 release](https://hydra.nixos.org/job/nixos/release-16.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://nixos.org/manual/nix/stable/package-management/channels.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. When pull requests are made, our tooling automation bot,
[OfBorg](https://github.com/NixOS/ofborg) will perform various checks
to help ensure expression quality.
The *Nixpkgs maintainers* are people who have assigned themselves to
maintain specific individual packages. We encourage people who care
about a package to assign themselves as a maintainer. When a pull
request is made against a package, OfBorg will notify the appropriate
maintainer(s). The *Nixpkgs committers* are people who have been given
permission to merge.
Most contributions are based on and merged into these branches:
* `master` is the main branch where all small contributions go
* `staging` is branched from master, changes that have a big impact on
Hydra builds go to this branch
* `staging-next` is branched from staging and only fixes to stabilize
and security fixes with a big impact on Hydra builds should be
contributed to this branch. This branch is merged into master when
deemed of sufficiently high quality
For more information about contributing to the project, please visit
the [contributing page](https://github.com/NixOS/nixpkgs/blob/master/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](http://lists.science.uu.nl/mailman/listinfo/nix-dev)
* [IRC - #nixos on freenode.net](irc://irc.freenode.net/#nixos)

View File

@@ -2,27 +2,8 @@ let requiredVersion = import ./lib/minver.nix; in
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 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
''
abort "This version of Nixpkgs requires Nix >= ${requiredVersion}, please upgrade! See https://nixos.org/wiki/How_to_update_when_Nix_is_too_old_to_evaluate_Nixpkgs"
else
import ./pkgs/top-level/impure.nix
import ./pkgs/top-level/all-packages.nix

10
doc/.gitignore vendored
View File

@@ -1,10 +0,0 @@
*.chapter.xml
*.section.xml
.version
functions/library/generated
functions/library/locations.xml
highlightjs
manual-full.xml
out
result
result-*

View File

@@ -1,116 +0,0 @@
MD_TARGETS=$(addsuffix .xml, $(basename $(shell find . -type f -regex '.*\.md$$' -not -name README.md)))
PANDOC ?= pandoc
pandoc_media_dir = media
# NOTE: Keep in sync with conversion script (/maintainers/scripts/db-to-md.sh).
# TODO: Remove raw-attribute when we can get rid of DocBook altogether.
pandoc_commonmark_enabled_extensions = +attributes+fenced_divs+footnotes+bracketed_spans+definition_lists+pipe_tables+raw_attribute
# Not needed:
# - docbook-reader/citerefentry-to-rst-role.lua (only relevant for DocBook → MarkDown/rST/MyST)
pandoc_flags = --extract-media=$(pandoc_media_dir) \
--lua-filter=$(PANDOC_LUA_FILTERS_DIR)/diagram-generator.lua \
--lua-filter=build-aux/pandoc-filters/myst-reader/roles.lua \
--lua-filter=$(PANDOC_LINK_MANPAGES_FILTER) \
--lua-filter=build-aux/pandoc-filters/docbook-writer/rst-roles.lua \
--lua-filter=build-aux/pandoc-filters/docbook-writer/labelless-link-is-xref.lua \
-f commonmark$(pandoc_commonmark_enabled_extensions)+smart
.PHONY: all
all: validate format out/html/index.html out/epub/manual.epub
.PHONY: debug
debug:
nix-shell --run "xmloscopy --docbook5 ./manual.xml ./manual-full.xml"
.PHONY: format
format: doc-support/result
find . -iname '*.xml' -type f | while read f; do \
echo $$f ;\
xmlformat --config-file "doc-support/result/xmlformat.conf" -i $$f ;\
done
.PHONY: fix-misc-xml
fix-misc-xml:
find . -iname '*.xml' -type f \
-exec ../nixos/doc/varlistentry-fixer.rb {} ';'
.PHONY: clean
clean:
rm -f ${MD_TARGETS} doc-support/result .version manual-full.xml functions/library/locations.xml functions/library/generated
rm -rf ./out/ ./highlightjs ./media
.PHONY: validate
validate: manual-full.xml doc-support/result
jing doc-support/result/docbook.rng manual-full.xml
out/html/index.html: doc-support/result manual-full.xml style.css highlightjs
mkdir -p out/html
xsltproc \
--nonet --xinclude \
--output $@ \
doc-support/result/xhtml.xsl \
./manual-full.xml
mkdir -p out/html/highlightjs/
cp -r highlightjs out/html/
cp -r $(pandoc_media_dir) out/html/
cp ./overrides.css out/html/
cp ./style.css out/html/style.css
mkdir -p out/html/images/callouts
cp doc-support/result/xsl/docbook/images/callouts/*.svg out/html/images/callouts/
chmod u+w -R out/html/
out/epub/manual.epub: manual-full.xml
mkdir -p out/epub/scratch
xsltproc --nonet \
--output out/epub/scratch/ \
doc-support/result/epub.xsl \
./manual-full.xml
cp -r $(pandoc_media_dir) out/epub/scratch/OEBPS
cp ./overrides.css out/epub/scratch/OEBPS
cp ./style.css out/epub/scratch/OEBPS
mkdir -p out/epub/scratch/OEBPS/images/callouts/
cp doc-support/result/xsl/docbook/images/callouts/*.svg out/epub/scratch/OEBPS/images/callouts/
echo "application/epub+zip" > mimetype
zip -0Xq "out/epub/manual.epub" mimetype
rm mimetype
cd "out/epub/scratch/" && zip -Xr9D "../manual.epub" *
rm -rf "out/epub/scratch/"
highlightjs: doc-support/result
mkdir -p highlightjs
cp -r doc-support/result/highlightjs/highlight.pack.js highlightjs/
cp -r doc-support/result/highlightjs/LICENSE highlightjs/
cp -r doc-support/result/highlightjs/mono-blue.css highlightjs/
cp -r doc-support/result/highlightjs/loader.js highlightjs/
manual-full.xml: ${MD_TARGETS} .version functions/library/locations.xml functions/library/generated *.xml **/*.xml **/**/*.xml
xmllint --nonet --xinclude --noxincludenode manual.xml --output manual-full.xml
.version: doc-support/result
ln -rfs ./doc-support/result/version .version
doc-support/result: doc-support/default.nix
(cd doc-support; nix-build)
functions/library/locations.xml: doc-support/result
ln -rfs ./doc-support/result/function-locations.xml functions/library/locations.xml
functions/library/generated: doc-support/result
ln -rfs ./doc-support/result/function-docs functions/library/generated
%.section.xml: %.section.md
$(PANDOC) $^ -t docbook \
$(pandoc_flags) \
-o $@
%.chapter.xml: %.chapter.md
$(PANDOC) $^ -t docbook \
--top-level-division=chapter \
$(pandoc_flags) \
-o $@

View File

@@ -1,12 +0,0 @@
# Nixpkgs/doc
This directory houses the sources files for the Nixpkgs manual.
You can find the [rendered documentation for Nixpkgs `unstable` on nixos.org](https://nixos.org/manual/nixpkgs/unstable/).
[Docs for Nixpkgs stable](https://nixos.org/manual/nixpkgs/stable/) are also available.
If you want to contribute to the documentation, [here's how to do it](https://nixos.org/manual/nixpkgs/unstable/#chap-contributing).
If you're only getting started with Nix, go to [nixos.org/learn](https://nixos.org/learn).

View File

@@ -1,23 +0,0 @@
--[[
Converts Code AST nodes produced by pandocs DocBook reader
from citerefentry elements into AST for corresponding role
for reStructuredText.
We use subset of MyST syntax (CommonMark with features from rST)
so lets use the rST AST for rST features.
Reference: https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-manpage
]]
function Code(elem)
elem.classes = elem.classes:map(function (x)
if x == 'citerefentry' then
elem.attributes['role'] = 'manpage'
return 'interpreted-text'
else
return x
end
end)
return elem
end

View File

@@ -1,34 +0,0 @@
--[[
Converts Link AST nodes with empty label to DocBook xref elements.
This is a temporary script to be able use cross-references conveniently
using syntax taken from MyST, while we still use docbook-xsl
for generating the documentation.
Reference: https://myst-parser.readthedocs.io/en/latest/using/syntax.html#targets-and-cross-referencing
]]
local function starts_with(start, str)
return str:sub(1, #start) == start
end
local function escape_xml_arg(arg)
amps = arg:gsub('&', '&amp;')
amps_quotes = amps:gsub('"', '&quot;')
amps_quotes_lt = amps_quotes:gsub('<', '&lt;')
return amps_quotes_lt
end
function Link(elem)
has_no_content = #elem.content == 0
targets_anchor = starts_with('#', elem.target)
has_no_attributes = elem.title == '' and elem.identifier == '' and #elem.classes == 0 and #elem.attributes == 0
if has_no_content and targets_anchor and has_no_attributes then
-- xref expects idref without the pound-sign
target_without_hash = elem.target:sub(2, #elem.target)
return pandoc.RawInline('docbook', '<xref linkend="' .. escape_xml_arg(target_without_hash) .. '" />')
end
end

View File

@@ -1,44 +0,0 @@
--[[
Converts AST for reStructuredText roles into corresponding
DocBook elements.
Currently, only a subset of roles is supported.
Reference:
List of roles:
https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html
manpage:
https://tdg.docbook.org/tdg/5.1/citerefentry.html
file:
https://tdg.docbook.org/tdg/5.1/filename.html
]]
function Code(elem)
if elem.classes:includes('interpreted-text') then
local tag = nil
local content = elem.text
if elem.attributes['role'] == 'manpage' then
tag = 'citerefentry'
local title, volnum = content:match('^(.+)%((%w+)%)$')
if title == nil then
-- No volnum in parentheses.
title = content
end
content = '<refentrytitle>' .. title .. '</refentrytitle>' .. (volnum ~= nil and ('<manvolnum>' .. volnum .. '</manvolnum>') or '')
elseif elem.attributes['role'] == 'file' then
tag = 'filename'
elseif elem.attributes['role'] == 'command' then
tag = 'command'
elseif elem.attributes['role'] == 'option' then
tag = 'option'
elseif elem.attributes['role'] == 'var' then
tag = 'varname'
elseif elem.attributes['role'] == 'env' then
tag = 'envar'
end
if tag ~= nil then
return pandoc.RawInline('docbook', '<' .. tag .. '>' .. content .. '</' .. tag .. '>')
end
end
end

View File

@@ -1,28 +0,0 @@
{ pkgs ? import ../../.. {} }:
let
inherit (pkgs) lib;
manpageURLs = builtins.fromJSON (builtins.readFile (pkgs.path + "/doc/manpage-urls.json"));
in pkgs.writeText "link-manpages.lua" ''
--[[
Adds links to known man pages that aren't already in a link.
]]
local manpage_urls = {
${lib.concatStringsSep "\n" (lib.mapAttrsToList (man: url:
" [${builtins.toJSON man}] = ${builtins.toJSON url},") manpageURLs)}
}
traverse = 'topdown'
-- Returning false as the second value aborts processing of child elements.
function Link(elem)
return elem, false
end
function Code(elem)
local is_man_role = elem.classes:includes('interpreted-text') and elem.attributes['role'] == 'manpage'
if is_man_role and manpage_urls[elem.text] ~= nil then
return pandoc.Link(elem, manpage_urls[elem.text]), false
end
end
''

View File

@@ -1,36 +0,0 @@
--[[
Replaces Str AST nodes containing {role}, followed by a Code node
by a Code node with attrs that would be produced by rST reader
from the role syntax.
This is to emulate MyST syntax in Pandoc.
(MyST is a CommonMark flavour with rST features mixed in.)
Reference: https://myst-parser.readthedocs.io/en/latest/syntax/syntax.html#roles-an-in-line-extension-point
]]
function Inlines(inlines)
for i = #inlines-1,1,-1 do
local first = inlines[i]
local second = inlines[i+1]
local correct_tags = first.tag == 'Str' and second.tag == 'Code'
if correct_tags then
-- docutils supports alphanumeric strings separated by [-._:]
-- We are slightly more liberal for simplicity.
-- Allow preceding punctuation (eg '('), otherwise '({file}`...`)'
-- does not match. Also allow anything followed by a non-breaking space
-- since pandoc emits those after certain abbreviations (e.g. e.g.).
local prefix, role = first.text:match('^(.*){([-._+:%w]+)}$')
if role ~= nil and (prefix == '' or prefix:match("^.*[%p ]$") ~= nil) then
if prefix == '' then
inlines:remove(i)
else
first.text = prefix
end
second.attributes['role'] = role
second.classes:insert('interpreted-text')
end
end
end
return inlines
end

View File

@@ -1,25 +0,0 @@
--[[
Replaces Code nodes with attrs that would be produced by rST reader
from the role syntax by a Str AST node containing {role}, followed by a Code node.
This is to emulate MyST syntax in Pandoc.
(MyST is a CommonMark flavour with rST features mixed in.)
Reference: https://myst-parser.readthedocs.io/en/latest/syntax/syntax.html#roles-an-in-line-extension-point
]]
function Code(elem)
local role = elem.attributes['role']
if elem.classes:includes('interpreted-text') and role ~= nil then
elem.classes = elem.classes:filter(function (c)
return c ~= 'interpreted-text'
end)
elem.attributes['role'] = nil
return {
pandoc.Str('{' .. role .. '}'),
elem,
}
end
end

View File

@@ -1,192 +0,0 @@
# Fetchers {#chap-pkgs-fetchers}
Building software with Nix often requires downloading source code and other files from the internet.
`nixpkgs` provides *fetchers* for different protocols and services. Fetchers are functions that simplify downloading files.
## Caveats
Fetchers create [fixed output derivations](https://nixos.org/manual/nix/stable/#fixed-output-drvs) from downloaded files.
Nix can reuse the downloaded files via the hash of the resulting derivation.
The fact that the hash belongs to the Nix derivation output and not the file itself can lead to confusion.
For example, consider the following fetcher:
```nix
fetchurl {
url = "http://www.example.org/hello-1.0.tar.gz";
hash = "sha256-lTeyxzJNQeMdu1IVdovNMtgn77jRIhSybLdMbTkf2Ww=";
};
```
A common mistake is to update a fetchers URL, or a version parameter, without updating the hash.
```nix
fetchurl {
url = "http://www.example.org/hello-1.1.tar.gz";
hash = "sha256-lTeyxzJNQeMdu1IVdovNMtgn77jRIhSybLdMbTkf2Ww=";
};
```
**This will reuse the old contents**.
Remember to invalidate the hash argument, in this case by setting the `hash` attribute to an empty string.
```nix
fetchurl {
url = "http://www.example.org/hello-1.1.tar.gz";
hash = "";
};
```
Use the resulting error message to determine the correct hash.
```
error: hash mismatch in fixed-output derivation '/path/to/my.drv':
specified: sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
got: sha256-lTeyxzJNQeMdu1IVdovNMtgn77jRIhSybLdMbTkf2Ww=
```
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.
## `fetchurl` and `fetchzip` {#fetchurl}
Two basic fetchers are `fetchurl` and `fetchzip`. Both of these have two required arguments, a URL and a hash. The hash is typically `hash`, although many more hash algorithms are supported. Nixpkgs contributors are currently recommended to use `hash`. This hash will be used by Nix to identify your source. A typical usage of `fetchurl` is provided below.
```nix
{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "hello";
src = fetchurl {
url = "http://www.example.org/hello.tar.gz";
hash = "sha256-BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=";
};
}
```
The main difference between `fetchurl` and `fetchzip` is in how they store the contents. `fetchurl` will store the unaltered contents of the URL within the Nix store. `fetchzip` on the other hand, will decompress the archive for you, making files and directories directly accessible in the future. `fetchzip` can only be used with archives. Despite the name, `fetchzip` is not limited to .zip files and can also be used with any tarball.
## `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.
- `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.
## `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`.
Additionally, the following optional arguments can be given: `fetchSubmodules = true` makes `fetchgit` also fetch the submodules of a repository. If `deepClone` is set to true, the entire repository is cloned as opposing to just creating a shallow clone. `deepClone = true` also implies `leaveDotGit = true` which means that the `.git` directory of the clone won't be removed after checkout.
If only parts of the repository are needed, `sparseCheckout` can be used. This will prevent git from fetching unnecessary blobs from server, see [git sparse-checkout](https://git-scm.com/docs/git-sparse-checkout) for more information:
```nix
{ stdenv, fetchgit }:
stdenv.mkDerivation {
name = "hello";
src = fetchgit {
url = "https://...";
sparseCheckout = [
"directory/to/be/included"
"another/directory"
];
hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
};
}
```
## `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`, and `hash`.
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. Finally, `hash` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available, but `hash` is currently preferred.
`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. The arguments expected are very similar to `fetchFromGitHub` above.
## `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:
```
requireFile {
name = "jdk-${version}_linux-x64_bin.tar.gz";
url = "https://www.oracle.com/java/technologies/javase-jdk11-downloads.html";
sha256 = "94bd34f85ee38d3ef59e5289ec7450b9443b924c55625661fffe66b03f2c8de2";
}
```
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
***
```

View File

@@ -1,15 +0,0 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="chap-images">
<title>Images</title>
<para>
This chapter describes tools for creating various types of images.
</para>
<xi:include href="images/appimagetools.section.xml" />
<xi:include href="images/dockertools.section.xml" />
<xi:include href="images/ocitools.section.xml" />
<xi:include href="images/snaptools.section.xml" />
<xi:include href="images/portableservice.section.xml" />
<xi:include href="images/makediskimage.section.xml" />
<xi:include href="images/binarycache.section.xml" />
</chapter>

View File

@@ -1,48 +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 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.
:::
## AppImage formats {#ssec-pkgs-appimageTools-formats}
There are different formats for AppImages, see [the specification](https://github.com/AppImage/AppImageSpec/blob/74ad9ca2f94bf864a4a0dac1f369dd4f00bd1c28/draft.md#image-format) for details.
- Type 1 images are ISO 9660 files that are also ELF executables.
- Type 2 images are ELF executables with an appended filesystem.
They can be told apart with `file -k`:
```ShellSession
$ file -k type1.AppImage
type1.AppImage: ELF 64-bit LSB executable, x86-64, version 1 (SYSV) ISO 9660 CD-ROM filesystem data 'AppImage' (Lepton 3.x), scale 0-0,
spot sensor temperature 0.000000, unit celsius, color scheme 0, calibration: offset 0.000000, slope 0.000000, dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, BuildID[sha1]=d629f6099d2344ad82818172add1d38c5e11bc6d, stripped\012- data
$ file -k type2.AppImage
type2.AppImage: ELF 64-bit LSB executable, x86-64, version 1 (SYSV) (Lepton 3.x), scale 232-60668, spot sensor temperature -4.187500, color scheme 15, show scale bar, calibration: offset -0.000000, slope 0.000000 (Lepton 2.x), scale 4111-45000, spot sensor temperature 412442.250000, color scheme 3, minimum point enabled, calibration: offset -75402534979642766821519867692934234112.000000, slope 5815371847733706829839455140374904832.000000, dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, BuildID[sha1]=79dcc4e55a61c293c5e19edbd8d65b202842579f, stripped\012- data
```
Note how the type 1 AppImage is described as an `ISO 9660 CD-ROM filesystem`, and the type 2 AppImage is not.
## Wrapping {#ssec-pkgs-appimageTools-wrapping}
Depending on the type of AppImage you're wrapping, you'll have to use `wrapType1` or `wrapType2`.
```nix
appimageTools.wrapType2 { # or wrapType1
name = "patchwork";
src = fetchurl {
url = "https://github.com/ssbc/patchwork/releases/download/v3.11.4/Patchwork-3.11.4-linux-x86_64.AppImage";
hash = "sha256-OqTitCeZ6xmWbqYTXp8sDrmVgTNjPZNW0hzUPW++mq4=";
};
extraPkgs = pkgs: with pkgs; [ ];
}
```
- `name` specifies the name of the resulting image.
- `src` specifies the AppImage file to extract.
- `extraPkgs` allows you to pass a function to include additional packages inside the FHS environment your AppImage is going to run in. 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.

View File

@@ -1,49 +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.
Note that 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.
## Example
The following derivation will construct a flat-file binary cache containing the closure of `hello`.
```nix
mkBinaryCache {
rootPaths = [hello];
}
```
- `rootPaths` specifies a list of root derivations. The transitive closure of these derivations' outputs will be copied into the cache.
Here's an example of building and using the cache.
Build the cache on one machine, `host1`:
```shellSession
nix-build -E 'with import <nixpkgs> {}; mkBinaryCache { rootPaths = [hello]; }'
```
```shellSession
/nix/store/cc0562q828rnjqjyfj23d5q162gb424g-binary-cache
```
Copy the resulting directory to the other machine, `host2`:
```shellSession
scp result host2:/tmp/hello-cache
```
Substitute the derivation using the flat-file binary cache on the other machine, `host2`:
```shellSession
nix-build -A hello '<nixpkgs>' \
--option require-sigs false \
--option trusted-substituters file:///tmp/hello-cache \
--option substituters file:///tmp/hello-cache
```
```shellSession
/nix/store/gl5a41azbpsadfkfmbilh9yk40dh5dl0-hello-2.12.1
```

View File

@@ -1,539 +0,0 @@
# pkgs.dockerTools {#sec-pkgs-dockerTools}
`pkgs.dockerTools` is a set of functions for creating and manipulating Docker images according to the [Docker Image Specification v1.2.0](https://github.com/moby/moby/blob/master/image/spec/v1.2.md#docker-image-specification-v120). Docker itself is not used to perform any of the operations done by these functions.
## buildImage {#ssec-pkgs-dockerTools-buildImage}
This function is analogous to the `docker build` command, in that it can be used to build a Docker-compatible repository tarball containing a single image with one or multiple layers. As such, the result is suitable for being loaded in Docker with `docker load`.
The parameters of `buildImage` with relative example values are described below:
[]{#ex-dockerTools-buildImage}
[]{#ex-dockerTools-buildImage-runAsRoot}
```nix
buildImage {
name = "redis";
tag = "latest";
fromImage = someBaseImage;
fromImageName = null;
fromImageTag = "latest";
copyToRoot = pkgs.buildEnv {
name = "image-root";
paths = [ pkgs.redis ];
pathsToLink = [ "/bin" ];
};
runAsRoot = ''
#!${pkgs.runtimeShell}
mkdir -p /data
'';
config = {
Cmd = [ "/bin/redis-server" ];
WorkingDir = "/data";
Volumes = { "/data" = { }; };
};
diskSize = 1024;
buildVMMemorySize = 512;
}
```
The above example will build a Docker image `redis/latest` from the given base image. Loading and running this image in Docker results in `redis-server` being started automatically.
- `name` specifies the name of the resulting image. This is the only required argument for `buildImage`.
- `tag` specifies the tag of the resulting image. By default it's `null`, which indicates that the nix output hash will be used as tag.
- `fromImage` is the repository tarball containing the base image. It must be a valid Docker image, such as exported by `docker save`. By default it's `null`, which can be seen as equivalent to `FROM scratch` of a `Dockerfile`.
- `fromImageName` can be used to further specify the base image within the repository, in case it contains multiple images. By default it's `null`, in which case `buildImage` will peek the first image available in the repository.
- `fromImageTag` can be used to further specify the tag of the base image within the repository, in case an image contains multiple tags. By default it's `null`, in which case `buildImage` will peek the first tag available for the base image.
- `copyToRoot` is a derivation that will be copied in the new layer of the resulting image. This can be similarly seen as `ADD contents/ /` in a `Dockerfile`. By default it's `null`.
- `runAsRoot` is a bash script that will run as root in an environment that overlays the existing layers of the base image with the new resulting layer, including the previously copied `contents` derivation. This can be similarly seen as `RUN ...` in a `Dockerfile`.
> **_NOTE:_** Using this parameter requires the `kvm` device to be available.
- `config` is used to specify the configuration of the containers that will be started off the built image in Docker. The available options are listed in the [Docker Image Specification v1.2.0](https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions).
- `architecture` is _optional_ and used to specify the image architecture, this is useful for multi-architecture builds that don't need cross compiling. If not specified it will default to `hostPlatform`.
- `diskSize` is used to specify the disk size of the VM used to build the image in megabytes. By default it's 1024 MiB.
- `buildVMMemorySize` is used to specify the memory size of the VM to build the image in megabytes. By default it's 512 MiB.
After the new layer has been created, its closure (to which `contents`, `config` and `runAsRoot` contribute) will be copied in the layer itself. Only new dependencies that are not already in the existing layers will be copied.
At the end of the process, only one new single layer will be produced and added to the resulting image.
The resulting repository will only list the single image `image/tag`. In the case of [the `buildImage` example](#ex-dockerTools-buildImage), it would be `redis/latest`.
It is possible to inspect the arguments with which an image was built using its `buildArgs` attribute.
> **_NOTE:_** If you see errors similar to `getProtocolByName: does not exist (no such protocol name: tcp)` you may need to add `pkgs.iana-etc` to `contents`.
> **_NOTE:_** If you see errors similar to `Error_Protocol ("certificate has unknown CA",True,UnknownCa)` you may need to add `pkgs.cacert` to `contents`.
By default `buildImage` will use a static date of one second past the UNIX Epoch. This allows `buildImage` to produce binary reproducible images. When listing images with `docker images`, the newly created images will be listed like this:
```ShellSession
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello latest 08c791c7846e 48 years ago 25.2MB
```
You can break binary reproducibility but have a sorted, meaningful `CREATED` column by setting `created` to `now`.
```nix
pkgs.dockerTools.buildImage {
name = "hello";
tag = "latest";
created = "now";
copyToRoot = pkgs.buildEnv {
name = "image-root";
paths = [ pkgs.hello ];
pathsToLink = [ "/bin" ];
};
config.Cmd = [ "/bin/hello" ];
}
```
Now the Docker CLI will display a reasonable date and sort the images as expected:
```ShellSession
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello latest de2bf4786de6 About a minute ago 25.2MB
```
However, the produced images will not be binary reproducible.
## buildLayeredImage {#ssec-pkgs-dockerTools-buildLayeredImage}
Create a Docker image with many of the store paths being on their own layer to improve sharing between images. The image is realized into the Nix store as a gzipped tarball. Depending on the intended usage, many users might prefer to use `streamLayeredImage` instead, which this function uses internally.
`name`
: The name of the resulting image.
`tag` _optional_
: Tag of the generated image.
*Default:* the output path's hash
`fromImage` _optional_
: The repository tarball containing the base image. It must be a valid Docker image, such as one exported by `docker save`.
*Default:* `null`, which can be seen as equivalent to `FROM scratch` of a `Dockerfile`.
`contents` _optional_
: Top-level paths in the container. Either a single derivation, or a list of derivations.
*Default:* `[]`
`config` _optional_
`architecture` is _optional_ and used to specify the image architecture, this is useful for multi-architecture builds that don't need cross compiling. If not specified it will default to `hostPlatform`.
: Run-time configuration of the container. A full list of the options available is in the [Docker Image Specification v1.2.0](https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions).
*Default:* `{}`
`created` _optional_
: Date and time the layers were created. Follows the same `now` exception supported by `buildImage`.
*Default:* `1970-01-01T00:00:01Z`
`maxLayers` _optional_
: Maximum number of layers to create.
*Default:* `100`
*Maximum:* `125`
`extraCommands` _optional_
: Shell commands to run while building the final layer, without access to most of the layer contents. Changes to this layer are "on top" of all the other layers, so can create additional directories and files.
`fakeRootCommands` _optional_
: Shell commands to run while creating the archive for the final layer in a fakeroot environment. Unlike `extraCommands`, you can run `chown` to change the owners of the files in the archive, changing fakeroot's state instead of the real filesystem. The latter would require privileges that the build user does not have. Static binaries do not interact with the fakeroot environment. By default all files in the archive will be owned by root.
`enableFakechroot` _optional_
: Whether to run in `fakeRootCommands` in `fakechroot`, making programs behave as though `/` is the root of the image being created, while files in the Nix store are available as usual. This allows scripts that perform installation in `/` to work as expected. Considering that `fakechroot` is implemented via the same mechanism as `fakeroot`, the same caveats apply.
*Default:* `false`
### Behavior of `contents` in the final image {#dockerTools-buildLayeredImage-arg-contents}
Each path directly listed in `contents` will have a symlink in the root of the image.
For example:
```nix
pkgs.dockerTools.buildLayeredImage {
name = "hello";
contents = [ pkgs.hello ];
}
```
will create symlinks for all the paths in the `hello` package:
```ShellSession
/bin/hello -> /nix/store/h1zb1padqbbb7jicsvkmrym3r6snphxg-hello-2.10/bin/hello
/share/info/hello.info -> /nix/store/h1zb1padqbbb7jicsvkmrym3r6snphxg-hello-2.10/share/info/hello.info
/share/locale/bg/LC_MESSAGES/hello.mo -> /nix/store/h1zb1padqbbb7jicsvkmrym3r6snphxg-hello-2.10/share/locale/bg/LC_MESSAGES/hello.mo
```
### Automatic inclusion of `config` references {#dockerTools-buildLayeredImage-arg-config}
The closure of `config` is automatically included in the closure of the final image.
This allows you to make very simple Docker images with very little code. This container will start up and run `hello`:
```nix
pkgs.dockerTools.buildLayeredImage {
name = "hello";
config.Cmd = [ "${pkgs.hello}/bin/hello" ];
}
```
### Adjusting `maxLayers` {#dockerTools-buildLayeredImage-arg-maxLayers}
Increasing the `maxLayers` increases the number of layers which have a chance to be shared between different images.
Modern Docker installations support up to 128 layers, but older versions support as few as 42.
If the produced image will not be extended by other Docker builds, it is safe to set `maxLayers` to `128`. However, it will be impossible to extend the image further.
The first (`maxLayers-2`) most "popular" paths will have their own individual layers, then layer \#`maxLayers-1` will contain all the remaining "unpopular" paths, and finally layer \#`maxLayers` will contain the Image configuration.
Docker's Layers are not inherently ordered, they are content-addressable and are not explicitly layered until they are composed in to an Image.
## streamLayeredImage {#ssec-pkgs-dockerTools-streamLayeredImage}
Builds a script which, when run, will stream an uncompressed tarball of a Docker image to stdout. The arguments to this function are as for `buildLayeredImage`. This method of constructing an image does not realize the image into the Nix store, so it saves on IO and disk/cache space, particularly with large images.
The image produced by running the output script can be piped directly into `docker load`, to load it into the local docker daemon:
```ShellSession
$(nix-build) | docker load
```
Alternatively, the image be piped via `gzip` into `skopeo`, e.g., to copy it into a registry:
```ShellSession
$(nix-build) | gzip --fast | skopeo copy docker-archive:/dev/stdin docker://some_docker_registry/myimage:tag
```
## pullImage {#ssec-pkgs-dockerTools-fetchFromRegistry}
This function is analogous to the `docker pull` command, in that it can be used to pull a Docker image from a Docker registry. By default [Docker Hub](https://hub.docker.com/) is used to pull images.
Its parameters are described in the example below:
```nix
pullImage {
imageName = "nixos/nix";
imageDigest =
"sha256:473a2b527958665554806aea24d0131bacec46d23af09fef4598eeab331850fa";
finalImageName = "nix";
finalImageTag = "2.11.1";
sha256 = "sha256-qvhj+Hlmviz+KEBVmsyPIzTB3QlVAFzwAY1zDPIBGxc=";
os = "linux";
arch = "x86_64";
}
```
- `imageName` specifies the name of the image to be downloaded, which can also include the registry namespace (e.g. `nixos`). This argument is required.
- `imageDigest` specifies the digest of the image to be downloaded. This argument is required.
- `finalImageName`, if specified, this is the name of the image to be created. Note it is never used to fetch the image since we prefer to rely on the immutable digest ID. By default it's equal to `imageName`.
- `finalImageTag`, if specified, this is the tag of the image to be created. Note it is never used to fetch the image since we prefer to rely on the immutable digest ID. By default it's `latest`.
- `sha256` is the checksum of the whole fetched image. This argument is required.
- `os`, if specified, is the operating system of the fetched image. By default it's `linux`.
- `arch`, if specified, is the cpu architecture of the fetched image. By default it's `x86_64`.
`nix-prefetch-docker` command can be used to get required image parameters:
```ShellSession
$ nix run nixpkgs.nix-prefetch-docker -c nix-prefetch-docker --image-name mysql --image-tag 5
```
Since a given `imageName` may transparently refer to a manifest list of images which support multiple architectures and/or operating systems, you can supply the `--os` and `--arch` arguments to specify exactly which image you want. By default it will match the OS and architecture of the host the command is run on.
```ShellSession
$ nix-prefetch-docker --image-name mysql --image-tag 5 --arch x86_64 --os linux
```
Desired image name and tag can be set using `--final-image-name` and `--final-image-tag` arguments:
```ShellSession
$ nix-prefetch-docker --image-name mysql --image-tag 5 --final-image-name eu.gcr.io/my-project/mysql --final-image-tag prod
```
## exportImage {#ssec-pkgs-dockerTools-exportImage}
This function is analogous to the `docker export` command, in that it can be used to flatten a Docker image that contains multiple layers. It is in fact the result of the merge of all the layers of the image. As such, the result is suitable for being imported in Docker with `docker import`.
> **_NOTE:_** Using this function requires the `kvm` device to be available.
The parameters of `exportImage` are the following:
```nix
exportImage {
fromImage = someLayeredImage;
fromImageName = null;
fromImageTag = null;
name = someLayeredImage.name;
}
```
The parameters relative to the base image have the same synopsis as described in [buildImage](#ssec-pkgs-dockerTools-buildImage), except that `fromImage` is the only required argument in this case.
The `name` argument is the name of the derivation output, which defaults to `fromImage.name`.
## Environment Helpers {#ssec-pkgs-dockerTools-helpers}
Some packages expect certain files to be available globally.
When building an image from scratch (i.e. without `fromImage`), these files are missing.
`pkgs.dockerTools` provides some helpers to set up an environment with the necessary files.
You can include them in `copyToRoot` like this:
```nix
buildImage {
name = "environment-example";
copyToRoot = with pkgs.dockerTools; [
usrBinEnv
binSh
caCertificates
fakeNss
];
}
```
### usrBinEnv {#sssec-pkgs-dockerTools-helpers-usrBinEnv}
This provides the `env` utility at `/usr/bin/env`.
### binSh {#sssec-pkgs-dockerTools-helpers-binSh}
This provides `bashInteractive` at `/bin/sh`.
### caCertificates {#sssec-pkgs-dockerTools-helpers-caCertificates}
This sets up `/etc/ssl/certs/ca-certificates.crt`.
### fakeNss {#sssec-pkgs-dockerTools-helpers-fakeNss}
Provides `/etc/passwd` and `/etc/group` that contain root and nobody.
Useful when packaging binaries that insist on using nss to look up
username/groups (like nginx).
### shadowSetup {#ssec-pkgs-dockerTools-shadowSetup}
This constant string is a helper for setting up the base files for managing users and groups, only if such files don't exist already. It is suitable for being used in a [`buildImage` `runAsRoot`](#ex-dockerTools-buildImage-runAsRoot) script for cases like in the example below:
```nix
buildImage {
name = "shadow-basic";
runAsRoot = ''
#!${pkgs.runtimeShell}
${pkgs.dockerTools.shadowSetup}
groupadd -r redis
useradd -r -g redis redis
mkdir /data
chown redis:redis /data
'';
}
```
Creating base files like `/etc/passwd` or `/etc/login.defs` is necessary for shadow-utils to manipulate users and groups.
## fakeNss {#ssec-pkgs-dockerTools-fakeNss}
If your primary goal is providing a basic skeleton for user lookups to work,
and/or a lesser privileged user, adding `pkgs.fakeNss` to
the container image root might be the better choice than a custom script
running `useradd` and friends.
It provides a `/etc/passwd` and `/etc/group`, containing `root` and `nobody`
users and groups.
It also provides a `/etc/nsswitch.conf`, configuring NSS host resolution to
first check `/etc/hosts`, before checking DNS, as the default in the absence of
a config file (`dns [!UNAVAIL=return] files`) is quite unexpected.
You can pair it with `binSh`, which provides `bin/sh` as a symlink
to `bashInteractive` (as `/bin/sh` is configured as a shell).
```nix
buildImage {
name = "shadow-basic";
copyToRoot = pkgs.buildEnv {
name = "image-root";
paths = [ binSh pkgs.fakeNss ];
pathsToLink = [ "/bin" "/etc" "/var" ];
};
}
```
## buildNixShellImage {#ssec-pkgs-dockerTools-buildNixShellImage}
Create a Docker image that sets up an environment similar to that of running `nix-shell` on a derivation.
When run in Docker, this environment somewhat resembles the Nix sandbox typically used by `nix-build`, with a major difference being that access to the internet is allowed.
It additionally also behaves like an interactive `nix-shell`, running things like `shellHook` and setting an interactive prompt.
If the derivation is fully buildable (i.e. `nix-build` can be used on it), running `buildDerivation` inside such a Docker image will build the derivation, with all its outputs being available in the correct `/nix/store` paths, pointed to by the respective environment variables like `$out`, etc.
::: {.warning}
The behavior doesn't match `nix-shell` or `nix-build` exactly and this function is known not to work correctly for e.g. fixed-output derivations, content-addressed derivations, impure derivations and other special types of derivations.
:::
### Arguments
`drv`
: The derivation on which to base the Docker image.
Adding packages to the Docker image is possible by e.g. extending the list of `nativeBuildInputs` of this derivation like
```nix
buildNixShellImage {
drv = someDrv.overrideAttrs (old: {
nativeBuildInputs = old.nativeBuildInputs or [] ++ [
somethingExtra
];
});
# ...
}
```
Similarly, you can extend the image initialization script by extending `shellHook`
`name` _optional_
: The name of the resulting image.
*Default:* `drv.name + "-env"`
`tag` _optional_
: Tag of the generated image.
*Default:* the resulting image derivation output path's hash
`uid`/`gid` _optional_
: The user/group ID to run the container as. This is like a `nixbld` build user.
*Default:* 1000/1000
`homeDirectory` _optional_
: The home directory of the user the container is running as
*Default:* `/build`
`shell` _optional_
: The path to the `bash` binary to use as the shell. This shell is started when running the image.
*Default:* `pkgs.bashInteractive + "/bin/bash"`
`command` _optional_
: Run this command in the environment of the derivation, in an interactive shell. See the `--command` option in the [`nix-shell` documentation](https://nixos.org/manual/nix/stable/command-ref/nix-shell.html?highlight=nix-shell#options).
*Default:* (none)
`run` _optional_
: Same as `command`, but runs the command in a non-interactive shell instead. See the `--run` option in the [`nix-shell` documentation](https://nixos.org/manual/nix/stable/command-ref/nix-shell.html?highlight=nix-shell#options).
*Default:* (none)
### Example
The following shows how to build the `pkgs.hello` package inside a Docker container built with `buildNixShellImage`.
```nix
with import <nixpkgs> {};
dockerTools.buildNixShellImage {
drv = hello;
}
```
Build the derivation:
```console
nix-build hello.nix
```
these 8 derivations will be built:
/nix/store/xmw3a5ln29rdalavcxk1w3m4zb2n7kk6-nix-shell-rc.drv
...
Creating layer 56 from paths: ['/nix/store/crpnj8ssz0va2q0p5ibv9i6k6n52gcya-stdenv-linux']
Creating layer 57 with customisation...
Adding manifests...
Done.
/nix/store/cpyn1lc897ghx0rhr2xy49jvyn52bazv-hello-2.12-env.tar.gz
Load the image:
```console
docker load -i result
```
0d9f4c4cd109: Loading layer [==================================================>] 2.56MB/2.56MB
...
ab1d897c0697: Loading layer [==================================================>] 10.24kB/10.24kB
Loaded image: hello-2.12-env:pgj9h98nal555415faa43vsydg161bdz
Run the container:
```console
docker run -it hello-2.12-env:pgj9h98nal555415faa43vsydg161bdz
```
[nix-shell:/build]$
In the running container, run the build:
```console
buildDerivation
```
unpacking sources
unpacking source archive /nix/store/8nqv6kshb3vs5q5bs2k600xpj5bkavkc-hello-2.12.tar.gz
...
patching script interpreter paths in /nix/store/z5wwy5nagzy15gag42vv61c2agdpz2f2-hello-2.12
checking for references to /build/ in /nix/store/z5wwy5nagzy15gag42vv61c2agdpz2f2-hello-2.12...
Check the build result:
```console
$out/bin/hello
```
Hello, world!

View File

@@ -1,107 +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
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
- 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
- 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
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
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;
config = evalConfig {
modules = [
{
fileSystems."/" = { device = "/dev/vda"; fsType = "ext4"; autoFormat = true; };
boot.grub.device = "/dev/vda";
}
];
};
format = "qcow2";
onlyNixStore = false;
partitionTableType = "legacy+gpt";
installBootLoader = true;
touchEFIVars = true;
diskSize = "auto";
additionalSpace = "0M"; # Defaults to 512M.
copyChannel = false;
}
```

View File

@@ -1,37 +0,0 @@
# pkgs.ociTools {#sec-pkgs-ociTools}
`pkgs.ociTools` is a set of functions for creating containers according to the [OCI container specification v1.0.0](https://github.com/opencontainers/runtime-spec). Beyond that, it makes no assumptions about the container runner you choose to use to run the created container.
## buildContainer {#ssec-pkgs-ociTools-buildContainer}
This function creates a simple OCI container that runs a single command inside of it. An OCI container consists of a `config.json` and a rootfs directory. The nix store of the container will contain all referenced dependencies of the given command.
The parameters of `buildContainer` with an example value are described below:
```nix
buildContainer {
args = [
(with pkgs;
writeScript "run.sh" ''
#!${bash}/bin/bash
exec ${bash}/bin/bash
'').outPath
];
mounts = {
"/data" = {
type = "none";
source = "/var/lib/mydata";
options = [ "bind" ];
};
};
readonly = false;
}
```
- `args` specifies a set of arguments to run inside the container. This is the only required argument for `buildContainer`. All referenced packages inside the derivation will be made available inside the container.
- `mounts` specifies additional mount points chosen by the user. By default only a minimal set of necessary filesystems are mounted into the container (e.g procfs, cgroupfs)
- `readonly` makes the container's rootfs read-only if it is set to true. The default value is false `false`.

View File

@@ -1,81 +0,0 @@
# pkgs.portableService {#sec-pkgs-portableService}
`pkgs.portableService` is a function to create _portable service images_,
as read-only, immutable, `squashfs` archives.
systemd supports a concept of [Portable Services](https://systemd.io/PORTABLE_SERVICES/).
Portable Services are a delivery method for system services that uses two specific features of container management:
* Applications are bundled. I.e. multiple services, their binaries and
all their dependencies are packaged in an image, and are run directly from it.
* Stricter default security policies, i.e. sandboxing of applications.
This allows using Nix to build images which can be run on many recent Linux distributions.
The primary tool for interacting with Portable Services is `portablectl`,
and they are managed by the `systemd-portabled` system service.
::: {.note}
Portable services are supported starting with systemd 239 (released on 2018-06-22).
:::
A very simple example of using `portableService` is described below:
[]{#ex-pkgs-portableService}
```nix
pkgs.portableService {
pname = "demo";
version = "1.0";
units = [ demo-service demo-socket ];
}
```
The above example will build an squashfs archive image in `result/$pname_$version.raw`. The image will contain the
file system structure as required by the portable service specification, and a subset of the Nix store with all the
dependencies of the two derivations in the `units` list.
`units` must be a list of derivations, and their names must be prefixed with the service name (`"demo"` in this case).
Otherwise `systemd-portabled` will ignore them.
::: {.note}
The `.raw` file extension of the image is required by the portable services specification.
:::
Some other options available are:
- `description`, `homepage`
Are added to the `/etc/os-release` in the image and are shown by the portable services tooling.
Default to empty values, not added to os-release.
- `symlinks`
A list of attribute sets {object, symlink}. Symlinks will be created in the root filesystem of the image to
objects in the Nix store. Defaults to an empty list.
- `contents`
A list of additional derivations to be included in the image Nix store, as-is. Defaults to an empty list.
- `squashfsTools`
Defaults to `pkgs.squashfsTools`, allows you to override the package that provides `mksquashfs`.
- `squash-compression`, `squash-block-size`
Options to `mksquashfs`. Default to `"xz -Xdict-size 100%"` and `"1M"` respectively.
A typical usage of `symlinks` would be:
```nix
symlinks = [
{ object = "${pkgs.cacert}/etc/ssl"; symlink = "/etc/ssl"; }
{ object = "${pkgs.bash}/bin/bash"; symlink = "/bin/sh"; }
{ object = "${pkgs.php}/bin/php"; symlink = "/usr/bin/php"; }
];
```
to create these symlinks for legacy applications that assume them existing globally.
Once the image is created, and deployed on a host in `/var/lib/portables/`, you can attach the image and run the service. As root run:
```console
portablectl attach demo_1.0.raw
systemctl enable --now demo.socket
systemctl enable --now demo.service
```
::: {.note}
See the [man page](https://www.freedesktop.org/software/systemd/man/portablectl.html) of `portablectl` for more info on its usage.
:::

View File

@@ -1,71 +0,0 @@
# pkgs.snapTools {#sec-pkgs-snapTools}
`pkgs.snapTools` is a set of functions for creating Snapcraft images. Snap and Snapcraft is not used to perform these operations.
## The makeSnap Function {#ssec-pkgs-snapTools-makeSnap-signature}
`makeSnap` takes a single named argument, `meta`. This argument mirrors [the upstream `snap.yaml` format](https://docs.snapcraft.io/snap-format) exactly.
The `base` should not be specified, as `makeSnap` will force set it.
Currently, `makeSnap` does not support creating GUI stubs.
## Build a Hello World Snap {#ssec-pkgs-snapTools-build-a-snap-hello}
The following expression packages GNU Hello as a Snapcraft snap.
``` {#ex-snapTools-buildSnap-hello .nix}
let
inherit (import <nixpkgs> { }) snapTools hello;
in snapTools.makeSnap {
meta = {
name = "hello";
summary = hello.meta.description;
description = hello.meta.longDescription;
architectures = [ "amd64" ];
confinement = "strict";
apps.hello.command = "${hello}/bin/hello";
};
}
```
`nix-build` this expression and install it with `snap install ./result --dangerous`. `hello` will now be the Snapcraft version of the package.
## Build a Graphical Snap {#ssec-pkgs-snapTools-build-a-snap-firefox}
Graphical programs require many more integrations with the host. This example uses Firefox as an example because it is one of the most complicated programs we could package.
``` {#ex-snapTools-buildSnap-firefox .nix}
let
inherit (import <nixpkgs> { }) snapTools firefox;
in snapTools.makeSnap {
meta = {
name = "nix-example-firefox";
summary = firefox.meta.description;
architectures = [ "amd64" ];
apps.nix-example-firefox = {
command = "${firefox}/bin/firefox";
plugs = [
"pulseaudio"
"camera"
"browser-support"
"avahi-observe"
"cups-control"
"desktop"
"desktop-legacy"
"gsettings"
"home"
"network"
"mount-observe"
"removable-media"
"x11"
];
};
confinement = "strict";
};
}
```
`nix-build` this expression and install it with `snap install ./result --dangerous`. `nix-example-firefox` will now be the Snapcraft version of the Firefox package.
The specific meaning behind plugs can be looked up in the [Snapcraft interface documentation](https://docs.snapcraft.io/supported-interfaces).

View File

@@ -1,129 +0,0 @@
# Cataclysm: Dark Days Ahead {#cataclysm-dark-days-ahead}
## How to install Cataclysm DDA {#how-to-install-cataclysm-dda}
To install the latest stable release of Cataclysm DDA to your profile, execute
`nix-env -f "<nixpkgs>" -iA cataclysm-dda`. For the curses build (build
without tiles), install `cataclysmDDA.stable.curses`. Note: `cataclysm-dda` is
an alias to `cataclysmDDA.stable.tiles`.
If you like access to a development build of your favorite git revision,
override `cataclysm-dda-git` (or `cataclysmDDA.git.curses` if you like curses
build):
```nix
cataclysm-dda-git.override {
version = "YYYY-MM-DD";
rev = "YOUR_FAVORITE_REVISION";
sha256 = "CHECKSUM_OF_THE_REVISION";
}
```
The sha256 checksum can be obtained by
```sh
nix-prefetch-url --unpack "https://github.com/CleverRaven/Cataclysm-DDA/archive/${YOUR_FAVORITE_REVISION}.tar.gz"
```
The default configuration directory is `~/.cataclysm-dda`. If you prefer
`$XDG_CONFIG_HOME/cataclysm-dda`, override the derivation:
```nix
cataclysm-dda.override {
useXdgDir = true;
}
```
## Important note for overriding packages {#important-note-for-overriding-packages}
After applying `overrideAttrs`, you need to fix `passthru.pkgs` and
`passthru.withMods` attributes either manually or by using `attachPkgs`:
```nix
let
# You enabled parallel building.
myCDDA = cataclysm-dda-git.overrideAttrs (_: {
enableParallelBuilding = true;
});
# Unfortunately, this refers to the package before overriding and
# parallel building is still disabled.
badExample = myCDDA.withMods (_: []);
inherit (cataclysmDDA) attachPkgs pkgs wrapCDDA;
# You can fix it by hand
goodExample1 = myCDDA.overrideAttrs (old: {
passthru = old.passthru // {
pkgs = pkgs.override { build = goodExample1; };
withMods = wrapCDDA goodExample1;
};
});
# or by using a helper function `attachPkgs`.
goodExample2 = attachPkgs pkgs myCDDA;
in
# badExample # parallel building disabled
# goodExample1.withMods (_: []) # parallel building enabled
goodExample2.withMods (_: []) # parallel building enabled
```
## Customizing with mods {#customizing-with-mods}
To install Cataclysm DDA with mods of your choice, you can use `withMods`
attribute:
```nix
cataclysm-dda.withMods (mods: with mods; [
tileset.UndeadPeople
])
```
All mods, soundpacks, and tilesets available in nixpkgs are found in
`cataclysmDDA.pkgs`.
Here is an example to modify existing mods and/or add more mods not available
in nixpkgs:
```nix
let
customMods = self: super: lib.recursiveUpdate super {
# Modify existing mod
tileset.UndeadPeople = super.tileset.UndeadPeople.overrideAttrs (old: {
# If you like to apply a patch to the tileset for example
patches = [ ./path/to/your.patch ];
});
# Add another mod
mod.Awesome = cataclysmDDA.buildMod {
modName = "Awesome";
version = "0.x";
src = fetchFromGitHub {
owner = "Someone";
repo = "AwesomeMod";
rev = "...";
hash = "...";
};
# Path to be installed in the unpacked source (default: ".")
modRoot = "contents/under/this/path/will/be/installed";
};
# Add another soundpack
soundpack.Fantastic = cataclysmDDA.buildSoundPack {
# ditto
};
# Add another tileset
tileset.SuperDuper = cataclysmDDA.buildTileSet {
# ditto
};
};
in
cataclysm-dda.withMods (mods: with mods.extend customMods; [
tileset.UndeadPeople
mod.Awesome
soundpack.Fantastic
tileset.SuperDuper
])
```

View File

@@ -1,32 +0,0 @@
# Citrix Workspace {#sec-citrix}
The [Citrix Workspace App](https://www.citrix.com/products/workspace-app/) is a remote desktop viewer which provides access to [XenDesktop](https://www.citrix.com/products/xenapp-xendesktop/) installations.
## Basic usage {#sec-citrix-base}
The tarball archive needs to be downloaded manually, as the license agreements of the vendor for [Citrix Workspace](https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html) needs to be accepted first. Then run `nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz`. With the archive available in the store, the package can be built and installed with Nix.
## Citrix Self-service {#sec-citrix-selfservice}
The [self-service](https://support.citrix.com/article/CTX200337) is an application managing Citrix desktops and applications. Please note that this feature only works with at least citrix_workspace_20_06_0 and later versions.
In order to set this up, you first have to [download the `.cr` file from the Netscaler Gateway](https://its.uiowa.edu/support/article/102186). After that, you can configure the `selfservice` like this:
```ShellSession
$ storebrowse -C ~/Downloads/receiverconfig.cr
$ selfservice
```
## Custom certificates {#sec-citrix-custom-certs}
The `Citrix Workspace App` in `nixpkgs` trusts several certificates [from the Mozilla database](https://curl.haxx.se/docs/caextract.html) by default. However, several companies using Citrix might require their own corporate certificate. On distros with imperative packaging, these certs can be stored easily in [`$ICAROOT`](https://citrix.github.io/receiver-for-linux-command-reference/), however this directory is a store path in `nixpkgs`. In order to work around this issue, the package provides a simple mechanism to add custom certificates without rebuilding the entire package using `symlinkJoin`:
```nix
with import <nixpkgs> { config.allowUnfree = true; };
let
extraCerts = [
./custom-cert-1.pem
./custom-cert-2.pem # ...
];
in citrix_workspace.override { inherit extraCerts; }
```

View File

@@ -1,13 +0,0 @@
# DLib {#dlib}
[DLib](http://dlib.net/) is a modern, C++-based toolkit which provides several machine learning algorithms.
## Compiling without AVX support {#compiling-without-avx-support}
Especially older CPUs don't support [AVX](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions) (Advanced Vector Extensions) instructions that are used by DLib to optimize their algorithms.
On the affected hardware errors like `Illegal instruction` will occur. In those cases AVX support needs to be disabled:
```nix
self: super: { dlib = super.dlib.override { avxSupport = false; }; }
```

View File

@@ -1,64 +0,0 @@
# Eclipse {#sec-eclipse}
The Nix expressions related to the Eclipse platform and IDE are in [`pkgs/applications/editors/eclipse`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/eclipse).
Nixpkgs provides a number of packages that will install Eclipse in its various forms. These range from the bare-bones Eclipse Platform to the more fully featured Eclipse SDK or Scala-IDE packages and multiple version are often available. It is possible to list available Eclipse packages by issuing the command:
```ShellSession
$ nix-env -f '<nixpkgs>' -qaP -A eclipses --description
```
Once an Eclipse variant is installed, it can be run using the `eclipse` command, as expected. From within Eclipse, it is then possible to install plugins in the usual manner by either manually specifying an Eclipse update site or by installing the Marketplace Client plugin and using it to discover and install other plugins. This installation method provides an Eclipse installation that closely resemble a manually installed Eclipse.
If you prefer to install plugins in a more declarative manner, then Nixpkgs also offer a number of Eclipse plugins that can be installed in an _Eclipse environment_. This type of environment is created using the function `eclipseWithPlugins` found inside the `nixpkgs.eclipses` attribute set. This function takes as argument `{ eclipse, plugins ? [], jvmArgs ? [] }` where `eclipse` is a one of the Eclipse packages described above, `plugins` is a list of plugin derivations, and `jvmArgs` is a list of arguments given to the JVM running the Eclipse. For example, say you wish to install the latest Eclipse Platform with the popular Eclipse Color Theme plugin and also allow Eclipse to use more RAM. You could then add:
```nix
packageOverrides = pkgs: {
myEclipse = with pkgs.eclipses; eclipseWithPlugins {
eclipse = eclipse-platform;
jvmArgs = [ "-Xmx2048m" ];
plugins = [ plugins.color-theme ];
};
}
```
to your Nixpkgs configuration (`~/.config/nixpkgs/config.nix`) and install it by running `nix-env -f '<nixpkgs>' -iA myEclipse` and afterward run Eclipse as usual. It is possible to find out which plugins are available for installation using `eclipseWithPlugins` by running:
```ShellSession
$ nix-env -f '<nixpkgs>' -qaP -A eclipses.plugins --description
```
If there is a need to install plugins that are not available in Nixpkgs then it may be possible to define these plugins outside Nixpkgs using the `buildEclipseUpdateSite` and `buildEclipsePlugin` functions found in the `nixpkgs.eclipses.plugins` attribute set. Use the `buildEclipseUpdateSite` function to install a plugin distributed as an Eclipse update site. This function takes `{ name, src }` as argument, where `src` indicates the Eclipse update site archive. All Eclipse features and plugins within the downloaded update site will be installed. When an update site archive is not available, then the `buildEclipsePlugin` function can be used to install a plugin that consists of a pair of feature and plugin JARs. This function takes an argument `{ name, srcFeature, srcPlugin }` where `srcFeature` and `srcPlugin` are the feature and plugin JARs, respectively.
Expanding the previous example with two plugins using the above functions, we have:
```nix
packageOverrides = pkgs: {
myEclipse = with pkgs.eclipses; eclipseWithPlugins {
eclipse = eclipse-platform;
jvmArgs = [ "-Xmx2048m" ];
plugins = [
plugins.color-theme
(plugins.buildEclipsePlugin {
name = "myplugin1-1.0";
srcFeature = fetchurl {
url = "http:///features/myplugin1.jar";
hash = "sha256-123";
};
srcPlugin = fetchurl {
url = "http:///plugins/myplugin1.jar";
hash = "sha256-123";
};
});
(plugins.buildEclipseUpdateSite {
name = "myplugin2-1.0";
src = fetchurl {
stripRoot = false;
url = "http:///myplugin2.zip";
hash = "sha256-123";
};
});
];
};
}
```

View File

@@ -1,11 +0,0 @@
# Elm {#sec-elm}
To start a development environment, run:
```ShellSession
nix-shell -p elmPackages.elm elmPackages.elm-format
```
To update the Elm compiler, see `nixpkgs/pkgs/development/compilers/elm/README.md`.
To package Elm applications, [read about elm2nix](https://github.com/hercules-ci/elm2nix#elm2nix).

View File

@@ -1,119 +0,0 @@
# Emacs {#sec-emacs}
## Configuring Emacs {#sec-emacs-config}
The Emacs package comes with some extra helpers to make it easier to configure. `emacs.pkgs.withPackages` allows you to manage packages from ELPA. This means that you will not have to install that packages from within Emacs. For instance, if you wanted to use `company` `counsel`, `flycheck`, `ivy`, `magit`, `projectile`, and `use-package` you could use this as a `~/.config/nixpkgs/config.nix` override:
```nix
{
packageOverrides = pkgs: with pkgs; {
myEmacs = emacs.pkgs.withPackages (epkgs: (with epkgs.melpaStablePackages; [
company
counsel
flycheck
ivy
magit
projectile
use-package
]));
}
}
```
You can install it like any other packages via `nix-env -iA myEmacs`. However, this will only install those packages. It will not `configure` them for us. To do this, we need to provide a configuration file. Luckily, it is possible to do this from within Nix! By modifying the above example, we can make Emacs load a custom config file. The key is to create a package that provides a `default.el` file in `/share/emacs/site-start/`. Emacs knows to load this file automatically when it starts.
```nix
{
packageOverrides = pkgs: with pkgs; rec {
myEmacsConfig = writeText "default.el" ''
;; initialize package
(require 'package)
(package-initialize 'noactivate)
(eval-when-compile
(require 'use-package))
;; load some packages
(use-package company
:bind ("<C-tab>" . company-complete)
:diminish company-mode
:commands (company-mode global-company-mode)
:defer 1
:config
(global-company-mode))
(use-package counsel
:commands (counsel-descbinds)
:bind (([remap execute-extended-command] . counsel-M-x)
("C-x C-f" . counsel-find-file)
("C-c g" . counsel-git)
("C-c j" . counsel-git-grep)
("C-c k" . counsel-ag)
("C-x l" . counsel-locate)
("M-y" . counsel-yank-pop)))
(use-package flycheck
:defer 2
:config (global-flycheck-mode))
(use-package ivy
:defer 1
:bind (("C-c C-r" . ivy-resume)
("C-x C-b" . ivy-switch-buffer)
:map ivy-minibuffer-map
("C-j" . ivy-call))
:diminish ivy-mode
:commands ivy-mode
:config
(ivy-mode 1))
(use-package magit
:defer
:if (executable-find "git")
:bind (("C-x g" . magit-status)
("C-x G" . magit-dispatch-popup))
:init
(setq magit-completing-read-function 'ivy-completing-read))
(use-package projectile
:commands projectile-mode
:bind-keymap ("C-c p" . projectile-command-map)
:defer 5
:config
(projectile-global-mode))
'';
myEmacs = emacs.pkgs.withPackages (epkgs: (with epkgs.melpaStablePackages; [
(runCommand "default.el" {} ''
mkdir -p $out/share/emacs/site-lisp
cp ${myEmacsConfig} $out/share/emacs/site-lisp/default.el
'')
company
counsel
flycheck
ivy
magit
projectile
use-package
]));
};
}
```
This provides a fairly full Emacs start file. It will load in addition to the user's personal config. You can always disable it by passing `-q` to the Emacs command.
Sometimes `emacs.pkgs.withPackages` is not enough, as this package set has some priorities imposed on packages (with the lowest priority assigned to Melpa Unstable, and the highest for packages manually defined in `pkgs/top-level/emacs-packages.nix`). But you can't control these priorities when some package is installed as a dependency. You can override it on a per-package-basis, providing all the required dependencies manually, but it's tedious and there is always a possibility that an unwanted dependency will sneak in through some other package. To completely override such a package, you can use `overrideScope'`.
```nix
overrides = self: super: rec {
haskell-mode = self.melpaPackages.haskell-mode;
...
};
((emacsPackagesFor emacs).overrideScope' overrides).withPackages
(p: with p; [
# here both these package will use haskell-mode of our own choice
ghc-mod
dante
])
```

View File

@@ -1,18 +0,0 @@
# /etc files {#etc}
Certain calls in glibc require access to runtime files found in `/etc` such as `/etc/protocols` or `/etc/services` -- [getprotobyname](https://linux.die.net/man/3/getprotobyname) is one such function.
On non-NixOS distributions these files are typically provided by packages (i.e., [netbase](https://packages.debian.org/sid/netbase)) if not already pre-installed in your distribution. This can cause non-reproducibility for code if they rely on these files being present.
If [iana-etc](https://hydra.nixos.org/job/nixos/trunk-combined/nixpkgs.iana-etc.x86_64-linux) is part of your `buildInputs`, then it will set the environment variables `NIX_ETC_PROTOCOLS` and `NIX_ETC_SERVICES` to the corresponding files in the package through a setup hook.
```bash
> nix-shell -p iana-etc
[nix-shell:~]$ env | grep NIX_ETC
NIX_ETC_SERVICES=/nix/store/aj866hr8fad8flnggwdhrldm0g799ccz-iana-etc-20210225/etc/services
NIX_ETC_PROTOCOLS=/nix/store/aj866hr8fad8flnggwdhrldm0g799ccz-iana-etc-20210225/etc/protocols
```
Nixpkg's version of [glibc](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/glibc/default.nix) has been patched to check for the existence of these environment variables. If the environment variables are *not* set, then it will attempt to find the files at the default location within `/etc`.

View File

@@ -1,55 +0,0 @@
# Firefox {#sec-firefox}
## Build wrapped Firefox with extensions and policies {#build-wrapped-firefox-with-extensions-and-policies}
The `wrapFirefox` function allows to pass policies, preferences and extensions that are available to Firefox. With the help of `fetchFirefoxAddon` this allows to build a Firefox version that already comes with add-ons pre-installed:
```nix
{
# Nix firefox addons only work with the firefox-esr package.
myFirefox = wrapFirefox firefox-esr-unwrapped {
nixExtensions = [
(fetchFirefoxAddon {
name = "ublock"; # Has to be unique!
url = "https://addons.mozilla.org/firefox/downloads/file/3679754/ublock_origin-1.31.0-an+fx.xpi";
hash = "sha256-2e73AbmYZlZXCP5ptYVcFjQYdjDp4iPoEPEOSCVF5sA=";
})
];
extraPolicies = {
CaptivePortal = false;
DisableFirefoxStudies = true;
DisablePocket = true;
DisableTelemetry = true;
DisableFirefoxAccounts = true;
FirefoxHome = {
Pocket = false;
Snippets = false;
};
UserMessaging = {
ExtensionRecommendations = false;
SkipOnboarding = true;
};
SecurityDevices = {
# Use a proxy module rather than `nixpkgs.config.firefox.smartcardSupport = true`
"PKCS#11 Proxy Module" = "${pkgs.p11-kit}/lib/p11-kit-proxy.so";
};
};
extraPrefs = ''
// Show more ssl cert infos
lockPref("security.identityblock.show_extended_validation", true);
'';
};
}
```
If `nixExtensions != null`, then all manually installed add-ons will be uninstalled from your browser profile.
To view available enterprise policies, visit [enterprise policies](https://github.com/mozilla/policy-templates#enterprisepoliciesenabled)
or type into the Firefox URL bar: `about:policies#documentation`.
Nix installed add-ons do not have a valid signature, which is why signature verification is disabled. This does not compromise security because downloaded add-ons are checksummed and manual add-ons can't be installed. Also, make sure that the `name` field of `fetchFirefoxAddon` is unique. If you remove an add-on from the `nixExtensions` array, rebuild and start Firefox: the removed add-on will be completely removed with all of its settings.
## Troubleshooting {#sec-firefox-troubleshooting}
If add-ons are marked as broken or the signature is invalid, make sure you have Firefox ESR installed. Normal Firefox does not provide the ability anymore to disable signature verification for add-ons thus nix add-ons get disabled by the normal Firefox binary.
If add-ons do not appear installed despite being defined in your nix configuration file, reset the local add-on state of your Firefox profile by clicking `Help -> More Troubleshooting Information -> Refresh Firefox`. This can happen if you switch from manual add-on mode to nix add-on mode and then back to manual mode and then again to nix add-on mode.

View File

@@ -1,50 +0,0 @@
# Fish {#sec-fish}
Fish is a "smart and user-friendly command line shell" with support for plugins.
## Vendor Fish scripts {#sec-fish-vendor}
Any package may ship its own Fish completions, configuration snippets, and
functions. Those should be installed to
`$out/share/fish/vendor_{completions,conf,functions}.d` respectively.
When the `programs.fish.enable` and
`programs.fish.vendor.{completions,config,functions}.enable` options from the
NixOS Fish module are set to true, those paths are symlinked in the current
system environment and automatically loaded by Fish.
## Packaging Fish plugins {#sec-fish-plugins-pkg}
While packages providing standalone executables belong to the top level,
packages which have the sole purpose of extending Fish belong to the
`fishPlugins` scope and should be registered in
`pkgs/shells/fish/plugins/default.nix`.
The `buildFishPlugin` utility function can be used to automatically copy Fish
scripts from `$src/{completions,conf,conf.d,functions}` to the standard vendor
installation paths. It also sets up the test environment so that the optional
`checkPhase` is executed in a Fish shell with other already packaged plugins
and package-local Fish functions specified in `checkPlugins` and
`checkFunctionDirs` respectively.
See `pkgs/shells/fish/plugins/pure.nix` for an example of Fish plugin package
using `buildFishPlugin` and running unit tests with the `fishtape` test runner.
## Fish wrapper {#sec-fish-wrapper}
The `wrapFish` package is a wrapper around Fish which can be used to create
Fish shells initialized with some plugins as well as completions, configuration
snippets and functions sourced from the given paths. This provides a convenient
way to test Fish plugins and scripts without having to alter the environment.
```nix
wrapFish {
pluginPkgs = with fishPlugins; [ pure foreign-env ];
completionDirs = [];
functionDirs = [];
confDirs = [ "/path/to/some/fish/init/dir/" ];
}
```

View File

@@ -1,45 +0,0 @@
# FUSE {#sec-fuse}
Some packages rely on
[FUSE](https://www.kernel.org/doc/html/latest/filesystems/fuse.html) to provide
support for additional filesystems not supported by the kernel.
In general, FUSE software are primarily developed for Linux but many of them can
also run on macOS. Nixpkgs supports FUSE packages on macOS, but it requires
[macFUSE](https://osxfuse.github.io) to be installed outside of Nix. macFUSE
currently isn't packaged in Nixpkgs mainly because it includes a kernel
extension, which isn't supported by Nix outside of NixOS.
If a package fails to run on macOS with an error message similar to the
following, it's a likely sign that you need to have macFUSE installed.
dyld: Library not loaded: /usr/local/lib/libfuse.2.dylib
Referenced from: /nix/store/w8bi72bssv0bnxhwfw3xr1mvn7myf37x-sshfs-fuse-2.10/bin/sshfs
Reason: image not found
[1] 92299 abort /nix/store/w8bi72bssv0bnxhwfw3xr1mvn7myf37x-sshfs-fuse-2.10/bin/sshfs
Package maintainers may often encounter the following error when building FUSE
packages on macOS:
checking for fuse.h... no
configure: error: No fuse.h found.
This happens on autoconf based projects that use `AC_CHECK_HEADERS` or
`AC_CHECK_LIBS` to detect libfuse, and will occur even when the `fuse` package
is included in `buildInputs`. It happens because libfuse headers throw an error
on macOS if the `FUSE_USE_VERSION` macro is undefined. Many projects do define
`FUSE_USE_VERSION`, but only inside C source files. This results in the above
error at configure time because the configure script would attempt to compile
sample FUSE programs without defining `FUSE_USE_VERSION`.
There are two possible solutions for this problem in Nixpkgs:
1. Pass `FUSE_USE_VERSION` to the configure script by adding
`CFLAGS=-DFUSE_USE_VERSION=25` in `configureFlags`. The actual value would
have to match the definition used in the upstream source code.
2. Remove `AC_CHECK_HEADERS` / `AC_CHECK_LIBS` for libfuse.
However, a better solution might be to fix the build script upstream to use
`PKG_CHECK_MODULES` instead. This approach wouldn't suffer from the problem that
`AC_CHECK_HEADERS`/`AC_CHECK_LIBS` has at the price of introducing a dependency
on pkg-config.

View File

@@ -1,38 +0,0 @@
# ibus-engines.typing-booster {#sec-ibus-typing-booster}
This package is an ibus-based completion method to speed up typing.
## Activating the engine {#sec-ibus-typing-booster-activate}
IBus needs to be configured accordingly to activate `typing-booster`. The configuration depends on the desktop manager in use. For detailed instructions, please refer to the [upstream docs](https://mike-fabian.github.io/ibus-typing-booster/).
On NixOS, you need to explicitly enable `ibus` with given engines before customizing your desktop to use `typing-booster`. This can be achieved using the `ibus` module:
```nix
{ pkgs, ... }: {
i18n.inputMethod = {
enabled = "ibus";
ibus.engines = with pkgs.ibus-engines; [ typing-booster ];
};
}
```
## Using custom hunspell dictionaries {#sec-ibus-typing-booster-customize-hunspell}
The IBus engine is based on `hunspell` to support completion in many languages. By default, the dictionaries `de-de`, `en-us`, `fr-moderne` `es-es`, `it-it`, `sv-se` and `sv-fi` are in use. To add another dictionary, the package can be overridden like this:
```nix
ibus-engines.typing-booster.override { langs = [ "de-at" "en-gb" ]; }
```
_Note: each language passed to `langs` must be an attribute name in `pkgs.hunspellDicts`._
## Built-in emoji picker {#sec-ibus-typing-booster-emoji-picker}
The `ibus-engines.typing-booster` package contains a program named `emoji-picker`. To display all emojis correctly, a special font such as `noto-fonts-emoji` is needed:
On NixOS, it can be installed using the following expression:
```nix
{ pkgs, ... }: { fonts.fonts = with pkgs; [ noto-fonts-emoji ]; }
```

View File

@@ -1,29 +0,0 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="chap-packages">
<title>Packages</title>
<para>
This chapter contains information about how to use and maintain the Nix expressions for a number of specific packages, such as the Linux kernel or X.org.
</para>
<xi:include href="citrix.section.xml" />
<xi:include href="dlib.section.xml" />
<xi:include href="eclipse.section.xml" />
<xi:include href="elm.section.xml" />
<xi:include href="emacs.section.xml" />
<xi:include href="firefox.section.xml" />
<xi:include href="fish.section.xml" />
<xi:include href="fuse.section.xml" />
<xi:include href="ibus.section.xml" />
<xi:include href="kakoune.section.xml" />
<xi:include href="linux.section.xml" />
<xi:include href="locales.section.xml" />
<xi:include href="etc-files.section.xml" />
<xi:include href="nginx.section.xml" />
<xi:include href="opengl.section.xml" />
<xi:include href="shell-helpers.section.xml" />
<xi:include href="steam.section.xml" />
<xi:include href="cataclysm-dda.section.xml" />
<xi:include href="urxvt.section.xml" />
<xi:include href="weechat.section.xml" />
<xi:include href="xorg.section.xml" />
</chapter>

View File

@@ -1,9 +0,0 @@
# Kakoune {#sec-kakoune}
Kakoune can be built to autoload plugins:
```nix
(kakoune.override {
plugins = with pkgs.kakounePlugins; [ parinfer-rust ];
})
```

View File

@@ -1,41 +0,0 @@
# Linux kernel {#sec-linux-kernel}
The Nix expressions to build the Linux kernel are in [`pkgs/os-specific/linux/kernel`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/kernel).
The function that builds the kernel has an argument `kernelPatches` which should be a list of `{name, patch, extraConfig}` attribute sets, where `name` is the name of the patch (which is included in the kernels `meta.description` attribute), `patch` is the patch itself (possibly compressed), and `extraConfig` (optional) is a string specifying extra options to be concatenated to the kernel configuration file (`.config`).
The kernel derivation exports an attribute `features` specifying whether optional functionality is or isnt enabled. This is used in NixOS to implement kernel-specific behaviour. For instance, if the kernel has the `iwlwifi` feature (i.e., has built-in support for Intel wireless chipsets), then NixOS doesnt have to build the external `iwlwifi` package:
```nix
modulesTree = [kernel]
++ pkgs.lib.optional (!kernel.features ? iwlwifi) kernelPackages.iwlwifi
++ ...;
```
How to add a new (major) version of the Linux kernel to Nixpkgs:
1. Copy the old Nix expression (e.g., `linux-2.6.21.nix`) to the new one (e.g., `linux-2.6.22.nix`) and update it.
2. Add the new kernel to the `kernels` attribute set in `linux-kernels.nix` (e.g., create an attribute `kernel_2_6_22`).
3. Now were going to update the kernel configuration. First unpack the kernel. Then for each supported platform (`i686`, `x86_64`, `uml`) do the following:
1. Make a copy from the old config (e.g., `config-2.6.21-i686-smp`) to the new one (e.g., `config-2.6.22-i686-smp`).
2. Copy the config file for this platform (e.g., `config-2.6.22-i686-smp`) to `.config` in the kernel source tree.
3. Run `make oldconfig ARCH={i386,x86_64,um}` and answer all questions. (For the uml configuration, also add `SHELL=bash`.) Make sure to keep the configuration consistent between platforms (i.e., dont enable some feature on `i686` and disable it on `x86_64`).
4. If needed, you can also run `make menuconfig`:
```ShellSession
$ nix-env -f "<nixpkgs>" -iA ncurses
$ export NIX_CFLAGS_LINK=-lncurses
$ make menuconfig ARCH=arch
```
5. Copy `.config` over the new config file (e.g., `config-2.6.22-i686-smp`).
4. Test building the kernel: `nix-build -A linuxKernel.kernels.kernel_2_6_22`. If it compiles, ship it! For extra credit, try booting NixOS with it.
5. It may be that the new kernel requires updating the external kernel modules and kernel-dependent packages listed in the `linuxPackagesFor` function in `linux-kernels.nix` (such as the NVIDIA drivers, AUFS, etc.). If the updated packages arent backwards compatible with older kernels, you may need to keep the older versions around.

View File

@@ -1,5 +0,0 @@
# Locales {#locales}
To allow simultaneous use of packages linked against different versions of `glibc` with different locale archive formats, Nixpkgs patches `glibc` to rely on `LOCALE_ARCHIVE` environment variable.
On non-NixOS distributions, this variable is obviously not set. This can cause regressions in language support or even crashes in some Nixpkgs-provided programs. The simplest way to mitigate this problem is exporting the `LOCALE_ARCHIVE` variable pointing to `${glibcLocales}/lib/locale/locale-archive`. The drawback (and the reason this is not the default) is the relatively large (a hundred MiB) size of the full set of locales. It is possible to build a custom set of locales by overriding parameters `allLocales` and `locales` of the package.

View File

@@ -1,11 +0,0 @@
# Nginx {#sec-nginx}
[Nginx](https://nginx.org) is a reverse proxy and lightweight webserver.
## ETags on static files served from the Nix store {#sec-nginx-etag}
HTTP has a couple of different mechanisms for caching to prevent clients from having to download the same content repeatedly if a resource has not changed since the last time it was requested. When nginx is used as a server for static files, it implements the caching mechanism based on the [`Last-Modified`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified) response header automatically; unfortunately, it works by using filesystem timestamps to determine the value of the `Last-Modified` header. This doesn't give the desired behavior when the file is in the Nix store because all file timestamps are set to 0 (for reasons related to build reproducibility).
Fortunately, HTTP supports an alternative (and more effective) caching mechanism: the [`ETag`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) response header. The value of the `ETag` header specifies some identifier for the particular content that the server is sending (e.g., a hash). When a client makes a second request for the same resource, it sends that value back in an `If-None-Match` header. If the ETag value is unchanged, then the server does not need to resend the content.
As of NixOS 19.09, the nginx package in Nixpkgs is patched such that when nginx serves a file out of `/nix/store`, the hash in the store path is used as the `ETag` header in the HTTP response, thus providing proper caching functionality. This happens automatically; you do not need to do modify any configuration to get this behavior.

View File

@@ -1,15 +0,0 @@
# OpenGL {#sec-opengl}
OpenGL support varies depending on which hardware is used and which drivers are available and loaded.
Broadly, we support both GL vendors: Mesa and NVIDIA.
## NixOS Desktop {#nixos-desktop}
The NixOS desktop or other non-headless configurations are the primary target for OpenGL libraries and applications. The current solution for discovering which drivers are available is based on [libglvnd](https://gitlab.freedesktop.org/glvnd/libglvnd). `libglvnd` performs "vendor-neutral dispatch", trying a variety of techniques to find the system's GL implementation. In practice, this will be either via standard GLX for X11 users or EGL for Wayland users, and supporting either NVIDIA or Mesa extensions.
## Nix on GNU/Linux {#nix-on-gnulinux}
If you are using a non-NixOS GNU/Linux/X11 desktop with free software video drivers, consider launching OpenGL-dependent programs from Nixpkgs with Nixpkgs versions of `libglvnd` and `mesa.drivers` in `LD_LIBRARY_PATH`. For Mesa drivers, the Linux kernel version doesn't have to match nixpkgs.
For proprietary video drivers, you might have luck with also adding the corresponding video driver package.

View File

@@ -1,12 +0,0 @@
# Interactive shell helpers {#sec-shell-helpers}
Some packages provide the shell integration to be more useful. But unlike other systems, nix doesn't have a standard `share` directory location. This is why a bunch `PACKAGE-share` scripts are shipped that print the location of the corresponding shared folder. Current list of such packages is as following:
- `fzf` : `fzf-share`
E.g. `fzf` can then be used in the `.bashrc` like this:
```bash
source "$(fzf-share)/completion.bash"
source "$(fzf-share)/key-bindings.bash"
```

View File

@@ -1,63 +0,0 @@
# Steam {#sec-steam}
## Steam in Nix {#sec-steam-nix}
Steam is distributed as a `.deb` file, for now only as an i686 package (the amd64 package only has documentation). When unpacked, it has a script called `steam` that in Ubuntu (their target distro) would go to `/usr/bin`. When run for the first time, this script copies some files to the user's home, which include another script that is the ultimate responsible for launching the steam binary, which is also in `$HOME`.
Nix problems and constraints:
- We don't have `/bin/bash` and many scripts point there. Same thing for `/usr/bin/python`.
- We don't have the dynamic loader in `/lib`.
- The `steam.sh` script in `$HOME` cannot be patched, as it is checked and rewritten by steam.
- The steam binary cannot be patched, it's also checked.
The current approach to deploy Steam in NixOS is composing a FHS-compatible chroot environment, as documented [here](http://sandervanderburg.blogspot.nl/2013/09/composing-fhs-compatible-chroot.html). This allows us to have binaries in the expected paths without disrupting the system, and to avoid patching them to work in a non FHS environment.
## How to play {#sec-steam-play}
Use `programs.steam.enable = true;` if you want to add steam to `systemPackages` and also enable a few workarounds as well as Steam controller support or other Steam supported controllers such as the DualShock 4 or Nintendo Switch Pro Controller.
## Troubleshooting {#sec-steam-troub}
- **Steam fails to start. What do I do?**
Try to run
```ShellSession
strace steam
```
to see what is causing steam to fail.
- **Using the FOSS Radeon or nouveau (nvidia) drivers**
- The `newStdcpp` parameter was removed since NixOS 17.09 and should not be needed anymore.
- Steam ships statically linked with a version of `libcrypto` that conflicts with the one dynamically loaded by radeonsi_dri.so. If you get the error:
```
steam.sh: line 713: 7842 Segmentation fault (core dumped)
```
have a look at [this pull request](https://github.com/NixOS/nixpkgs/pull/20269).
- **Java**
1. There is no java in steam chrootenv by default. If you get a message like:
```
/home/foo/.local/share/Steam/SteamApps/common/towns/towns.sh: line 1: java: command not found
```
you need to add:
```nix
steam.override { withJava = true; };
```
## steam-run {#sec-steam-run}
The FHS-compatible chroot used for Steam can also be used to run other Linux games that expect a FHS environment. To use it, install the `steam-run` package and run the game with:
```
steam-run ./foo
```

View File

@@ -1,71 +0,0 @@
# Urxvt {#sec-urxvt}
Urxvt, also known as rxvt-unicode, is a highly customizable terminal emulator.
## Configuring urxvt {#sec-urxvt-conf}
In `nixpkgs`, urxvt is provided by the package `rxvt-unicode`. It can be configured to include your choice of plugins, reducing its closure size from the default configuration which includes all available plugins. To make use of this functionality, use an overlay or directly install an expression that overrides its configuration, such as:
```nix
rxvt-unicode.override {
configure = { availablePlugins, ... }: {
plugins = with availablePlugins; [ perls resize-font vtwheel ];
};
}
```
If the `configure` function returns an attrset without the `plugins` attribute, `availablePlugins` will be used automatically.
In order to add plugins but also keep all default plugins installed, it is possible to use the following method:
```nix
rxvt-unicode.override {
configure = { availablePlugins, ... }: {
plugins = (builtins.attrValues availablePlugins) ++ [ custom-plugin ];
};
}
```
To get a list of all the plugins available, open the Nix REPL and run
```ShellSession
$ nix repl
:l <nixpkgs>
map (p: p.name) pkgs.rxvt-unicode.plugins
```
Alternatively, if your shell is bash or zsh and have completion enabled, simply type `nixpkgs.rxvt-unicode.plugins.<tab>`.
In addition to `plugins` the options `extraDeps` and `perlDeps` can be used to install extra packages. `extraDeps` can be used, for example, to provide `xsel` (a clipboard manager) to the clipboard plugin, without installing it globally:
```nix
rxvt-unicode.override {
configure = { availablePlugins, ... }: {
pluginsDeps = [ xsel ];
};
}
```
`perlDeps` is a handy way to provide Perl packages to your custom plugins (in `$HOME/.urxvt/ext`). For example, if you need `AnyEvent` you can do:
```nix
rxvt-unicode.override {
configure = { availablePlugins, ... }: {
perlDeps = with perlPackages; [ AnyEvent ];
};
}
```
## Packaging urxvt plugins {#sec-urxvt-pkg}
Urxvt plugins resides in `pkgs/applications/misc/rxvt-unicode-plugins`. To add a new plugin, create an expression in a subdirectory and add the package to the set in `pkgs/applications/misc/rxvt-unicode-plugins/default.nix`.
A plugin can be any kind of derivation, the only requirement is that it should always install perl scripts in `$out/lib/urxvt/perl`. Look for existing plugins for examples.
If the plugin is itself a Perl package that needs to be imported from other plugins or scripts, add the following passthrough:
```nix
passthru.perlPackages = [ "self" ];
```
This will make the urxvt wrapper pick up the dependency and set up the Perl path accordingly.

View File

@@ -1,85 +0,0 @@
# WeeChat {#sec-weechat}
WeeChat can be configured to include your choice of plugins, reducing its closure size from the default configuration which includes all available plugins. To make use of this functionality, install an expression that overrides its configuration, such as:
```nix
weechat.override {configure = {availablePlugins, ...}: {
plugins = with availablePlugins; [ python perl ];
}
}
```
If the `configure` function returns an attrset without the `plugins` attribute, `availablePlugins` will be used automatically.
The plugins currently available are `python`, `perl`, `ruby`, `guile`, `tcl` and `lua`.
The Python and Perl plugins allows the addition of extra libraries. For instance, the `inotify.py` script in `weechat-scripts` requires D-Bus or libnotify, and the `fish.py` script requires `pycrypto`. To use these scripts, use the plugin's `withPackages` attribute:
```nix
weechat.override { configure = {availablePlugins, ...}: {
plugins = with availablePlugins; [
(python.withPackages (ps: with ps; [ pycrypto python-dbus ]))
];
};
}
```
In order to also keep all default plugins installed, it is possible to use the following method:
```nix
weechat.override { configure = { availablePlugins, ... }: {
plugins = builtins.attrValues (availablePlugins // {
python = availablePlugins.python.withPackages (ps: with ps; [ pycrypto python-dbus ]);
});
}; }
```
WeeChat allows to set defaults on startup using the `--run-command`. The `configure` method can be used to pass commands to the program:
```nix
weechat.override {
configure = { availablePlugins, ... }: {
init = ''
/set foo bar
/server add libera irc.libera.chat
'';
};
}
```
Further values can be added to the list of commands when running `weechat --run-command "your-commands"`.
Additionally, it's possible to specify scripts to be loaded when starting `weechat`. These will be loaded before the commands from `init`:
```nix
weechat.override {
configure = { availablePlugins, ... }: {
scripts = with pkgs.weechatScripts; [
weechat-xmpp weechat-matrix-bridge wee-slack
];
init = ''
/set plugins.var.python.jabber.key "val"
'':
};
}
```
In `nixpkgs` there's a subpackage which contains derivations for WeeChat scripts. Such derivations expect a `passthru.scripts` attribute, which contains a list of all scripts inside the store path. Furthermore, all scripts have to live in `$out/share`. An exemplary derivation looks like this:
```nix
{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "exemplary-weechat-script";
src = fetchurl {
url = "https://scripts.tld/your-scripts.tar.gz";
hash = "...";
};
passthru.scripts = [ "foo.py" "bar.lua" ];
installPhase = ''
mkdir $out/share
cp foo.py $out/share
cp bar.lua $out/share
'';
}
```

View File

@@ -1,34 +0,0 @@
# X.org {#sec-xorg}
The Nix expressions for the X.org packages reside in `pkgs/servers/x11/xorg/default.nix`. This file is automatically generated from lists of tarballs in an X.org release. As such it should not be modified directly; rather, you should modify the lists, the generator script or the file `pkgs/servers/x11/xorg/overrides.nix`, in which you can override or add to the derivations produced by the generator.
## Katamari Tarballs {#katamari-tarballs}
X.org upstream releases used to include [katamari](https://en.wiktionary.org/wiki/%E3%81%8B%E3%81%9F%E3%81%BE%E3%82%8A) releases, which included a holistic recommended version for each tarball, up until 7.7. To create a list of tarballs in a katamari release:
```ShellSession
export release="X11R7.7"
export url="mirror://xorg/$release/src/everything/"
cat $(PRINT_PATH=1 nix-prefetch-url $url | tail -n 1) \
| perl -e 'while (<>) { if (/(href|HREF)="([^"]*.bz2)"/) { print "$ENV{'url'}$2\n"; }; }' \
| sort > "tarballs-$release.list"
```
## Individual Tarballs {#individual-tarballs}
The upstream release process for [X11R7.8](https://x.org/wiki/Releases/7.8/) does not include a planned katamari. Instead, each component of X.org is released as its own tarball. We maintain `pkgs/servers/x11/xorg/tarballs.list` as a list of tarballs for each individual package. This list includes X.org core libraries and protocol descriptions, extra newer X11 interface libraries, like `xorg.libxcb`, and classic utilities which are largely unused but still available if needed, like `xorg.imake`.
## Generating Nix Expressions {#generating-nix-expressions}
The generator is invoked as follows:
```ShellSession
cd pkgs/servers/x11/xorg
<tarballs.list perl ./generate-expr-from-tarballs.pl
```
For each of the tarballs in the `.list` files, the script downloads it, unpacks it, and searches its `configure.ac` and `*.pc.in` files for dependencies. This information is used to generate `default.nix`. The generator caches downloaded tarballs between runs. Pay close attention to the `NOT FOUND: $NAME` messages at the end of the run, since they may indicate missing dependencies. (Some might be optional dependencies, however.)
## Overriding the Generator {#overriding-the-generator}
If the expression for a package requires derivation attributes that the generator cannot figure out automatically (say, `patches` or a `postInstall` hook), you should modify `pkgs/servers/x11/xorg/overrides.nix`.

View File

@@ -1,12 +0,0 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="chap-special">
<title>Special builders</title>
<para>
This chapter describes several special builders.
</para>
<xi:include href="special/fhs-environments.section.xml" />
<xi:include href="special/makesetuphook.section.xml" />
<xi:include href="special/mkshell.section.xml" />
<xi:include href="special/darwin-builder.section.xml" />
</chapter>

View File

@@ -1,63 +0,0 @@
# darwin.builder {#sec-darwin-builder}
`darwin.builder` provides a way to bootstrap a Linux builder on a macOS machine.
This requires macOS version 12.4 or later.
This also requires that port 22 on your machine is free (since Nix does not
permit specifying a non-default SSH port for builders).
You will also need to be a trusted user for your Nix installation. In other
words, your `/etc/nix/nix.conf` should have something like:
```
extra-trusted-users = <your username goes here>
```
To launch the builder, run the following flake:
```ShellSession
$ nix run nixpkgs#darwin.builder
```
That will prompt you to enter your `sudo` password:
```
+ sudo --reset-timestamp /nix/store/…-install-credentials.sh ./keys
Password:
```
… so that it can install a private key used to `ssh` into the build server.
After that the script will launch the virtual machine and automatically log you
in as the `builder` user:
```
<<< Welcome to NixOS 22.11.20220901.1bd8d11 (aarch64) - ttyAMA0 >>>
Run 'nixos-help' for the NixOS manual.
nixos login: builder (automatic login)
[builder@nixos:~]$
```
> Note: When you need to stop the VM, run `shutdown now` as the `builder` user.
To delegate builds to the remote builder, add the following options to your
`nix.conf` file:
```
# - Replace ${ARCH} with either aarch64 or x86_64 to match your host machine
# - Replace ${MAX_JOBS} with the maximum number of builds (pick 4 if you're not sure)
builders = ssh-ng://builder@localhost ${ARCH}-linux /etc/nix/builder_ed25519 ${MAX_JOBS} - - - c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUpCV2N4Yi9CbGFxdDFhdU90RStGOFFVV3JVb3RpQzVxQkorVXVFV2RWQ2Igcm9vdEBuaXhvcwo=
# Not strictly necessary, but this will reduce your disk utilization
builders-use-substitutes = true
```
… and then restart your Nix daemon to apply the change:
```ShellSession
$ sudo launchctl kickstart -k system/org.nixos.nix-daemon
```

View File

@@ -1,49 +0,0 @@
# buildFHSUserEnv {#sec-fhs-environments}
`buildFHSUserEnv` provides a way to build and run FHS-compatible lightweight sandboxes. It creates an isolated root with bound `/nix/store`, so its footprint in terms of disk space needed is quite small. This allows one to run software which is hard or unfeasible to patch for NixOS -- 3rd-party source trees with FHS assumptions, games distributed as tarballs, software with integrity checking and/or external self-updated binaries. It uses Linux namespaces feature to create temporary lightweight environments which are destroyed after all child processes exit, without root user rights requirement. Accepted arguments are:
- `name`
Environment name.
- `targetPkgs`
Packages to be installed for the main host's architecture (i.e. x86_64 on x86_64 installations). Along with libraries binaries are also installed.
- `multiPkgs`
Packages to be installed for all architectures supported by a host (i.e. i686 and x86_64 on x86_64 installations). Only libraries are installed by default.
- `extraBuildCommands`
Additional commands to be executed for finalizing the directory structure.
- `extraBuildCommandsMulti`
Like `extraBuildCommands`, but executed only on multilib architectures.
- `extraOutputsToInstall`
Additional derivation outputs to be linked for both target and multi-architecture packages.
- `extraInstallCommands`
Additional commands to be executed for finalizing the derivation with runner script.
- `runScript`
A command that would be executed inside the sandbox and passed all the command line arguments. It defaults to `bash`.
- `profile`
Optional script for `/etc/profile` within the sandbox.
One can create a simple environment using a `shell.nix` like that:
```nix
{ pkgs ? import <nixpkgs> {} }:
(pkgs.buildFHSUserEnv {
name = "simple-x11-env";
targetPkgs = pkgs: (with pkgs;
[ udev
alsa-lib
]) ++ (with pkgs.xorg;
[ libX11
libXcursor
libXrandr
]);
multiPkgs = pkgs: (with pkgs;
[ udev
alsa-lib
]);
runScript = "bash";
}).env
```
Running `nix-shell` would then drop you into a shell with these libraries and binaries available. You can use this to run closed-source applications which expect FHS structure without hassles: simply change `runScript` to the application path, e.g. `./bin/start.sh` -- relative paths are supported.
Additionally, the FHS builder links all relocated gsettings-schemas (the glib setup-hook moves them to `share/gsettings-schemas/${name}/glib-2.0/schemas`) to their standard FHS location. This means you don't need to wrap binaries with `wrapGAppsHook`.

View File

@@ -1,37 +0,0 @@
# pkgs.makeSetupHook {#sec-pkgs.makeSetupHook}
`pkgs.makeSetupHook` is a builder that produces hooks that go in to `nativeBuildInputs`
## Usage {#sec-pkgs.makeSetupHook-usage}
```nix
pkgs.makeSetupHook {
name = "something-hook";
propagatedBuildInputs = [ pkgs.commandsomething ];
depsTargetTargetPropagated = [ pkgs.libsomething ];
} ./script.sh
```
#### setup hook that depends on the hello package and runs hello and @shell@ is substituted with path to bash
```nix
pkgs.makeSetupHook {
name = "run-hello-hook";
propagatedBuildInputs = [ pkgs.hello ];
substitutions = { shell = "${pkgs.bash}/bin/bash"; };
passthru.tests.greeting = callPackage ./test { };
meta.platforms = lib.platforms.linux;
} (writeScript "run-hello-hook.sh" ''
#!@shell@
hello
'')
```
## Attributes
* `name` Set the name of the hook.
* `propagatedBuildInputs` Runtime dependencies (such as binaries) of the hook.
* `depsTargetTargetPropagated` Non-binary dependencies.
* `meta`
* `passthru`
* `substitutions` Variables for `substituteAll`

View File

@@ -1,37 +0,0 @@
# pkgs.mkShell {#sec-pkgs-mkShell}
`pkgs.mkShell` is a specialized `stdenv.mkDerivation` that removes some
repetition when using it with `nix-shell` (or `nix develop`).
## Usage {#sec-pkgs-mkShell-usage}
Here is a common usage example:
```nix
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
packages = [ pkgs.gnumake ];
inputsFrom = [ pkgs.hello pkgs.gnutar ];
shellHook = ''
export DEBUG=1
'';
}
```
## Attributes
* `name` (default: `nix-shell`). Set the name of the derivation.
* `packages` (default: `[]`). Add executable packages to the `nix-shell` environment.
* `inputsFrom` (default: `[]`). Add build dependencies of the listed derivations to the `nix-shell` environment.
* `shellHook` (default: `""`). Bash statements that are executed by `nix-shell`.
... all the attributes of `stdenv.mkDerivation`.
## Building the shell
This derivation output will contain a text file that contains a reference to
all the build inputs. This is useful in CI where we want to make sure that
every derivation, and its dependencies, build properly. Or when creating a GC
root so that the build dependencies don't get garbage-collected.

View File

@@ -1,211 +0,0 @@
# Testers {#chap-testers}
This chapter describes several testing builders which are available in the <literal>testers</literal> namespace.
## `hasPkgConfigModule` {#tester-hasPkgConfigModule}
Checks whether a package exposes a certain `pkg-config` module.
Example:
```nix
passthru.tests.pkg-config = testers.hasPkgConfigModule {
package = finalAttrs.finalPackage;
moduleName = "libfoo";
}
```
## `testVersion` {#tester-testVersion}
Checks the command output contains the specified version
Although simplistic, this test assures that the main program
can run. While there's no substitute for a real test case,
it does catch dynamic linking errors and such. It also provides
some protection against accidentally building the wrong version,
for example when using an 'old' hash in a fixed-output derivation.
Examples:
```nix
passthru.tests.version = testers.testVersion { package = hello; };
passthru.tests.version = testers.testVersion {
package = seaweedfs;
command = "weed version";
};
passthru.tests.version = testers.testVersion {
package = key;
command = "KeY --help";
# Wrong '2.5' version in the code. Drop on next version.
version = "2.5";
};
passthru.tests.version = testers.testVersion {
package = ghr;
# The output needs to contain the 'version' string without any prefix or suffix.
version = "v${version}";
};
```
## `testBuildFailure` {#tester-testBuildFailure}
Make sure that a build does not succeed. This is useful for testing testers.
This returns a derivation with an override on the builder, with the following effects:
- Fail the build when the original builder succeeds
- Move `$out` to `$out/result`, if it exists (assuming `out` is the default output)
- Save the build log to `$out/testBuildFailure.log` (same)
Example:
```nix
runCommand "example" {
failed = testers.testBuildFailure (runCommand "fail" {} ''
echo ok-ish >$out
echo failing though
exit 3
'');
} ''
grep -F 'ok-ish' $failed/result
grep -F 'failing though' $failed/testBuildFailure.log
[[ 3 = $(cat $failed/testBuildFailure.exit) ]]
touch $out
'';
```
While `testBuildFailure` is designed to keep changes to the original builder's
environment to a minimum, some small changes are inevitable.
- The file `$TMPDIR/testBuildFailure.log` is present. It should not be deleted.
- `stdout` and `stderr` are a pipe instead of a tty. This could be improved.
- One or two extra processes are present in the sandbox during the original
builder's execution.
- The derivation and output hashes are different, but not unusual.
- The derivation includes a dependency on `buildPackages.bash` and
`expect-failure.sh`, which is built to include a transitive dependency on
`buildPackages.coreutils` and possibly more. These are not added to `PATH`
or any other environment variable, so they should be hard to observe.
## `testEqualContents` {#tester-equalContents}
Check that two paths have the same contents.
Example:
```nix
testers.testEqualContents {
assertion = "sed -e performs replacement";
expected = writeText "expected" ''
foo baz baz
'';
actual = runCommand "actual" {
# not really necessary for a package that's in stdenv
nativeBuildInputs = [ gnused ];
base = writeText "base" ''
foo bar baz
'';
} ''
sed -e 's/bar/baz/g' $base >$out
'';
}
```
## `testEqualDerivation` {#tester-testEqualDerivation}
Checks that two packages produce the exact same build instructions.
This can be used to make sure that a certain difference of configuration,
such as the presence of an overlay does not cause a cache miss.
When the derivations are equal, the return value is an empty file.
Otherwise, the build log explains the difference via `nix-diff`.
Example:
```nix
testers.testEqualDerivation
"The hello package must stay the same when enabling checks."
hello
(hello.overrideAttrs(o: { doCheck = true; }))
```
## `invalidateFetcherByDrvHash` {#tester-invalidateFetcherByDrvHash}
Use the derivation hash to invalidate the output via name, for testing.
Type: `(a@{ name, ... } -> Derivation) -> a -> Derivation`
Normally, fixed output derivations can and should be cached by their output
hash only, but for testing we want to re-fetch everytime the fetcher changes.
Changes to the fetcher become apparent in the drvPath, which is a hash of
how to fetch, rather than a fixed store path.
By inserting this hash into the name, we can make sure to re-run the fetcher
every time the fetcher changes.
This relies on the assumption that Nix isn't clever enough to reuse its
database of local store contents to optimize fetching.
You might notice that the "salted" name derives from the normal invocation,
not the final derivation. `invalidateFetcherByDrvHash` has to invoke the fetcher
function twice: once to get a derivation hash, and again to produce the final
fixed output derivation.
Example:
```nix
tests.fetchgit = testers.invalidateFetcherByDrvHash fetchgit {
name = "nix-source";
url = "https://github.com/NixOS/nix";
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
hash = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
};
```
## `nixosTest` {#tester-nixosTest}
Run a NixOS VM network test using this evaluation of Nixpkgs.
NOTE: This function is primarily for external use. NixOS itself uses `make-test-python.nix` directly. Packages defined in Nixpkgs [reuse NixOS tests via `nixosTests`, plural](#ssec-nixos-tests-linking).
It is mostly equivalent to the function `import ./make-test-python.nix` from the
[NixOS manual](https://nixos.org/nixos/manual/index.html#sec-nixos-tests),
except that the current application of Nixpkgs (`pkgs`) will be used, instead of
letting NixOS invoke Nixpkgs anew.
If a test machine needs to set NixOS options under `nixpkgs`, it must set only the
`nixpkgs.pkgs` option.
### Parameter
A [NixOS VM test network](https://nixos.org/nixos/manual/index.html#sec-nixos-tests), or path to it. Example:
```nix
{
name = "my-test";
nodes = {
machine1 = { lib, pkgs, nodes, ... }: {
environment.systemPackages = [ pkgs.hello ];
services.foo.enable = true;
};
# machine2 = ...;
};
testScript = ''
start_all()
machine1.wait_for_unit("foo.service")
machine1.succeed("hello | foo-send")
'';
}
```
### Result
A derivation that runs the VM test.
Notable attributes:
* `nodes`: the evaluated NixOS configurations. Useful for debugging and exploring the configuration.
* `driverInteractive`: a script that launches an interactive Python session in the context of the `testScript`.

View File

@@ -1,223 +0,0 @@
# Trivial builders {#chap-trivial-builders}
Nixpkgs provides a couple of functions that help with building derivations. The most important one, `stdenv.mkDerivation`, has already been documented above. The following functions wrap `stdenv.mkDerivation`, making it easier to use in certain cases.
## `runCommand` {#trivial-builder-runCommand}
This takes three arguments, `name`, `env`, and `buildCommand`. `name` is just the name that Nix will append to the store path in the same way that `stdenv.mkDerivation` uses its `name` attribute. `env` is an attribute set specifying environment variables that will be set for this derivation. These attributes are then passed to the wrapped `stdenv.mkDerivation`. `buildCommand` specifies the commands that will be run to create this derivation. Note that you will need to create `$out` for Nix to register the command as successful.
An example of using `runCommand` is provided below.
```nix
(import <nixpkgs> {}).runCommand "my-example" {} ''
echo My example command is running
mkdir $out
echo I can write data to the Nix store > $out/message
echo I can also run basic commands like:
echo ls
ls
echo whoami
whoami
echo date
date
''
```
## `runCommandCC` {#trivial-builder-runCommandCC}
This works just like `runCommand`. The only difference is that it also provides a C compiler in `buildCommand`'s environment. To minimize your dependencies, you should only use this if you are sure you will need a C compiler as part of running your command.
## `runCommandLocal` {#trivial-builder-runCommandLocal}
Variant of `runCommand` that forces the derivation to be built locally, it is not substituted. This is intended for very cheap commands (<1s execution time). It saves on the network round-trip and can speed up a build.
::: {.note}
This sets [`allowSubstitutes` to `false`](https://nixos.org/nix/manual/#adv-attr-allowSubstitutes), so only use `runCommandLocal` if you are certain the user will always have a builder for the `system` of the derivation. This should be true for most trivial use cases (e.g., just copying some files to a different location or adding symlinks) because there the `system` is usually the same as `builtins.currentSystem`.
:::
## `writeTextFile`, `writeText`, `writeTextDir`, `writeScript`, `writeScriptBin` {#trivial-builder-writeText}
These functions write `text` to the Nix store. This is useful for creating scripts from Nix expressions. `writeTextFile` takes an attribute set and expects two arguments, `name` and `text`. `name` corresponds to the name used in the Nix store path. `text` will be the contents of the file. You can also set `executable` to true to make this file have the executable bit set.
Many more commands wrap `writeTextFile` including `writeText`, `writeTextDir`, `writeScript`, and `writeScriptBin`. These are convenience functions over `writeTextFile`.
Here are a few examples:
```nix
# Writes my-file to /nix/store/<store path>
writeTextFile {
name = "my-file";
text = ''
Contents of File
'';
}
# See also the `writeText` helper function below.
# Writes executable my-file to /nix/store/<store path>/bin/my-file
writeTextFile {
name = "my-file";
text = ''
Contents of File
'';
executable = true;
destination = "/bin/my-file";
}
# Writes contents of file to /nix/store/<store path>
writeText "my-file"
''
Contents of File
'';
# Writes contents of file to /nix/store/<store path>/share/my-file
writeTextDir "share/my-file"
''
Contents of File
'';
# Writes my-file to /nix/store/<store path> and makes executable
writeScript "my-file"
''
Contents of File
'';
# Writes my-file to /nix/store/<store path>/bin/my-file and makes executable.
writeScriptBin "my-file"
''
Contents of File
'';
# Writes my-file to /nix/store/<store path> and makes executable.
writeShellScript "my-file"
''
Contents of File
'';
# Writes my-file to /nix/store/<store path>/bin/my-file and makes executable.
writeShellScriptBin "my-file"
''
Contents of File
'';
```
## `concatTextFile`, `concatText`, `concatScript` {#trivial-builder-concatText}
These functions concatenate `files` to the Nix store in a single file. This is useful for configuration files structured in lines of text. `concatTextFile` takes an attribute set and expects two arguments, `name` and `files`. `name` corresponds to the name used in the Nix store path. `files` will be the files to be concatenated. You can also set `executable` to true to make this file have the executable bit set.
`concatText` and`concatScript` are simple wrappers over `concatTextFile`.
Here are a few examples:
```nix
# Writes my-file to /nix/store/<store path>
concatTextFile {
name = "my-file";
files = [ drv1 "${drv2}/path/to/file" ];
}
# See also the `concatText` helper function below.
# Writes executable my-file to /nix/store/<store path>/bin/my-file
concatTextFile {
name = "my-file";
files = [ drv1 "${drv2}/path/to/file" ];
executable = true;
destination = "/bin/my-file";
}
# Writes contents of files to /nix/store/<store path>
concatText "my-file" [ file1 file2 ]
# Writes contents of files to /nix/store/<store path>
concatScript "my-file" [ file1 file2 ]
```
## `writeShellApplication` {#trivial-builder-writeShellApplication}
This can be used to easily produce a shell script that has some dependencies (`runtimeInputs`). It automatically sets the `PATH` of the script to contain all of the listed inputs, sets some sanity shellopts (`errexit`, `nounset`, `pipefail`), and checks the resulting script with [`shellcheck`](https://github.com/koalaman/shellcheck).
For example, look at the following code:
```nix
writeShellApplication {
name = "show-nixos-org";
runtimeInputs = [ curl w3m ];
text = ''
curl -s 'https://nixos.org' | w3m -dump -T text/html
'';
}
```
Unlike with normal `writeShellScriptBin`, there is no need to manually write out `${curl}/bin/curl`, setting the PATH
was handled by `writeShellApplication`. Moreover, the script is being checked with `shellcheck` for more strict
validation.
## `symlinkJoin` {#trivial-builder-symlinkJoin}
This can be used to put many derivations into the same directory structure. It works by creating a new derivation and adding symlinks to each of the paths listed. It expects two arguments, `name`, and `paths`. `name` is the name used in the Nix store path for the created derivation. `paths` is a list of paths that will be symlinked. These paths can be to Nix store derivations or any other subdirectory contained within.
Here is an example:
```nix
# adds symlinks of hello and stack to current build and prints "links added"
symlinkJoin { name = "myexample"; paths = [ pkgs.hello pkgs.stack ]; postBuild = "echo links added"; }
```
This creates a derivation with a directory structure like the following:
```
/nix/store/sglsr5g079a5235hy29da3mq3hv8sjmm-myexample
|-- bin
| |-- hello -> /nix/store/qy93dp4a3rqyn2mz63fbxjg228hffwyw-hello-2.10/bin/hello
| `-- stack -> /nix/store/6lzdpxshx78281vy056lbk553ijsdr44-stack-2.1.3.1/bin/stack
`-- share
|-- bash-completion
| `-- completions
| `-- stack -> /nix/store/6lzdpxshx78281vy056lbk553ijsdr44-stack-2.1.3.1/share/bash-completion/completions/stack
|-- fish
| `-- vendor_completions.d
| `-- stack.fish -> /nix/store/6lzdpxshx78281vy056lbk553ijsdr44-stack-2.1.3.1/share/fish/vendor_completions.d/stack.fish
...
```
## `writeReferencesToFile` {#trivial-builder-writeReferencesToFile}
Writes the closure of transitive dependencies to a file.
This produces the equivalent of `nix-store -q --requisites`.
For example,
```nix
writeReferencesToFile (writeScriptBin "hi" ''${hello}/bin/hello'')
```
produces an output path `/nix/store/<hash>-runtime-deps` containing
```nix
/nix/store/<hash>-hello-2.10
/nix/store/<hash>-hi
/nix/store/<hash>-libidn2-2.3.0
/nix/store/<hash>-libunistring-0.9.10
/nix/store/<hash>-glibc-2.32-40
```
You can see that this includes `hi`, the original input path,
`hello`, which is a direct reference, but also
the other paths that are indirectly required to run `hello`.
## `writeDirectReferencesToFile` {#trivial-builder-writeDirectReferencesToFile}
Writes the set of references to the output file, that is, their immediate dependencies.
This produces the equivalent of `nix-store -q --references`.
For example,
```nix
writeDirectReferencesToFile (writeScriptBin "hi" ''${hello}/bin/hello'')
```
produces an output path `/nix/store/<hash>-runtime-references` containing
```nix
/nix/store/<hash>-hello-2.10
```
but none of `hello`'s dependencies because those are not referenced directly
by `hi`'s output.

665
doc/coding-conventions.xml Normal file
View File

@@ -0,0 +1,665 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="chap-conventions">
<title>Coding conventions</title>
<section xml:id="sec-syntax"><title>Syntax</title>
<itemizedlist>
<listitem><para>Use 2 spaces of indentation per indentation level in
Nix expressions, 4 spaces in shell scripts.</para></listitem>
<listitem><para>Do not use tab characters, i.e. configure your
editor to use soft tabs. For instance, use <literal>(setq-default
indent-tabs-mode nil)</literal> in Emacs. Everybody has different
tab settings so its asking for trouble.</para></listitem>
<listitem><para>Use <literal>lowerCamelCase</literal> for variable
names, not <literal>UpperCamelCase</literal>. TODO: naming of
attributes in
<filename>all-packages.nix</filename>?</para></listitem>
<listitem><para>Function calls with attribute set arguments are
written as
<programlisting>
foo {
arg = ...;
}
</programlisting>
not
<programlisting>
foo
{
arg = ...;
}
</programlisting>
Also fine is
<programlisting>
foo { arg = ...; }
</programlisting>
if it's a short call.</para></listitem>
<listitem><para>In attribute sets or lists that span multiple lines,
the attribute names or list elements should be aligned:
<programlisting>
# A long list.
list =
[ elem1
elem2
elem3
];
# A long attribute set.
attrs =
{ attr1 = short_expr;
attr2 =
if true then big_expr else big_expr;
};
# Alternatively:
attrs = {
attr1 = short_expr;
attr2 =
if true then big_expr else big_expr;
};
</programlisting>
</para></listitem>
<listitem><para>Short lists or attribute sets can be written on one
line:
<programlisting>
# A short list.
list = [ elem1 elem2 elem3 ];
# A short set.
attrs = { x = 1280; y = 1024; };
</programlisting>
</para></listitem>
<listitem><para>Breaking in the middle of a function argument can
give hard-to-read code, like
<programlisting>
someFunction { x = 1280;
y = 1024; } otherArg
yetAnotherArg
</programlisting>
(especially if the argument is very large, spanning multiple
lines).</para>
<para>Better:
<programlisting>
someFunction
{ x = 1280; y = 1024; }
otherArg
yetAnotherArg
</programlisting>
or
<programlisting>
let res = { x = 1280; y = 1024; };
in someFunction res otherArg yetAnotherArg
</programlisting>
</para></listitem>
<listitem><para>The bodies of functions, asserts, and withs are not
indented to prevent a lot of superfluous indentation levels, i.e.
<programlisting>
{ arg1, arg2 }:
assert system == "i686-linux";
stdenv.mkDerivation { ...
</programlisting>
not
<programlisting>
{ arg1, arg2 }:
assert system == "i686-linux";
stdenv.mkDerivation { ...
</programlisting>
</para></listitem>
<listitem><para>Function formal arguments are written as:
<programlisting>
{ arg1, arg2, arg3 }:
</programlisting>
but if they don't fit on one line they're written as:
<programlisting>
{ arg1, arg2, arg3
, arg4, ...
, # Some comment...
argN
}:
</programlisting>
</para></listitem>
<listitem><para>Functions should list their expected arguments as
precisely as possible. That is, write
<programlisting>
{ stdenv, fetchurl, perl }: <replaceable>...</replaceable>
</programlisting>
instead of
<programlisting>
args: with args; <replaceable>...</replaceable>
</programlisting>
or
<programlisting>
{ stdenv, fetchurl, perl, ... }: <replaceable>...</replaceable>
</programlisting>
</para>
<para>For functions that are truly generic in the number of
arguments (such as wrappers around <varname>mkDerivation</varname>)
that have some required arguments, you should write them using an
<literal>@</literal>-pattern:
<programlisting>
{ stdenv, doCoverageAnalysis ? false, ... } @ args:
stdenv.mkDerivation (args // {
<replaceable>...</replaceable> if doCoverageAnalysis then "bla" else "" <replaceable>...</replaceable>
})
</programlisting>
instead of
<programlisting>
args:
args.stdenv.mkDerivation (args // {
<replaceable>...</replaceable> if args ? doCoverageAnalysis &amp;&amp; args.doCoverageAnalysis then "bla" else "" <replaceable>...</replaceable>
})
</programlisting>
</para></listitem>
</itemizedlist>
</section>
<section xml:id="sec-package-naming"><title>Package naming</title>
<para>In Nixpkgs, there are generally three different names associated with a package:
<itemizedlist>
<listitem><para>The <varname>name</varname> attribute of the
derivation (excluding the version part). This is what most users
see, in particular when using
<command>nix-env</command>.</para></listitem>
<listitem><para>The variable name used for the instantiated package
in <filename>all-packages.nix</filename>, and when passing it as a
dependency to other functions. This is what Nix expression authors
see. It can also be used when installing using <command>nix-env
-iA</command>.</para></listitem>
<listitem><para>The filename for (the directory containing) the Nix
expression.</para></listitem>
</itemizedlist>
Most of the time, these are the same. For instance, the package
<literal>e2fsprogs</literal> has a <varname>name</varname> attribute
<literal>"e2fsprogs-<replaceable>version</replaceable>"</literal>, is
bound to the variable name <varname>e2fsprogs</varname> in
<filename>all-packages.nix</filename>, and the Nix expression is in
<filename>pkgs/os-specific/linux/e2fsprogs/default.nix</filename>.
</para>
<para>There are a few naming guidelines:
<itemizedlist>
<listitem><para>Generally, try to stick to the upstream package
name.</para></listitem>
<listitem><para>Dont use uppercase letters in the
<literal>name</literal> attribute — e.g.,
<literal>"mplayer-1.0rc2"</literal> instead of
<literal>"MPlayer-1.0rc2"</literal>.</para></listitem>
<listitem><para>The version part of the <literal>name</literal>
attribute <emphasis>must</emphasis> start with a digit (following a
dash) — e.g., <literal>"hello-0.3-pre-r3910"</literal> instead of
<literal>"hello-svn-r3910"</literal>, as the latter would be seen as
a package named <literal>hello-svn</literal> by
<command>nix-env</command>.</para></listitem>
<listitem><para>If package is fetched from git's commit then
the version part of the name <emphasis>must</emphasis> be the date of that
(fetched) commit. The date must be in <literal>"YYYY-MM-DD"</literal> format.
Also add <literal>"git"</literal> to the name - e.g.,
<literal>"pkgname-git-2014-09-23"</literal>.</para></listitem>
<listitem><para>Dashes in the package name should be preserved
in new variable names, rather than converted to underscores
(which was convention up to around 2013 and most names
still have underscores instead of dashes) — e.g.,
<varname>http-parser</varname> instead of
<varname>http_parser</varname>.</para></listitem>
<listitem><para>If there are multiple versions of a package, this
should be reflected in the variable names in
<filename>all-packages.nix</filename>,
e.g. <varname>json-c-0-9</varname> and <varname>json-c-0-11</varname>.
If there is an obvious “default” version, make an attribute like
<literal>json-c = json-c-0-9;</literal>.
See also <xref linkend="sec-versioning" /></para></listitem>
</itemizedlist>
</para>
</section>
<section xml:id="sec-organisation"><title>File naming and organisation</title>
<para>Names of files and directories should be in lowercase, with
dashes between words — not in camel case. For instance, it should be
<filename>all-packages.nix</filename>, not
<filename>allPackages.nix</filename> or
<filename>AllPackages.nix</filename>.</para>
<section xml:id="sec-hierarchy"><title>Hierarchy</title>
<para>Each package should be stored in its own directory somewhere in
the <filename>pkgs/</filename> tree, i.e. in
<filename>pkgs/<replaceable>category</replaceable>/<replaceable>subcategory</replaceable>/<replaceable>...</replaceable>/<replaceable>pkgname</replaceable></filename>.
Below are some rules for picking the right category for a package.
Many packages fall under several categories; what matters is the
<emphasis>primary</emphasis> purpose of a package. For example, the
<literal>libxml2</literal> package builds both a library and some
tools; but its a library foremost, so it goes under
<filename>pkgs/development/libraries</filename>.</para>
<para>When in doubt, consider refactoring the
<filename>pkgs/</filename> tree, e.g. creating new categories or
splitting up an existing category.</para>
<variablelist>
<varlistentry>
<term>If its used to support <emphasis>software development</emphasis>:</term>
<listitem>
<variablelist>
<varlistentry>
<term>If its a <emphasis>library</emphasis> used by other packages:</term>
<listitem>
<para><filename>development/libraries</filename> (e.g. <filename>libxml2</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its a <emphasis>compiler</emphasis>:</term>
<listitem>
<para><filename>development/compilers</filename> (e.g. <filename>gcc</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its an <emphasis>interpreter</emphasis>:</term>
<listitem>
<para><filename>development/interpreters</filename> (e.g. <filename>guile</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its a (set of) development <emphasis>tool(s)</emphasis>:</term>
<listitem>
<variablelist>
<varlistentry>
<term>If its a <emphasis>parser generator</emphasis> (including lexers):</term>
<listitem>
<para><filename>development/tools/parsing</filename> (e.g. <filename>bison</filename>, <filename>flex</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its a <emphasis>build manager</emphasis>:</term>
<listitem>
<para><filename>development/tools/build-managers</filename> (e.g. <filename>gnumake</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Else:</term>
<listitem>
<para><filename>development/tools/misc</filename> (e.g. <filename>binutils</filename>)</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>Else:</term>
<listitem>
<para><filename>development/misc</filename></para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>If its a (set of) <emphasis>tool(s)</emphasis>:</term>
<listitem>
<para>(A tool is a relatively small program, especially one intented
to be used non-interactively.)</para>
<variablelist>
<varlistentry>
<term>If its for <emphasis>networking</emphasis>:</term>
<listitem>
<para><filename>tools/networking</filename> (e.g. <filename>wget</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its for <emphasis>text processing</emphasis>:</term>
<listitem>
<para><filename>tools/text</filename> (e.g. <filename>diffutils</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its a <emphasis>system utility</emphasis>, i.e.,
something related or essential to the operation of a
system:</term>
<listitem>
<para><filename>tools/system</filename> (e.g. <filename>cron</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its an <emphasis>archiver</emphasis> (which may
include a compression function):</term>
<listitem>
<para><filename>tools/archivers</filename> (e.g. <filename>zip</filename>, <filename>tar</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its a <emphasis>compression</emphasis> program:</term>
<listitem>
<para><filename>tools/compression</filename> (e.g. <filename>gzip</filename>, <filename>bzip2</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its a <emphasis>security</emphasis>-related program:</term>
<listitem>
<para><filename>tools/security</filename> (e.g. <filename>nmap</filename>, <filename>gnupg</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Else:</term>
<listitem>
<para><filename>tools/misc</filename></para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>If its a <emphasis>shell</emphasis>:</term>
<listitem>
<para><filename>shells</filename> (e.g. <filename>bash</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its a <emphasis>server</emphasis>:</term>
<listitem>
<variablelist>
<varlistentry>
<term>If its a web server:</term>
<listitem>
<para><filename>servers/http</filename> (e.g. <filename>apache-httpd</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its an implementation of the X Windowing System:</term>
<listitem>
<para><filename>servers/x11</filename> (e.g. <filename>xorg</filename> — this includes the client libraries and programs)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Else:</term>
<listitem>
<para><filename>servers/misc</filename></para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>If its a <emphasis>desktop environment</emphasis>:</term>
<listitem>
<para><filename>desktops</filename> (e.g. <filename>kde</filename>, <filename>gnome</filename>, <filename>enlightenment</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its a <emphasis>window manager</emphasis>:</term>
<listitem>
<para><filename>applications/window-managers</filename> (e.g. <filename>awesome</filename>, <filename>compiz</filename>, <filename>stumpwm</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its an <emphasis>application</emphasis>:</term>
<listitem>
<para>A (typically large) program with a distinct user
interface, primarily used interactively.</para>
<variablelist>
<varlistentry>
<term>If its a <emphasis>version management system</emphasis>:</term>
<listitem>
<para><filename>applications/version-management</filename> (e.g. <filename>subversion</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its for <emphasis>video playback / editing</emphasis>:</term>
<listitem>
<para><filename>applications/video</filename> (e.g. <filename>vlc</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its for <emphasis>graphics viewing / editing</emphasis>:</term>
<listitem>
<para><filename>applications/graphics</filename> (e.g. <filename>gimp</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its for <emphasis>networking</emphasis>:</term>
<listitem>
<variablelist>
<varlistentry>
<term>If its a <emphasis>mailreader</emphasis>:</term>
<listitem>
<para><filename>applications/networking/mailreaders</filename> (e.g. <filename>thunderbird</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its a <emphasis>newsreader</emphasis>:</term>
<listitem>
<para><filename>applications/networking/newsreaders</filename> (e.g. <filename>pan</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its a <emphasis>web browser</emphasis>:</term>
<listitem>
<para><filename>applications/networking/browsers</filename> (e.g. <filename>firefox</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Else:</term>
<listitem>
<para><filename>applications/networking/misc</filename></para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>Else:</term>
<listitem>
<para><filename>applications/misc</filename></para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>If its <emphasis>data</emphasis> (i.e., does not have a
straight-forward executable semantics):</term>
<listitem>
<variablelist>
<varlistentry>
<term>If its a <emphasis>font</emphasis>:</term>
<listitem>
<para><filename>data/fonts</filename></para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its related to <emphasis>SGML/XML processing</emphasis>:</term>
<listitem>
<variablelist>
<varlistentry>
<term>If its an <emphasis>XML DTD</emphasis>:</term>
<listitem>
<para><filename>data/sgml+xml/schemas/xml-dtd</filename> (e.g. <filename>docbook</filename>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>If its an <emphasis>XSLT stylesheet</emphasis>:</term>
<listitem>
<para>(Okay, these are executable...)</para>
<para><filename>data/sgml+xml/stylesheets/xslt</filename> (e.g. <filename>docbook-xsl</filename>)</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>If its a <emphasis>game</emphasis>:</term>
<listitem>
<para><filename>games</filename></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Else:</term>
<listitem>
<para><filename>misc</filename></para>
</listitem>
</varlistentry>
</variablelist>
</section>
<section xml:id="sec-versioning"><title>Versioning</title>
<para>Because every version of a package in Nixpkgs creates a
potential maintenance burden, old versions of a package should not be
kept unless there is a good reason to do so. For instance, Nixpkgs
contains several versions of GCC because other packages dont build
with the latest version of GCC. Other examples are having both the
latest stable and latest pre-release version of a package, or to keep
several major releases of an application that differ significantly in
functionality.</para>
<para>If there is only one version of a package, its Nix expression
should be named <filename>e2fsprogs/default.nix</filename>. If there
are multiple versions, this should be reflected in the filename,
e.g. <filename>e2fsprogs/1.41.8.nix</filename> and
<filename>e2fsprogs/1.41.9.nix</filename>. The version in the
filename should leave out unnecessary detail. For instance, if we
keep the latest Firefox 2.0.x and 3.5.x versions in Nixpkgs, they
should be named <filename>firefox/2.0.nix</filename> and
<filename>firefox/3.5.nix</filename>, respectively (which, at a given
point, might contain versions <literal>2.0.0.20</literal> and
<literal>3.5.4</literal>). If a version requires many auxiliary
files, you can use a subdirectory for each version,
e.g. <filename>firefox/2.0/default.nix</filename> and
<filename>firefox/3.5/default.nix</filename>.</para>
<para>All versions of a package <emphasis>must</emphasis> be included
in <filename>all-packages.nix</filename> to make sure that they
evaluate correctly.</para>
</section>
</section>
<section xml:id="sec-sources"><title>Fetching Sources</title>
<para>There are multiple ways to fetch a package source in nixpkgs. The
general guidline is that you should package sources with a high degree of
availability. Right now there is only one fetcher which has mirroring
support and that is <literal>fetchurl</literal>. Note that you should also
prefer protocols which have a corresponding proxy environment variable.
</para>
<para>You can find many source fetch helpers in <literal>pkgs/build-support/fetch*</literal>.
</para>
<para>In the file <literal>pkgs/top-level/all-packages.nix</literal> you can
find fetch helpers, these have names on the form
<literal>fetchFrom*</literal>. The intention of these are to provide
snapshot fetches but using the same api as some of the version controlled
fetchers from <literal>pkgs/build-support/</literal>. As an example going
from bad to good:
<itemizedlist>
<listitem>
<para>Uses <literal>git://</literal> which won't be proxied.
<programlisting>
src = fetchgit {
url = "git://github.com/NixOS/nix.git";
rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae";
sha256 = "1cw5fszffl5pkpa6s6wjnkiv6lm5k618s32sp60kvmvpy7a2v9kg";
}
</programlisting>
</para>
</listitem>
<listitem>
<para>This is ok, but an archive fetch will still be faster.
<programlisting>
src = fetchgit {
url = "https://github.com/NixOS/nix.git";
rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae";
sha256 = "1cw5fszffl5pkpa6s6wjnkiv6lm5k618s32sp60kvmvpy7a2v9kg";
}
</programlisting>
</para>
</listitem>
<listitem>
<para>Fetches a snapshot archive and you get the rev you want.
<programlisting>
src = fetchFromGitHub {
owner = "NixOS";
repo = "nix";
rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae";
sha256 = "04yri911rj9j19qqqn6m82266fl05pz98inasni0vxr1cf1gdgv9";
}
</programlisting>
</para>
</listitem>
</itemizedlist>
</para>
</section>
</chapter>

109
doc/configuration.xml Normal file
View File

@@ -0,0 +1,109 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="chap-packageconfig">
<title><filename>~/.nixpkgs/config.nix</filename>: global configuration</title>
<para>Nix packages can be configured to allow or deny certain options.</para>
<para>To apply the configuration edit
<filename>~/.nixpkgs/config.nix</filename> and set it like
<programlisting>
{
allowUnfree = true;
}
</programlisting>
and will allow the Nix package manager to install unfree licensed packages.</para>
<para>The configuration as listed also applies to NixOS under
<option>nixpkgs.config</option> set.</para>
<itemizedlist>
<listitem>
<para>Allow installing of packages that are distributed under
unfree license by setting <programlisting>allowUnfree =
true;</programlisting> or deny them by setting it to
<literal>false</literal>.</para>
<para>Same can be achieved by setting the environment variable:
<programlisting>
$ export NIXPKGS_ALLOW_UNFREE=1
</programlisting>
</para>
</listitem>
<listitem>
<para>Whenever unfree packages are not allowed, single packages
can still be allowed by a predicate function that accepts package
as an argument and should return a boolean:
<programlisting>
allowUnfreePredicate = (pkg: ...);
</programlisting>
Example to allow flash player only:
<programlisting>
allowUnfreePredicate = (pkg: pkgs.lib.hasPrefix "flashplayer-" pkg.name);
</programlisting>
</para>
</listitem>
<listitem>
<para>Whenever unfree packages are not allowed, packages can still
be whitelisted by their license:
<programlisting>
whitelistedLicenses = with stdenv.lib.licenses; [ amd wtfpl ];
</programlisting>
</para>
</listitem>
<listitem>
<para>In addition to whitelisting licenses which are denied by the
<literal>allowUnfree</literal> setting, you can also explicitely
deny installation of packages which have a certain license:
<programlisting>
blacklistedLicenses = with stdenv.lib.licenses; [ agpl3 gpl3 ];
</programlisting>
</para>
</listitem>
</itemizedlist>
<para>A complete list of licenses can be found in the file
<filename>lib/licenses.nix</filename> of the nix package tree.</para>
<!--============================================================-->
<section xml:id="sec-modify-via-packageOverrides"><title>Modify
packages via <literal>packageOverrides</literal></title>
<para>You can define a function called
<varname>packageOverrides</varname> in your local
<filename>~/.nixpkgs/config.nix</filename> to overide nix packages. It
must be a function that takes pkgs as an argument and return modified
set of packages.
<programlisting>
{
packageOverrides = pkgs: rec {
foo = pkgs.foo.override { ... };
};
}
</programlisting>
</para>
</section>
</chapter>

20
doc/contributing.xml Normal file
View File

@@ -0,0 +1,20 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="chap-contributing">
<title>Contributing to this documentation</title>
<para>The DocBook sources of the Nixpkgs manual are in the <filename
xlink:href="https://github.com/NixOS/nixpkgs/tree/master/doc">doc</filename>
subdirectory of the Nixpkgs repository. If you make modifications to
the manual, it's important to build it before committing. You can do that as follows:
<screen>
$ cd /path/to/nixpkgs
$ nix-build doc
</screen>
If the build succeeds, the manual will be in
<filename>./result/share/doc/nixpkgs/manual.html</filename>.</para>
</chapter>

View File

@@ -1,691 +0,0 @@
# Coding conventions {#chap-conventions}
## Syntax {#sec-syntax}
- Use 2 spaces of indentation per indentation level in Nix expressions, 4 spaces in shell scripts.
- Do not use tab characters, i.e. configure your editor to use soft tabs. For instance, use `(setq-default indent-tabs-mode nil)` in Emacs. Everybody has different tab settings so its asking for trouble.
- Use `lowerCamelCase` for variable names, not `UpperCamelCase`. Note, this rule does not apply to package attribute names, which instead follow the rules in [](#sec-package-naming).
- Function calls with attribute set arguments are written as
```nix
foo {
arg = ...;
}
```
not
```nix
foo
{
arg = ...;
}
```
Also fine is
```nix
foo { arg = ...; }
```
if it's a short call.
- In attribute sets or lists that span multiple lines, the attribute names or list elements should be aligned:
```nix
# A long list.
list = [
elem1
elem2
elem3
];
# A long attribute set.
attrs = {
attr1 = short_expr;
attr2 =
if true then big_expr else big_expr;
};
# Combined
listOfAttrs = [
{
attr1 = 3;
attr2 = "fff";
}
{
attr1 = 5;
attr2 = "ggg";
}
];
```
- Short lists or attribute sets can be written on one line:
```nix
# A short list.
list = [ elem1 elem2 elem3 ];
# A short set.
attrs = { x = 1280; y = 1024; };
```
- Breaking in the middle of a function argument can give hard-to-read code, like
```nix
someFunction { x = 1280;
y = 1024; } otherArg
yetAnotherArg
```
(especially if the argument is very large, spanning multiple lines).
Better:
```nix
someFunction
{ x = 1280; y = 1024; }
otherArg
yetAnotherArg
```
or
```nix
let res = { x = 1280; y = 1024; };
in someFunction res otherArg yetAnotherArg
```
- The bodies of functions, asserts, and withs are not indented to prevent a lot of superfluous indentation levels, i.e.
```nix
{ arg1, arg2 }:
assert system == "i686-linux";
stdenv.mkDerivation { ...
```
not
```nix
{ arg1, arg2 }:
assert system == "i686-linux";
stdenv.mkDerivation { ...
```
- Function formal arguments are written as:
```nix
{ arg1, arg2, arg3 }:
```
but if they don't fit on one line they're written as:
```nix
{ arg1, arg2, arg3
, arg4, ...
, # Some comment...
argN
}:
```
- 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 (such as wrappers around `mkDerivation`) that have some required arguments, you should write them using an `@`-pattern:
```nix
{ stdenv, doCoverageAnalysis ? false, ... } @ args:
stdenv.mkDerivation (args // {
... if doCoverageAnalysis then "bla" else "" ...
})
```
instead of
```nix
args:
args.stdenv.mkDerivation (args // {
... 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.isDarwin iconv;
```
instead of
```nix
buildInputs = if stdenv.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)`.
- Arguments should be listed in the order they are used, with the exception of `lib`, which always goes first.
## Package naming {#sec-package-naming}
The key words _must_, _must not_, _required_, _shall_, _shall not_, _should_, _should not_, _recommended_, _may_, and _optional_ in this section are to be interpreted as described in [RFC 2119](https://tools.ietf.org/html/rfc2119). Only _emphasized_ words are to be interpreted in this way.
In Nixpkgs, there are generally three different names associated with a package:
- The `pname` attribute of the derivation. This is what most users see, in particular when using `nix-env`.
- The variable name used for the instantiated package in `all-packages.nix`, and when passing it as a dependency to other functions. Typically this is called the _package attribute name_. This is what Nix expression authors see. It can also be used when installing using `nix-env -iA`.
- The filename for (the directory containing) the Nix expression.
Most of the time, these are the same. For instance, the package `e2fsprogs` has a `pname` attribute `"e2fsprogs"`, is bound to the variable name `e2fsprogs` in `all-packages.nix`, and the Nix expression is in `pkgs/os-specific/linux/e2fsprogs/default.nix`.
There are a few naming guidelines:
- The `pname` attribute _should_ be identical to the upstream package name.
- The `pname` and the `version` attribute _must not_ contain uppercase letters — e.g., `"mplayer" instead of `"MPlayer"`.
- The `version` attribute _must_ start with a digit e.g`"0.3.1rc2".
- If a package is not a release but a commit from a repository, then the `version` attribute _must_ be the date of that (fetched) commit. The date _must_ be in `"unstable-YYYY-MM-DD"` format.
- Dashes in the package `pname` _should_ be preserved in new variable names, rather than converted to underscores or camel cased — e.g., `http-parser` instead of `http_parser` or `httpParser`. The hyphenated style is preferred in all three package names.
- If there are multiple versions of a package, this _should_ be reflected in the variable names in `all-packages.nix`, e.g. `json-c_0_9` and `json-c_0_11`. If there is an obvious “default” version, make an attribute like `json-c = json-c_0_9;`. See also [](#sec-versioning)
## File naming and organisation {#sec-organisation}
Names of files and directories should be in lowercase, with dashes between words — not in camel case. For instance, it should be `all-packages.nix`, not `allPackages.nix` or `AllPackages.nix`.
### Hierarchy {#sec-hierarchy}
Each package should be stored in its own directory somewhere in the `pkgs/` tree, i.e. in `pkgs/category/subcategory/.../pkgname`. Below are some rules for picking the right category for a package. Many packages fall under several categories; what matters is the _primary_ purpose of a package. For example, the `libxml2` package builds both a library and some tools; but its a library foremost, so it goes under `pkgs/development/libraries`.
When in doubt, consider refactoring the `pkgs/` tree, e.g. creating new categories or splitting up an existing category.
**If its used to support _software development_:**
- **If its a _library_ used by other packages:**
- `development/libraries` (e.g. `libxml2`)
- **If its a _compiler_:**
- `development/compilers` (e.g. `gcc`)
- **If its an _interpreter_:**
- `development/interpreters` (e.g. `guile`)
- **If its a (set of) development _tool(s)_:**
- **If its a _parser generator_ (including lexers):**
- `development/tools/parsing` (e.g. `bison`, `flex`)
- **If its a _build manager_:**
- `development/tools/build-managers` (e.g. `gnumake`)
- **If its a _language server_:**
- `development/tools/language-servers` (e.g. `ccls` or `rnix-lsp`)
- **Else:**
- `development/tools/misc` (e.g. `binutils`)
- **Else:**
- `development/misc`
**If its a (set of) _tool(s)_:**
(A tool is a relatively small program, especially one intended to be used non-interactively.)
- **If its for _networking_:**
- `tools/networking` (e.g. `wget`)
- **If its for _text processing_:**
- `tools/text` (e.g. `diffutils`)
- **If its a _system utility_, i.e., something related or essential to the operation of a system:**
- `tools/system` (e.g. `cron`)
- **If its an _archiver_ (which may include a compression function):**
- `tools/archivers` (e.g. `zip`, `tar`)
- **If its a _compression_ program:**
- `tools/compression` (e.g. `gzip`, `bzip2`)
- **If its a _security_-related program:**
- `tools/security` (e.g. `nmap`, `gnupg`)
- **Else:**
- `tools/misc`
**If its a _shell_:**
- `shells` (e.g. `bash`)
**If its a _server_:**
- **If its a web server:**
- `servers/http` (e.g. `apache-httpd`)
- **If its an implementation of the X Windowing System:**
- `servers/x11` (e.g. `xorg` — this includes the client libraries and programs)
- **Else:**
- `servers/misc`
**If its a _desktop environment_:**
- `desktops` (e.g. `kde`, `gnome`, `enlightenment`)
**If its a _window manager_:**
- `applications/window-managers` (e.g. `awesome`, `stumpwm`)
**If its an _application_:**
A (typically large) program with a distinct user interface, primarily used interactively.
- **If its a _version management system_:**
- `applications/version-management` (e.g. `subversion`)
- **If its a _terminal emulator_:**
- `applications/terminal-emulators` (e.g. `alacritty` or `rxvt` or `termite`)
- **If its a _file manager_:**
- `applications/file-managers` (e.g. `mc` or `ranger` or `pcmanfm`)
- **If its for _video playback / editing_:**
- `applications/video` (e.g. `vlc`)
- **If its for _graphics viewing / editing_:**
- `applications/graphics` (e.g. `gimp`)
- **If its for _networking_:**
- **If its a _mailreader_:**
- `applications/networking/mailreaders` (e.g. `thunderbird`)
- **If its a _newsreader_:**
- `applications/networking/newsreaders` (e.g. `pan`)
- **If its a _web browser_:**
- `applications/networking/browsers` (e.g. `firefox`)
- **Else:**
- `applications/networking/misc`
- **Else:**
- `applications/misc`
**If its _data_ (i.e., does not have a straight-forward executable semantics):**
- **If its a _font_:**
- `data/fonts`
- **If its an _icon theme_:**
- `data/icons`
- **If its related to _SGML/XML processing_:**
- **If its an _XML DTD_:**
- `data/sgml+xml/schemas/xml-dtd` (e.g. `docbook`)
- **If its an _XSLT stylesheet_:**
(Okay, these are executable...)
- `data/sgml+xml/stylesheets/xslt` (e.g. `docbook-xsl`)
- **If its a _theme_ for a _desktop environment_, a _window manager_ or a _display manager_:**
- `data/themes`
**If its a _game_:**
- `games`
**Else:**
- `misc`
### Versioning {#sec-versioning}
Because every version of a package in Nixpkgs creates a potential maintenance burden, old versions of a package should not be kept unless there is a good reason to do so. For instance, Nixpkgs contains several versions of GCC because other packages dont build with the latest version of GCC. Other examples are having both the latest stable and latest pre-release version of a package, or to keep several major releases of an application that differ significantly in functionality.
If there is only one version of a package, its Nix expression should be named `e2fsprogs/default.nix`. If there are multiple versions, this should be reflected in the filename, e.g. `e2fsprogs/1.41.8.nix` and `e2fsprogs/1.41.9.nix`. The version in the filename should leave out unnecessary detail. For instance, if we keep the latest Firefox 2.0.x and 3.5.x versions in Nixpkgs, they should be named `firefox/2.0.nix` and `firefox/3.5.nix`, respectively (which, at a given point, might contain versions `2.0.0.20` and `3.5.4`). If a version requires many auxiliary files, you can use a subdirectory for each version, e.g. `firefox/2.0/default.nix` and `firefox/3.5/default.nix`.
All versions of a package _must_ be included in `all-packages.nix` to make sure that they evaluate correctly.
## Fetching Sources {#sec-sources}
There are multiple ways to fetch a package source in nixpkgs. The general guideline is that you should package reproducible sources with a high degree of availability. Right now there is only one fetcher which has mirroring support and that is `fetchurl`. Note that you should also prefer protocols which have a corresponding proxy environment variable.
You can find many source fetch helpers in `pkgs/build-support/fetch*`.
In the file `pkgs/top-level/all-packages.nix` you can find fetch helpers, these have names on the form `fetchFrom*`. The intention of these are to provide snapshot fetches but using the same api as some of the version controlled fetchers from `pkgs/build-support/`. As an example going from bad to good:
- Bad: Uses `git://` which won't be proxied.
```nix
src = fetchgit {
url = "git@github.com:NixOS/nix.git"
url = "git://github.com/NixOS/nix.git";
rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae";
hash = "sha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ=";
}
```
- Better: This is ok, but an archive fetch will still be faster.
```nix
src = fetchgit {
url = "https://github.com/NixOS/nix.git";
rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae";
hash = "sha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ=";
}
```
- Best: Fetches a snapshot archive and you get the rev you want.
```nix
src = fetchFromGitHub {
owner = "NixOS";
repo = "nix";
rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae";
hash = "ha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ=;
}
```
When fetching from GitHub, commits must always be referenced by their full commit hash. This is because GitHub shares commit hashes among all forks and returns `404 Not Found` when a short commit hash is ambiguous. It already happens for some short, 6-character commit hashes in `nixpkgs`.
It is a practical vector for a denial-of-service attack by pushing large amounts of auto generated commits into forks and was already [demonstrated against GitHub Actions Beta](https://blog.teddykatz.com/2019/11/12/github-actions-dos.html).
Find the value to put as `hash` by running `nix-shell -p nix-prefetch-github --run "nix-prefetch-github --rev 1f795f9f44607cc5bec70d1300150bfefcef2aae NixOS nix"`.
## Obtaining source hash {#sec-source-hashes}
Preferred source hash type is sha256. There are several ways to get it.
1. Prefetch URL (with `nix-prefetch-XXX URL`, where `XXX` is one of `url`, `git`, `hg`, `cvs`, `bzr`, `svn`). Hash is printed to stdout.
2. Prefetch by package source (with `nix-prefetch-url '<nixpkgs>' -A PACKAGE.src`, where `PACKAGE` is package attribute name). Hash is printed to stdout.
This works well when you've upgraded existing package version and want to find out new hash, but is useless if package can't be accessed by attribute or package has multiple sources (`.srcs`, architecture-dependent sources, etc).
3. Upstream provided hash: use it when upstream provides `sha256` or `sha512` (when upstream provides `md5`, don't use it, compute `sha256` instead).
A little nuance is that `nix-prefetch-*` tools produce hash encoded with `base32`, but upstream usually provides hexadecimal (`base16`) encoding. Fetchers understand both formats. Nixpkgs does not standardize on any one format.
You can convert between formats with nix-hash, for example:
```ShellSession
$ nix-hash --type sha256 --to-base32 HASH
```
4. Extracting hash from local source tarball can be done with `sha256sum`. Use `nix-prefetch-url file:///path/to/tarball` if you want base32 hash.
5. Fake hash: set the hash to one of
- `""`
- `lib.fakeHash`
- `lib.fakeSha256`
- `lib.fakeSha512`
in the package expression, attempt build and extract correct hash from error messages.
::: {.warning}
You must use one of these four fake hashes and not some arbitrarily-chosen hash.
See [](#sec-source-hashes-security).
:::
This is last resort method when reconstructing source URL is non-trivial and `nix-prefetch-url -A` isnt applicable (for example, [one of `kodi` dependencies](https://github.com/NixOS/nixpkgs/blob/d2ab091dd308b99e4912b805a5eb088dd536adb9/pkgs/applications/video/kodi/default.nix#L73)). The easiest way then would be replace hash with a fake one and rebuild. Nix build will fail and error message will contain desired hash.
### Obtaining hashes securely {#sec-source-hashes-security}
Let's say Man-in-the-Middle (MITM) sits close to your network. Then instead of fetching source you can fetch malware, and instead of source hash you get hash of malware. Here are security considerations for this scenario:
- `http://` URLs are not secure to prefetch hash from;
- hashes from upstream (in method 3) should be obtained via secure protocol;
- `https://` URLs are secure in methods 1, 2, 3;
- `https://` URLs are secure in method 5 *only if* you use one of the listed fake hashes. If you use any other hash, `fetchurl` will pass `--insecure` to `curl` and may then degrade to HTTP in case of TLS certificate expiration.
## Patches {#sec-patches}
Patches available online should be retrieved using `fetchpatch`.
```nix
patches = [
(fetchpatch {
name = "fix-check-for-using-shared-freetype-lib.patch";
url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=8f5d285";
hash = "sha256-uRcxaCjd+WAuGrXOmGfFeu79cUILwkRdBu48mwcBE7g=";
})
];
```
Otherwise, you can add a `.patch` file to the `nixpkgs` repository. In the interest of keeping our maintenance burden to a minimum, only patches that are unique to `nixpkgs` should be added in this way.
If a patch is available online but does not cleanly apply, it can be modified in some fixed ways by using additional optional arguments for `fetchpatch`. Check [](#fetchpatch) for details.
```nix
patches = [ ./0001-changes.patch ];
```
If you do need to do create this sort of patch file, one way to do so is with git:
1. Move to the root directory of the source code you're patching.
```ShellSession
$ cd the/program/source
```
2. If a git repository is not already present, create one and stage all of the source files.
```ShellSession
$ git init
$ git add .
```
3. Edit some files to make whatever changes need to be included in the patch.
4. Use git to create a diff, and pipe the output to a patch file:
```ShellSession
$ git diff -a > nixpkgs/pkgs/the/package/0001-changes.patch
```
## Package tests {#sec-package-tests}
Tests are important to ensure quality and make reviews and automatic updates easy.
The following types of tests exists:
* [NixOS **module tests**](https://nixos.org/manual/nixos/stable/#sec-nixos-tests), which spawn one or more NixOS VMs. They exercise both NixOS modules and the packaged programs used within them. For example, a NixOS module test can start a web server VM running the `nginx` module, and a client VM running `curl` or a graphical `firefox`, and test that they can talk to each other and display the correct content.
* Nix **package tests** are a lightweight alternative to NixOS module tests. They should be used to create simple integration tests for packages, but cannot test NixOS services, and some programs with graphical user interfaces may also be difficult to test with them.
* The **`checkPhase` of a package**, which should execute the unit tests that are included in the source code of a package.
Here in the nixpkgs manual we describe mostly _package tests_; for _module tests_ head over to the corresponding [section in the NixOS manual](https://nixos.org/manual/nixos/stable/#sec-nixos-tests).
### Writing inline package tests {#ssec-inline-package-tests-writing}
For very simple tests, they can be written inline:
```nix
{ …, yq-go }:
buildGoModule rec {
passthru.tests = {
simple = runCommand "${pname}-test" {} ''
echo "test: 1" | ${yq-go}/bin/yq eval -j > $out
[ "$(cat $out | tr -d $'\n ')" = '{"test":1}' ]
'';
};
}
```
### Writing larger package tests {#ssec-package-tests-writing}
This is an example using the `phoronix-test-suite` package with the current best practices.
Add the tests in `passthru.tests` to the package definition like this:
```nix
{ stdenv, lib, fetchurl, callPackage }:
stdenv.mkDerivation {
passthru.tests = {
simple-execution = callPackage ./tests.nix { };
};
meta = { … };
}
```
Create `tests.nix` in the package directory:
```nix
{ runCommand, phoronix-test-suite }:
let
inherit (phoronix-test-suite) pname version;
in
runCommand "${pname}-tests" { meta.timeout = 60; }
''
# automatic initial setup to prevent interactive questions
${phoronix-test-suite}/bin/phoronix-test-suite enterprise-setup >/dev/null
# get version of installed program and compare with package version
if [[ `${phoronix-test-suite}/bin/phoronix-test-suite version` != *"${version}"* ]]; then
echo "Error: program version does not match package version"
exit 1
fi
# run dummy command
${phoronix-test-suite}/bin/phoronix-test-suite dummy_module.dummy-command >/dev/null
# needed for Nix to register the command as successful
touch $out
''
```
### Running package tests {#ssec-package-tests-running}
You can run these tests with:
```ShellSession
$ cd path/to/nixpkgs
$ nix-build -A phoronix-test-suite.tests
```
### Examples of package tests {#ssec-package-tests-examples}
Here are examples of package tests:
- [Jasmin compile test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/compilers/jasmin/test-assemble-hello-world/default.nix)
- [Lobster compile test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/compilers/lobster/test-can-run-hello-world.nix)
- [Spacy annotation test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/spacy/annotation-test/default.nix)
- [Libtorch test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/science/math/libtorch/test/default.nix)
- [Multiple tests for nanopb](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/nanopb/default.nix)
### Linking NixOS module tests to a package {#ssec-nixos-tests-linking}
Like [package tests](#ssec-package-tests-writing) as shown above, [NixOS module tests](https://nixos.org/manual/nixos/stable/#sec-nixos-tests) can also be linked to a package, so that the tests can be easily run when changing the related package.
For example, assuming we're packaging `nginx`, we can link its module test via `passthru.tests`:
```nix
{ stdenv, lib, nixosTests }:
stdenv.mkDerivation {
...
passthru.tests = {
nginx = nixosTests.nginx;
};
...
}
```
### Import From Derivation {#ssec-import-from-derivation}
Import From Derivation (IFD) is disallowed in Nixpkgs for performance reasons:
[Hydra] evaluates the entire package set, and sequential builds during evaluation would increase evaluation times to become impractical.
[Hydra]: https://github.com/NixOS/hydra
Import From Derivation can be worked around in some cases by committing generated intermediate files to version control and reading those instead.
<!-- TODO: remove the following and link to Nix manual once https://github.com/NixOS/nix/pull/7332 is merged -->
See also [NixOS Wiki: Import From Derivation].
[NixOS Wiki: Import From Derivation]: https://nixos.wiki/wiki/Import_From_Derivation

View File

@@ -1,118 +0,0 @@
# Contributing to this documentation {#chap-contributing}
The sources of the Nixpkgs manual are in the [doc](https://github.com/NixOS/nixpkgs/tree/master/doc) subdirectory of the Nixpkgs repository. The manual is still partially written in DocBook but it is progressively being converted to [Markdown](#sec-contributing-markup).
You can quickly check your edits with `make`:
```ShellSession
$ cd /path/to/nixpkgs/doc
$ nix-shell
[nix-shell]$ make
```
If you experience problems, run `make debug` to help understand the docbook errors.
After making modifications to the manual, it's important to build it before committing. You can do that as follows:
```ShellSession
$ cd /path/to/nixpkgs/doc
$ nix-shell
[nix-shell]$ make clean
[nix-shell]$ nix-build .
```
If the build succeeds, the manual will be in `./result/share/doc/nixpkgs/manual.html`.
## Syntax {#sec-contributing-markup}
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:
- []{#ssec-contributing-markup-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.
:::
- []{#ssec-contributing-markup-anchors-inline}
**Inline anchors**, which 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 `wrapGAppsHook` will prepend it to `XDG_DATA_DIRS`.
```
- []{#ssec-contributing-markup-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)` will result in [](#chap-contributing).
This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/using/syntax.html#targets-and-cross-referencing).
- []{#ssec-contributing-markup-inline-roles}
If you want to link to a man page, you can use `` {manpage}`nix.conf(5)` ``, which will turn into {manpage}`nix.conf(5)`. The references will turn into links when a mapping exists in {file}`doc/manpage-urls.json`.
A few markups for other kinds of literals are also available:
- `` {command}`rm -rfi` `` turns into {command}`rm -rfi`
- `` {env}`XDG_DATA_DIRS` `` turns into {env}`XDG_DATA_DIRS`
- `` {file}`/etc/passwd` `` turns into {file}`/etc/passwd`
- `` {option}`networking.useDHCP` `` turns into {option}`networking.useDHCP`
- `` {var}`/etc/passwd` `` turns into {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.
- []{#ssec-contributing-markup-admonitions}
**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
:::
```
which renders as
> ::: {.warning}
> This is a warning.
> :::
The following are supported:
- [`caution`](https://tdg.docbook.org/tdg/5.0/caution.html)
- [`important`](https://tdg.docbook.org/tdg/5.0/important.html)
- [`note`](https://tdg.docbook.org/tdg/5.0/note.html)
- [`tip`](https://tdg.docbook.org/tdg/5.0/tip.html)
- [`warning`](https://tdg.docbook.org/tdg/5.0/warning.html)
- []{#ssec-contributing-markup-definition-lists}
[**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
```
which renders as
> pear
> : green or yellow bulbous fruit
>
> watermelon
> : green fruit with red flesh
For contributing to the legacy parts, please see [DocBook: The Definitive Guide](https://tdg.docbook.org/) or the [DocBook rocks! primer](https://web.archive.org/web/20200816233747/https://docbook.rocks/).

View File

@@ -1,77 +0,0 @@
# Quick Start to Adding a Package {#chap-quick-start}
To add a package to Nixpkgs:
1. Checkout the Nixpkgs source tree:
```ShellSession
$ git clone https://github.com/NixOS/nixpkgs
$ cd nixpkgs
```
2. Find a good place in the Nixpkgs tree to add the Nix expression for your package. For instance, a library package typically goes into `pkgs/development/libraries/pkgname`, while a web browser goes into `pkgs/applications/networking/browsers/pkgname`. See [](#sec-organisation) for some hints on the tree organisation. Create a directory for your package, e.g.
```ShellSession
$ mkdir pkgs/development/libraries/libfoo
```
3. In the package directory, create a Nix expression — a piece of code that describes how to build the package. In this case, it should be a _function_ that is called with the package dependencies as arguments, and returns a build of the package in the Nix store. The expression should usually be called `default.nix`.
```ShellSession
$ emacs pkgs/development/libraries/libfoo/default.nix
$ git add pkgs/development/libraries/libfoo/default.nix
```
You can have a look at the existing Nix expressions under `pkgs/` to see how its done. Here are some good ones:
- GNU Hello: [`pkgs/applications/misc/hello/default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/hello/default.nix). Trivial package, which specifies some `meta` attributes which is good practice.
- GNU cpio: [`pkgs/tools/archivers/cpio/default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/archivers/cpio/default.nix). Also a simple package. The generic builder in `stdenv` does everything for you. It has no dependencies beyond `stdenv`.
- GNU Multiple Precision arithmetic library (GMP): [`pkgs/development/libraries/gmp/5.1.x.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/gmp/5.1.x.nix). Also done by the generic builder, but has a dependency on `m4`.
- Pan, a GTK-based newsreader: [`pkgs/applications/networking/newsreaders/pan/default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/newsreaders/pan/default.nix). Has an optional dependency on `gtkspell`, which is only built if `spellCheck` is `true`.
- Apache HTTPD: [`pkgs/servers/http/apache-httpd/2.4.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/http/apache-httpd/2.4.nix). A bunch of optional features, variable substitutions in the configure flags, a post-install hook, and miscellaneous hackery.
- buildMozillaMach: [`pkgs/applications/networking/browser/firefox/common.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/browsers/firefox/common.nix). A reusable build function for Firefox, Thunderbird and Librewolf.
- JDiskReport, a Java utility: [`pkgs/tools/misc/jdiskreport/default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/jdiskreport/default.nix). Nixpkgs doesnt have a decent `stdenv` for Java yet so this is pretty ad-hoc.
- XML::Simple, a Perl module: [`pkgs/top-level/perl-packages.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/perl-packages.nix) (search for the `XMLSimple` attribute). Most Perl modules are so simple to build that they are defined directly in `perl-packages.nix`; no need to make a separate file for them.
- Adobe Reader: [`pkgs/applications/misc/adobe-reader/default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/adobe-reader/default.nix). Shows how binary-only packages can be supported. In particular the [builder](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/adobe-reader/builder.sh) uses `patchelf` to set the RUNPATH and ELF interpreter of the executables so that the right libraries are found at runtime.
Some notes:
- All [`meta`](#chap-meta) attributes are optional, but its still a good idea to provide at least the `description`, `homepage` and [`license`](#sec-meta-license).
- You can use `nix-prefetch-url url` to get the SHA-256 hash of source distributions. There are similar commands as `nix-prefetch-git` and `nix-prefetch-hg` available in `nix-prefetch-scripts` package.
- A list of schemes for `mirror://` URLs can be found in [`pkgs/build-support/fetchurl/mirrors.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/fetchurl/mirrors.nix).
The exact syntax and semantics of the Nix expression language, including the built-in function, are described in the Nix manual in the [chapter on writing Nix expressions](https://hydra.nixos.org/job/nix/trunk/tarball/latest/download-by-type/doc/manual/#chap-writing-nix-expressions).
4. Add a call to the function defined in the previous step to [`pkgs/top-level/all-packages.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/all-packages.nix) with some descriptive name for the variable, e.g. `libfoo`.
```ShellSession
$ emacs pkgs/top-level/all-packages.nix
```
The attributes in that file are sorted by category (like “Development / Libraries”) that more-or-less correspond to the directory structure of Nixpkgs, and then by attribute name.
5. To test whether the package builds, run the following command from the root of the nixpkgs source tree:
```ShellSession
$ nix-build -A libfoo
```
where `libfoo` should be the variable name defined in the previous step. You may want to add the flag `-K` to keep the temporary build directory in case something fails. If the build succeeds, a symlink `./result` to the package in the Nix store is created.
6. If you want to install the package into your profile (optional), do
```ShellSession
$ nix-env -f . -iA libfoo
```
7. Optionally commit the new package and open a pull request [to nixpkgs](https://github.com/NixOS/nixpkgs/pulls), or use [the Patches category](https://discourse.nixos.org/t/about-the-patches-category/477) on Discourse for sending a patch without a GitHub account.

View File

@@ -1,319 +0,0 @@
# Reviewing contributions {#chap-reviewing-contributions}
::: {.warning}
The following section is a draft, and the policy for reviewing is still being discussed in issues such as [#11166](https://github.com/NixOS/nixpkgs/issues/11166) and [#20836](https://github.com/NixOS/nixpkgs/issues/20836).
:::
The Nixpkgs project receives a fairly high number of contributions via GitHub pull requests. Reviewing and approving these is an important task and a way to contribute to the project.
The high change rate of Nixpkgs makes any pull request that remains open for too long subject to conflicts that will require extra work from the submitter or the merger. Reviewing pull requests in a timely manner and being responsive to the comments is the key to avoid this issue. GitHub provides sort filters that can be used to see the [most recently](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc) and the [least recently](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc) updated 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+-label%3A%222.status%3A+work-in-progress%22+no%3Aproject+no%3Aassignee+no%3Amilestone).
When reviewing a pull request, please always be nice and polite. Controversial changes can lead to controversial opinions, but it is important to respect every community member and their work.
GitHub provides reactions as a simple and quick way to provide feedback to pull requests or any comments. The thumb-down reaction should be used with care and if possible accompanied with some explanation so the submitter has directions to improve their contribution.
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 template samples provided in this section are generic and meant as examples. Their usage is optional and the reviewer is free to adapt them to their liking.
## Package updates {#reviewing-contributions-package-updates}
A package update is the most trivial and common type of pull request. These pull requests mainly consist of updating the version part of the package name and the source hash.
It can happen that non-trivial updates include patches or more complex changes.
Reviewing process:
- Ensure that the package versioning fits the guidelines.
- Ensure that the commit text fits the guidelines.
- Ensure that the package maintainers are notified.
- [CODEOWNERS](https://help.github.com/articles/about-codeowners) will make GitHub notify users based on the submitted changes, but it can happen that it misses some of the package maintainers.
- Ensure that the meta field information is correct.
- License can change with version updates, so it should be checked to match the upstream license.
- If the package has no maintainer, a maintainer must be set. This can be the update submitter or a community member that accepts to take maintainership of the package.
- Ensure that the code contains no typos.
- Building the package locally.
- pull requests are often targeted to the master or staging branch, and building the pull request locally when it is submitted can trigger many source builds.
- It is possible to rebase the changes on nixos-unstable or nixpkgs-unstable for easier review by running the following commands from a nixpkgs clone.
```ShellSession
$ git fetch origin nixos-unstable
$ git fetch origin pull/PRNUMBER/head
$ git rebase --onto nixos-unstable BASEBRANCH FETCH_HEAD
```
- The first command fetches the nixos-unstable branch.
- The second command fetches the pull request changes, `PRNUMBER` is the number at the end of the pull request title and `BASEBRANCH` the base branch of the pull request.
- The third command rebases the pull request changes to the nixos-unstable branch.
- The [nixpkgs-review](https://github.com/Mic92/nixpkgs-review) tool can be used to review a pull request content in a single command. `PRNUMBER` should be replaced by the number at the end of the pull request title. You can also provide the full github pull request url.
```ShellSession
$ nix-shell -p nixpkgs-review --run "nixpkgs-review pr PRNUMBER"
```
- Running every binary.
Sample template for a package update review is provided below.
```markdown
##### Reviewed points
- [ ] package name fits guidelines
- [ ] package version fits guidelines
- [ ] package build on ARCHITECTURE
- [ ] executables tested on ARCHITECTURE
- [ ] all depending packages build
##### Possible improvements
##### Comments
```
## New packages {#reviewing-contributions-new-packages}
New packages are a common type of pull requests. These pull requests consists in adding a new nix-expression for a package.
Review process:
- Ensure that the package versioning fits the guidelines.
- Ensure that the commit name fits the guidelines.
- Ensure that the meta fields contain correct information.
- License must match the upstream license.
- Platforms should be set (or the package will not get binary substitutes).
- Maintainers must be set. This can be the package submitter or a community member that accepts taking up maintainership of the package.
- Report detected typos.
- Ensure the package source:
- Uses mirror URLs when available.
- Uses the most appropriate functions (e.g. packages from GitHub should use `fetchFromGitHub`).
- Building the package locally.
- Running every binary.
Sample template for a new package review is provided below.
```markdown
##### Reviewed points
- [ ] package path fits guidelines
- [ ] package name fits guidelines
- [ ] package version fits guidelines
- [ ] package build on ARCHITECTURE
- [ ] executables tested on ARCHITECTURE
- [ ] `meta.description` is set and fits guidelines
- [ ] `meta.license` fits upstream license
- [ ] `meta.platforms` is set
- [ ] `meta.maintainers` is set
- [ ] build time only dependencies are declared in `nativeBuildInputs`
- [ ] source is fetched using the appropriate function
- [ ] the list of `phases` is not overridden
- [ ] when a phase (like `installPhase`) is overridden it starts with `runHook preInstall` and ends with `runHook postInstall`.
- [ ] patches that are remotely available are fetched with `fetchpatch`
##### Possible improvements
##### Comments
```
## Module updates {#reviewing-contributions-module-updates}
Module updates are submissions changing modules in some ways. These often contains changes to the options or introduce new options.
Reviewing process:
- Ensure that the module maintainers are notified.
- [CODEOWNERS](https://help.github.com/articles/about-codeowners/) will make GitHub notify users based on the submitted changes, but it can happen that it misses some of the package maintainers.
- Ensure that the module tests, if any, are succeeding.
- Ensure that the introduced options are correct.
- Type should be appropriate (string related types differs in their merging capabilities, `loaOf` and `string` types are deprecated).
- Description, default and example should be provided.
- Ensure that option changes are backward compatible.
- `mkRenamedOptionModuleWith` provides a way to make option changes backward compatible.
- Ensure that removed options are declared with `mkRemovedOptionModule`
- Ensure that changes that are not backward compatible are mentioned in release notes.
- Ensure that documentations affected by the change is updated.
Sample template for a module update review is provided below.
```markdown
##### Reviewed points
- [ ] changes are backward compatible
- [ ] removed options are declared with `mkRemovedOptionModule`
- [ ] changes that are not backward compatible are documented in release notes
- [ ] module tests succeed on ARCHITECTURE
- [ ] options types are appropriate
- [ ] options description is set
- [ ] options example is provided
- [ ] documentation affected by the changes is updated
##### Possible improvements
##### Comments
```
## New modules {#reviewing-contributions-new-modules}
New modules submissions introduce a new module to NixOS.
Reviewing process:
- Ensure that the module tests, if any, are succeeding.
- Ensure that the introduced options are correct.
- Type should be appropriate (string related types differs in their merging capabilities, `loaOf` and `string` types are deprecated).
- Description, default and example should be provided.
- Ensure that module `meta` field is present
- Maintainers should be declared in `meta.maintainers`.
- Module documentation should be declared with `meta.doc`.
- Ensure that the module respect other modules functionality.
- For example, enabling a module should not open firewall ports by default.
Sample template for a new module review is provided below.
```markdown
##### Reviewed points
- [ ] module path fits the guidelines
- [ ] module tests succeed on ARCHITECTURE
- [ ] options have appropriate types
- [ ] options have default
- [ ] options have example
- [ ] options have descriptions
- [ ] No unneeded package is added to environment.systemPackages
- [ ] meta.maintainers is set
- [ ] module documentation is declared in meta.doc
##### Possible improvements
##### Comments
```
## Individual maintainer list {#reviewing-contributions-individual-maintainer-list}
When adding users to `maintainers/maintainer-list.nix`, the following
checks should be performed:
- If the user has specified a GPG key, verify that the commit is
signed by their key.
First, validate that the commit adding the maintainer is signed by
the key the maintainer listed. Check out the pull request and
compare its signing key with the listed key in the commit.
If the commit is not signed or it is signed by a different user, ask
them to either recommit using that key or to remove their key
information.
Given a maintainter entry like this:
``` nix
{
example = {
email = "user@example.com";
name = "Example User";
keys = [{
fingerprint = "0000 0000 2A70 6423 0AED 3C11 F04F 7A19 AAA6 3AFE";
}];
}
};
```
First receive their key from a keyserver:
$ gpg --recv-keys 0xF04F7A19AAA63AFE
gpg: key 0xF04F7A19AAA63AFE: public key "Example <user@example.com>" imported
gpg: Total number processed: 1
gpg: imported: 1
Then check the commit is signed by that key:
$ git log --show-signature
commit b87862a4f7d32319b1de428adb6cdbdd3a960153
gpg: Signature made Wed Mar 12 13:32:24 2003 +0000
gpg: using RSA key 000000002A7064230AED3C11F04F7A19AAA63AFE
gpg: Good signature from "Example User <user@example.com>
Author: Example User <user@example.com>
Date: Wed Mar 12 13:32:24 2003 +0000
maintainers: adding example
and validate that there is a `Good signature` and the printed key
matches the user's submitted key.
Note: GitHub's "Verified" label does not display the user's full key
fingerprint, and should not be used for validating the key matches.
- If the user has specified a `github` account name, ensure they have
also specified a `githubId` and verify the two match.
Maintainer entries that include a `github` field must also include
their `githubId`. People can and do change their GitHub name
frequently, and the ID is used as the official and stable identity
of the maintainer.
Given a maintainer entry like this:
``` nix
{
example = {
email = "user@example.com";
name = "Example User";
github = "ghost";
githubId = 10137;
}
};
```
First, make sure that the listed GitHub handle matches the author of
the commit.
Then, visit the URL `https://api.github.com/users/ghost` and
validate that the `id` field matches the provided `githubId`.
## Maintainer teams {#reviewing-contributions-maintainer-teams}
Feel free to create a new maintainer team in `maintainers/team-list.nix`
when a group is collectively responsible for a collection of packages.
Use taste and personal judgement when deciding if a team is warranted.
Teams are allowed to define their own rules about membership.
For example, some teams will represent a business or other group which
wants to carefully track its members. Other teams may be very open about
who can join, and allow anybody to participate.
When reviewing changes to a team, read the team's scope and the context
around the member list for indications about the team's membership
policy.
In any case, request reviews from the existing team members. If the team
lists no specific membership policy, feel free to merge changes to the
team after giving the existing members a few days to respond.
*Important:* If a team says it is a closed group, do not merge additions
to the team without an approval by at least one existing member.
## Other submissions {#reviewing-contributions-other-submissions}
Other type of submissions requires different reviewing steps.
If you consider having 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. They will give you information about the reviewing process. The main reviewers for a topic can be hard to find as there is no list, but checking past pull requests to see who reviewed or git-blaming the code to see who committed to that topic can give some hints.
Container system, boot system and library changes are some examples of the pull requests fitting this category.
## Merging pull requests {#reviewing-contributions--merging-pull-requests}
It is possible for community members that have enough knowledge and experience on a special topic to contribute by merging pull requests.
In case the PR is stuck waiting for the original author to apply a trivial
change (a typo, capitalisation change, etc.) and the author allowed the members
to modify the PR, consider applying it yourself. (or commit the existing review
suggestion) 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.
<!--
The following paragraphs about how to deal with unactive contributors is just a proposition and should be modified to what the community agrees to be the right policy.
Please note that contributors with commit rights unactive for more than three months will have their commit rights revoked.
-->
Please see the discussion in [GitHub nixpkgs issue #50105](https://github.com/NixOS/nixpkgs/issues/50105) for information on how to proceed to be granted this level of access.
In a case a contributor definitively leaves the Nix community, they should create an issue or post on [Discourse](https://discourse.nixos.org) with references of packages and modules they maintain so the maintainership can be taken over by other contributors.

View File

@@ -1,302 +0,0 @@
# Submitting changes {#chap-submitting-changes}
## Making patches {#submitting-changes-making-patches}
- Read [Manual (How to write packages for Nix)](https://nixos.org/nixpkgs/manual/).
- Fork [the Nixpkgs repository](https://github.com/nixos/nixpkgs/) on GitHub.
- Create a branch for your future fix.
- You can make branch from a commit of your local `nixos-version`. That will help you to avoid additional local compilations. Because you will receive packages from binary cache. For example
```ShellSession
$ nixos-version --hash
0998212
$ git checkout 0998212
$ git checkout -b 'fix/pkg-name-update'
```
- Please avoid working directly on the `master` branch.
- Make commits of logical units.
- If you removed pkgs or made some major NixOS changes, write about it in the release notes for the next stable release. For example `nixos/doc/manual/release-notes/rl-2003.xml`.
- Check for unnecessary whitespace with `git diff --check` before committing.
- Format the commit in a following way:
```
(pkg-name | nixos/<module>): (from -> to | init at version | refactor | etc)
Additional information.
```
- Examples:
- `nginx: init at 2.0.1`
- `firefox: 54.0.1 -> 55.0`
- `nixos/hydra: add bazBaz option`
- `nixos/nginx: refactor config generation`
- Test your changes. If you work with
- nixpkgs:
- update pkg
- `nix-env -iA pkg-attribute-name -f <path to your local nixpkgs folder>`
- add pkg
- Make sure its in `pkgs/top-level/all-packages.nix`
- `nix-env -iA pkg-attribute-name -f <path to your local nixpkgs folder>`
- _If you dont want to install pkg in you profile_.
- `nix-build -A pkg-attribute-name <path to your local nixpkgs folder>` and check results in the folder `result`. It will appear in the same directory where you did `nix-build`.
- If you installed your package with `nix-env`, you can run `nix-env -e pkg-name` where `pkg-name` is as reported by `nix-env -q` to uninstall it from your system.
- NixOS and its modules:
- You can add new module to your NixOS configuration file (usually its `/etc/nixos/configuration.nix`). And do `sudo nixos-rebuild test -I nixpkgs=<path to your local nixpkgs folder> --fast`.
- If you have commits `pkg-name: oh, forgot to insert whitespace`: squash commits in this case. Use `git rebase -i`.
- [Rebase](https://git-scm.com/book/en/v2/Git-Branching-Rebasing) your branch against current `master`.
## Submitting changes {#submitting-changes-submitting-changes}
- Push your changes to your fork of nixpkgs.
- Create the pull request
- Follow [the contribution guidelines](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#submitting-changes).
## Submitting security fixes {#submitting-changes-submitting-security-fixes}
Security fixes are submitted in the same way as other changes and thus the same guidelines apply.
- If a new version fixing the vulnerability has been released, update the package;
- If the security fix comes in the form of a patch and a CVE is available, then add the patch to the Nixpkgs tree, and apply it to the package.
The name of the patch should be the CVE identifier, so e.g. `CVE-2019-13636.patch`; If a patch is fetched the name needs to be set as well, e.g.:
```nix
(fetchpatch {
name = "CVE-2019-11068.patch";
url = "https://gitlab.gnome.org/GNOME/libxslt/commit/e03553605b45c88f0b4b2980adfbbb8f6fca2fd6.patch";
hash = "sha256-SEKe/8HcW0UBHCfPTTOnpRlzmV2nQPPeL6HOMxBZd14=";
})
```
If a security fix applies to both master and a stable release then, similar to regular changes, they are preferably delivered via master first and cherry-picked to the release branch.
Critical security fixes may by-pass the staging branches and be delivered directly to release branches such as `master` and `release-*`.
## Deprecating/removing packages {#submitting-changes-deprecating-packages}
There is currently no policy when to remove a package.
Before removing a package, one should try to find a new maintainer or fix smaller issues first.
### Steps to remove a package from Nixpkgs {#steps-to-remove-a-package-from-nixpkgs}
We use jbidwatcher as an example for a discontinued project here.
1. Have Nixpkgs checked out locally and up to date.
1. Create a new branch for your change, e.g. `git checkout -b jbidwatcher`
1. Remove the actual package including its directory, e.g. `git rm -rf pkgs/applications/misc/jbidwatcher`
1. Remove the package from the list of all packages (`pkgs/top-level/all-packages.nix`).
1. Add an alias for the package name in `pkgs/top-level/aliases.nix` (There is also `pkgs/applications/editors/vim/plugins/aliases.nix`. Package sets typically do not have aliases, so we can't add them there.)
For example in this case:
```
jbidwatcher = throw "jbidwatcher was discontinued in march 2021"; # added 2021-03-15
```
The throw message should explain in short why the package was removed for users that still have it installed.
1. Test if the changes introduced any issues by running `nix-env -qaP -f . --show-trace`. It should show the list of packages without errors.
1. Commit the changes. Explain again why the package was removed. If it was declared discontinued upstream, add a link to the source.
```ShellSession
$ git add pkgs/applications/misc/jbidwatcher/default.nix pkgs/top-level/all-packages.nix pkgs/top-level/aliases.nix
$ git commit
```
Example commit message:
```
jbidwatcher: remove
project was discontinued in march 2021. the program does not work anymore because ebay changed the login.
https://web.archive.org/web/20210315205723/http://www.jbidwatcher.com/
```
1. Push changes to your GitHub fork with `git push`
1. Create a pull request against Nixpkgs. Mention the package maintainer.
This is how the pull request looks like in this case: [https://github.com/NixOS/nixpkgs/pull/116470](https://github.com/NixOS/nixpkgs/pull/116470)
## Pull Request Template {#submitting-changes-pull-request-template}
The pull request template helps determine what steps have been made for a contribution so far, and will help guide maintainers on the status of a change. The motivation section of the PR should include any extra details the title does not address and link any existing issues related to the pull request.
When a PR is created, it will be pre-populated with some checkboxes detailed below:
### Tested using sandboxing {#submitting-changes-tested-with-sandbox}
When sandbox builds are enabled, Nix will setup 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 are blocked as well (ex. inter process communication is isolated on Linux); see [sandbox](https://nixos.org/nix/manual/#conf-sandbox) in Nix manual for details.
Sandboxing is not enabled by default in Nix due to a small performance hit on each build. In pull requests for [nixpkgs](https://github.com/NixOS/nixpkgs/) people are asked to test builds with sandboxing enabled (see `Tested using sandboxing` in the pull request template) because in<https://nixos.org/hydra/> sandboxing is also used.
Depending if you use NixOS or other platforms you can use one of the following methods to enable sandboxing **before** building the package:
- **Globally enable sandboxing on NixOS**: add the following to `configuration.nix`
```nix
nix.useSandbox = true;
```
- **Globally enable sandboxing on non-NixOS platforms**: add the following to: `/etc/nix/nix.conf`
```ini
sandbox = true
```
### Built on platform(s) {#submitting-changes-platform-diversity}
Many Nix packages are designed to run on multiple platforms. As such, its important to let the maintainer know which platforms your changes have been tested on. Its not always practical to test a change on all platforms, and is not required for a pull request to be merged. Only check the systems 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) {#submitting-changes-nixos-tests}
Packages with automated tests are much more likely to be merged in a timely fashion because it doesnt require as much manual testing by the maintainer to verify the functionality of the package. If there are existing tests for the package, they should be run to verify your changes do not break the tests. 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` {#submitting-changes-tested-compilation}
If you are updating a packages version, you can use `nixpkgs-review` to make sure all packages that depend on the updated package still compile correctly. The `nixpkgs-review` utility can look for and build all dependencies either based on uncommitted changes with the `wip` option or specifying a GitHub pull request number.
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 last commit:
```ShellSession
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
```
### Tested execution of all binary files (usually in `./result/bin/`) {#submitting-changes-tested-execution}
Its important to test any executables generated by a build when you change or create a package in nixpkgs. This can be done by looking in `./result/bin` and running any files in there, or at a minimum, the main executable for the package. 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 {#submitting-changes-contribution-standards}
The last checkbox is fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md). The contributing document has detailed information on standards the Nix community has for commit messages, reviews, licensing of contributions you make to the project, etc... Everyone should read and understand the standards the community has for contributing before submitting a pull request.
## Hotfixing pull requests {#submitting-changes-hotfixing-pull-requests}
- Make the appropriate changes in you branch.
- Dont create additional commits, do
- `git rebase -i`
- `git push --force` to your branch.
## Commit policy {#submitting-changes-commit-policy}
- Commits must be sufficiently tested before being merged, both for the master and staging branches.
- Hydra builds for master and staging should not be used as testing platform, its a build farm for changes that have been already tested.
- When changing the bootloader installation process, extra care must be taken. Grub installations cannot be rolled back, hence changes may break peoples installations forever. For any non-trivial change to the bootloader please file a PR asking for review, especially from \@edolstra.
```{.graphviz caption="Staging workflow"}
digraph {
"small changes" [shape=none]
"mass-rebuilds and other large changes" [shape=none]
"critical security fixes" [shape=none]
"broken staging-next fixes" [shape=none]
"small changes" -> master
"mass-rebuilds and other large changes" -> staging
"critical security fixes" -> master
"broken staging-next fixes" -> "staging-next"
"staging-next" -> master [color="#E85EB0"] [label="stabilization ends"] [fontcolor="#E85EB0"]
"staging" -> "staging-next" [color="#E85EB0"] [label="stabilization starts"] [fontcolor="#E85EB0"]
master -> "staging-next" -> staging [color="#5F5EE8"] [label="every six hours (GitHub Action)"] [fontcolor="#5F5EE8"]
}
```
[This GitHub Action](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/periodic-merge-6h.yml) brings changes from `master` to `staging-next` and from `staging-next` to `staging` every 6 hours; these are the blue arrows in the diagram above. The purple arrows in the diagram above are done manually and much less frequently. You can get an idea of how often these merges occur by looking at the git history.
### Master branch {#submitting-changes-master-branch}
The `master` branch is the main development branch. It should only see non-breaking commits that do not cause mass rebuilds.
### Staging branch {#submitting-changes-staging-branch}
The `staging` branch is a development branch where mass-rebuilds go. Mass rebuilds are commits that cause rebuilds for many packages, like more than 500 (or perhaps, if it's 'light' packages, 1000). It should only see non-breaking mass-rebuild commits. That means it is not to be used for testing, and changes must have been well tested already. If the branch is already in a broken state, please refrain from adding extra new breakages.
During the process of a releasing a new NixOS version, this branch or the release-critical packages can be restricted to non-breaking changes.
### Staging-next branch {#submitting-changes-staging-next-branch}
The `staging-next` branch is for stabilizing mass-rebuilds submitted to the `staging` branch prior to merging them into `master`. Mass-rebuilds must go via the `staging` branch. It must only see non-breaking commits that are fixing issues blocking it from being merged into the `master` branch.
If the branch is already in a broken state, please refrain from adding extra new breakages. Stabilize it for a few days and then merge into master.
During the process of a releasing a new NixOS version, this branch or the release-critical packages can be restricted to non-breaking changes.
### Stable release branches {#submitting-changes-stable-release-branches}
The same staging workflow applies to stable release branches, but the main branch is called `release-*` instead of `master`.
Example branch names: `release-21.11`, `staging-21.11`, `staging-next-21.11`.
Most changes added to the stable release branches are cherry-picked (“backported”) from the `master` and staging branches.
#### Automatically backporting a Pull Request {#submitting-changes-stable-release-branches-automatic-backports}
Assign label `backport <branch>` (e.g. `backport release-21.11`) to the PR and a backport PR is automatically created after the PR is merged.
#### Manually backporting changes {#submitting-changes-stable-release-branches-manual-backports}
Cherry-pick changes via `git cherry-pick -x <original commit>` so that the original commit id is included in the commit message.
Add a reason for the backport when it is not obvious from the original commit message. You can do this by cherry picking with `git cherry-pick -xe <original commit>`, which allows editing the commit message. This is not needed for minor version updates that include security and bug fixes but don't add new features or when the commit fixes an otherwise broken package.
Here is an example of a cherry-picked commit message with good reason description:
```
zfs: Keep trying root import until it works
Works around #11003.
(cherry picked from commit 98b213a11041af39b39473906b595290e2a4e2f9)
Reason: several people cannot boot with ZFS on NVMe
```
Other examples of reasons are:
- Previously the build would fail due to, e.g., `getaddrinfo` not being defined
- The previous download links were all broken
- Crash when starting on some X11 systems
#### Acceptable backport criteria
The stable branch does have some changes which cannot be backported. Most notable are breaking changes. The desire is to have stable users be uninterrupted when updating packages.
However, many changes are able to be backported, including:
- New Packages / Modules
- Security / Patch updates
- Version updates which include new functionality (but no breaking changes)
- Services which require a client to be up-to-date regardless. (E.g. `spotify`, `steam`, or `discord`)
- Security critical applications (E.g. `firefox`)

View File

@@ -1,45 +0,0 @@
# Vulnerability Roundup {#chap-vulnerability-roundup}
## Issues {#vulnerability-roundup-issues}
Vulnerable packages in Nixpkgs are managed using issues.
Currently opened ones can be found using the following:
[github.com/NixOS/nixpkgs/issues?q=is:issue+is:open+"Vulnerability+roundup"](https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+%22Vulnerability+roundup%22)
Each issue correspond to a vulnerable version of a package; As a consequence:
- One issue can contain several CVEs;
- One CVE can be shared across several issues;
- A single package can be concerned by several issues.
A "Vulnerability roundup" issue usually respects the following format:
```txt
<link to relevant package search on search.nix.gsc.io>, <link to relevant files in Nixpkgs on GitHub>
<list of related CVEs, their CVSS score, and the impacted NixOS version>
<list of the scanned Nixpkgs versions>
<list of relevant contributors>
```
Note that there can be an extra comment containing links to previously reported (and still open) issues for the same package.
## Triaging and Fixing {#vulnerability-roundup-triaging-and-fixing}
**Note**: An issue can be a "false positive" (i.e. automatically opened, but without the package it refers to being actually vulnerable).
If you find such a "false positive", comment on the issue an explanation of why it falls into this category, linking as much information as the necessary to help maintainers double check.
If you are investigating a "true positive":
- Find the earliest patched version or a code patch in the CVE details;
- Is the issue already patched (version up-to-date or patch applied manually) in Nixpkgs's `master` branch?
- **No**:
- [Submit a security fix](#submitting-changes-submitting-security-fixes);
- Once the fix is merged into `master`, [submit the change to the vulnerable release branch(es)](https://nixos.org/manual/nixpkgs/stable/#submitting-changes-stable-release-branches);
- **Yes**: [Backport the change to the vulnerable release branch(es)](https://nixos.org/manual/nixpkgs/stable/#submitting-changes-stable-release-branches).
- When the patch has made it into all the relevant branches (`master`, and the vulnerable releases), close the relevant issue(s).

View File

@@ -1,39 +1,86 @@
{ pkgs ? (import ./.. { }), nixpkgs ? { }}:
with import ./.. { };
with lib;
let
doc-support = import ./doc-support { inherit pkgs nixpkgs; };
in pkgs.stdenv.mkDerivation {
sources = sourceFilesBySuffices ./. [".xml"];
sources-langs = ./languages-frameworks;
in
stdenv.mkDerivation {
name = "nixpkgs-manual";
nativeBuildInputs = with pkgs; [
pandoc
graphviz
libxml2
libxslt
zip
jing
xmlformat
];
src = pkgs.nix-gitignore.gitignoreSource [] ./.;
buildInputs = [ pandoc libxml2 libxslt ];
postPatch = ''
ln -s ${doc-support} ./doc-support/result
xsltFlags = ''
--param section.autolabel 1
--param section.label.includes.component.label 1
--param html.stylesheet 'style.css'
--param xref.with.number.and.title 1
--param toc.section.depth 3
--param admon.style '''
--param callout.graphics.extension '.gif'
'';
installPhase = ''
dest="$out/share/doc/nixpkgs"
mkdir -p "$(dirname "$dest")"
mv out/html "$dest"
mv "$dest/index.html" "$dest/manual.html"
mv out/epub/manual.epub "$dest/nixpkgs-manual.epub"
buildCommand = let toDocbook = { useChapters ? false, inputFile, outputFile }:
let
extraHeader = ''xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" '';
in ''
{
pandoc '${inputFile}' -w docbook ${optionalString useChapters "--chapters"} \
--smart \
| sed -e 's|<ulink url=|<link xlink:href=|' \
-e 's|</ulink>|</link>|' \
-e 's|<sect. id=|<section xml:id=|' \
-e 's|</sect[0-9]>|</section>|' \
-e '1s| id=| xml:id=|' \
-e '1s|\(<[^ ]* \)|\1${extraHeader}|'
} > '${outputFile}'
'';
in
mkdir -p $out/nix-support/
echo "doc manual $dest manual.html" >> $out/nix-support/hydra-build-products
echo "doc manual $dest nixpkgs-manual.epub" >> $out/nix-support/hydra-build-products
''
ln -s '${sources}/'*.xml .
mkdir ./languages-frameworks
cp -s '${sources-langs}'/* ./languages-frameworks
''
+ toDocbook {
inputFile = ./introduction.md;
outputFile = "introduction.xml";
useChapters = true;
}
+ toDocbook {
inputFile = ./haskell-users-guide.md;
outputFile = "haskell-users-guide.xml";
useChapters = true;
}
+ toDocbook {
inputFile = ./../pkgs/development/idris-modules/README.md;
outputFile = "languages-frameworks/idris.xml";
}
+ toDocbook {
inputFile = ./../pkgs/development/r-modules/README.md;
outputFile = "languages-frameworks/r.xml";
}
+ ''
echo ${nixpkgsVersion} > .version
# validate against relaxng schema
xmllint --nonet --xinclude --noxincludenode manual.xml --output manual-full.xml
${jing}/bin/jing ${docbook5}/xml/rng/docbook/docbook.rng manual-full.xml
dst=$out/share/doc/nixpkgs
mkdir -p $dst
xsltproc $xsltFlags --nonet --xinclude \
--output $dst/manual.html \
${docbook5_xsl}/xml/xsl/docbook/xhtml/docbook.xsl \
./manual.xml
cp ${./style.css} $dst/style.css
mkdir -p $dst/images/callouts
cp "${docbook5_xsl}/xml/xsl/docbook/images/callouts/"*.gif $dst/images/callouts/
mkdir -p $out/nix-support
echo "doc manual $dst manual.html" >> $out/nix-support/hydra-build-products
'';
# Environment variables
PANDOC_LUA_FILTERS_DIR = "${pkgs.pandoc-lua-filters}/share/pandoc/filters";
PANDOC_LINK_MANPAGES_FILTER = import build-aux/pandoc-filters/link-manpages.nix { inherit pkgs; };
}

View File

@@ -1,84 +0,0 @@
{ pkgs ? (import ../.. {}), nixpkgs ? { }}:
let
inherit (pkgs) lib;
inherit (lib) hasPrefix removePrefix;
libsets = [
{ name = "asserts"; description = "assertion functions"; }
{ name = "attrsets"; description = "attribute set functions"; }
{ name = "strings"; description = "string manipulation functions"; }
{ name = "versions"; description = "version string functions"; }
{ name = "trivial"; description = "miscellaneous functions"; }
{ name = "lists"; description = "list manipulation functions"; }
{ name = "debug"; description = "debugging functions"; }
{ name = "options"; description = "NixOS / nixpkgs option handling"; }
{ name = "path"; description = "path functions"; }
{ name = "filesystem"; description = "filesystem functions"; }
{ name = "sources"; description = "source filtering functions"; }
{ name = "cli"; description = "command-line serialization functions"; }
];
locationsXml = import ./lib-function-locations.nix { inherit pkgs nixpkgs libsets; };
functionDocs = import ./lib-function-docs.nix { inherit locationsXml pkgs libsets; };
version = pkgs.lib.version;
epub-xsl = pkgs.writeText "epub.xsl" ''
<?xml version='1.0'?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:import href="${pkgs.docbook_xsl_ns}/xml/xsl/docbook/epub/docbook.xsl" />
<xsl:import href="${./parameters.xml}"/>
</xsl:stylesheet>
'';
xhtml-xsl = pkgs.writeText "xhtml.xsl" ''
<?xml version='1.0'?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:import href="${pkgs.docbook_xsl_ns}/xml/xsl/docbook/xhtml/docbook.xsl" />
<xsl:import href="${./parameters.xml}"/>
</xsl:stylesheet>
'';
# NB: This file describes the Nixpkgs manual, which happens to use module
# docs infra originally developed for NixOS.
optionsDoc = pkgs.nixosOptionsDoc {
inherit (pkgs.lib.evalModules { modules = [ ../../pkgs/top-level/config.nix ]; }) options;
documentType = "none";
transformOptions = opt:
opt // {
declarations =
map
(decl:
if hasPrefix (toString ../..) (toString decl)
then
let subpath = removePrefix "/" (removePrefix (toString ../..) (toString decl));
in { url = "https://github.com/NixOS/nixpkgs/blob/master/${subpath}"; name = subpath; }
else decl)
opt.declarations;
};
};
in pkgs.runCommand "doc-support" {}
''
mkdir result
(
cd result
ln -s ${locationsXml} ./function-locations.xml
ln -s ${functionDocs} ./function-docs
ln -s ${optionsDoc.optionsDocBook} ./config-options.docbook.xml
ln -s ${pkgs.docbook5}/xml/rng/docbook/docbook.rng ./docbook.rng
ln -s ${pkgs.docbook_xsl_ns}/xml/xsl ./xsl
ln -s ${epub-xsl} ./epub.xsl
ln -s ${xhtml-xsl} ./xhtml.xsl
ln -s ${./xmlformat.conf} ./xmlformat.conf
ln -s ${pkgs.documentation-highlighter} ./highlightjs
echo -n "${version}" > ./version
)
mv result $out
''

View File

@@ -1,36 +0,0 @@
# Generates the documentation for library functions via nixdoc.
{ pkgs, locationsXml, libsets }:
with pkgs; stdenv.mkDerivation {
name = "nixpkgs-lib-docs";
src = ../../lib;
buildInputs = [ nixdoc ];
installPhase = ''
function docgen {
# TODO: wrap lib.$1 in <literal>, make nixdoc not escape it
if [[ -e "../lib/$1.nix" ]]; then
nixdoc -c "$1" -d "lib.$1: $2" -f "$1.nix" > "$out/$1.xml"
else
nixdoc -c "$1" -d "lib.$1: $2" -f "$1/default.nix" > "$out/$1.xml"
fi
echo "<xi:include href='$1.xml' />" >> "$out/index.xml"
}
mkdir -p "$out"
cat > "$out/index.xml" << 'EOF'
<?xml version="1.0" encoding="utf-8"?>
<root xmlns:xi="http://www.w3.org/2001/XInclude">
EOF
${lib.concatMapStrings ({ name, description }: ''
docgen ${name} ${lib.escapeShellArg description}
'') libsets}
echo "</root>" >> "$out/index.xml"
ln -s ${locationsXml} $out/locations.xml
'';
}

View File

@@ -1,85 +0,0 @@
{ pkgs, nixpkgs ? { }, libsets }:
let
revision = pkgs.lib.trivial.revisionWithDefault (nixpkgs.revision or "master");
libDefPos = prefix: set:
builtins.concatMap
(name: [{
name = builtins.concatStringsSep "." (prefix ++ [name]);
location = builtins.unsafeGetAttrPos name set;
}] ++ nixpkgsLib.optionals
(builtins.length prefix == 0 && builtins.isAttrs set.${name})
(libDefPos (prefix ++ [name]) set.${name})
) (builtins.attrNames set);
libset = toplib:
builtins.map
(subsetname: {
subsetname = subsetname;
functions = libDefPos [] toplib.${subsetname};
})
(builtins.map (x: x.name) libsets);
nixpkgsLib = pkgs.lib;
flattenedLibSubset = { subsetname, functions }:
builtins.map
(fn: {
name = "lib.${subsetname}.${fn.name}";
value = fn.location;
})
functions;
locatedlibsets = libs: builtins.map flattenedLibSubset (libset libs);
removeFilenamePrefix = prefix: filename:
let
prefixLen = (builtins.stringLength prefix) + 1; # +1 to remove the leading /
filenameLen = builtins.stringLength filename;
substr = builtins.substring prefixLen filenameLen filename;
in substr;
removeNixpkgs = removeFilenamePrefix (builtins.toString pkgs.path);
liblocations =
builtins.filter
(elem: elem.value != null)
(nixpkgsLib.lists.flatten
(locatedlibsets nixpkgsLib));
fnLocationRelative = { name, value }:
{
inherit name;
value = value // { file = removeNixpkgs value.file; };
};
relativeLocs = (builtins.map fnLocationRelative liblocations);
sanitizeId = builtins.replaceStrings
[ "'" ]
[ "-prime" ];
urlPrefix = "https://github.com/NixOS/nixpkgs/blob/${revision}";
xmlstrings = (nixpkgsLib.strings.concatMapStrings
({ name, value }:
''
<section><title>${name}</title>
<para xml:id="${sanitizeId name}">
Located at
<link
xlink:href="${urlPrefix}/${value.file}#L${builtins.toString value.line}">${value.file}:${builtins.toString value.line}</link>
in <literal>&lt;nixpkgs&gt;</literal>.
</para>
</section>
'')
relativeLocs);
in pkgs.writeText
"locations.xml"
''
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5">
<title>All the locations for every lib function</title>
<para>This file is only for inclusion by other files.</para>
${xmlstrings}
</section>
''

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