Compare commits

..

1473 Commits

Author SHA1 Message Date
Jörg Thalheim
cd63096d6d Merge #101611: firefox-bin: 81.0.2 -> 82.0
(cherry picked from commit 2f31499703)
vcunat tested it briefly on 20.09.
2020-10-27 10:46:12 +01:00
Domen Kožar
1f401964bb Merge pull request #101731 from r-burns/backport-goaccess
[20.09] goaccess: fix build on darwin
2020-10-27 10:40:37 +01:00
R. RyanTM
13d0c311e3 gqrx: 2.13 -> 2.13.2
(cherry picked from commit 3ff7bf9166)
2020-10-27 08:58:28 +01:00
R. RyanTM
dea3973e98 gqrx: 2.12.1 -> 2.13
(cherry picked from commit 90b1417a1d)
2020-10-27 08:58:21 +01:00
Max Hausch
5bae0f41ec Update matio: 1.5.17 -> 1.5.18
(cherry picked from commit ae61f4f1cc)
2020-10-27 08:11:09 +01:00
WORLDofPEACE
d352ff3024 rl-2009: release on a Tuesday
Because hydra took it's good old time

(cherry picked from commit 5a08ab936b)
2020-10-27 03:05:14 -04:00
Jonathan Ringer
9a0b14b097 treewide: mark broken, q-z 2020-10-26 19:14:59 -07:00
Jonathan Ringer
87b50c25ba treewide: mark python packages broken 2020-10-26 19:14:59 -07:00
Jonathan Ringer
9151a596d9 treewide: mark qt and linuxPackages as disabled 2020-10-26 19:14:59 -07:00
Jonathan Ringer
1a1d940f07 treewide: intial mark broken for 20.09 2020-10-26 19:14:59 -07:00
Jonathan Ringer
7a2686d415 release-notes-2009: add contributions section
(cherry picked from commit 51ca426eb5)
2020-10-26 21:50:31 -04:00
Jonathan Ringer
0aecedd132 nixos/docs/rl-2009.xml: normalize highlights, reorder entries 2020-10-26 17:20:01 -07:00
Jonathan Ringer
67000e6cea README.md: update stable release links
(cherry picked from commit 366bebd53a)
2020-10-26 20:14:57 -04:00
Jonathan Ringer
523decb1ee contributing.md: mention rebased or squashed merges
(cherry picked from commit 96e4438959)
2020-10-26 20:14:57 -04:00
WORLDofPEACE
f73904baff Merge pull request #101768 from worldofpeace/cinnamon-backports
[20.09] Cinnamon backports
2020-10-26 16:55:23 -04:00
Kirill Elagin
f8ac00411d pantheon.wingpanel-indicator-bluetooth: 2.1.5 -> 2020-10-01
* Fix device duplicates:
  https://github.com/elementary/wingpanel-indicator-bluetooth/pull/116

(cherry picked from commit a05f7f73a5)
2020-10-26 16:53:12 -04:00
Tim Steinbach
efe4ba95b4 docker-edge: Fix test
(cherry picked from commit c851af868f)
2020-10-26 16:26:13 -04:00
Doron Behar
b7c930a3bd spidermonkey_78: init at 78.1.0
* format

Co-authored-by: WORLDofPEACE <worldofpeace@protonmail.ch>
(cherry picked from commit 1d45990efb)
2020-10-26 13:50:23 -04:00
WORLDofPEACE
1c46527bb6 Revert "nixos/pantheon: install nixos wallpaper"
This reverts commit 5100e4f250.

Fixes https://github.com/NixOS/nixpkgs/issues/100293
Though it's only a workaround for now.
See https://github.com/elementary/switchboard-plug-pantheon-shell/issues/246#issuecomment-716713218
We trigger the broken scenario where we have two subdirectories. Reverting
that commit undoes this.

(cherry picked from commit ace69f768b)
2020-10-26 13:47:27 -04:00
Martin Weinelt
1541698868 Merge pull request #101776 from IvarWithoutBones/backport-myfitnesspal
[20.09] pythonPackages.myfitnesspal: fix build
2020-10-26 17:57:50 +01:00
IvarWithoutBones
f2980aa9b1 pythonPackages.myfitnesspal: fix build
(cherry picked from commit 7cea8833eb)
2020-10-26 17:23:02 +01:00
WORLDofPEACE
53b104bfdb cinnamon.cjs: don't use fork, 4.6.0 -> 2020-10-19
The code in that fork was been integrated into cjs master https://github.com/linuxmint/cjs/pull/84

(cherry picked from commit feac386ca9)
2020-10-26 10:55:29 -04:00
R. RyanTM
7b97ce6f8e cinnamon.cinnamon-session: 4.6.1 -> 4.6.2
(cherry picked from commit 7e6fd55ec6)
2020-10-26 10:36:04 -04:00
R. RyanTM
a53b4f8d3f cinnamon.cinnamon-menus: 4.6.0 -> 4.6.1
(cherry picked from commit 4078818d60)
2020-10-26 10:36:04 -04:00
R. RyanTM
b223f2c8a1 cinnamon.cinnamon-desktop: 4.6.1 -> 4.6.4
(cherry picked from commit 79c6d40e2c)
2020-10-26 10:36:04 -04:00
Maciej Krüger
f5ea85f4c9 cinnamon.cjs: 4.6.0 -> 4.6.0-gjs1.66.0
(cherry picked from commit b77e830d9e)
2020-10-26 10:36:04 -04:00
Maciej Krüger
d5d5a70cac cinnamon.cinnamon-common: add patch for new cjs
(cherry picked from commit 1e80ede78d)
2020-10-26 10:36:04 -04:00
Maciej Krüger
e3ce7e1002 cinnamon.cinnamon-settings-daemon: fix csd-backlight-helper build, fixes #101128
(cherry picked from commit 6e0f7d5bcf)
2020-10-26 10:35:14 -04:00
rnhmjoj
22515f10eb nixos/dnscrypt-wrapper: fix key rotation script
Fix an error in the validation code when the public key is in a
nonstandard location. The check command fails and the key is
incorrectly assumed to be expiring.

(cherry picked from commit 9e04bba0af)
2020-10-26 13:53:09 +01:00
Ryan Burns
edfbd838c4 goaccess: fix build on darwin
(cherry picked from commit d8b38de1e1)
2020-10-25 21:03:04 -07:00
WORLDofPEACE
9f5b72bfd7 Merge pull request #101704 from worldofpeace/backport-101516
[20.09] GNOME polishing from Q.A findings
2020-10-25 19:27:31 -04:00
WORLDofPEACE
157744e954 installation-cd-graphical-gnome: add firefox to favorite-apps
(cherry picked from commit 39d1599767)
2020-10-25 18:42:45 -04:00
WORLDofPEACE
b38395cb4a nixos/gnome3: add gnome-calendar to favorites
(cherry picked from commit 7df6af303e)
2020-10-25 18:42:45 -04:00
WORLDofPEACE
dca668313a nixos/gnome3: add favoriteAppsOverride option
Rather messy and only needed for the installation cd, so it's
an internal option.

(cherry picked from commit 9cee7772e6)
2020-10-25 18:42:45 -04:00
WORLDofPEACE
aa14e0ad2b nixos/flatpak: introduce guiPackages
This adds basically an indirection to systemPackages
to automatically install an interface for flatpak for their respective
environments. e.g if I enable pantheon and flatpak you'll get appcenter,
and on gnome you'll see gnome-software.

https://github.com/NixOS/nixpkgs/issues/99648#issuecomment-706691174
(cherry picked from commit d89deddd5d)
2020-10-25 18:42:45 -04:00
WORLDofPEACE
161ca697f7 nixos/gnome3: don't ship gnome-software
This serves no purpose without flatpak https://github.com/NixOS/nixpkgs/issues/99648#issuecomment-706691174

(cherry picked from commit b1587f9e19)
2020-10-25 18:42:45 -04:00
WORLDofPEACE
6e4e94d969 nixos/gnome3: don't put epiphany in favorite apps
(cherry picked from commit 70dc25abd9)
2020-10-25 18:42:44 -04:00
Justin Humm
7da4553df6 tor-browser-bundle-bin: 9.5.4 -> 10.0.2
(cherry picked from commit 03d85e8aac)
2020-10-25 19:44:34 +01:00
Nikolay Korotkiy
9cba601c95 xournalpp: 1.0.18 -> 1.0.19
(cherry picked from commit d2a28d3b38)
2020-10-25 19:36:40 +01:00
Jon Banafato
48167759c5 keepassxc: 2.6.1 -> 2.6.2
KeePassXC has a new release. [Changelog](https://github.com/keepassxreboot/keepassxc/releases/tag/2.6.2)

(cherry picked from commit bc5cf003aa)
2020-10-25 18:53:49 +01:00
rnhmjoj
f979f5199b arx-libertatis: 2019-07-22 -> 2020-10-20
(cherry picked from commit 883006d6bf)
2020-10-25 15:23:41 +01:00
rnhmjoj
42054073bb arx-libertatis: remove old override
(cherry picked from commit 9ae47f9e64)
2020-10-25 15:23:35 +01:00
Claudio Bley
f5ad6d9f77 fritzing: 0.9.3b -> 0.9.4
Notes:

* fritzing still needs an older version of libgit2
* releases no longer directly correspond to tags in the git repository, they are
  using build numbers instead
* the fritzing-parts repository is no longer versioned at all, the master branch
  contains the latest stable release
* a `parts.db` file needs to be generated from the fritzing-parts files during
  the build

(cherry picked from commit 0f6b8b7964)
Otherwise it wouldn't build.  Master PR: #98381.
2020-10-25 10:28:09 +01:00
Vladimír Čunát
708c2daa39 Merge #100446: python*Packages.apprise: fix dependencies
(cherry picked from commit ed217bcc35)
2020-10-25 08:44:47 +01:00
r-burns
997f7a355a bacula: fix build on darwin (#101526)
(cherry picked from commit 4e88622ac9)
2020-10-25 00:05:39 -04:00
Ryan Burns
a617a2f6d6 blugon: fix build on darwin
(cherry picked from commit c58233a34a)
2020-10-24 23:24:15 -04:00
Benjamin Hipple
9fda0b6e3d Merge pull request #101489 from buckley310/release-20.09
[20.09] brave: 1.12.112 -> 1.15.76
2020-10-24 23:00:07 -04:00
Fabian Möller
f928b39139 nixosTests.ferm: fix network timeout
The subtests could start before the server has configured it's IP
addresses and therefore timeout.

(cherry picked from commit 253954232e)
2020-10-24 15:04:44 -07:00
WORLDofPEACE
77d3b0f5d7 pantheon.wingpanel-indicator-session: 2.2.8 -> 2020-09-13
Lots of bugfixes but mostly https://github.com/elementary/wingpanel-indicator-session/pull/126
which fixes https://github.com/NixOS/nixpkgs/issues/95658

(cherry picked from commit 95c05e6c44)
2020-10-24 13:20:30 -04:00
WORLDofPEACE
b387760d1b pantheon.switchboard-plug-about: patch some bugfixes
Hopefully fix https://github.com/NixOS/nixpkgs/issues/101221.
Though that issue is flaky on the reproducibility.

(cherry picked from commit 372e3a118d)
2020-10-24 12:46:42 -04:00
WORLDofPEACE
7c847c8f9b Merge pull request #101572 from B4dM4n/backport-certmgr-test-fix
[20.09] nixosTests.certmgr: fix systemd test
2020-10-24 12:16:46 -04:00
Fabian Möller
f14e31ead9 nixosTests.certmgr: fix systemd test
Nginx fails to start, because it can't read the certificate file. This
happens because PrivateTmp is set for the service, which makes the
system wide /tmp inaccessible.

(cherry picked from commit e83bd25aec)
2020-10-24 18:03:52 +02:00
WORLDofPEACE
89d75bc743 nixos/lightdm: make lightdm user shell bash
In https://github.com/NixOS/nixpkgs/issues/100119 pantheon's greeter
has g-s-d running which allows brightness controls via pkexec.
This is changed in newer versions of g-s-d (pantheon uses a fork currently),
but whenever brightness is changed with a shell of `shadow` we get
```
Oct 10 23:51:44 kirXps pkexec[18722]: lightdm: Executing command [USER=root] [TTY=unknown] [CWD=/var/lib/lightdm] [COMMAND=/run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight 65587]
```

I'm not sure this should be strictly needed, so we should try to
revert later on when pantheon's g-s-d is updated.

(cherry picked from commit c134f6443a)
2020-10-24 11:59:45 -04:00
WORLDofPEACE
0d21510b4a nixos/tools: add desktopConfiguration option
We now have a GNOME ISO so it would be nice to seed that one
with configuration on how to enable it.

(cherry picked from commit 99d5111246)
2020-10-24 11:36:04 -04:00
WORLDofPEACE
3e594ad891 nixos/tools: add firefox to systemPackages example
This is in the graphical iso's.

(cherry picked from commit 2d6a694842)
2020-10-24 11:36:04 -04:00
WORLDofPEACE
46cecda569 nixos/tools: don't call Plasma KDE
(cherry picked from commit 3b20eb47f1)
2020-10-24 11:36:04 -04:00
WORLDofPEACE
0ae904dc44 nixos/tools: comment about libinput
(cherry picked from commit 9f1a43cefa)
2020-10-24 11:36:04 -04:00
WORLDofPEACE
ce1f2a6d5a nixos/tools: don't mention pinentryFlavor
We don't need to actually set this as it find a good
default automatically. This could confuse the user into thinking they need
to set it themselves.

(cherry picked from commit 12825bc21f)
2020-10-24 11:36:03 -04:00
WORLDofPEACE
87a8e50529 Merge pull request #100225 from worldofpeace/pantheon-update-mutter-20.09
[20.09] [dontmerge] gnome3.mutter334: 3.34.5 -> 3.34.6, update patches
2020-10-24 11:32:06 -04:00
Bjørn Forsman
95d26c9a9f parallel: fix calculation of max line length
parallel >= 20200822 uses /bin/echo to calculate the max allowed line
length. Patch it to a correct path, so that it doesn't (silently) fail
and fall back to a low value of 324.

Before:
  $ parallel --max-line-length-allowed
  324

After:
  $ parallel --max-line-length-allowed
  131063

Fixes: 16ca8725ff ("parallel: 20200722 -> 20200822")
(cherry picked from commit 3d4e133e77)
2020-10-24 10:37:53 +02:00
Vladimír Čunát
daa86b8422 Merge #101380: thunderbird*: 78.3.2 -> 78.4.0
(cherry picked from commit c0a646edd0)
Re-tested both a bit on 20.09.
2020-10-24 09:56:10 +02:00
TredwellGit
7cfeb7ae7a mumble: 1.3.2 -> 1.3.3
https://github.com/mumble-voip/mumble/releases/tag/1.3.3
(cherry picked from commit 1bc72b3494)
2020-10-23 23:30:42 +02:00
Sean Buckley
f469958869 brave: 1.12.112 -> 1.15.76 2020-10-23 14:24:41 -04:00
Stig Palmquist
b58f6e4731 mariadb: 10.4.14 -> 10.4.15
Fixes CVE-2020-15180

(cherry picked from commit 2929f5edb9)
2020-10-23 09:18:24 -07:00
WORLDofPEACE
fadb52fd45 nixos/display-managers: add sessionData.desktops to XDG_DATA_DIRS
Fixes #100108

Alternative to https://github.com/NixOS/nixpkgs/pull/100112 which doesn't break stuff.

(cherry picked from commit 755ba171c7)
2020-10-23 11:47:28 -04:00
Martin Weinelt
70b255f98f Merge pull request #101439 from IvarWithoutBones/backport-pyotp
[20.09] pythonPackages.pyotp: disable on Python27
2020-10-23 13:01:02 +02:00
Vincent Laporte
3179e7f344 cryptoverif: 2.01pl1 → 2.03pl1
(cherry picked from commit 2cb651ad14)
2020-10-23 10:20:50 +02:00
IvarWithoutBones
f041a6d077 pythonPackages.pyotp: disable on Python27
(cherry picked from commit 7a34808502)
2020-10-23 04:26:37 +02:00
Martin Weinelt
1d10a2af91 Merge pull request #101435 from nh2/pitivi-fix-startup-svg-error-20.09
[20.09] pitivi: Fix .svg loading at startup, see #56943 #89691
2020-10-23 03:52:58 +02:00
Niklas Hambüchen
0d84bb40cb pitivi: Fix .svg loading at startup, see #56943 #89691
(cherry picked from commit 4bf0061d28)
2020-10-23 02:52:40 +02:00
Vladimír Čunát
7d29f0696d Merge branch 'staging-20.09' into release-20.09 2020-10-22 21:12:29 +02:00
Michael Weiss
e6dcf54004 Merge pull request #101357 from primeos/signal-desktop-backport
[20.09] signal-desktop: 1.37.1 -> 1.37.2
2020-10-22 18:56:41 +02:00
Anderson Torres
1690a722be Merge pull request #100896 from jbedo/singularity-20.09
[20.09] singularity: 3.6.2 -> 3.6.4
2020-10-22 11:17:29 -03:00
Bas van Dijk
36fa21dc1b Merge pull request #101378 from basvandijk/rocksdb-jemalloc-release-20.09
rocksdb: enable optional jemalloc support
2020-10-22 16:02:00 +02:00
Bas van Dijk
58aea2fed9 rocksdb: enable optional jemalloc support
(cherry picked from commit f2b8a45cde)
2020-10-22 15:44:00 +02:00
Pavol Rusnak
9397611d6d zoom-us: 5.3.465578.0920 -> 5.3.469451.0927
(cherry picked from commit fe35b97d91)
2020-10-22 14:20:55 +02:00
Graham Bennett
ff260202d9 zoom-us: 5.2.458699.0906 -> 5.3.465578.0920
(cherry picked from commit 4d9e297272)
2020-10-22 14:20:47 +02:00
Amit Aryeh Levy
753e422c9c zoom-us: 5.2.454870.0831 -> 5.2.458699.0906
(cherry picked from commit 3d9adca641)
2020-10-22 14:20:41 +02:00
Amit Aryeh Levy
52ac3c8308 zoom-us: 5.2.446620.0816 -> 5.2.454870.0831
thanks to @doronbehar for changes to update script

(cherry picked from commit 548ded0ad5)
2020-10-22 14:20:35 +02:00
Amit Aryeh Levy
5033c2a304 zoom-us: 5.1.422789.0705 -> 5.2.446620.0816
(cherry picked from commit 71ac9f191a)
2020-10-22 14:20:14 +02:00
Maximilian Bosch
3095f9cccf hydra-unstable: 2020-09-02 -> 2020-10-20
(cherry picked from commit 1bb8808e1a)
2020-10-22 13:53:02 +02:00
Michael Weiss
32b381172e signal-desktop: 1.37.1 -> 1.37.2
(cherry picked from commit d8cbc9d331)
2020-10-22 13:38:29 +02:00
R. RyanTM
0864c12440 atlassian-jira: 8.12.0 -> 8.13.0
(cherry picked from commit 590bedc5ec)
2020-10-22 13:15:46 +02:00
Eelco Dolstra
4c29522d13 nixUnstable: 3.0pre20200829_f156513 -> 3.0pre20201020_e0ca98c
(cherry picked from commit f25bb567f6)
2020-10-22 12:31:42 +02:00
Eelco Dolstra
7de510989d kdeconnect: 20.08.1 -> 20.08.2
Fixes an invalid MIME type.

(cherry picked from commit 42bf61811b)
2020-10-22 12:30:09 +02:00
Eelco Dolstra
7b8c86ed16 kdeconnect: Use Qt 5.12
Fixes #99951.

  $ kdeconnect-app
  Cannot mix incompatible Qt library (5.12.7) with this library (5.15.0)
  Aborted (core dumped)

(cherry picked from commit fa08ce096e)
2020-10-22 12:30:04 +02:00
Justin Humm
259b0ce0f7 freetype: patch CVE-2020-15999
We can't backport https://github.com/NixOS/nixpkgs/pull/101199 as it
would break freetype API, but this patch should fix the issue.
2020-10-22 12:21:40 +02:00
WilliButz
b08a6294e7 grafana: 7.2.1 -> 7.2.2
(cherry picked from commit f7bc6be76c)
2020-10-22 12:05:09 +02:00
TredwellGit
35e7dd32bb chromium: 86.0.4240.75 -> 86.0.4240.111
https://chromereleases.googleblog.com/2020/10/stable-channel-update-for-desktop_20.html

CVE-2020-16000 CVE-2020-16001 CVE-2020-16002 CVE-2020-15999 CVE-2020-16003

(cherry picked from commit 7dc2d9f819)
Backport of #101306.
2020-10-22 11:52:09 +02:00
Michael Weiss
415ac1f5fa chromiumDev: M87 -> M88
(cherry picked from commit aee3076ba7)
2020-10-22 11:51:40 +02:00
Michael Weiss
761a9b428c chromiumBeta: M86 -> M87
(cherry picked from commit a667bc7ae1)
2020-10-22 11:51:26 +02:00
Justin Humm
e9600daab3 Revert "freetype: 2.10.2 -> 2.10.4"
This reverts commit a583a60bec.

As it broke at least ghostscript and therefore caused a huge amount of
dependency failures.
2020-10-22 11:34:49 +02:00
Maximilian Bosch
a43ca1cf16 element-desktop: 1.7.9 -> 1.7.10
https://github.com/vector-im/element-desktop/releases/tag/v1.7.10
(cherry picked from commit d976433296)
2020-10-22 11:06:01 +02:00
Maximilian Bosch
d9c8818294 element-web: 1.7.9 -> 1.7.10
https://github.com/vector-im/element-web/releases/tag/v1.7.10
(cherry picked from commit 96f29b90a1)
2020-10-22 11:06:00 +02:00
davidak
64cc6754d5 limesurvey: 3.23.0+200813 -> 3.23.7+201006
(cherry picked from commit 98cbf7b90d)
2020-10-22 01:37:37 +02:00
TredwellGit
a583a60bec freetype: 2.10.2 -> 2.10.4
https://sourceforge.net/projects/freetype/files/freetype2/2.10.4/
(cherry picked from commit 3775af7057)
2020-10-22 00:50:11 +02:00
Raphael Borun Das Gupta
9e627ad00e python3Packages.scrapy-fake-useragent: fix license
which upstream changed to MIT with alecxe/scrapy-fake-useragent@0ea7614

(cherry picked from commit 44465f606e)
2020-10-21 14:38:23 -07:00
Vincent Laporte
e3efb20e98 ocamlPackages.safepass: 2.0 → 3.0
(cherry picked from commit 4b3e97daa4)
2020-10-21 22:53:58 +02:00
Mario Rodas
3870956dc1 python38Packages.scrapy-fake-useragent: fix build
(cherry picked from commit 71e7f74ca6)
2020-10-21 13:14:58 -07:00
symphorien
2d6b0921b6 nixos/sslh: fix usage of the now removed ssl probe (#101087)
and document

(cherry picked from commit 9e8eaea484)
2020-10-21 21:35:25 +02:00
Kim Lindberger
e6f3d79a38 Merge pull request #100564 from talyz/20.09-nomachine-6.13.3
nomachine-client: 6.11.2 -> 6.12.3
2020-10-21 19:02:22 +02:00
Anderson Torres
ddf80b09c3 Merge pull request #101020 from jmpunkt/libreoffice-qt-backport
[20.09] libreoffice-qt: fix compilation
2020-10-21 08:55:12 -03:00
Anderson Torres
7ee58b7b54 Merge pull request #101133 from maxxk/odpic-4.0.2-stable
[20.09] odpic: 3.3.0 -> 4.0.2
2020-10-21 08:54:31 -03:00
Anderson Torres
50531288b8 Merge pull request #101197 from ruuda/mopidy-local-backport
[20.09] mopidy-local: init at 3.1.1
2020-10-21 08:52:40 -03:00
Andreas Rammhold
dc8b9b4f44 Merge pull request #101206 from andir/20.09/firefox-82
[20.09] firefox: 81.0.2 -> 82.0, firefox-esr: 78.3.1 -> 78.4.0esr
2020-10-21 12:04:02 +02:00
Jean-François Roche
418db3d00a python3Package.python-markdown-math: remove support for python 2.7
As stated in its changelog [1], python 2.7 is no longer supported.

[1] https://github.com/mitya57/python-markdown-math/blob/master/changelog#L4

(cherry picked from commit 8781030dfa)
2020-10-20 21:14:28 -07:00
Ruud van Asseldonk
1c0f086c46 mopidy-local-sqlite: remove
This plugin has been merged into the newer "mopidy-local" plugin which I
just added. "mopidy-local-images" and "mopidy-local-sqlite" were added
originally for Mopidy Iris, but Iris now works with mopidy-local, and
does not need the older ones any more.

Backporting because mopidy-local-sqlite is broken in 20.09.

(cherry picked from commit b82ca4d2e1)
2020-10-20 19:56:15 +02:00
Ruud van Asseldonk
6bfec173cc mopidy-local-images: remove
This plugin has been merged into the newer "mopidy-local" plugin which I
just added. "mopidy-local-images" and "mopidy-local-sqlite" were added
originally for Mopidy Iris, but Iris now works with mopidy-local, and
does not need the older plugins any more.

Backporting because mopidy-local-images is broken in 20.09.

(cherry picked from commit 79a823ceae)
2020-10-20 19:55:52 +02:00
Ruud van Asseldonk
cb317147c6 mopidy-local: init at 3.1.1
Mopidy-Local is the successor to Mopidy-Local-SQLite and
Mopidy-Local-Images, which are already packaged. I had to make
gobject-introspection a propagated build input, otherwise
Mopidy-Local can't import Mopidy.

Backporting because mopidy-local-sqlite and mopidy-local-images are
broken in 20.09 without this change and the subsequent removals.

(cherry picked from commit 7565d00a7c)
2020-10-20 19:55:12 +02:00
Andreas Rammhold
c9ffe3a126 firefox: 78.3.1esr -> 78.4.0esr
(cherry picked from commit 910a4bc162a3a2d884999d0ba3e65a454721f10a)
2020-10-20 18:38:16 +02:00
Andreas Rammhold
2fa9c1a237 firefox: 81.0.2 -> 82.0
(cherry picked from commit df959d06c40af7f275741530ad7158faf0a46e1a)
2020-10-20 18:38:15 +02:00
Andreas Rammhold
9bba8841e0 firefox: suport newer NSS version for next firefox bump 2020-10-20 18:38:15 +02:00
Andreas Rammhold
b17924169d nss_latest: init at 3.57 2020-10-20 18:38:15 +02:00
Marc 'risson' Schmitt
7b32c9dd0c nixos/initrd-network: fix /etc/resolv.conf when multiple dns servers from DHCP
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
(cherry picked from commit 9e6bede5ab)
2020-10-20 08:56:53 -07:00
Justin Humm
4cdfa432fc opensc: patch for CVE-2020-26570, CVE-2020-26572
(cherry picked from commit c4237e2be1)
2020-10-20 17:32:44 +02:00
Robert Hensing
13abaaba0c Merge pull request #101123 from r-burns/backport-spooles
[20.09] spooles: fix build on darwin
2020-10-20 16:24:25 +02:00
Robert Hensing
a8e89c1f0b Merge pull request #101122 from r-burns/backport-perl-linux
[20.09] perlPackages.Linux*: disable on non-Linux platforms
2020-10-20 16:22:38 +02:00
Maxim Krivchikov
dafad4082b odpic: 3.3.0 -> 4.0.2
python3Packages.cx-oracle is broken with current odpic version

(cherry picked from commit 5abf2b4f68)
2020-10-20 13:22:07 +03:00
Vladimír Čunát
05334ad785 Merge #100808: thunderbird*: 78.3.2 -> 78.3.3
(cherry picked from commit 176243b059)
Re-tested both of them briefly atop 20.09 as well.
2020-10-20 08:51:14 +02:00
freezeboy
bd409c97e6 brotli: 1.0.7 -> 1.0.9 (PR #100436)
Fixes CVE-2020-8927.

(cherry picked from commit 347696a30b)
2020-10-20 08:06:25 +02:00
Vladimír Čunát
550971ee52 Merge #99158: xorg.libX11: 1.6.8 -> 1.6.12 (security)
(cherry picked from commit b623690daf)
I trust this is regression-free with sufficient probability.
https://lists.x.org/archives/xorg-announce/2020-August/003056.html
https://lists.x.org/archives/xorg-announce/2020-July/003050.html
2020-10-20 08:06:21 +02:00
Jonathan Ringer
e3c3fb2109 kdeFrameworks.plasma-framework: aligned with QtQuick 2.12
Aligned plasma-framework with qt5.12
see https://github.com/NixOS/nixpkgs/issues/98536
2020-10-19 20:40:22 -07:00
Robert Scott
5e199f944c Merge pull request #100926 from bcdarwin/update-elastix-release-20.09
[20.09] elastix: 5.0.0 -> 5.0.1; unbreak OS X build
2020-10-20 00:18:37 +01:00
Jean-François Roche
d6054302c9 pythonPackages.pytest-cram: 0.2.0 -> 0.2.2
(cherry picked from commit d0908c6133)
2020-10-19 14:59:42 -07:00
Konrad Borowski
af136e9d2c kdeApplications.kpat: restore 2020-10-19 14:57:43 -07:00
Milan
892dd85dd2 percona-server: 5.6.43-84.3 -> 5.6.49-89.0 (#97923)
Fixes build with recent versions of glibc.

ZHF: #97479(cherry picked from commit c15bcdd91f)
2020-10-19 13:28:27 -07:00
Aluísio Augusto Silva Gonçalves
2cddaafacf nixos/doc: fix itemization in the 20.09 release notes
(cherry picked from commit cba9843aa0)
2020-10-19 22:27:18 +02:00
Ryan Burns
1fb25d74c9 perlPackages.Linux*: disable on non-Linux platforms
(cherry picked from commit b7e4ac43e4)
2020-10-19 12:39:50 -07:00
Ryan Burns
79d1ba6c04 spooles: fix build on darwin
(cherry picked from commit c04219a9d5)
2020-10-19 12:37:53 -07:00
Christian Kauhaus
722734d1d7 Merge pull request #100159 from helsinki-systems/bp/asteriskupd
[20.09] asterisk: Bump all packages
2020-10-19 20:47:17 +02:00
Maximilian Bosch
0aee4508fb grafana: 7.2.0 -> 7.2.1
https://github.com/grafana/grafana/releases/tag/v7.2.1
(cherry picked from commit fcbf2ee8b5)
2020-10-19 17:52:14 +02:00
Maximilian Bosch
eb29fbb113 epson-escpr2: 1.1.17 -> 1.1.23
(cherry picked from commit b6f990947c)
2020-10-19 17:52:13 +02:00
Mario Rodas
41b11ef47d terraform_0_13: 0.13.2 -> 0.13.4
Changelogs:
* https://github.com/hashicorp/terraform/releases/tag/v0.13.3
* https://github.com/hashicorp/terraform/releases/tag/v0.13.4

(cherry picked from commit eb6e2ac2c0)
(cherry picked from commit 25e2e677d3)
2020-10-19 17:20:54 +02:00
makefu
b555b3a657 python3Packages.pyhaversion: add missing semantic-version
(cherry picked from commit 92bf2d7c03)
2020-10-19 08:14:32 -07:00
Robert Scott
4fc26351e0 pythonPackages.pymc3: fix build
(modified cherry-pick of commit 3c3295a02d)
2020-10-19 08:13:52 -07:00
Robert Scott
9673e47e38 pythonPackages.fastprogress: init at 1.0.0
(cherry picked from commit 9a09285f5a)
2020-10-19 08:13:52 -07:00
Robert Scott
9b01e41d18 python3Packages.Theano: add pythonImportsCheck
(modified cherry pick of commit 4a9dba6c44)

some tricks are required to make this work because #93560 and #97597
didn't make it into this branch, but this example shows what is required
to import theano from within a nix build environment on this branch.
2020-10-19 08:13:52 -07:00
Jean-François Roche
c8a4fd81a9 python3Package.pytest-flask: remove support for python 2.7
As stated in its changelog [1], python 2.7 is no longer supported.

[1] https://github.com/pytest-dev/pytest-flask/blob/master/docs/changelog.rst

(cherry picked from commit e07cf5d4bf)
2020-10-19 08:11:26 -07:00
Martin Weinelt
d7f29f9389 Merge pull request #101035 from jfroche/backport-fix/galario
[20.09] python{2,3}Packages.galario: 1.2.1 -> 1.2.2
2020-10-19 15:33:28 +02:00
Sarah Brofeldt
7dc9cb1d80 Merge pull request #101059 from srhb/k8s-1.19.3-bp
[20.09] kubernetes: 1.19.1 -> 1.19.3
2020-10-19 15:32:53 +02:00
Martin Weinelt
8606c4f489 Merge pull request #101066 from 0x4A6F/release-20.09-routinator
[20.09] routinator: 0.7.1 -> 0.8.0
2020-10-19 15:20:18 +02:00
0x4A6F
35ba06a00f routinator: 0.7.1 -> 0.8.0
Backport of #99999

Upgrade to [v0.8.0](https://github.com/NLnetLabs/routinator/releases/tag/v0.8.0).
Fixes [CVE-2020-17366](https://nvd.nist.gov/vuln/detail/CVE-2020-17366).

(cherry picked from commit b52ed6a1fe)
2020-10-19 12:11:56 +00:00
Bas van Dijk
ba2ec4867d Merge pull request #101055 from basvandijk/rocksdb-optionally-disable-shared-lib-release-20.09
rocksdb: support disabling building shared lib
2020-10-19 13:42:59 +02:00
Johan Thomsen
c157bc779f kubernetes: 1.19.1 -> 1.19.3
(cherry picked from commit c1fa775058)
Backport of #101025
2020-10-19 12:00:45 +02:00
Bas van Dijk
d56b86a205 rocksdb: support disabling building shared lib
This is needed to build `pkgsStatic.rocksdb`.

(cherry picked from commit c6109efca6)
2020-10-19 10:53:45 +02:00
Bas van Dijk
dfe0fba7ab Merge pull request #100988 from basvandijk/netaddr-0.8.0-release-20.09
Cherry-pick netaddr-0.8.0 upgrade on release-20.09
2020-10-19 10:30:38 +02:00
Justin Bedo
7aa0ff7dfd singularity: 3.6.3 -> 3.6.4
Important security release addressing CVE-2020-15229.
2020-10-19 09:12:17 +11:00
Jean-François Roche
5749abe020 python{2,3}Packages.galario: 1.2.1 -> 1.2.2
Upgrading fixes the tests

(cherry picked from commit cbd37d0128)
2020-10-18 23:27:41 +02:00
Maciej Krüger
fc8ed1f7c6 Merge pull request #97667 from mkg20001/unity-back 2020-10-18 21:20:39 +02:00
marius david
6fff8726ea libreoffice-qt: fix compilation
(cherry picked from commit 6e72633c42)
2020-10-18 20:01:42 +02:00
Andrew Childs
8ef805fecd pythonPackages.netaddr: 0.7.19 -> 0.8.0
Updating to >= 0.7.20 fixes tests on macOS Catalina and newer:

        #   inet_pton has to be different on Mac OSX *sigh*
        assert IPAddress('010.000.000.001', flags=INET_PTON) == IPAddress('10.0.0.1')
>       assert int_to_str(0xffff) == '::0.0.255.255'
E       AssertionError: assert '::ffff' == '::0.0.255.255'
E         - ::0.0.255.255
E         + ::ffff

(cherry picked from commit c32441811f)
2020-10-18 17:28:11 +02:00
Gabriel Ebner
43e8ec412f freecad: add missing python module for addon manager
(cherry picked from commit 5bc7030a25)
2020-10-18 16:29:48 +02:00
Robert Scott
ea84d47419 Merge pull request #100907 from r-burns/backport-feh
[20.09] feh: fix build on darwin
2020-10-18 11:45:17 +01:00
Vladimír Čunát
2a38527e70 Merge #100432: python3Packages.perfplot: 0.5.0 -> 0.8.4 2020-10-18 10:50:30 +02:00
Vladimír Čunát
6b4b2056df Merge #93333: julia: Remove version 0.7 and 1.1
(cherry picked from commit 04821fbe46)
2020-10-18 10:31:18 +02:00
Raghav Sood
10e804fb69 can-isotp: 20180629 -> 20200910
(cherry picked from commit 09bc8c8d85)
2020-10-18 10:17:45 +02:00
Vladimír Čunát
3efb70d144 Merge #98415: wordnet: Fix darwin build
(cherry picked from commit 81b1356944)
2020-10-18 10:08:55 +02:00
Ben Darwin
6f22d6d69a elastix: 5.0.0 -> 5.0.1; unbreak OS X build
(cherry picked from commit e20652da9b)
2020-10-18 00:47:21 -04:00
Ryan Burns
d1d151cafd feh: fix build on darwin
Darwin doesn't support inotify, needed for autoreload

(cherry picked from commit 942ad9a49a)
2020-10-17 18:05:40 -07:00
Philippe Hürlimann
33f067f9f3 trigger: apply review suggestions
(cherry picked from commit 85e5e5afa339973d27a7ef31effe862a6102dad5)
2020-10-17 13:47:49 -07:00
Philippe Hürlimann
181e76fa2a trigger: 0.6.6 -> 0.6.6.1
fix linker flag for trigger
added tinyxml-2 as dependency as it's not shipped anymore
improved description

(cherry picked from commit f85e2e1eeb)
2020-10-17 13:47:49 -07:00
Tim Steinbach
ac81495910 linux/hardened/patches/5.9: init at 5.9.1.a 2020-10-17 15:30:31 -04:00
Tim Steinbach
36236709f7 linux: 5.9 -> 5.9.1 2020-10-17 15:30:26 -04:00
Austin Seipp
087d34de49 linux: init 5.9
Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 0a614d2fb5)
2020-10-17 15:29:58 -04:00
Tim Steinbach
18a5de8fbd linux/hardened/patches/5.8: 5.8.15.a -> 5.8.16.a 2020-10-17 15:28:50 -04:00
Tim Steinbach
30b2ec6245 linux/hardened/patches/5.4: 5.4.71.a -> 5.4.72.a 2020-10-17 15:28:49 -04:00
Tim Steinbach
fba2a1da90 linux/hardened/patches/4.19: 4.19.151.a -> 4.19.152.a 2020-10-17 15:28:49 -04:00
Tim Steinbach
323bbb6aac linux/hardened/patches/4.14: 4.14.201.a -> 4.14.202.a 2020-10-17 15:28:48 -04:00
Tim Steinbach
f0980bdf37 linux: 5.8.15 -> 5.8.16 2020-10-17 15:28:42 -04:00
Tim Steinbach
8ac2624aa3 linux: 5.4.71 -> 5.4.72 2020-10-17 15:28:42 -04:00
Tim Steinbach
a26cb1ad5e linux: 4.9.239 -> 4.9.240 2020-10-17 15:28:41 -04:00
Tim Steinbach
8594ed8378 linux: 4.4.239 -> 4.4.240 2020-10-17 15:28:41 -04:00
Tim Steinbach
07b023fd2a linux: 4.19.151 -> 4.19.152 2020-10-17 15:28:40 -04:00
Tim Steinbach
f2d048aef1 linux: 4.14.201 -> 4.14.202 2020-10-17 15:28:39 -04:00
Ben Darwin
8a10daf5b9 itk: remove -march=corei7 and -mtune=native flags from cmake build files
- probable cause of build failure on Hydra on branch release-20.09

(cherry picked from commit 83a1ce3d2b)
2020-10-17 11:36:37 -07:00
Jean-François Roche
31db508f19 devpi-server: fix tests
Tests relied on a function that has no order guarantee. A fix was merged
to devpi master [1]. We point the package to this commit which should fix
the failing tests on hydra.

[1] https://github.com/devpi/devpi/pull/821

(cherry picked from commit 3a57ec4744)
2020-10-17 11:20:05 -07:00
Sandro Jäckel
497baa1559 kmon: 1.4.0 -> 1.5.1
Closes #99482

(cherry picked from commit 24123898d2)
2020-10-17 11:14:35 -07:00
Jean-François Roche
c6fa7bbd61 python{2,3}Package.pytest-bdd: upgrade and fix test
(cherry picked from commit 5071556760)
2020-10-17 10:54:12 -07:00
rnhmjoj
a76fe1ec66 monero-gui: fix install path
(cherry picked from commit 101bb7814b)
2020-10-17 15:26:16 +02:00
rnhmjoj
cc21c05182 monero-gui: 0.17.0.1 -> 0.17.1.0
(cherry picked from commit 9bf0008d68)
2020-10-17 15:25:19 +02:00
rnhmjoj
5a71dc4b12 monero: 0.17.0.1 -> 0.17.1.0
(cherry picked from commit bf627ae0e0)
2020-10-17 15:25:17 +02:00
Tim Steinbach
9f8961a14b Merge pull request #100769 from andersk/linux-hardened
linux/hardened/patches: Update

(cherry picked from commit 3b6ba05d3d)
2020-10-16 19:12:42 -04:00
John Ericson
8b56565791 Merge pull request #100676 from obsidiansystems/ipfs_latest-for-stable
[20.09] ipfs: Add 0.7.0 in addition
2020-10-16 18:38:53 -04:00
Michael Weiss
f6047c8b6f Merge pull request #100703 from primeos/signal-desktop-backport
[20.09] signal-desktop: 1.36.3 -> 1.37.1
2020-10-16 23:11:34 +02:00
tnias
84f6c8fcb1 nixos/chromium: update link in docs (#93794)
(cherry picked from commit 0da7593dce)
2020-10-16 23:06:00 +02:00
Maximilian Bosch
fe922da9f1 matrix-synapse: 1.21.0 -> 1.21.2
https://github.com/matrix-org/synapse/releases/tag/v1.21.1 [1]
https://github.com/matrix-org/synapse/releases/tag/v1.21.2

[1] Not really relevant for as since only a bug in the Debian packaging
    was fixed.

(cherry picked from commit 8886cb63e2)
2020-10-16 22:10:23 +02:00
Michael Weiss
da361cccf7 signal-desktop: 1.36.3 -> 1.37.1
(cherry picked from commit db33f99343)
2020-10-16 12:14:44 +02:00
Jonathan Ringer
f1e7afd21d python3Packages.dask: limit processes on tests
(cherry picked from commit 2c5d3313e2)
2020-10-15 23:49:00 -07:00
Vladimír Čunát
6b75df4fa5 Merge #100494: thunderbird-*: 78.3.1 -> 78.3.2 2020-10-16 08:12:23 +02:00
Luflosi
aee9c60624 ipfs: Add 0.7.0 in addition
IPFS has been evolving quite fast lately, so I think tracking new
release in stable NixOS is prudent.

(cherry picked from commit b75e431454)
2020-10-16 00:15:52 -04:00
John Ericson
27949d611a ipfs: prepare to add 0.7 in addition 2020-10-16 00:04:51 -04:00
Luflosi
da221d8e56 ipfs: avoid warning during build when moving directory
Trying to move a directory into itself will result in a warning:
mv: cannot move 'ipfs-src' to a subdirectory of itself, 'ipfs-src/ipfs-src'

This can be prevented by excluding that directory.

(cherry picked from commit d385065f70)
2020-10-15 22:58:20 -04:00
Luflosi
05d9031399 ipfs: remove executable bit from systemd units
IPFS would complain with warnings like
Configuration file /nix/store/...-ipfs-0.6.0/etc/systemd/system/ipfs.service is marked executable. Please remove executable permission bits. Proceeding anyway.

(cherry picked from commit 1a382e983f)
2020-10-15 22:58:20 -04:00
R. RyanTM
848f952b49 python27Packages.cma: 2.7.0 -> 3.0.3
(cherry picked from commit 209ef57162)
2020-10-15 15:08:03 -07:00
ajs124
3b2c5da4fc Merge pull request #100628 from helsinki-systems/bp/100604
[20.09] nixos/icingaweb2: Fix php packages
2020-10-15 21:04:40 +02:00
Janne Heß
b37eda2e73 nixos/icingaweb2: Fix php packages
(cherry picked from commit e2da1219d4)
2020-10-15 20:43:21 +02:00
Anderson Torres
7eda317006 Merge pull request #100551 from austinbutler/toggl-backport
[20.09] python3Packages.toggl-cli: 2.1.0 -> 2.2.1
2020-10-15 05:04:50 -03:00
talyz
43974d4b0d nomachine-client: 6.11.2 -> 6.12.3
(cherry picked from commit e635dccfdd)
2020-10-15 09:44:16 +02:00
Jan Tojnar
9ca3b74564 Revert "nixos/display-managers: install sessionData.desktops"
This reverts commit ee9f8ac6c0.

It created infinite recursion when using LXQt, since lxqt module
uses `config.system.path` in `services.xserver.desktopManager.session`.
`config.system.path` is a `buildEnv` that depends on `environment.systemPackages`.
2020-10-15 07:34:02 +02:00
Austin Butler
768a38a347 python3Packages.toggl-cli: 2.1.0 -> 2.2.1
(cherry picked from commit 059413e201)
(cherry picked from commit 4d4dec3f58ffbb2d9b7d14fa0800dee35db86d6c)
2020-10-14 22:21:11 -07:00
Austin Butler
0cd33a5f70 pythonPackages.inquirer: fix build
(cherry picked from commit 0f7b1d4a72)
(cherry picked from commit 81f306f4a8da193c072079ac51d3a475f8943b90)
2020-10-14 22:20:40 -07:00
Austin Butler
62d0ee1b5f python3Packages.notify-py: init at 0.2.3
(cherry picked from commit dbf902b13d)
(cherry picked from commit 05f0c4151d5c686cbd0a12c4d60be038f56b9c4b)
2020-10-14 22:20:08 -07:00
Austin Butler
a237e9c6a7 pythonPackages.blessed: 1.15.0 -> 1.17.10
(cherry picked from commit a231baa237)
(cherry picked from commit 9326e1a528f49da39fcc3d2dc64b1a577273950b)
2020-10-14 22:19:38 -07:00
Austin Butler
2450fe820b python3Packages.google_cloud_asset: fix build, 2.0.0 -> 2.1.0
(cherry picked from commit 326a5f7132)
2020-10-14 22:17:59 -07:00
Austin Butler
f1bad0a622 python3Packages.libcst: 0.3.12 -> 0.3.13
(cherry picked from commit 80b03e4045)
2020-10-14 22:17:59 -07:00
Austin Butler
8a0b8ca540 python3Packages.google-cloud-org-policy: init at 0.1.2
(cherry picked from commit c9c4730f11)
2020-10-14 22:17:59 -07:00
Austin Butler
b9982c2df9 python3Packages.google-cloud-access-context-manager: init at 0.1.2
(cherry picked from commit 906d77af8b)
2020-10-14 22:17:59 -07:00
Elis Hirwing
b64c4c38bb Merge pull request #100505 from etu/2009-php-pear
[20.09] php: Fix pear path
2020-10-15 07:00:43 +02:00
Benjamin Hipple
cf726f5af9 Merge pull request #100509 from p-h/backport-opencl-build-fix
[20.09] opencl-info: fix build
2020-10-14 19:45:58 -04:00
Benjamin Hipple
3b16d1f82c Merge pull request #100500 from uvNikita/backport/titlecase
[20.09] pythonPackages.titlecase: fix missing dependencies
2020-10-14 19:28:52 -04:00
Jan Tojnar
e168809150 ufraw: mark broken
It does not build so let's mark it broken in order for gimp-with-plugins not to be broken.

Fixes: https://github.com/NixOS/nixpkgs/issues/98103
(cherry picked from commit db64508779)
2020-10-14 23:56:51 +02:00
Frederik Rietdijk
ad0d203452 Merge pull request #100428 from FRidh/qt
20.09: pythonPackages: use latest qt version instead of 5.14
2020-10-14 21:09:56 +02:00
Demyan Rogozhin
4fcfdd1566 opencl-info: fix build
(cherry picked from commit 26d930cb76)
2020-10-14 18:24:11 +02:00
Elis Hirwing
4ad7fb4078 php: Fix pear path
(cherry picked from commit 5a12d2797c)
2020-10-14 17:26:43 +02:00
rnhmjoj
6e46bc48f3 tremc: set license to GPL 3+
(cherry picked from commit c3e6fbe81e)
2020-10-14 17:09:06 +02:00
rnhmjoj
4f06e9dd82 tremc: 0.9.1 -> 0.9.2
(cherry picked from commit a92c678c3f)
2020-10-14 17:08:31 +02:00
Nikita Uvarov
c32feac836 pythonPackages.titlecase: fix missing dependencies 2020-10-14 15:32:13 +02:00
Tim Steinbach
0b6f61d993 linux: Remove 5.7
`nix-shell -p nixpkgs-review --run "nixpkgs-review wip"` does not find any issues
2020-10-14 09:01:24 -04:00
Tim Steinbach
97597594fa linux: 5.8.14 -> 5.8.15 2020-10-14 09:00:51 -04:00
Tim Steinbach
615aacf411 linux: 5.4.70 -> 5.4.71 2020-10-14 09:00:50 -04:00
Tim Steinbach
a6ef01ceb2 linux: 4.9.238 -> 4.9.239 2020-10-14 09:00:49 -04:00
Tim Steinbach
8d30e7ccc8 linux: 4.4.238 -> 4.4.239 2020-10-14 09:00:49 -04:00
Tim Steinbach
b042f240ff linux: 4.19.150 -> 4.19.151 2020-10-14 09:00:48 -04:00
Tim Steinbach
a64432bb20 linux: 4.14.200 -> 4.14.201 2020-10-14 09:00:47 -04:00
Tim Steinbach
79c329ea07 linux/hardened/patches/5.7: remove 2020-10-14 09:00:46 -04:00
Tim Steinbach
6044d870fa linux: Remove 5.7
I forgot to remove a file in 6d174dd5e0
2020-10-14 09:00:45 -04:00
taku0
819fe31294 thunderbird-bin: 78.2.2 -> 78.3.2
(cherry picked from commit 456106fe2a)
2020-10-14 21:52:16 +09:00
taku0
568a9acd6e thunderbird: 78.2.2 -> 78.3.2
(cherry picked from commit e46afe0f89)
2020-10-14 21:52:16 +09:00
Rok Garbas
0f778778c2 Merge pull request #100469 from taku0/flashplayer-32.0.0.445_release-20.09
[20.09] flashplayer: 32.0.0.433 -> 32.0.0.445 (Critical security fix)
2020-10-14 14:11:46 +02:00
Rok Garbas
cfb6541e75 Merge pull request #100457 from taku0/firefox-bin-81.0.2_release-20.09
[20.09] firefox, firefox-bin: 81.0 -> 81.0.2, firefox-esr: 78.3.0esr -> 78.3.1esr
2020-10-14 14:04:06 +02:00
Dominique Martinet
4da5ac1966 confinement: fix assert for serviceConfig.ProtectSystem
serviceConfig.ProtectSystem is usually a string so if set, the assert
itself would error out leaving no useable trace:

  # nixos-rebuild switch --show-trace
  building Nix...
  building the system configuration...
  error: while evaluating the attribute 'config.system.build.toplevel' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixos/modules/system/activation/top-level.nix:293:5:
  while evaluating 'foldr' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/lists.nix:52:20, called from /nix/var/nix/profiles/per-user/root/channels/nixos/nixos/modules/system/activation/top-level.nix:128:12:
  while evaluating 'fold'' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/lists.nix:55:15, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/lists.nix:59:8:
  while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/nixos/modules/system/activation/top-level.nix:121:50, called from undefined position:
  while evaluating the attribute 'assertion' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixos/modules/security/systemd-confinement.nix:163:7:
  value is a string while a Boolean was expected

Fix the check to give a sensible assert message instead; the attribute
should either be not set or false bool to pass.

Closes: #99000
(cherry picked from commit f8d78b9f67)
2020-10-14 11:58:30 +02:00
taku0
a9144ad7f8 flashplayer: 32.0.0.433 -> 32.0.0.445
(cherry picked from commit 52dcd5b211)
2020-10-14 12:28:28 +09:00
Jean-François Roche
07e16bcf98 zope_filerepresentation: fix test
(cherry picked from commit 74d875206a)
2020-10-13 17:46:37 -07:00
taku0
9ab4152b11 firefox-esr: 78.3.0esr -> 78.3.1esr
(cherry picked from commit 560cc80818)
2020-10-14 09:26:53 +09:00
taku0
13b25d516c firefox-bin: 81.0 -> 81.0.2
(cherry picked from commit 68a9d42e0d)
2020-10-14 09:26:53 +09:00
taku0
6be1f2aaca firefox: 81.0 -> 81.0.2
(cherry picked from commit 05b955a133)
2020-10-14 09:26:53 +09:00
Maximilian Bosch
1c6330175b nixos/tests/systemd-networkd-vrf: fix eval
The `Metric`-values of routes defined via `networkd` must be integers.

(cherry picked from commit b199005979)
2020-10-13 22:42:53 +02:00
Nikita Uvarov
22d85996a6 caffeine-ng: add missing dependencies, fix bin paths
(cherry picked from commit 35e0d35113)
cc #99667
2020-10-13 16:25:58 -04:00
devhell
dadad9e21f profanity: Introduce OMEMO fix
It looks like the entire 0.9-series has some OMEMO issues where messages
will appear to be sent, but in reality they're not. This patch has been
picked from the upstream repo and addresses the issue so that OMEMO is
back in a usable state.

My thanks to @aszlig for helping and testing this.

(cherry picked from commit 373d1dd03d)
2020-10-13 21:41:59 +02:00
Ashish SHUKLA
16ef60841a libmesode: Add a patch from upstream to fix SSL verification
(cherry picked from commit 45f96c9100)
2020-10-13 21:41:43 +02:00
Robert Scott
3e2c25e5ff python3Packages.perfplot: 0.5.0 -> 0.8.4, fixing build
(cherry picked from commit 50d4da34db)
2020-10-13 19:01:28 +01:00
Robert Scott
fd862db73f python3Packages.rich: init at 8.0.0
(cherry picked from commit 5b66067eb9)
2020-10-13 19:01:28 +01:00
Robert Scott
6910052205 python3Packages.dufte: init at 0.2.9
(cherry picked from commit b5b8839e0a)
2020-10-13 19:01:28 +01:00
Michele Guerini Rocco
a8da27d4b0 Merge pull request #100420 from rnhmjoj/powerdns-backports
[20.09] Powerdns backports
2020-10-13 19:59:04 +02:00
Frederik Rietdijk
5f9c8a1976 kile: use qt 5.12 2020-10-13 19:28:18 +02:00
Frederik Rietdijk
d1e6022b0c kile: 2.9.92 -> 2.9.93
(cherry picked from commit 7489347335)
2020-10-13 19:22:02 +02:00
Doron Behar
3234443199 kdoctools, kapidox: Remove out of top-level scope
They do depend on qt5, and putting them in top level scope could cause
qt5 incompatibilities errors.

(cherry picked from commit 6b6f680831)
2020-10-13 19:05:30 +02:00
Doron Behar
0a7698042d python3.pkgs.sip: 4.19.22 -> 4.19.24
(cherry picked from commit 98e6fdd6a6)
2020-10-13 18:57:38 +02:00
Doron Behar
f382a99b88 kdeconnect: 1.3.5 -> 20.08.1
Update many dependencies. Add a patch that fixes a build. Use
`libsForQt5` instead of `libsForQt514`.

(cherry picked from commit dfcde0341f)
2020-10-13 18:56:37 +02:00
Frederik Rietdijk
f66b4727d1 puddletag: mark broken
(cherry picked from commit c0d5cf4993)
2020-10-13 18:56:28 +02:00
Frederik Rietdijk
0a835dc982 openshot-qt: consustently use qt 5.14
(cherry picked from commit 5d4117bd12)
2020-10-13 18:56:28 +02:00
Frederik Rietdijk
a0b965a456 qutebrowser: use current qt (5.15) again instead of 5.14
For security reasons [1] we upgrade to the latest Qt, despite this
breaking a feature, which is why 5.14 was forced earlier.

[1] https://github.com/NixOS/nixpkgs/pull/99456#issuecomment-703523943

(cherry picked from commit 902c567974)
2020-10-13 18:56:28 +02:00
Frederik Rietdijk
bfb4a3ec5d dupeguru: mark as broken
(cherry picked from commit b9af2d2259)
2020-10-13 18:56:28 +02:00
Frederik Rietdijk
471a56f24b cadence: use qt 5.14 consistently
(cherry picked from commit 64388b5b55)
2020-10-13 18:56:28 +02:00
Frederik Rietdijk
2725251920 qgis: consistently use qt 5.14
(cherry picked from commit 93111343dc)
2020-10-13 18:56:27 +02:00
Frederik Rietdijk
11ac36825b qgis: 3.10.9 -> 3.10.10
(cherry picked from commit 084c4da16a)
2020-10-13 18:56:27 +02:00
Frederik Rietdijk
5bb95efb7f qscintilla: 2.11.2 -> 2.11.5, fix license
(cherry picked from commit ae37cb3610)
2020-10-13 18:56:27 +02:00
Doron Behar
383e605b22 webmacs: Use qt5.15, as pyqt5 in it (#99956)
(cherry picked from commit 179986f378)
2020-10-13 18:56:27 +02:00
Doron Behar
5d0961754a rapid-photo-downloader: Use qt5.15, as pyqt5 in it (#99956)
(cherry picked from commit 1fa76554c8)
2020-10-13 18:56:27 +02:00
Doron Behar
fb7035ef07 qpaeq: Use qt5.15, as pyqt5 in it (#99956)
(cherry picked from commit 38d517f634)
2020-10-13 18:56:27 +02:00
Doron Behar
0ee4d1e4e8 qnotero: Use qt5.15, as pyqt5 in it (#99956)
(cherry picked from commit 0cbd755852)
2020-10-13 18:56:26 +02:00
Doron Behar
560e5f9f76 qarte: Use qt5.15, as pyqt5 in it (#99956)
(cherry picked from commit 8b8febd15f)
2020-10-13 18:56:26 +02:00
Doron Behar
a986ec6161 manuskript: Use qt5.15, as pyqt5 in it (#99956)
(cherry picked from commit a9a2cc99b9)
2020-10-13 18:56:26 +02:00
Doron Behar
fe739f14aa leo-editor: Use qt5.15, as pyqt5 in it (#99956)
(cherry picked from commit dfec61ea28)
2020-10-13 18:56:26 +02:00
Doron Behar
023936e84c kcc: Use qt5.15, as pyqt5 in it (#99956)
(cherry picked from commit 36caf7ea26)
2020-10-13 18:56:12 +02:00
Doron Behar
990a86534b inkcut: Use qt5.15, as pyqt5 in it (#99956)
(cherry picked from commit aa20203d3c)
2020-10-13 18:56:12 +02:00
Doron Behar
39fc72820c gmic-qt-krita: Use qt5.15 - as used by krita (#99956)
(cherry picked from commit 32a362bb61)
2020-10-13 18:56:12 +02:00
Doron Behar
28992861a0 krita: Use qt5.15 - same as pyqt5 in it (#99956)
(cherry picked from commit 2aff7cf32c)
2020-10-13 18:56:12 +02:00
Doron Behar
e5d127dc13 vorta: Fix double wrapping
(cherry picked from commit 883b21debe)
2020-10-13 18:56:11 +02:00
Doron Behar
a44e9a7581 libsForQt5.kpeoplevcard: init at 0.1
(cherry picked from commit 8b16b8cb56)
2020-10-13 18:56:11 +02:00
Doron Behar
4a87f3298b libsForQt5.pulseaudio-qt: init at 1.2.0
(cherry picked from commit faedc6a226)
2020-10-13 18:56:11 +02:00
Doron Behar
7f8c6469ee freecad: Use libsForQt5 and not qt5.14
(#99956).

(cherry picked from commit 244ef6c24b)
2020-10-13 18:56:11 +02:00
Doron Behar
0fcb1f759a git-annex-metadata-gui: fix qt wrapping
Wrap application with wrapQtAppsHook and no double wrapping.

(cherry picked from commit f4b8c8f1df)
2020-10-13 18:56:11 +02:00
Doron Behar
df17b2db6b friture: Use qt5.15 just like pyqt5
Don't double wrap executables.

(cherry picked from commit 62738d495c)
2020-10-13 18:56:11 +02:00
Doron Behar
f508825dce flent: Use qt5.15 just like pyqt5 use in it (#99956)
Bonus: Spare double wrapping.
(cherry picked from commit 3d8267ee88)
2020-10-13 18:56:10 +02:00
Doron Behar
c16a20f2c5 cq-editor: Use qt5.15 completely.
Don't mix qt5.14 and pyqt5 which uses qt5.15 (#99956).

(cherry picked from commit 16c2b3c614)
2020-10-13 18:56:10 +02:00
Doron Behar
b8ba7b4510 electrum-ltc: Use default qt5.15.
The same as used by pyqt5 (#99956).

Also: Fix double wrapping.
(cherry picked from commit bc0113e2c2)
2020-10-13 18:56:10 +02:00
Doron Behar
8bcf0f2b29 dupeguru: Don't override qt5 version.
Since Python's pyqt5 is using qt5.15, it should use the same version as
well.

(cherry picked from commit 56d047f0b0)
2020-10-13 18:56:10 +02:00
Doron Behar
9e49c8416e python3.pkgs.androguard: rewrite
Add an optional withGui flag to turn off gui as most of the time it's
not needed since this is a python library.

Use a GitHub tarball to optionally enable tests, currently disabled by
default, but next release' tests should pass (tested the beta release
tag).

Wrap qt apps properly, without double wrapping, if gui is enabled.

(cherry picked from commit 36b7e89f19)
2020-10-13 18:56:10 +02:00
Doron Behar
61b17d4b49 python3.pkgs.nose-timer: init at 1.0.0
(cherry picked from commit cd5b560541)
2020-10-13 18:56:10 +02:00
Doron Behar
fdb39df357 electron-cash: 4.1.0 -> 4.1.1
Remove included upstream patches. Use qt5.15 (#99956). Spare double
wrapping by using `makeWrapperArgs+=()`.

(cherry picked from commit 2edd4edcb9)
2020-10-13 18:56:10 +02:00
Doron Behar
cdf7e80179 cura, curaLulzbot: Use qt5.15
Since now Python packages use qt5.15, this should too.

(cherry picked from commit f3e5c93d03)
2020-10-13 18:56:09 +02:00
Doron Behar
8d4e21df1a ffado: Use libsForQt5 (not 514)
(cherry picked from commit 5cbf0c1beb)
2020-10-13 18:56:09 +02:00
Doron Behar
f1cf9e1d6f retext: Fix build by using default qt5.15.
Bonus: Set `makeWrapperArgs` instead of calling `wrapQtApp` - to prevent
double wrapping.

(cherry picked from commit 198e025172)
2020-10-13 18:56:09 +02:00
Doron Behar
be17f03858 calibre-py{2,3}: Use libsForQt5 - same is used in python-packages.nix
(cherry picked from commit 2d238fc6b0)
2020-10-13 18:56:09 +02:00
Frederik Rietdijk
bc4fd743f1 carla: 2.1.1 -> 2.2.0 and use the default qt515
(cherry picked from commit 1561163203)
2020-10-13 18:56:09 +02:00
Doron Behar
224f675279 pythonPackages.pyqtwebengine: Apply qt5.14 patch only if needed
Since we now use qt5.15 in all python modules (defaulting to the same
qt5 used in all-packages.nix), That patch is not required, but it will
be needed if qt5.14 is used if pythonInterpreters is overridden, which
is likely to happen like it happend to qutebrowser for instance. See:
2667af4062

(cherry picked from commit 15bfdf8e51)
2020-10-13 18:56:09 +02:00
Frederik Rietdijk
8569001121 qutebrowser: minor fixup regarding use of qt 514
In 3fafb02125
the Qt version used by Qutebrowser was downgraded from 5.15 to 5.14.
Let's be consistent by also setting qt514 and including a comment so one
can trace why it is used.

(Note that downgrade gave it the same Qt version as used by the Python
packages set at the time, so in principle the override could be
removed.)

(cherry picked from commit 4bccbd9592)
2020-10-13 18:56:08 +02:00
Frederik Rietdijk
3a733b6889 pythonPackages: use current qt5 instead of 5.14
(cherry picked from commit edac19f166)
2020-10-13 18:56:08 +02:00
Doron Behar
dba7e99cc3 python3.pkgs.pyqt5: 5.14.2 -> 5.15.1
(cherry picked from commit 0331c39d4e)
2020-10-13 18:56:08 +02:00
Frederik Rietdijk
9be992a000 docs: python39 is available
(cherry picked from commit 748bc99520)
2020-10-13 18:54:32 +02:00
R. RyanTM
9fbace91c4 python37Packages.canonicaljson: 1.3.0 -> 1.4.0
(cherry picked from commit ed9c3d4796)
2020-10-13 16:50:19 +02:00
Maximilian Bosch
c7c4e67667 matrix-synapse: 1.20.1 -> 1.21.0
https://github.com/matrix-org/synapse/releases/tag/v1.21.0
(cherry picked from commit 87414de4ca)
2020-10-13 16:48:45 +02:00
Aaron Andersen
bfe193c61c dnsdist: update compile flags
(cherry picked from commit 872cfe067e)
2020-10-13 16:03:14 +02:00
Martin Weinelt
89abecae69 pdns-recursor: 4.3.4 -> 4.3.5
Fixes: CVE-2020-25829
(cherry picked from commit f931e3e55d)
2020-10-13 15:47:49 +02:00
Aaron Andersen
0f8ec7daa1 powerdns: add nixos test to passthru.tests
(cherry picked from commit 6019fb179b)
2020-10-13 15:47:46 +02:00
Aaron Andersen
811d9e95a6 powerdns: compile with systemd support
(cherry picked from commit 94c98805cb)
2020-10-13 15:47:43 +02:00
Aaron Andersen
a708a30383 powerdns: update configure flags
(cherry picked from commit 7b2b0cc77c)
2020-10-13 15:47:41 +02:00
Aaron Andersen
9d5b974be0 pdns-recursor: add nixos test to passthru.tests
(cherry picked from commit 75dd806963)
2020-10-13 15:47:37 +02:00
Aaron Andersen
8bd02aea34 pdns-recursor: 4.3.3 -> 4.3.4
(cherry picked from commit 84f8419899)
2020-10-13 15:47:23 +02:00
Maximilian Bosch
f7fe019d53 flake.nix: allow inclusion of nixpkgs as path:/.../
When adding `nixpkgs` as flake-input using the `path`-fetcher, you
currently get the following error since neither `lastModifiedDate` nor
`lastModified` are stored in `flake.lock` for paths:

```
error: --- EvalError --------------------------------------------------------------------------- nix-build
at: (48:71) in file: /nix/store/147clg8svaxyj7pl80ra9kmmm72mdg94-source/flake.nix

    47|                   system.nixos.versionSuffix =
    48|                     ".${final.substring 0 8 (self.lastModifiedDate or self.lastModified)}.${self.shortRev or "dirty"}";
      |                                                                       ^
    49|                   system.nixos.revision = final.mkIf (self ? rev) self.rev;

attribute 'lastModified' missing
```

This patch adds the fallback-value `19700101` to `versionSuffix` if none
of `lastModified{,Date}` are set in the lockfile.

(cherry picked from commit 3743c42f23)
2020-10-13 13:53:28 +02:00
Domen Kožar
cf542e991c Merge pull request #99619 from jmpunkt/jwm-gettext-fix-backport
[20.09] jwm: fix gettext requirement
2020-10-13 12:39:28 +02:00
Domen Kožar
298cda452e Merge pull request #99613 from OPNA2608/backport-20.09-update-cheesecutter-unstable-2020-04-03
[20.09] cheesecutter: unstable-2019-12-06 -> unstable-2020-04-03
2020-10-13 12:38:46 +02:00
Domen Kožar
05c0b20507 Merge pull request #98791 from freezeboy/backport-rsibreak
[20.09] rsibreak: 0.12.8 -> 0.12.13
2020-10-13 12:36:17 +02:00
Domen Kožar
1c5341c5ea Merge pull request #100365 from risicle/ris-poetry-1.1.1-r20.09
[20.09] pythonPackages.poetry: 1.0.10 -> 1.1.1
2020-10-13 12:36:02 +02:00
Domen Kožar
b3d764a125 Merge pull request #97736 from RaghavSood/solc/backport
[20.09] solc: 0.6.8 -> 0.7.1
2020-10-13 12:32:10 +02:00
Domen Kožar
a08fa83a05 Merge pull request #100364 from das-g/foundationsdb-backport
[20.09] foundationdb: fix build for current glibc version
2020-10-13 12:31:12 +02:00
Domen Kožar
70eb779b2f Merge pull request #100180 from tricktron/20.09-bazel_1-fix
[20.09] bazel_1: fix build on darwin
2020-10-13 12:30:27 +02:00
zowoq
1609e64a9e podman: 2.1.0 -> 2.1.1
https://github.com/containers/podman/releases/tag/v2.1.1
(cherry picked from commit bbeed7ecf8)
2020-10-13 19:51:28 +10:00
Sascha Grunert
f77d8ded1f podman: 2.0.6 -> 2.1.0
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
(cherry picked from commit 5c27f0dd65)
2020-10-13 19:51:19 +10:00
Vincent Laporte
63470cc8ed tamarin-prover: 1.4.1 → 1.6.0 (#100148)
(cherry picked from commit 33b7529b01)
2020-10-13 10:19:56 +02:00
Maximilian Bosch
a7a13a97c1 Merge pull request #100362 from fadenb/graylog_3.3.8_20.09
[20.09] graylog: 3.3.7 -> 3.3.8
2020-10-13 09:18:02 +02:00
Sarah Brofeldt
cc9ec4dafa Merge pull request #98811 from srhb/bp-ceph-1525
ceph: 15.2.4 -> 15.2.5 (#98664)
2020-10-13 09:07:55 +02:00
Diego Rodriguez
36d7be8ba4 kubernetes-helm: 3.3.1 -> 3.3.4
(cherry picked from commit 53fcb502fe)
2020-10-13 16:29:35 +10:00
Jonathan Ringer
fa1ddb4e98 nixos/doc: add nvidia prime changes
(cherry picked from commit 82e2fdea1e)
2020-10-12 23:05:54 -07:00
Aaron Andersen
1d48c57d69 Merge pull request #100336 from aanderse/pdns-cve-20.09
powerdns: 4.2.1 -> 4.2.3 [20.09 backport]
2020-10-12 20:09:04 -04:00
WORLDofPEACE
2324dcef76 Merge pull request #100224 from worldofpeace/pantheon-stuff-20.09
[20.09] Pantheon stuff
2020-10-12 18:49:42 -04:00
WORLDofPEACE
2728fc6d8f pantheon.wingpanel-applications-menu: add switchboard-with-plugs deps
Fixes https://github.com/NixOS/nixpkgs/issues/100209

(cherry picked from commit b808ad4294)
2020-10-12 18:47:28 -04:00
WORLDofPEACE
9490ea1127 pantheon.elementary-session-settings: cleanup
(cherry picked from commit a48be6a7f2)
2020-10-12 18:47:28 -04:00
WORLDofPEACE
d8d5afc207 pantheon.elementary-settings-daemon: don't patch autostarts
These are now generated to be patched as a part of the elementary-session-settings
build.

(cherry picked from commit a4572eb18e)
2020-10-12 18:47:28 -04:00
WORLDofPEACE
373ba0a506 pantheon.elementary-session-settings: 2020-06-11 -> 2020-07-06
Because gnome-session now uses 'enabled' systemd session we have
to make this use --builtin [0]

[0]: fa15cbd83f

(cherry picked from commit 17d7060f5d)
2020-10-12 18:47:28 -04:00
Austin Butler
31b3749d1f python3Packages.poetry: 1.1.0 -> 1.1.1
(cherry picked from commit aabdb540a4)
2020-10-12 22:44:49 +01:00
Austin Butler
184a1c0bb0 pythonPackages.poetry: 1.0.10 -> 1.1.0
(cherry picked from commit 9243c64e7f)
2020-10-12 22:44:48 +01:00
Austin Butler
16be5d8a18 pythonPackages.poetry-core: 1.0.0a9 -> 1.0.0
(cherry picked from commit 8b7914fc9b)
2020-10-12 22:44:48 +01:00
Tristan Helmich
f80720d9f8 graylog: 3.3.7 -> 3.3.8
Bumps Graylog and integration plugins to version 3.3.8.

(cherry picked from commit 26c66d0f33)
2020-10-12 20:54:40 +00:00
Raphael Borun Das Gupta
f5a433f98d foundationdb: fix build: use glibc's gettid()
to avoid build error due to conflicting declaration:

    flow/Profiler.actor.cpp: In function 'uint64_t gettid()':
    flow/Profiler.actor.cpp:56:17: error: ambiguating new declaration of 'uint64_t gettid()'
      FILE* f;
                     ^
    In file included from /nix/store/4wy9j24psf9ny4di3anjs7yk2fvfb0gq-glibc-2.31-dev/include/unistd.h:1170:0,
                     from ./flow/Platform.h:49,
                     from ./flow/flow.h:40,
                     from flow/Profiler.actor.cpp:39:
    /nix/store/4wy9j24psf9ny4di3anjs7yk2fvfb0gq-glibc-2.31-dev/include/bits/unistd_ext.h:34:16: note: old declaration '__pid_t gettid()'
     extern __pid_t gettid (void) __THROW;
                    ^~~~~~

(cherry picked from commit 450de176cf)
2020-10-12 22:49:49 +02:00
Raphael Borun Das Gupta
1be1a64d5f foundationdb: fix "was not declared" build errors
Since glibc 2.28, `<sys/types.h>` no longer includes
`<sys/sysmacros.h>`, which provides these macros,
so we have to explicitly import the latter, too, to fix the following
build problems:

    flow/Platform.cpp: In function 'void getDiskStatistics(const string&, uint64_t&, uint64_t&, uint64_t&, uint64_t&, uint64_t&, uint64_t&)':
    flow/Platform.cpp:626:56: error: 'gnu_dev_major' was not declared in this scope
       if(majorId == (unsigned int) gnu_dev_major(buf.st_dev) && minorId == (unsigned int) gnu_dev_minor(buf.st_dev)) {
                                                            ^
    flow/Platform.cpp:626:111: error: 'gnu_dev_minor' was not declared in this scope
       if(majorId == (unsigned int) gnu_dev_major(buf.st_dev) && minorId == (unsigned int) gnu_dev_minor(buf.st_dev)) {
                                                                                                                   ^

(cherry picked from commit 4406883af1)
2020-10-12 22:49:49 +02:00
Raphael Borun Das Gupta
80e14acc37 foundationdb: refresh gcc-fixes-patch
by applying it to apple/foundationdb@5.1.7 and running

    git diff > ${path_to_nixpkgs}/pkgs/servers/foundationdb/patches/gcc-fixes.patch

again.

(cherry picked from commit f1e628e7af)
2020-10-12 22:49:49 +02:00
Dmitry Kalinkin
6899c10886 Merge pull request #100083 from veprbl/pr/arrow_cpp_1_0_1_backport
[20.09] arrow-cpp: 1.0.0 -> 1.0.1
2020-10-12 16:21:10 -04:00
Robert Scott
73c72929d1 python3Packages.cocotb: 1.3.1 -> 1.3.2
doesn't seem we can remove Makefile.inc fixup yet

(cherry picked from commit 0b5d5d6828)
2020-10-12 12:08:32 -07:00
Robert Scott
6fa7f94768 python3Packages.cocotb: fix tests
(cherry picked from commit 78413483d3)
2020-10-12 12:08:32 -07:00
Matthew Bauer
6c2310c9af python3Packages.tensorflow: use cudatoolkit 11
(cherry picked from commit 59eecacd2d)
2020-10-12 12:07:35 -07:00
Matthew Bauer
f69610ad72 python3Packages.h5py: 2.9.0 -> 2.10.0
also disable on python 2.7
Co-authored-by: Jon <jonringer@users.noreply.github.com>

(cherry picked from commit 9cd240c14a)
2020-10-12 12:07:35 -07:00
Matthew Bauer
b48aa3ab28 python3Packages.tensorflow-estimator: 2.2.0 -> 2.3.0
(cherry picked from commit 74338f636a)
2020-10-12 12:07:35 -07:00
Arnout Engelen
3d1769aef9 python3Packages.tensorflow_2: 2.1.0 -> 2.3.0
Also:
- patch to remove scipy requirement
- add cuda to RPATH
- don’t include nvidia_x11 (This isn’t needed, we can get it from
/run/opengl-driver being in the RPATH.)

Co-authored-by: Arnout Engelen <arnout@bzzt.net>
Co-authored-by: Daniël de Kok <me@github.danieldk.eu>
(cherry picked from commit 1e19d446bf)
2020-10-12 12:07:35 -07:00
Jonathan Ringer
c827d81d2c python3Packages.tensorly: disable resource intensive tests
(cherry picked from commit 74c997d025)
2020-10-12 12:07:35 -07:00
Jonathan Ringer
38b2c947a3 python3Packages.clifford: fix tests
(cherry picked from commit d65aba684f)
2020-10-12 12:07:35 -07:00
Jonathan Ringer
37f591931c python3Packages.mask-rcnn: use tensorflow_2
(cherry picked from commit b25c404b09)
2020-10-12 12:07:35 -07:00
Jonathan Ringer
63c7dbf425 python3Packages.intake: fix tests
(cherry picked from commit 7c841a294c)
2020-10-12 12:07:35 -07:00
Jonathan Ringer
b01099fdd4 python3Packages.datashader: ignore flakey dask tests
(cherry picked from commit c65c94d08b)
2020-10-12 12:07:35 -07:00
Robert Scott
2ab20c9541 pythonPackages.wxPython: fix build on darwin
(cherry picked from commit 49b4cd546c)
2020-10-12 12:02:58 -07:00
WORLDofPEACE
538aa99275 Merge pull request #99909 from asbachb/20.09/security/netbeans
[20.09] backport:netbeans: 12.0 -> 12.1 - fix CVE-2020-11986
2020-10-12 12:03:46 -04:00
Maximilian Bosch
d7dde1475b element-desktop: 1.7.8 -> 1.7.9
https://github.com/vector-im/element-desktop/releases/tag/v1.7.9
(cherry picked from commit 7db09ea70a)
2020-10-12 16:46:08 +02:00
Maximilian Bosch
85c6c834ef element-web: 1.7.8 -> 1.7.9
https://github.com/vector-im/element-web/releases/tag/v1.7.9
(cherry picked from commit 50394cec59)
2020-10-12 16:46:04 +02:00
Aaron Andersen
b08606bd45 powerdns: 4.2.1 -> 4.2.3
(cherry picked from commit 85fa83bfb1)
2020-10-12 10:41:45 -04:00
rnhmjoj
ca3477ec93 sc-controller: fix broken svg icons
The gdk-pixbuf module exposed by librsvg wasn't detected
due to strictDeps being enabled by default in python packages.

(cherry picked from commit 65cbea4563)
2020-10-12 15:42:56 +02:00
Anderson Torres
ad072be6a7 Merge pull request #100253 from risicle/ris-django-anymail-8.1-r20.09
[20.09] pythonPackages.django-anymail: 6.1.0 -> 8.1, fixing build
2020-10-12 08:45:23 -03:00
Anderson Torres
a893539769 Merge pull request #100277 from ruuda/backport
[20.09] pythonPackages.google_cloud_dataproc: add missing deps
2020-10-12 08:44:41 -03:00
Lucas Savva
2920c04e34 nixos/acme: Fix ocspMustStaple option and add test
Some of the testing setup for OCSP checking was wrong and
has been fixed too.

(cherry picked from commit 1edd91ca09)
2020-10-11 23:45:27 +02:00
Florian Klink
2edc352b22 Merge pull request #100270 from p-h/backport-pystemd-0.8.0
[20.09] pystemd: 0.6.0 -> 0.8.0
2020-10-11 22:59:29 +02:00
Ruud van Asseldonk
e76d5f4efd pythonPackages.google_cloud_dataproc: add missing deps 2020-10-11 22:43:04 +02:00
Ruud van Asseldonk
e08911f186 pythonPackages.proto-plus: init at 1.10.1
I am adding this package because it is a dependency of
google_cloud_dataproc.
2020-10-11 22:43:03 +02:00
Ruud van Asseldonk
7911f87840 pythonPackages.libcst: init at 0.3.12
I am adding this package because it is a dependency of
google_cloud_dataproc.
2020-10-11 22:43:03 +02:00
Philippe Hürlimann
1ffb9a53e8 pystemd: 0.6.0 -> 0.8.0
(cherry picked from commit ea34b5d333)
2020-10-11 21:04:13 +02:00
Florian Klink
1467c169ab golden-cheetah: 3.5-RC2X -> 3.5
(cherry picked from commit 43dc271256)
2020-10-11 19:35:36 +02:00
Florian Klink
87f329dfcc golden-cheetah: fix build with bison 3.7
Currently, GoldenCheetah fails to build with Bison >=3.7 (which we use
for some time).

This applies the commit from https://github.com/GoldenCheetah/GoldenCheetah/pull/3590.

Upstream issue: https://github.com/GoldenCheetah/GoldenCheetah/issues/3586

(cherry picked from commit a73c1259d1)
2020-10-11 19:35:36 +02:00
Tim Steinbach
547c1680c7 rtl88x2bu: 2020-05-19 -> 2020-08-20
(cherry picked from commit 184e3824eb)
2020-10-11 13:19:28 -04:00
Mario Rodas
158b81ebad Merge pull request #100220 from fadenb/graylog_3.3.7_20.09
[20.09] graylog: 3.3.6 -> 3.3.7
2020-10-11 11:54:58 -05:00
Robert Scott
ed877dc131 pythonPackages.django-anymail: 6.1.0 -> 8.1, fixing build
(cherry picked from commit fb20a2f141)
2020-10-11 16:10:51 +01:00
Robert Scott
2966772fce Merge pull request #100237 from risicle/ris-arviz-xarray-r20.09
[20.09] pythonPackages.xarray, pythonPackages.arviz: bump/fix build
2020-10-11 16:08:27 +01:00
Michael Weiss
5cd8cea55c Merge pull request #100166 from jonringer/backport-fqdn
[20.09] doc: Document a workaround for using an FQDN as hostname
2020-10-11 16:02:10 +02:00
Robert Scott
58a97c5612 pythonPackages.arviz: 0.7.0 -> 0.10.0, fixing tests
(cherry picked from commit 6cd6626691)
2020-10-11 14:01:50 +01:00
Frederik Rietdijk
f534bee0e4 python3Packages.xarray: 0.16.0 -> 0.16.1
(cherry picked from commit 4e1f8e4e31)
2020-10-11 14:01:49 +01:00
WORLDofPEACE
be8f3ec15c [20.09] gnome3.mutter334: 3.34.5 -> 3.34.6, update patches
Now managing patches using my git-series.

* drop xwayland-path
  It now uses find_program.path()

* add 0008-build-bump-ABI-to-sysprof-capture-4.patch
  This allows us to build with the sysprof in nixpkgs.

This is a version of the update using a series just for the gnome
stack on 20.09 (21.03 has 3.38 and sysprof-4).
2020-10-11 06:40:50 -04:00
Tristan Helmich
99fcc1baf6 graylog: 3.3.6 -> 3.3.7
Bumps Graylog and integration plugins to version 3.3.7.
(cherry picked from commit 4115906195)
2020-10-11 09:57:46 +00:00
Vladimír Čunát
7a452bccea thunderbird*-68: mark as insecure
(cherry picked from commit 230728216a)
2020-10-11 11:17:05 +02:00
WORLDofPEACE
006e716e79 nixos/gnome3: don't install epiphany default
See https://github.com/NixOS/nixpkgs/issues/98819

(cherry picked from commit 13b192749c)
2020-10-10 23:29:28 -04:00
IvarWithoutBones
5ed3b0798a pythonPackages.pyotp: fix tests
(cherry picked from commit ae23d0bf634d460be9e75702f369a08c1c2e64ba)
2020-10-10 19:44:42 -07:00
Thibault Gagnaux
c8f9a54743 python3Packages.fs: fix tests on darwin
Refactors to pytestCheckHook and removes unused nose dependency.

(cherry picked from commit 66afda2857)
2020-10-10 19:23:34 -07:00
Robert Scott
c9fa6aa160 oq: fix build
this patch is actually included in the already-released oq 1.1.2, but we
can't upgrade to that because it requires crystal 0.35, which we don't
seem to have yet

enable for darwin

(cherry picked from commit 892712e260)
2020-10-10 19:05:29 -07:00
Robert Scott
e8556296e1 sleepyhead: fix build
switch back to qt 5.12

(cherry picked from commit ae31bec12b)
2020-10-10 19:02:43 -07:00
Robert Scott
460db363bb partimage: fix build
the move to glibc 2.30 broke the build of this old package, fortunately
debian have a patch to fix it

(cherry picked from commit 5983c412d7)
2020-10-10 19:01:47 -07:00
Robert Scott
c0528be9cb lockdep: 4.1.2 -> 5.0.21, fix build, enable tests
required a bit of an overhaul to ensure we're compiling against *this*
kernel's headers, not those in glibc which are presumably from some other
random kernel version.

would be nice to update to a more recent version, the build of this tool
reportedly got broken soon after this release.

(cherry picked from commit b3951d18df)
2020-10-10 18:47:59 -07:00
Josef Kemetmüller
37547b5f42 python.pkgs.scikit-optimize: 0.6 -> 0.8.1
This fixes the build of scikit-optimize.

(cherry picked from commit b8f130e2b4)
2020-10-10 18:17:59 -07:00
Robert Scott
c4ea77f594 packetdrill: 1.0 -> unstable-2020-08-22, fix build
also switch to cmake build

(cherry picked from commit 87fad4d39e)
2020-10-10 18:07:31 -07:00
Anderson Torres
8d4a4dd64a Merge pull request #100184 from OPNA2608/update/palemoon-28.14.2@20.09
[20.09] palemoon: 28.13.0 -> 28.14.2
2020-10-10 22:04:31 -03:00
OPNA2608
806e74c6ed palemoon: 28.13.0 -> 28.14.2
(cherry picked from commit 559cf217d6)
2020-10-11 01:27:32 +02:00
Thibault Gagnaux
ea5505ff0e bazel_1: fix build on darwin
Use clang_8 instead of clang_7 on darwin to fix thread_local storage error.

(cherry picked from commit f7aafe6345)
2020-10-10 23:22:07 +02:00
Robert Scott
51aaa3fa1b Merge pull request #100153 from tricktron/20.09-fsspec-fix
[20.09] python3Packages.fsspec: fix tests on linux
2020-10-10 22:01:32 +01:00
Jan Tojnar
dd039151df nixos/doc: Mention fontconfig changes in 20.09 RN
This is a major change but it should not cause any issues.

(cherry picked from commit be2f1cb15c)
2020-10-10 16:47:57 -04:00
Jiehong Ma
c0bab38b5b doc: add the removal of Python 3.5 to the 20.09 release notes (#95765)
(cherry picked from commit 63c7735733)
2020-10-10 16:45:09 -04:00
Robert Scott
9f16269774 Merge pull request #100154 from tricktron/20.09-bazel_0-fix
[20.09] bazel_0: fix build on darwin
2020-10-10 20:24:37 +01:00
Michael Weiss
4cbe1d56c9 doc: Document a workaround for using an FQDN as hostname
Since #76542 this workaround is required to use a FQDN as hostname. See
#94011 and #94022 for the related discussion. Due to some
potential/unresolved issues (legacy software, backward compatibility,
etc.) we're documenting this workaround [0].

[0]: https://github.com/NixOS/nixpkgs/issues/94011#issuecomment-705952300

(cherry picked from commit 4a600af1b1)
2020-10-10 10:49:46 -07:00
Martin Weinelt
fd341a576e Merge pull request #99642 from risicle/ris-olsrd-0.9.8-r20.09
[20.09] olsrd: 0.9.6.1 -> 0.9.8, fix build
2020-10-10 19:41:51 +02:00
Henri Menke
523564d2f8 zfsUnstable: 2.0.0-rc2 -> 2.0.0-rc3
(cherry picked from commit 952b698689)
2020-10-10 10:35:35 -07:00
Gabor Greif
909ef02aa1 llvm_11: 11.0.0rc3 -> 11.0.0rc5
(cherry picked from commit a64eabfe7c)
2020-10-10 18:32:04 +02:00
Gabor Greif
c012a0c447 llvm_11: 11.0.0rc2 -> 11.0.0rc3
(cherry picked from commit 1c0cbf8aea)
2020-10-10 18:32:03 +02:00
Michael Weiss
86c8ef01aa chromium: Disable VA-API by default
This is done to avoid driver specific issues and restores the previous
behaviour. Like before video acceleration can be enabled without having
to rebuild Chromium.

(cherry picked from commit 73b67da169)
2020-10-10 18:27:09 +02:00
TredwellGit
42f30f3ae1 chromium: Fix and enable our ANGLE support
This will additionally install the following files:
libEGL.so libGLESv2.so
libVkICD_mock_icd.so libvk_swiftshader.so libvulkan.so

libEGL.so and libGLESv2.so are required to fix our ANGLE support.
The rest should help with the Vulkan support (currently an experimental
feature that is disabled by default).

(cherry picked from commit 757bbdd948)
2020-10-10 18:26:56 +02:00
Michael Weiss
ef5d0d606e chromium: 85.0.4183.121 -> 86.0.4240.75
https://chromereleases.googleblog.com/2020/10/stable-channel-update-for-desktop.html

This update includes 35 security fixes.

CVEs:
CVE-2020-15967 CVE-2020-15968 CVE-2020-15969 CVE-2020-15970
CVE-2020-15971 CVE-2020-15972 CVE-2020-15990 CVE-2020-15991
CVE-2020-15973 CVE-2020-15974 CVE-2020-15975 CVE-2020-15976
CVE-2020-6557 CVE-2020-15977 CVE-2020-15978 CVE-2020-15979
CVE-2020-15980 CVE-2020-15981 CVE-2020-15982 CVE-2020-15983
CVE-2020-15984 CVE-2020-15985 CVE-2020-15986 CVE-2020-15987
CVE-2020-15992 CVE-2020-15988 CVE-2020-15989

(cherry picked from commit f79703e50c)
2020-10-10 18:26:55 +02:00
Janne Heß
03416d8eae asterisk: Bump all packages
All packages were outdated.
Asterisk 15 is not supported anymore, but there is 17 now.

All versions bumped pjproject to 2.10 which requires overriding the
prefix.

Since Asterisk 17, `make install-headers` seems to be needed.

(cherry picked from commit c5e8dbc4f1)
2020-10-10 17:21:00 +02:00
Thibault Gagnaux
d4ac747a9e bazel_0: fix build on darwin
Fixes `error: thread-local storage is not supported for the current target` by
upgrading clang_7 -> to clang_8 which supports thread-local storage.

(cherry picked from commit fd2c495e97)
2020-10-10 16:33:03 +02:00
Thibault Gagnaux
4188bf40dd python3Packages.fsspec: fix tests on linux
Disables flaky test. Has been resolved in https://github.com/intake/filesystem_spec/issues/432 and
can thus be enabled again starting from version `0.8.4`.

(cherry picked from commit 0a9641b3bb)
2020-10-10 16:25:48 +02:00
gnidorah
ef619aa977 rambox: 0.7.6 -> 0.7.7
(cherry picked from commit 86630c774d)
2020-10-10 11:18:42 +02:00
gnidorah
4533fdcf06 rambox: 0.7.5 -> 0.7.6
(cherry picked from commit cac4080c44)
2020-10-10 11:18:41 +02:00
WORLDofPEACE
bda8628b2b gnomeExtensions.dash-to-dock: 2020-04-20 -> 69
This version supports both 3.36 and 3.38.

(cherry picked from commit 8cee2ba640)
2020-10-09 20:24:51 -04:00
WORLDofPEACE
ee9f8ac6c0 nixos/display-managers: install sessionData.desktops
Fixes https://github.com/NixOS/nixpkgs/issues/100108

(cherry picked from commit 3cd2b59b8c)
2020-10-09 19:31:55 -04:00
Dmitry Kalinkin
1cd0f2d326 pyhton3Packages.ibis-framework: fix tests for pandas 1.1
(cherry picked from commit c9f7ef3f12)
cc #100099
2020-10-09 16:46:28 -04:00
Jiehong Ma
fa1afc07b9 doc: add AMD rocm and vulkan to 20.09 release notes (#95765)
(cherry picked from commit c3e4594eaf)
2020-10-09 16:39:48 -04:00
Dmitry Kalinkin
f11f085725 dmtx-utils: enable on darwin
(cherry picked from commit eca072f96b)
2020-10-09 16:13:50 -04:00
Dmitry Kalinkin
4106f64d85 arrow-cpp: 1.0.0 -> 1.0.1
(cherry picked from commit 6b74dfe376)
2020-10-09 09:16:07 -04:00
Tim Steinbach
60ec8e5c61 linux/hardened/patches/5.8: 5.8.12.a -> 5.8.14.a
(cherry picked from commit 8293f9509e)
2020-10-09 08:42:34 -04:00
Tim Steinbach
753177c404 linux/hardened/patches/5.4: 5.4.68.a -> 5.4.70.a
(cherry picked from commit edf17457ed)
2020-10-09 08:42:34 -04:00
Tim Steinbach
7ab55cf443 linux/hardened/patches/4.19: 4.19.148.a -> 4.19.150.a
(cherry picked from commit 6f4d132a08)
2020-10-09 08:42:33 -04:00
Tim Steinbach
80abe104ca linux/hardened/patches/4.14: 4.14.199.a -> 4.14.200.a
(cherry picked from commit 84c56e0dbb)
2020-10-09 08:42:33 -04:00
Vladimír Čunát
a786d00cda knot-dns: 2.9.6 -> 2.9.7
https://gitlab.nic.cz/knot/knot-dns/-/tags/v2.9.7
NixPkgs master is on 3.0.x already.
2020-10-09 12:02:51 +02:00
Maximilian Bosch
0b8799ecaa yarn2nix-moretea: re-add support for git:// URLs from yarn.lock
@lheckemann already added it to `yarn2nix` a while ago[1], but it seems
as it was forgotten to include when adding `yarn2nix` sources to
`nixpkgs` itself.

Without this patch, you cannot add dependencies to your `package.json`
with URLs like `git://github.com/.../` as building the expression would
fail like this:

```
curl: (1) Protocol "git" not supported or disabled in libcurl
error: cannot download git___github.com_sstur_nodeftpd.git from any mirror
```

Co-authored-by: Linus Heckemann <git@sphalerite.org>

[1] https://github.com/nix-community/yarn2nix/pull/141

(cherry picked from commit 0c49f1896e)
2020-10-09 10:02:06 +02:00
Robert Scott
99fa7616c0 pythonPackages.sievelib: fix build by adding patch
this fixes installation with newer pip versions

also give a name to an existing patch

(cherry picked from commit 4d111fdf39)
2020-10-08 19:41:02 -07:00
Mario Rodas
6f9084711d Merge pull request #99942 from toonn/release-20.09
wire-desktop backport to release-20.09
2020-10-08 18:19:30 -05:00
Maximilian Bosch
555375859b nixos/nextcloud: --database-pass must not be empty for pgsql/mysql
This is a breaking change from `nextcloud20`. However, the affected test
is still passing with an unused database password and socket
authentication.

(cherry picked from commit 9cbe30e129)
2020-10-08 23:12:03 +02:00
Maximilian Bosch
452603b385 nixos/nextcloud: update nginx config for nextcloud20
See #97666 for further context.

(cherry picked from commit 227ba90b28)
2020-10-08 23:12:03 +02:00
Maximilian Bosch
8597315fae nextcloud20: init
(cherry picked from commit 71098fba81)
2020-10-08 23:12:03 +02:00
Maximilian Bosch
e30e8842ce nixos/nextcloud: fix nginx config to allow copy/move-operations again
(cherry picked from commit 609c4f497d)
2020-10-08 23:12:03 +02:00
Robert Scott
8690f062b3 Merge pull request #99966 from wkral/backport-gym-fix
[20.09] python3Packages.gym: fix dependency constraints
2020-10-08 21:10:45 +01:00
Tim Steinbach
a6dca580a2 jenkins: 2.249.1 -> 2.249.2
(cherry picked from commit 553ec1bf72)
2020-10-08 14:51:39 -04:00
Robert Scott
b4b1835559 Merge pull request #99923 from austinbutler/alerta-server-backport
[20.09] python3Packages.alerta-server: fix build
2020-10-08 19:38:27 +01:00
Robert Scott
ac49519150 Merge pull request #99891 from risicle/ris-matplotlib-darwin-fix-r20.09
[20.09] matplotlib: Disable LTO on darwin.
2020-10-08 19:30:39 +01:00
Austin Seipp
d0077a6c72 Merge pull request #98577 from NieDzejkob/chez-backport
[20.09] chez-modules: Fix path to csv-site.
2020-10-08 12:36:45 -05:00
rnhmjoj
305ff0c412 monero-gui: fix aarch64 build
(cherry picked from commit fa2f50f313e5df635587cbb23a3b7e2846731166)
2020-10-08 18:15:23 +02:00
rnhmjoj
d8475fa0e7 monero: apply patch to fix monero-gui build
This is a more appropriate solution to fix a
build error in monero-gui.

(cherry picked from commit b5ca332b1d)
2020-10-08 18:15:23 +02:00
rnhmjoj
cf7ff15f73 monero-gui: use the cmake build system
(cherry picked from commit 059292cc64)
2020-10-08 18:15:23 +02:00
rnhmjoj
4d03da7ee7 monero: export patched sources
This is needed to build monero-gui without duplicating code.

(cherry picked from commit 59fe3e87c3)
2020-10-08 18:15:23 +02:00
rnhmjoj
f6cc6a7897 monero: force use of system libraries
(cherry picked from commit cc90474581)
2020-10-08 18:15:23 +02:00
Pavol Rusnak
d30b5ef852 monero-gui: 0.16.0.3 -> 0.17.0.1
(cherry picked from commit e40ede1821)
2020-10-08 18:15:22 +02:00
Pavol Rusnak
11b824181a monero: 0.16.0.3 -> 0.17.0.1
(cherry picked from commit d6921aa4bf)
2020-10-08 18:15:22 +02:00
Claudio Bley
31cf6ac8d8 notmuch: 0.30.1c80020 -> 0.31
(cherry picked from commit f53bc76ee5)
2020-10-08 18:12:23 +02:00
ajs124
ed00b86684 Merge pull request #100018 from helsinki-systems/bp/sogo501
[20.09] sogo: 5.0.0 -> 5.0.1
2020-10-08 17:03:14 +02:00
Lassulus
e8ca6081f5 Merge pull request #99904 from Sohalt/electricsheep-20.09
[20.09] electricsheep: 2.7b33-2017-10-20 -> 3.0.2-2019-10-05, fix build
2020-10-08 13:48:50 +02:00
Janne Heß
438a182a1d sogo: 5.0.0 -> 5.0.1
(cherry picked from commit 3f69715b63)
2020-10-08 10:37:09 +02:00
Vladimír Čunát
1c6e95a1e5 Merge branch 'staging-20.09' into release-20.09
It's mostly rebuilt, especially the two x86 platforms.
https://hydra.nixos.org/eval/1617854
2020-10-08 10:20:34 +02:00
Jonathan Ringer
bcba98c529 python3Packages.sphinx-argparse: reintroduce
was accidently removed in 6b23dc8f96

(cherry picked from commit 7621902c12)
2020-10-07 17:40:38 -07:00
Martin Weinelt
1e77c4225f Merge pull request #99484 from mweinelt/20.09/lilypond
[20.09] lilypond: add patch to restrict embedded-{ps,svg} when -dsafe is used
2020-10-07 21:21:24 +02:00
William Kral
5e3527e42d python3Packages.gym: fix dependency constraints
(cherry picked from commit c097e85a2f)
2020-10-07 10:29:14 -07:00
Tim Steinbach
97d9ec2b12 linux: 5.8.13 -> 5.8.14 2020-10-07 08:24:06 -04:00
Tim Steinbach
41f3b9e95d linux: 5.4.69 -> 5.4.70 2020-10-07 08:24:06 -04:00
Tim Steinbach
880571eabc linux: 4.19.149 -> 4.19.150 2020-10-07 08:24:05 -04:00
Shea Levy
4fe38f7b11 zulip: Don't use buildFHSUserEnvBubblewrap.
For as-yet unknown reasons, this causes zulip to launch with a grey screen.

See https://github.com/NixOS/nixpkgs/pull/97264#issuecomment-704454645

(cherry picked from commit c800d20b67)
2020-10-07 07:58:55 -04:00
David Anderson
7bd0f6ffdf jasper: remove, abandoned upstream.
Jasper has been marked insecure for a while, and upstream has not
been responsive to CVEs for over a year.

Fixes #55388.

Signed-off-by: David Anderson <dave@natulte.net>
(cherry picked from commit 3a38cef8f9)
2020-10-07 13:12:42 +02:00
Dan Callahan
f57d914ae8 digikam: fix broken icons
Ensures that the Breeze icon theme is available to digikam.
Without this, digikam breaks in strange ways.

Fixes #65322
Fixes #78225

(cherry picked from commit afec4b31bd)
2020-10-07 13:12:17 +02:00
Andreas Rammhold
8c2b1d4a06 Merge pull request #99692 from worldofpeace/pipewire-firefox-20.09
[20.09] firefox: enable pipewire+webrtc for wayland users
2020-10-07 12:51:55 +02:00
toonn
7a61b768d1 wire-desktop: mac 3.18.3728 -> 3.20.3912
(cherry picked from commit 4448bd4e10)
2020-10-07 12:36:23 +02:00
toonn
02743360a7 wire-desktop: linux 3.18.2925 -> 3.20.2934
(cherry picked from commit ad9d115682)
2020-10-07 12:36:06 +02:00
Austin Butler
2983b1c1be python3Packages.alerta-server: fix build
(cherry picked from commit 9050ae07cf)
2020-10-06 21:25:06 -07:00
Andreas Rammhold
de4dc6b447 nixos/security/acme: order after nss-lookup.target
This should hopefully solve races with DNS servers (such as unbound)
during the activation of a new generation. Previously unbound could
still be unavailable and thus the acme script would fail.

(cherry picked from commit 2c0ee52d91)
2020-10-06 17:16:11 -07:00
Benjamin Asbach
56c840de2c netbeans: 12.0 -> 12.1
This fixes #99814

(cherry picked from commit 69027b0c95)
2020-10-07 00:56:13 +02:00
sohalt
afa708a951 electricsheep: 2.7b33-2017-10-20 -> 3.0.2-2019-10-05, fix build
(cherry picked from commit 3718d52f26)
2020-10-06 23:08:45 +02:00
WORLDofPEACE
e350a3327e Merge pull request #99897 from andir/20.09/use-configured-nix-for-installer
[20.09] nixos/installer: drop the extra nixUnstable in nixos-install
2020-10-06 16:59:32 -04:00
Vincent Laporte
d5b88037ae ocamlPackages.earley: 2.0.0 → 3.0.0
(cherry picked from commit e7ebd6be80)
2020-10-06 22:37:20 +02:00
Andreas Rammhold
0f6fffa4d0 nixos/installer: drop the extra nixUnstable in nixos-install
The only nix version available in the installer should be the version
configure in the module system. If someone needs `nixUnstable` in their
`nixos-install` they should probably set the module option and not just
add it to the closure.

(cherry picked from commit 544059b01f)
2020-10-06 22:31:17 +02:00
WORLDofPEACE
001334b47c nixos/gnome3: add realtime-scheduling option
This adds an option services.gnome3.experimental-features.realtime-scheduling
See this comment for the motivation [0].
Having gnome-shell launched with capability seemed harmless at first,
but it caused these issues [1] [2] for people who aren't even using
the feature. It makes more sense to make this optional.

[0]: https://github.com/NixOS/nixpkgs/issues/90201#issuecomment-683304279
[1]: https://github.com/NixOS/nixpkgs/issues/90201
[2]: https://github.com/NixOS/nixpkgs/issues/86730

(cherry picked from commit 656cd70ea8)
2020-10-06 16:30:45 -04:00
WORLDofPEACE
ad10d15421 nixos/plasma5: add spectacle default
Fixes https://github.com/NixOS/nixpkgs/issues/99680.

In the future I think it would be nice if plasma5 could assume
an approach for an interface we have in the gnome3 module [0].
Notably being able to exclude packages with an option from
the default environment and having a default environment that
is useful to the average user. See [1], currently plasma5 defaults
are very "hard core hacker" with the most bare bones setup.

[0]: https://github.com/NixOS/nixpkgs/issues/67310
[1]: https://github.com/NixOS/nixpkgs/issues/67310#issuecomment-524649585

(cherry picked from commit 55bc3e44b7)
2020-10-06 16:28:13 -04:00
Jonathan Ringer
695d9d3c8a python3Packages.localzone: 0.9.6 -> 0.9.7
(cherry picked from commit 0093e4e6a9)
2020-10-06 12:04:42 -07:00
Jonathan Ringer
a5a96e0cfa ape: don't inherit lexicon from pkgs scope
(cherry picked from commit 90e5082576)
2020-10-06 12:04:42 -07:00
Shea Levy
a4e6bf389d matplotlib: Disable LTO on darwin.
Needs #19312 or equivalent to work.

(cherry picked from commit 31579c6b0a)
2020-10-06 20:04:39 +01:00
R. RyanTM
b60f5e90cf python27Packages.identify: 1.4.29 -> 1.5.5
(cherry picked from commit def388af0a)
Signed-off-by: Domen Kožar <domen@dev.si>
2020-10-06 19:38:21 +02:00
Domen Kožar
16325b3d66 nix-linter: 2019-04-26 -> 2020-09-25
(cherry picked from commit a05f231884)
Signed-off-by: Domen Kožar <domen@dev.si>
2020-10-06 19:34:13 +02:00
Vladimír Čunát
9af5e0568d Merge branch 'release-20.09' into staging-20.09
A few thousand rebuild's happened; estimate:
    929 x86_64-darwin
   2924 x86_64-linux
2020-10-06 15:14:33 +02:00
Shea Levy
0caacb6242 zulip: 5.4.0 -> 5.4.3
(cherry picked from commit 34c015f1ec)
2020-10-06 09:00:12 -04:00
WORLDofPEACE
7c5f35fc48 nixos/gnome3: fixup unconditional code
(cherry picked from commit afdeb406b0)
2020-10-06 07:38:29 -04:00
Andreas Rammhold
c9c0b90b62 firefox: ensure pipewire is only enabled with wayland & webrtc
This ensures that we aren't applying any of the experiemental pipewire
patches when the dependencies aren't enabled. As of now pipewire only
works with wayland and webrtc. If either of them are not activated we
can't build with pipewireSupport and we should not.
2020-10-06 12:10:08 +02:00
Raphael Borun Das Gupta
0d345f5fd6 python39: 3.9.0rc2 -> 3.9.0
(cherry picked from commit 3696bc0e89)
2020-10-06 08:33:10 +02:00
Matt Votava
3c4e4be514 nixos/gnome3: don't enable modules for excludePackages
(cherry picked from commit bc970e94e7)
2020-10-06 01:19:36 -04:00
Cole Mickens
57fb6514b8 firefox: enable pipewire+webrtc for wayland users
(cherry picked from commit 31e54cdde3)
2020-10-06 01:12:56 -04:00
WORLDofPEACE
ff3215f7f1 Merge pull request #99670 from santicalcagno/backport
[20.09] fbpanel: fix build by adding gdk-pixbuf-xlib
2020-10-06 01:07:03 -04:00
WORLDofPEACE
8545b4abdc Merge pull request #99690 from cole-h/nixos-install-add-store-20.09
[20.09] nixos-install: use mountpoint as store
2020-10-06 01:05:16 -04:00
Cole Helbling
4798cb54a8 nixos-install: use mountpoint as store
Otherwise, it's possible building a flake may cause the live CD to run
out of memory.

(cherry picked from commit 3bbe4c322a)
2020-10-05 21:50:12 -07:00
Mario Rodas
7badbf18c4 chipsec: disable on non-Linux
(cherry picked from commit f3031298b2)
2020-10-05 20:20:24 -05:00
Mario Rodas
0262cae27f chipsec: disable on non-Linux
(cherry picked from commit 2cdc05763f)
2020-10-05 20:20:24 -05:00
Mario Rodas
a2d537a779 Merge pull request #99643 from risicle/ris-terraform-compliance-fix-r20.09
[20.09] terraform-compliance: fix build
2020-10-05 20:05:49 -05:00
Santiago Calcagno
9e77444b6e fbpanel: fix build by adding gdk-pixbuf-xlib
(cherry picked from commit 104017def0)
2020-10-05 19:13:38 -03:00
Robert Scott
adf11e9085 pythonPackages.islpy: fix build
also convert to pytestCheckHook

(cherry picked from commit be1281bc0b)
2020-10-05 14:54:49 -07:00
Léo Gaspard
b70fdcd506 matrix-synapse module: fix documentation and add release notes (#99564)
(cherry picked from commit e0c48efc17)
2020-10-05 23:36:29 +02:00
WORLDofPEACE
9b36117af0 Merge pull request #99657 from cole-h/fix-nix-shell-and-borg-20.09
[20.09] top-level: ignore unexpected args
2020-10-05 17:01:25 -04:00
Cole Helbling
c2c7a5cecd top-level: ignore unexpected args
This fixes both `nix-shell` failing to eval with `nixUnstable`, as well
as ofborg's failure to eval on aarch64 due to passing an "unexpected
arg" (1112e3a8c8/ofborg/src/nix.rs (L334-L340)).

(cherry picked from commit 11eddd61bc)
2020-10-05 13:23:51 -07:00
Cole Helbling
9f76b6edd1 Revert "top-level: fix nix-shell eval w/nixUnstable"
This reverts commit fa6064ad86.

(cherry picked from commit d91cab87b1)
2020-10-05 13:23:51 -07:00
Tim Steinbach
e8228cb0f0 ena: 2.2.7 -> 2.2.11
(cherry picked from commit 1687c719f8)
2020-10-05 16:16:26 -04:00
Tim Steinbach
a537813e08 rtl8821cu: 2020-05-16 -> 2020-08-21
(cherry picked from commit 6fbd64645c)
2020-10-05 16:15:58 -04:00
Tim Steinbach
d5052d6a90 rtl8812au: 5.6.4.2_35491.20200318 -> 5.6.4.2_35491.20200702
(cherry picked from commit ce79348fe4)
2020-10-05 16:15:24 -04:00
Jonas Meurer
ba1ad328ed jwm: fix gettext requirement
Jwm requests a specific version of gettext. Since the current version
of gettext is higher, the build fails. Gettext supports to request
a minimum version (since 0.19.6). A patch is introduces which requests
the minimum version 0.19.6.

(cherry picked from commit 1a22a73dde)
2020-10-05 21:03:50 +02:00
WORLDofPEACE
5c68755102 Merge pull request #99629 from ttuegel/staging-20.09--plasma-switch-user
systemd: show CanMultiSession again
2020-10-05 14:19:43 -04:00
Drew Risinger
259f722437 terraform-compliance: fix build
* Disables lock of pythonPackages.ipython to allow
    building with what's in nixpkgs

(cherry picked from commit 85ce380564)
2020-10-05 19:04:13 +01:00
Christoph Neidahl
724d372a3a cheesecutter: unstable-2019-12-06 -> unstable-2020-04-03
(cherry picked from commit e782471d2b)
2020-10-05 19:58:12 +02:00
Robert Scott
af049d1f9e olsrd: 0.9.6.1 -> 0.9.8, fix build
incorporate patch fixing build against bison 3.7 pinched from openwrt

(cherry picked from commit 36d66c0b43)
2020-10-05 18:37:40 +01:00
Tim Steinbach
1b40fb34fd Revert "Revert "linux-hardened: 5.7 -> 5.8""
This reverts commit ad3a5d5092.
2020-10-05 11:32:10 -04:00
Tim Steinbach
e178d83cf8 Merge pull request #99622 from NeQuissimus/fix_hardened_58
tests/hardened: Fix usage with 5.8

(cherry picked from commit 0913d8c4d5)
2020-10-05 11:31:56 -04:00
Thomas Tuegel
9aa7dfeb6f systemd: show CanMultiSession again
(cherry picked from commit 4e384ddc11)
2020-10-05 09:50:53 -05:00
Eelco Dolstra
67c303e753 nixos-generate-config: Add missing newline
(cherry picked from commit b551f06097)
2020-10-05 14:46:23 +02:00
Vladimír Čunát
ad3a5d5092 Revert "linux-hardened: 5.7 -> 5.8"
This reverts commit 4712b946e4.
This broke a test and has been blocking the channel for over a week.
(see https://github.com/nixos/nixpkgs/commit/4712b946e )
2020-10-05 05:13:30 +02:00
WORLDofPEACE
b5ba70103b Merge pull request #99537 from mdevlamynck/backport
[20.09] sawfish: fix build by replacing gdk-pixbuf with gdk-pixbuf-xlib
2020-10-04 19:42:51 -04:00
Robert Scott
b2ac083574 Merge pull request #99543 from risicle/ris-hidapi-darwin-fix-r20.09
[20.09] pythonPackages.hidapi: fix build on darwin
2020-10-04 22:35:46 +01:00
Justin Humm
77660fc646 monoid: 2016-07-21 -> 2018-06-03
Also applied a patch, so we can build with python3Packages.fontforge, as
fontforge doesn't have python2 bindings anymore.

(cherry picked from commit b6b8503f85)
2020-10-04 21:40:42 +02:00
Jonathan Ringer
27fcfaa2c0 nixpkgs-review: 2.4.1 -> 2.4.2
(cherry picked from commit a51c51c6b0)
2020-10-04 09:14:01 -07:00
Jonathan Ringer
cf5bea5a04 nixpkgs-review: 2.4.0 -> 2.4.1
(cherry picked from commit 6d812f2a73)
2020-10-04 09:14:01 -07:00
Robert Scott
54e4fdfe85 Merge pull request #99548 from risicle/ris-gomplate-init-r20.09
[20.09] gomplate: init at 3.8.0
2020-10-04 16:46:18 +01:00
Maximilian Bosch
ec20ddd254 nixos/nextcloud: fix nginx-config for Nextcloud 19 and older
It seems as I misconfigured `nginx` for certain cases such as the
`ldap`-plugin[1] in 42f6244899. This patch
fixes the `nginx`-config to match the upstream recommendations[2].

Also added a comment to the module to remind myself to ensure that
`nginx` will work with both v19 and v20 as soon as the latter is
released and can be packaged in `nixpkgs`.

Co-authored-by: nivadis <nivadis@users.noreply.github.com>

[1] https://github.com/nextcloud/server/issues/16194#issuecomment-688839888
[2] https://docs.nextcloud.com/server/19/admin_manual/installation/nginx.html

(cherry picked from commit 8d8871c565)
2020-10-04 14:05:52 +02:00
Robert Scott
ff2e0ca52d gomplate: init at 3.8.0
(cherry picked from commit d451ecbc9c)
2020-10-04 12:59:12 +01:00
Thomas Tuegel
0c218a4c2e Merge pull request #99542 from ttuegel/release-20.09--plasma-missing-attrs
[20.09] kdenetworking-filesharing: move to top level
2020-10-04 06:55:12 -05:00
Robert Scott
63f0d994c9 pythonPackages.hidapi: fix build on darwin
also add pythonImportsCheck

(cherry picked from commit bd55969cf9)
2020-10-04 12:13:51 +01:00
Thomas Tuegel
10f69167e2 kdenetworking-filesharing: move to top level 2020-10-04 05:43:47 -05:00
Matthias Devlamynck
424805d8c0 sawfish: fix build by replacing gdk-pixbuf with gdk-pixbuf-xlib
(cherry picked from commit 5dba52e6ce)
2020-10-04 10:50:49 +02:00
rnhmjoj
3bef8645ca qutebrowser: downgrade Qt to 5.14
There are a number of unresolved issues with Qt 5.15, the most
important one being the inability to properly restore sessions[1].
For now it's better to stay at the earlier version.

[1]: https://github.com/qutebrowser/qutebrowser/issues/5359

(cherry picked from commit 3fafb02125)
2020-10-04 10:43:21 +02:00
Maximilian Bosch
25d8b5f2be lambda-mod-zsh-theme: 2019-04-17 -> 2020-10-03, cleanup derivation
(cherry picked from commit 748871ad42)
2020-10-03 20:04:34 +02:00
Thomas Tuegel
b5dae77322 Merge pull request #99473 from ttuegel/release-20.09--digikam
[20.09] digikam: 6.4.0 -> 7.1.0
2020-10-03 12:03:17 -05:00
Martin Weinelt
3d482c78e7 Merge pull request #99489 from acairncross/fix-nbval-backport
[20.09] Fix nbval backport
2020-10-03 18:55:43 +02:00
Aiken Cairncross
f27d90945e python3Packages.nbval: Fix tests
(cherry picked from commit a5f1cf97b6)
2020-10-03 17:38:09 +01:00
Elis Hirwing
beea5227d0 php73: 7.3.20 -> 7.3.23
- https://www.php.net/ChangeLog-7.php#7.3.21
 - https://www.php.net/ChangeLog-7.php#7.3.22
 - https://www.php.net/ChangeLog-7.php#7.3.23

(cherry picked from commit e04af50179)
2020-10-03 17:46:51 +02:00
Elis Hirwing
07c6f1f8ea php74: 7.4.8 -> 7.4.11
https://www.php.net/ChangeLog-7.php#7.4.9
https://www.php.net/ChangeLog-7.php#7.4.10
https://www.php.net/ChangeLog-7.php#7.4.11
(cherry picked from commit a792db658f)
2020-10-03 17:28:14 +02:00
R. RyanTM
2460e9d5dc python27Packages.pytesseract: 0.3.5 -> 0.3.6
(cherry picked from commit b8c6c2499c)
2020-10-03 17:27:56 +02:00
Martin Weinelt
410952d2a6 lilypond: add patch to restrict embedded-{ps,svg} when -dsafe is used
Fixes: CVE-2020-17353
Closes: #96802
(cherry picked from commit 500d7b81f9)
2020-10-03 16:59:38 +02:00
Aaron Andersen
de32158a87 Merge pull request #99388 from helsinki-systems/backport/20.09/wordpress
[20.09]: wordpress: 5.4.2 -> 5.5.1
2020-10-03 10:39:33 -04:00
Jonas Meurer
00d578a298 nixos/moodle: add missing PHP module (#99476)
ZHF: #97479

Backport of #99163
2020-10-03 15:51:37 +02:00
Thomas Tuegel
a4fea834cb digikam: 6.4.0 -> 7.1.0
(cherry picked from commit b10e170cb3)
2020-10-03 08:47:50 -05:00
Robert Scott
9d31d9ab08 opencascade-occt, opencascade-occt730: fix build on darwin
(cherry picked from commit 0724d7ef59)
2020-10-03 15:46:57 +02:00
Robert Scott
8d6f5beb3e Merge pull request #99362 from mdevlamynck/backport
[20.09] effitask: fix build
2020-10-03 13:04:36 +01:00
0x4A6F
48a32515f0 nixos: Conform with RFC 1123 in networking.hostName
Conform to RFC 1123 [0], specifically to "2.1 Host Names and Numbers",
which allow starting host name with alphanumerical instead of alphabetical characters.
RFC 1123 updates RFC 952 [1], which is referenced in "man 5 hosts".

[0]: https://tools.ietf.org/html/rfc1123
[1]: https://tools.ietf.org/html/rfc952

(cherry picked from commit c232d4b587)
2020-10-02 22:02:17 +02:00
Robert Scott
a5bf6a222b Merge pull request #99338 from risicle/ris-precice-2.1.0-r20.09
[20.09] precice: fix build, 2.0.2 -> 2.1.0, enable for darwin
2020-10-02 20:40:57 +01:00
Tim Steinbach
55a8dcdc53 linux: 5.8.12 -> 5.8.13 2020-10-02 11:28:15 -04:00
Tim Steinbach
612d3d92bf linux: 4.9.237 -> 4.9.238 2020-10-02 11:28:15 -04:00
ajs124
0850f673de wordpress: 5.4.2 -> 5.5.1
(cherry picked from commit c56f278337)
2020-10-02 15:26:06 +02:00
Silvan Mosberger
0f47048fdd Merge pull request #99249 from yorickvP/backport-vm-nl
[20.09] nixos/victoriametrics: escape newlines in ExecStart
2020-10-02 12:55:17 +02:00
Andreas Rammhold
ee7a485da4 Merge pull request #99333 from andir/nixos-20.09-rl-mysql
[20.09] update mysql release notes
2020-10-02 11:19:23 +02:00
Maximilian Bosch
498c69ef5c gitea: 1.12.4 -> 1.12.5
https://github.com/go-gitea/gitea/releases/tag/v1.12.5
(cherry picked from commit 31ce2ee748)
2020-10-02 11:07:33 +02:00
Matthias Devlamynck
ed6a21f970 effitask: fix build
(cherry picked from commit ab0e7bffa0)
2020-10-02 08:37:02 +02:00
aszlig
718037a7ee nixos/plasma5: Fix eval of colord-kde/wacomtablet
Regression introduced by 053b05d14d.

The commit in question essentially removed the "with pkgs;" from the
scope around the various packages added to environment.systemPackages.

Since services.colord.enable and services.xserver.wacom.enable are false
by default, the change above didn't directly result in an evaluation
error.

Tested evaluation before and after this change via:

  for cfg in hardware.bluetooth.enable \
             networking.networkmanager.enable \
             hardware.pulseaudio.enable \
             powerManagement.enable \
             services.colord.enable \
             services.samba.enable \
             services.xserver.wacom.enable; do
    nix-instantiate --eval nixos --arg configuration '{
      services.xserver.desktopManager.plasma5.enable = true;
      '"$cfg"' = true;
    }' -A config.environment.systemPackages > /dev/null
  done

Signed-off-by: aszlig <aszlig@nix.build>
Cc: @ttuegel
(cherry picked from commit 7447bdc523)
2020-10-02 00:58:34 -04:00
WORLDofPEACE
6bf45c4066 nixos/dnscrypt-proxy2: version the example file
I've frequently used the master version that has non backwards compatible keys.

(cherry picked from commit 46e5b14b4a)
2020-10-02 00:33:23 -04:00
Gabriel Ebner
1ee07fb597 freecadStable: init at 0.18.4
(cherry picked from commit 58121fe1b0)
2020-10-01 17:29:30 -07:00
Gabriel Ebner
c193c58c7a opencascade-occt730: init at 7.3.0p3
(cherry picked from commit 78c10375d8)
2020-10-01 17:29:30 -07:00
Gabriel Ebner
c9d21d0fdd python3Packages.pivy: 0.6.5a2 -> 0.6.5
(cherry picked from commit 96dfa21d37)
2020-10-01 17:29:30 -07:00
Gabriel Ebner
324685c771 libsForQt5.soqt: 1.6.0a -> 1.6.0
(cherry picked from commit 0b536960ac)
2020-10-01 17:29:30 -07:00
Gabriel Ebner
2e5b646421 coin3d: unstable-2019-06-12 -> 4.0.0
(cherry picked from commit 11dd6f4584)
2020-10-01 17:29:30 -07:00
Gabriel Ebner
01af965586 freecad: 0.18.4 -> unstable-2020-09-25
(cherry picked from commit 22301b66cd)
2020-10-01 17:29:30 -07:00
Henri Menke
c40a7064dc zfsUnstable: 2.0.0-rc1 -> 2.0.0-rc2
(cherry picked from commit a115901f72)
2020-10-01 17:01:26 -07:00
Silvan Mosberger
9d69eb7bfa man-pages: Make it findable by manpages
Previously `nix-shell -p man-pages` wouldn't work, because `man` by
default looks up man pages only for the packages that appear in PATH.
Since man-pages didn't have anything in $out/bin though, it wouldn't be
put on PATH.

This fixes that by just creating an empty $out/bin

(cherry picked from commit 75d24ef5e7)
2020-10-02 00:53:21 +02:00
Andreas Rammhold
0260afe5f5 nixos/mysql: reorder the release notes on breaking changes a bit
The piece about what commands to run *before* the upgrade should be more
prominent.
2020-10-01 23:23:11 +02:00
Andreas Rammhold
7061a3a4dc nixos/mysql: put the bullet points in a listing
This makes them a lot more readable in the rendered HTML compared to
some inline dashes.
2020-10-01 23:16:01 +02:00
Robert Scott
6f3203bde2 precice: enable for darwin
(cherry picked from commit 509208ea45)
2020-10-01 22:15:10 +01:00
Robert Scott
48b48f5015 precice: 2.0.2 -> 2.1.0
(cherry picked from commit c943e6bc14)
2020-10-01 22:15:07 +01:00
Robert Scott
ab04f71814 precice: fix build
cmake gets confused with python 3.8's version number, switch back to 3.7
for now until upstream's resolved that

(cherry picked from commit 5afdaa28a6)
2020-10-01 22:14:55 +01:00
Lancelot SIX
11b4cc52db pythonPackages.pyscreenshot: add missing pillow dependency
(cherry picked from commit 46159bcf20)
2020-10-01 10:23:52 -07:00
Austin Butler
e56ca65fc1 pythonPackages.pyscreenshot: add missing dependencies
(cherry picked from commit 5bcc4b27f9)
2020-10-01 10:23:52 -07:00
Austin Butler
bf7ea19e6f python3Packages.mss: init at 6.0.0
(cherry picked from commit af2dc4d401)
2020-10-01 10:23:52 -07:00
Austin Butler
53767dfab8 pythonPackages.entrypoint2: init at 0.2.1
(cherry picked from commit 84d74ae9c9)
2020-10-01 10:23:52 -07:00
Tristan Helmich (omniIT)
a3d1bd3ba2 element-web: 1.7.7 -> 1.7.8
(cherry picked from commit f10049cef3)
2020-10-01 17:35:09 +02:00
Tristan Helmich (omniIT)
0ec5a75d72 element-desktop: 1.7.7 -> 1.7.8
(cherry picked from commit 0bf368d339)
2020-10-01 17:35:09 +02:00
Eelco Dolstra
66cd39409e emacs: Remove references from emacs.pdmp
This reduces the Emacs closure size from 1324 MiB to 424 MiB.

Fixes #98755.

(cherry picked from commit 8e13d34944)
2020-10-01 16:31:21 +02:00
Tim Steinbach
bfbe4de06d Merge pull request #99266 from NeQuissimus/linux_4_14_200
linux: 4.14.199 -> 4.14.200
(cherry picked from commit 2f177a2f21)
2020-10-01 09:04:16 -04:00
Tim Steinbach
1be6713414 Merge pull request #99267 from NeQuissimus/linux_4_19_149
linux: 4.19.148 -> 4.19.149
(cherry picked from commit b2a80bebe9)
2020-10-01 09:04:12 -04:00
Tim Steinbach
de727c294c Merge pull request #99269 from NeQuissimus/linux_4_4_238
linux: 4.4.237 -> 4.4.238
(cherry picked from commit ea11b55f44)
2020-10-01 09:04:09 -04:00
Tim Steinbach
59a633e496 Merge pull request #99270 from NeQuissimus/linux_5_4_69
linux: 5.4.68 -> 5.4.69
(cherry picked from commit de6f754b6e)
2020-10-01 09:04:04 -04:00
Marek Fajkus
510a2d97a5 corefonts: fix hash mismatch update
(cherry picked from commit b529c6cf65)
2020-10-01 14:37:18 +02:00
Konrad Borowski
46ce4b1d12 htop: 3.0.1 -> 3.0.2
(cherry picked from commit 4efe18bdee)
2020-10-01 13:10:26 +02:00
Yorick
ff45b4b883 nixos/victoriametrics: escape newlines in ExecStart
Fixes #96206

(cherry picked from commit c1bef53ab5)
2020-10-01 11:49:37 +02:00
Niclas Thall
81217f0f69 pythonPackages.lmtpd: upgrade to Python 3
Python 2 support was dropped on
3546d4660f

ZHF: #97479
https://hydra.nixos.org/build/127641301
(cherry picked from commit 109c7f95ca)
2020-09-30 23:45:15 -07:00
Niclas Thall
97a95f7d7c pythonPackages.pygraphviz: upgrade to Python 3
Python 2 support was dropped on
c341911c15

ZHF: #97479
https://hydra.nixos.org/build/127631797
(cherry picked from commit a29f812f36)
2020-09-30 23:19:08 -07:00
Niclas Thall
e6138834f3 python3Packages.pybase64: Upgrade to python 3
Python 2 ist supported.

ZHF: #97479
https://hydra.nixos.org/build/127647482
(cherry picked from commit 486174da11)
2020-09-30 23:18:56 -07:00
Niclas Thall
594835d0a0 pythonPackages.pure-eval: upgrade to Python 3
ZHF: NixOS#97479
https://hydra.nixos.org/build/127622386
(cherry picked from commit 15e1e144df)
2020-09-30 23:18:46 -07:00
Vladimír Čunát
b3dea4a166 Merge branch 'staging-20.09' into release-20.09
Only a few thousand aarch64 jobs are missing;
that platform is just a bit behind currently.
2020-09-30 23:39:05 +02:00
Maximilian Bosch
8cd2cc9e32 packer: 1.6.3 -> 1.6.4
https://github.com/hashicorp/packer/releases/tag/v1.6.4
(cherry picked from commit 0c56c7357f)
2020-09-30 20:42:06 +02:00
Robert Scott
f8d804b621 Merge pull request #99110 from risicle/ris-minizinc-fix-r20.09
[20.09] minizinc: fix build against bison 3.7
2020-09-30 18:48:29 +01:00
Vladimír Čunát
1b0e08d928 libbpf: 0.1.0 -> 0.1.1
This adds just a single tiny bugfix commit.
https://github.com/libbpf/libbpf/releases/tag/v0.1.1

(cherry picked from commit 1838227d81)
2020-09-30 18:52:45 +02:00
Vladimír Čunát
575aba5b48 thunderbird*: switch default: 68 -> 78
I didn't feel comfortable with *immediately* removing 68,
even though nixers have rollbacks etc.

(cherry picked from commit 2be22836b1)
2020-09-30 18:16:19 +02:00
Maximilian Bosch
61cb8de5ac Merge pull request #99080 from fadenb/graylog_3.3.6_20.09
[20.09] graylog: 3.3.4 -> 3.3.6
2020-09-30 13:38:27 +02:00
Vincent Laporte
07e5844fdf ikos: 2.1 → 3.0
(cherry picked from commit 22b076e1c3)
2020-09-30 08:09:11 +02:00
Jonathan Ringer
f340be7c96 kdeApplications: expose missing packages 2020-09-29 20:36:49 -07:00
WORLDofPEACE
663ff8739c gegl_0_4: make vapi dependencies explicit
(cherry picked from commit 6f35dac541)
2020-09-29 18:34:59 -04:00
Bruno Bigras
76556c6d3d openresty: 1.15.8.3 -> 1.17.8.2
(cherry picked from commit aca8ce740b)
2020-09-29 14:48:21 -07:00
Raphael Borun Das Gupta
c5bd733440 pythonPackages.namedlist: bitbucket -> gitlab.com
adapt meta.homepage, as upstream has moved to gitlab.com

(cherry picked from commit 638612dadf)
2020-09-29 14:46:31 -07:00
Raphael Borun Das Gupta
08653a9f7d pythonPackages.namedlist: 1.7 -> 1.8
(cherry picked from commit 9a2f904e8f)
2020-09-29 14:46:31 -07:00
Robert Scott
46e16fe093 pythonPackages.ruffus: 2.8.1 -> 2.8.4, fix build
simplify test execution by skipping their makefile entirely. disable tests
on darwin as they are very flaky & hang often. this is probably ok because
we're not hacking this package's source to get it installed, and the user
is probably getting something very similar as they would get using a
regular pip installation.

(cherry picked from commit 85e6474eee)
2020-09-29 14:46:07 -07:00
Lily Ballard
3ef78fba49 macvim: 8.2.539 -> 8.2.1719
(cherry picked from commit 9daf3b994b)
2020-09-29 14:24:50 -07:00
Lily Ballard
3b48734cac macvim: Properly link against Nix ncurses
Since we're not using the Nix compiler, our buildInputs aren't
automatically exposed to the compiler, which means it was actually
compiling against system libncurses instead of Nix libncurses.

Also remove the `-Wno-error` from the make flags (and the unnecessary
`PREFIX` definition) in favor of using a much more targeted error
suppression at the configure flags. This works around an issue where
implicit function definitions are considered an error and the configure
script was trying to compile a file tht invoked an ncurses function
without including the relevant header.

(cherry picked from commit d3b1d59d84)
2020-09-29 14:24:50 -07:00
Robert Scott
9711427004 minizinc: fix build against bison 3.7
fixed in upstream development branch

enable for darwin

(cherry picked from commit 9f65c524bb)
2020-09-29 19:07:51 +01:00
Maximilian Bosch
cb0c38404c bandwhich: 0.18.1 -> 0.19.0
https://github.com/imsnif/bandwhich/releases/tag/0.19.0
(cherry picked from commit 372884ffa5)
2020-09-29 18:51:50 +02:00
Enno Richter
b562e7dbd1 iptraf: mark as broken
(cherry picked from commit 5b65d3e7bc)
2020-09-29 08:30:07 -07:00
Tim Steinbach
1bc3ad378c linux/hardened/patches/5.8: 5.8.11.a -> 5.8.12.a
(cherry picked from commit 9109a8fcd5)
2020-09-29 08:36:56 -04:00
Tristan Helmich (omniIT)
b7cd334a12 graylog: 3.3.4 -> 3.3.6
Bumps Graylog and integration plugins to version 3.3.6.
Fixes wrong description of aggregates plugin.

(cherry picked from commit dee78b7032)
2020-09-29 08:59:39 +00:00
Tim Steinbach
4712b946e4 linux-hardened: 5.7 -> 5.8 2020-09-28 19:10:49 -04:00
Tim Steinbach
5b40fd3b1e linux/hardened/patches/5.4: 5.4.67.a -> 5.4.68.a 2020-09-28 19:10:49 -04:00
Tim Steinbach
c4858ba931 linux/hardened/patches/4.19: 4.19.144.a -> 4.19.148.a 2020-09-28 19:10:49 -04:00
Tim Steinbach
e9eb9027be linux/hardened/patches/4.14: 4.14.197.a -> 4.14.199.a 2020-09-28 19:10:49 -04:00
Tim Steinbach
4b9d60960f linux_latest-libre: 17624 -> 17688 2020-09-28 19:10:49 -04:00
Tim Steinbach
c975fd1da3 linux: 5.8.11 -> 5.8.12 2020-09-28 19:10:49 -04:00
Tim Steinbach
957435dce1 linux: 5.4.67 -> 5.4.68 2020-09-28 19:10:49 -04:00
Tim Steinbach
9a81f3387d linux: 4.19.147 -> 4.19.148 2020-09-28 19:10:49 -04:00
Andreas Rammhold
277114e99a nixos/security/wrapper: ensure the tmpfs is not world writeable
The /run/wrapper directory is a tmpfs. Unfortunately, it's mounted with
its root directory has the standard (for tmpfs) mode: 1777 (world writeable,
sticky -- the standard mode of shared temporary directories). This means that
every user can create new files and subdirectories there, but can't
move/delete/rename files that belong to other users.
2020-09-28 22:57:43 +02:00
Austin Butler
c0c97eaaef python3Packages.alerta: add missing dependency
(cherry picked from commit c0b1d136c5)
2020-09-28 13:07:16 -07:00
Austin Butler
4b9a73815f pythonPackages.requests-hawk: init at 1.0.1
(cherry picked from commit 3b1ee7b011)
2020-09-28 13:07:16 -07:00
Austin Butler
857e0d386b maintainers: add austinbutler
(cherry picked from commit 2bdce0e50c)
2020-09-28 13:07:16 -07:00
Austin Butler
e0ce168104 pythonPackages.mohawk: init at 1.1.0
(cherry picked from commit 8be7347e2b)
2020-09-28 13:07:16 -07:00
Thibault Gagnaux
c09d6ead8f python3Packages.fsspec: fix tests on darwin, 0.7.4 -> 0.8.3
(cherry picked from commit 4dbd770f30)
2020-09-28 12:58:45 -07:00
Shea Levy
44346a50c7 system76-firmware: 1.0.17 -> 1.0.18
(cherry picked from commit 55dc3b76f0)
2020-09-28 13:11:03 -04:00
Lancelot SIX
e7700d0e79 skypeforlinux: 8.63.0.76 -> 8.64.0.81
(cherry picked from commit 29620dbaa9)
2020-09-28 13:15:43 +01:00
Ferran Pujol Camins
e0d6afb703 chromaprint: fix derivation
(cherry picked from commit c12cfa428c)
2020-09-28 11:06:51 +02:00
Michael Raskin
2f9ab67618 Merge pull request #98989 from 7c6f434c/release-20.09
[20.09] wpsoffice: revert ffmpeg version
2020-09-28 06:24:42 +00:00
Michael Raskin
bd07da3142 Merge pull request #98988 from 7c6f434c/wpsoffice-ffmpeg
wpsoffice: keep using ffmpeg_3
(cherry picked from commit 064e082296)
2020-09-28 07:57:43 +02:00
Thomas Tuegel
ddb27d8496 Merge pull request #98657 from ttuegel/release-20.09--kde-applications-qt-5.15
[20.09] Build some KDE Applications with Qt 5.15
2020-09-27 21:05:48 -05:00
Robert Scott
ffe1e1628f Merge pull request #98971 from r-burns/backport-sshping
[20.09] sshping: fix build on darwin
2020-09-28 00:08:50 +01:00
Ryan Burns
914b165df0 sshping: fix build on darwin
Fix hardcoded C++ compiler

(cherry picked from commit e1d834aa09)
2020-09-27 14:30:15 -07:00
Robert Scott
f5dc26ea06 Merge pull request #98963 from r-burns/backport-projectm
[20.09] projectm: fix build on darwin
2020-09-27 22:24:38 +01:00
Maximilian Bosch
491ac6006a stellarium: 0.20.2 -> 0.20.3
https://github.com/Stellarium/stellarium/releases/tag/v0.20.3
(cherry picked from commit b8d1e39a28)
2020-09-27 22:14:44 +02:00
Maximilian Bosch
f8bd03c7fd roundcube: 1.4.8 -> 1.4.9
https://github.com/roundcube/roundcubemail/releases/tag/1.4.9
(cherry picked from commit f09ae7e371)
2020-09-27 22:14:44 +02:00
Ryan Burns
7703bfa827 projectm: fix build on darwin
(cherry picked from commit d10d6dfa4a)
2020-09-27 12:11:24 -07:00
Robert Scott
f762fc2a7c pythonPackages.chameleon: fix tests by switching to github source
tests are no longer included in the pypi tarball

(cherry picked from commit d9cb2736b4)
2020-09-27 11:57:47 -07:00
Andrew Fontaine
1b01b51021 minio: support building on darwin
Modified build command and flags to allow successful build on Darwin
systems. Based on flags in GitHub issue from minio project [0]

[0]: https://github.com/minio/minio/issues/10188#issuecomment-668223207

(cherry picked from commit 5e1cb57bf8)
2020-09-27 11:40:26 -07:00
zowoq
4e6dc105be bettercap: build on darwin
(cherry picked from commit 2e30e228b7)
2020-09-27 11:40:26 -07:00
Ferran Pujol Camins
0987a89771 chromaprint: add darwin compatibility
(cherry picked from commit c6dd555bde)
2020-09-27 11:40:26 -07:00
Mario Rodas
5e30a6bb86 opencv: enable videoio on darwin
(cherry picked from commit 1966a0a4e1)
2020-09-27 11:40:26 -07:00
Mario Rodas
6ca2947331 tab: enable on darwin
(cherry picked from commit c193d3b494)
2020-09-27 11:40:26 -07:00
Mario Rodas
94174cb835 exiv2: fix build on darwin
(cherry picked from commit de7719a240)
2020-09-27 11:40:26 -07:00
Thibault Gagnaux
188915bfaf notebook: fix tests on darwin, 6.1.3 -> 6.1.4
(cherry picked from commit 2030061cef)
2020-09-27 11:37:10 -07:00
Robert Scott
575f476578 pythonPackages.git-annex-adapter: 0.2.1 -> 0.2.2, fix build
(cherry picked from commit 704c258ea7)
2020-09-27 11:34:05 -07:00
Robert Scott
3a207c9593 pythonPackages.datatable: 0.10.1 -> 0.11.0, fix build
once we've made some alterations to the source (which doesn't seem to have
been shipped in a ready-to-build state), we can use the funny custom build
system to build a wheel which can then be installed by the pipInstallHook.

running the tests is again annoying because an ini file setting pytest's
python_files parameter is missing, meaning we have to inject our own.

(cherry picked from commit d7365fad89)
2020-09-27 11:25:03 -07:00
Maximilian Bosch
c57d809ef5 nixos/nextcloud: drop nextcloud17, deprecate nextcloud18
Both packages will get EOLed within the lifetime of 20.09. `nextcloud17`
can be removed entirely (the attribute-path is kept however to provide
meaningful errors), however `nextcloud18` must be kept as `insecure` to
make sure that users from `nextcloud17` can properly upgrade to
`nextcloud19` on NixOS 20.09.

(cherry picked from commit 6b48deee54)
2020-09-27 20:04:25 +02:00
Martin Puppe
3e771553a3 nextcloud18: 18.0.7 -> 18.0.9
(cherry picked from commit 731d55baad)
2020-09-27 20:04:25 +02:00
Martin Puppe
5806cedcc1 nextcloud19: 19.0.1 -> 19.0.3
(cherry picked from commit 85ece7792b)
2020-09-27 20:04:25 +02:00
Thomas Tuegel
8209ea2b95 tellico: do not import kdeApplications 2020-09-27 12:22:52 -05:00
Dmitry Kalinkin
3826d75904 pythonPackages.fastparquet: disable broken test
(cherry picked from commit 3821543de7)
cc #97479
2020-09-27 12:50:53 -04:00
Johannes Rosenberger
54ef32d2c6 fix passing qt5 version to pythonInterpreters
fixes c88f3adb17, which resulted in
qt 5.15 being used in pythonPackages, despite 5.14 being
declared, and adapts qutebrowser accordingly.

'callPackage { pkgs = pkgs // { … }; }' does not work, because
it does not take into account the recursive evaluation of nixpkgs:

`pkgs/development/interpreters/python/default.nix` calls
`pkgs/top-level/python-packages.nix` with `callPackage`.
Thus, even if the former gets passed the updated `pkgs`,
the latter always gets passed `pkgs.pkgs`.

For the change in the qt5 version to apply consistently, 'pkgs.extend'
must be used.

qutebrowser only used the right qt5 version (5.15) because all
pythonPackages used it anyway.

(cherry picked from commit 626ce32e9fd52b8b73e499d29363e610be55c91e)
2020-09-27 18:34:03 +02:00
Thomas Tuegel
9f34e63158 kdewebkit: build with all available Qt versions 2020-09-27 09:17:40 -05:00
Robert Scott
da9dc61675 Merge pull request #98897 from risicle/ris-snowflake-conn-2.3.2-r20.09
[20.09] pythonPackages.snowflake-connector-python: 2.2.10 -> 2.3.2, fix build
2020-09-27 14:33:00 +01:00
Thomas Tuegel
4f5aaf549b trojita: correctly import library dependencies 2020-09-27 07:59:00 -05:00
Thomas Tuegel
225a416491 zanshin: correctly import library dependencies 2020-09-27 07:58:35 -05:00
Thomas Tuegel
94114e27f3 kmymoney: correctly import library dependencies 2020-09-27 07:58:13 -05:00
Thomas Tuegel
4fe1902d65 digikam: correctly import library dependencies 2020-09-27 07:58:01 -05:00
R. RyanTM
0e49dc9306 nco: 4.9.3 -> 4.9.5
(cherry picked from commit 477c40126e)
2020-09-27 13:10:10 +01:00
Thomas Tuegel
38a7ffa304 calligra: correctly import library dependencies 2020-09-27 06:18:05 -05:00
Thomas Tuegel
7495ade57e kwave: Build with Qt 5.15 2020-09-27 06:18:02 -05:00
Thomas Tuegel
5d9aebd76b minuet: Build with Qt 5.15 2020-09-27 06:18:01 -05:00
Thomas Tuegel
4a0a4953da kaddressbook: Build with Qt 5.15 2020-09-27 06:18:01 -05:00
Thomas Tuegel
f39b9bba74 akregator: Build with Qt 5.15 2020-09-27 06:18:01 -05:00
Thomas Tuegel
f099c42a82 kitinerary: Build with Qt 5.15 2020-09-27 06:18:01 -05:00
Thomas Tuegel
656f39417f kleopatra: Build with Qt 5.15 2020-09-27 06:18:00 -05:00
Thomas Tuegel
117cb768df kgpg: Build with Qt 5.15 2020-09-27 06:18:00 -05:00
Thomas Tuegel
bf86b8f81c elisa: Build with Qt 5.15 2020-09-27 06:18:00 -05:00
Thomas Tuegel
78227d526b kdeApplications: Build KDE PIM applications with Qt 5.15 2020-09-27 06:18:00 -05:00
Thomas Tuegel
4b047b3df4 kdeApplications: Include breeze-qt5 theme by default 2020-09-27 06:17:59 -05:00
Thomas Tuegel
850928102a breeze-qt5: Build with all Qt 5 versions 2020-09-27 06:17:59 -05:00
Thomas Tuegel
fd0ecc5bfc kdeApplications: Remove recursion 2020-09-27 06:17:59 -05:00
Thomas Tuegel
e36eae29fc mkLibsForQt5: import more libraries from kdeApplications 2020-09-27 06:17:59 -05:00
Thomas Tuegel
b3c7e3f41f kdiagram: 2.6.0 -> 2.7.0 2020-09-27 06:17:59 -05:00
Mario Rodas
ba756b6a15 Merge pull request #98927 from tricktron/backport-curio
[20.09] python3Packages.curio: fix tests on darwin
2020-09-27 06:07:42 -05:00
Frederik Rietdijk
0cfe5377e8 python39: 3.9.0rc1 -> 3.9.0rc2
(cherry picked from commit 74f3e9cce1)
2020-09-27 11:49:59 +02:00
Frederik Rietdijk
d4a8eb213b pkgsStatic.fmt: don't build shared libs
The change in `static.nix` was added in
https://github.com/NixOS/nixpkgs/pull/76875 but apparently
`enabledShared` got removed in the master/staging-next merge.

(cherry picked from commit 759a2815ec)
2020-09-27 11:32:40 +02:00
Thibault Gagnaux
fb4b2e5ce4 python3Packages.curio: fix tests on darwin
Refactors to pytestCheckHook.

(cherry picked from commit 22cd2a23bf)
2020-09-27 11:17:13 +02:00
rnhmjoj
be95370a8c nixos/tests/ncdns: more tests and disable DNSSEC
- DNSSEC is currently disable because it's failing
- Separately test .bit domain on ncdns and pdns-recursor
- Test for the SOA record of the bit. zone

(cherry picked from commit d7ae8ab35f)

Fixes failing nixosTests.ncdns test
2020-09-27 10:20:34 +02:00
Frank Doepper
2a7af8c36d shotcut: 20.07.11 -> 20.09.13, mlt: 6.20.0 -> 6.22.1
and add updateScript

(cherry picked from commit c835358078)
2020-09-26 19:09:00 -07:00
WORLDofPEACE
de27955cf2 Merge pull request #98902 from cole-h/shadow-owns-shadow-20.09
[20.09] nixos/update-users-groups: /etc/shadow owned by root:shadow
2020-09-26 21:30:46 -04:00
Cole Helbling
f35b375216 nixos/update-users-groups: /etc/shadow owned by root:shadow
(cherry picked from commit 937359fcf1)
2020-09-26 18:27:05 -07:00
Robert Scott
2a904dc80b pythonPackages.accupy: remove perfplot from checkInputs
they were only used for performance tests that aren't useful to us -
disabling these tests allows us to decouple from an unnecessary build
dependency.

convert to pytestCheckHook.

(cherry picked from commit 99175cfbf6)
2020-09-26 18:07:58 -07:00
Robert Scott
32b19dad66 Merge pull request #98891 from r-burns/backport-samba
[20.09] samba: 4.12.5 -> 4.12.6, fix build on darwin
2020-09-27 01:08:37 +01:00
Robert Scott
4fb8141281 pythonPackages.snowflake-sqlalchemy: add pythonImportsCheck
better than nothing

(cherry picked from commit 70ae442fcf)
2020-09-27 00:02:20 +01:00
Robert Scott
612303df1f pythonPackages.snowflake-connector-python: 2.2.10 -> 2.3.2, fix build
the relaxed version constraints don't seem to be specific avoidance of
buggy versions, just upstream cautiously prohibiting untested versions

if there *are* specific reasons, they're hidden away in upstream's jira

(cherry picked from commit 96f034655f)
2020-09-27 00:02:15 +01:00
Maximilian Bosch
e7c26a78e6 matrix-synapse: 1.19.3 -> 1.20.1
https://github.com/matrix-org/synapse/releases/tag/v1.20.0
https://github.com/matrix-org/synapse/releases/tag/v1.20.1
(cherry picked from commit 631d92d8dc)
2020-09-27 00:54:07 +02:00
Maximilian Bosch
52cab67005 neomutt: apply two patches for regressions in the sidebar
The following patches were pushed to `master` after the release and fix
two regressions in the sidebar of NeoMutt:

* 9675367 (sidebar: prevent the divider colour bleeding out): a small
  fix for ANSI colors to not break the layout.

* 6078653 (Fix <sidebar-{next,prev}-new>): fixes invalid conditions in
  if-statements.

Considering their release cycle I figured that it is reasonable to apply
those on top of `20200925` for now.

(cherry picked from commit 004676ce9c)
2020-09-27 00:54:07 +02:00
Ryan Burns
103028665d samba: 4.12.5 -> 4.12.6, fix build on darwin
Upstream commit https://gitlab.com/samba-team/devel/samba/-/commit/6e263432
fixes compilation on BSD/macOS.

(cherry picked from commit 680bdea2f0)
2020-09-26 15:38:56 -07:00
WORLDofPEACE
a90e595068 Merge pull request #98862 from ttuegel/release-20.09--libvlc
[20.09] Build standalone libvlc
2020-09-26 13:07:14 -04:00
Lassulus
138f0c8e41 Merge pull request #98789 from woffs/ytv379-20.09
[20.09] youtube-viewer: 3.7.5 -> 3.7.9
2020-09-26 17:49:51 +02:00
Vladimír Čunát
aba5f002d1 Merge #98628: thunderbird*: 78.2.2 -> 78.3.1 (security)
(cherry picked from commit 4212f719bb)
Re-tested both a bit atop 20.09.
2020-09-26 15:58:09 +02:00
Thomas Tuegel
3199a70fa6 Merge pull request #98846 from ttuegel/libvlc
Build standalone libvlc

(cherry picked from commit 6882716623)
2020-09-26 08:24:41 -05:00
Maximilian Bosch
a8219eaeb3 packer: 1.6.2 -> 1.6.3
https://github.com/hashicorp/packer/releases/tag/v1.6.3
(cherry picked from commit 740f01413b)
2020-09-26 14:04:04 +02:00
Maximilian Bosch
4327b304ff gotify-cli: 2.1.1 -> 2.2.0
https://github.com/gotify/cli/releases/tag/v2.2.0
(cherry picked from commit d37d976601)
2020-09-26 14:04:03 +02:00
Robert Scott
40c9bae6c3 Merge pull request #98569 from maxxk/parse-1.18.0-stable
[20.09] python3Packages.parse: 1.16.0 -> 1.18.0, python-docx: run behave tests
2020-09-26 11:30:51 +01:00
Florian Klink
17ecf6e5be nixos/datadog: Don't recommend dd_url for sites, add proper option
Turns out, `dd_url` should only be used in proxy scenarios, not to point
datadog to their EU endpoint - `site` should be used for that.

The `dd_url` setting doesn't affect APM, Logs or Live Process intake
which have their own "*_dd_url" settings.

(cherry picked from commit 8d52cf501f)
2020-09-26 12:30:21 +02:00
Michael Weiss
733b856a14 signal-desktop: 1.36.2 -> 1.36.3
(cherry picked from commit 2e6844040e)
2020-09-26 12:16:46 +02:00
Vladimír Čunát
a9226f2b3a Merge #98684: brotli: fix patch URL
(cherry picked from commit 779ad182cf)
2020-09-26 09:54:26 +02:00
Vladimír Čunát
4a98a62425 Merge #98651: firefox*: updates (into release-20.09) 2020-09-26 07:46:09 +02:00
WORLDofPEACE
e9a993e90d Merge pull request #97522 from volth/cpan2nix-2020-09-09
[staging-20.09] perlPackages: bulk update
2020-09-25 20:13:46 -04:00
Drew Risinger
9d831f8316 verilog: add tests
Run recommended self-tests from iverilog's CI.

Tests add about a minute to the build time on local machine
(2 -> 3 mins).

(cherry picked from commit ba886f7b1a)
2020-09-25 19:34:32 -04:00
Drew Risinger
27bd57bc4b verilog: cleanup
Meta attributes were out of date or not in current style,
and some attributes of derivation were redundant.

(cherry picked from commit 0d9a6e2da5)
2020-09-25 19:34:32 -04:00
Sarah Brofeldt
c680c499bf ceph: 15.2.4 -> 15.2.5 (#98664)
(cherry picked from commit c099d421db)
2020-09-26 01:13:34 +02:00
Olli Helenius
038b067cd0 kismet: 2020-04-R2 -> 2020-09-R2
(cherry picked from commit 4463f819b6)
2020-09-25 14:39:08 -07:00
freezeboy
1a9ecdf240 rsibreak: 0.12.8 -> 0.12.13
(cherry picked from commit 88c8a3c69f)
2020-09-25 22:29:10 +02:00
Robert Scott
f80bada223 Merge pull request #98783 from r-burns/backport-aragorn
[20.09] aragorn: fix build on darwin
2020-09-25 21:07:14 +01:00
Robert Scott
1c6dc9e98c Merge pull request #98782 from r-burns/backport-libkml
[20.09] libkml: fix tests on darwin
2020-09-25 20:58:21 +01:00
Robert Scott
2f5cbdbda5 Merge pull request #98780 from r-burns/backport-pciutils
[20.09] pciutils: fix build on darwin
2020-09-25 20:47:33 +01:00
Robert Scott
0ed8c8fc0e Merge pull request #98678 from povik/20.09-pysdl2-fix
[20.09] python3.pkgs.pysdl2: fix build
2020-09-25 20:42:26 +01:00
Frank Doepper
cb6859078d youtube-viewer: 3.7.5 -> 3.7.9
(cherry picked from commit 2ab6756314)
2020-09-25 21:35:58 +02:00
Ryan Burns
3345d53f6f aragorn: fix build on darwin
Use environment-specified $CC for C compiler

(cherry picked from commit 6cc2d3e6f2)
2020-09-25 12:12:51 -07:00
Ryan Burns
3c3346ec20 libkml: fix tests on darwin
Darwin tests require rpath setup for libs in build dir

(cherry picked from commit 357014e09c)
2020-09-25 12:10:14 -07:00
Ryan Burns
113c22dba4 pciutils: fix build on darwin
Add IOKit to macOS prereqs, and patch Makefile to use $CC

(cherry picked from commit 00bf15f23c)
2020-09-25 12:04:09 -07:00
TredwellGit
82eb369511 wireshark: 3.2.5 -> 3.2.7
https://www.wireshark.org/docs/relnotes/wireshark-3.2.7.html
https://www.wireshark.org/docs/relnotes/wireshark-3.2.6.html
(cherry picked from commit 5a1c55f911)
2020-09-25 20:43:03 +02:00
Robert Scott
883b340639 Merge pull request #98579 from risicle/ris-fierce-fix-r20.09
[20.09] fierce: fix build
2020-09-25 19:38:12 +01:00
freezeboy
bb76286704 rpm-ostree: 2020.4 -> 2020.5
(cherry picked from commit 7db8abb774)
2020-09-25 20:10:17 +02:00
Lassulus
bc30b9d4cc Merge pull request #98757 from woffs/tuxpaint-desktop-20.09
[20.09] tuxpaint: install desktop file
2020-09-25 17:58:47 +02:00
Andrew Fontaine
8fe375c0b6 nextcloud-client: 3.0.0 -> 3.0.2
Contains upstream fix for maintaining folder links when upgrading from
2.x to 3.x.

(cherry picked from commit 57883eea4a)
2020-09-25 17:35:00 +02:00
claudiiii
35709c0ebd nextcloud-client: 2.6.5 -> 3.0.0
(cherry picked from commit 5703813f78)
2020-09-25 17:35:00 +02:00
Norbert Melzer
53eac87c8d lefthook: use go 1.14 to build (#97963)
Due to some changes in `go` from 1.14 to 1.15 the lefthook tool
currently can't start external programs and errors each test it tries
to run, making it effectively useless.

This is a temporary fix to make `lefthook` usable again until the
upstream issue was fixed and a new release has been cut.

Upstream issue: https://github.com/Arkweid/lefthook/issues/151

(cherry picked from commit 4312e2460a)
2020-09-25 17:19:24 +02:00
zimbatm
a3ba14dff1 Merge pull request #98753 from woffs/dvdbackup-20.09
[20.09] dvdbackup: fix build with libdvdread >= 6.1.0
2020-09-25 15:12:53 +00:00
Maximilian Bosch
4a7e2572f4 neomutt: 20200821 -> 20200925
https://github.com/neomutt/neomutt/releases/tag/20200925
(cherry picked from commit 2d94370264)
2020-09-25 16:55:26 +02:00
Maximilian Bosch
57a12055ae lnav: 0.8.5 -> 0.9.0
https://github.com/tstack/lnav/releases/tag/v0.9.0
(cherry picked from commit 1a08a381a0)
2020-09-25 16:55:26 +02:00
Ingo Blechschmidt
b9b0217474 tuxpaint: install desktop file
(cherry picked from commit faec169f0d)
2020-09-25 15:53:29 +02:00
Frank Doepper
e460fae7fc dvdbackup: fix build with libdvdread >= 6.1.0
(cherry picked from commit e8d1a486fb)
2020-09-25 15:48:41 +02:00
Maximilian Bosch
f3d099fb1d virtualbox: re-add support for virtio
For some reason the original source tarball for version 6.1.14 didn't
bundle the sources for `virtio`-support causing a build-failure.

After this was reported, a new tarball named
`VirtualBox-6.1.14a.tar.bz2` was published which fixes the issue[1].

[1] https://www.virtualbox.org/ticket/19862

(cherry picked from commit 579404c4a5)
2020-09-25 15:40:37 +02:00
Magicloud
07504c9364 virtualbox: 6.1.10 -> 6.1.14
6.1.14 is the latest release of Virtualbox.

Also disabled VirtIO since the source tarball does not include necessary source code.

Closes #97999
(cherry picked from commit e1538e43b9)
2020-09-25 15:40:06 +02:00
Michael Weiss
2a078e8057 signal-desktop: 1.36.1 -> 1.36.2
(cherry picked from commit 6b0794caa5)
2020-09-25 13:48:37 +02:00
R. RyanTM
b0a587f2ef freeipmi: 1.6.5 -> 1.6.6
(cherry picked from commit f5c2f51dae)
2020-09-25 09:50:00 +01:00
Johannes Schleifenbaum
38e59a3385 dbeaver: 7.2.0 -> 7.2.1
(cherry picked from commit 0a07c8c67e)
2020-09-25 09:31:13 +01:00
Farid Zakaria
e703709952 jruby: fix shebang for binaries in JRuby
There are a variety of additional scripts that are included with the
JRuby installation that use JRuby itself.

For instance the `bin/gem` had the following contents:

```bash
❯ cat /nix/store/kglkqf56ii83yl6yrgcaj5r3s9m2fzr0-jruby-9.2.13.0/bin/gem

load File.join(File.dirname(__FILE__), 'jgem')
```

This is clearly wrong. Patchshebangs was not picking up the fix as part
of stdenv because the patch is not a build input but the final output
itself.

We have to rely on substituteInPlace so that we get the correct version.

```bash
❯ cat /nix/store/k4fnrn0dcsh2wzw81217r0ywsspb468f-jruby-9.2.13.0/bin/gem

```

(cherry picked from commit 8da7bd63ca)
2020-09-25 10:06:48 +02:00
Michael Raskin
152522d69d Merge pull request #98578 from risicle/ris-cvc3-fix-r20.09
[20.09] cvc3: fix build against bison 3.7
2020-09-25 07:34:52 +00:00
Robert Scott
72b01f5bc3 pythonPackages.cozy: fix build
to allow building with dictionaries 0.0.2

(cherry picked from commit 7486a8d587)
2020-09-24 21:27:47 -07:00
Jan Tojnar
c9b329cdf9 nixos/doc: Improve code listings
By adding prompts and replaceables and removing unnecessary indentation.

(cherry picked from commit e6ce041cae)
2020-09-24 22:52:36 +02:00
Jan Tojnar
cc870b11c9 doc: Improve code listings
By adding prompts and removing unnecessary indentation.

(cherry picked from commit e1af37634b)
2020-09-24 22:52:36 +02:00
Martin Povišer
b3db371d85 python3.pkgs.pysdl2: fix build
Update patches after version bump.

(cherry picked from commit d82e165609)
2020-09-24 21:59:47 +02:00
Jakub Kądziołka
17b6d3fd0f chez: add env hook
As a follow-up to #97927, chez can now find its libraries in a
nix-shell, and derivations for such libraries don't need to handle the
search path themselves.

(cherry picked from commit 8f60607a0b)
2020-09-24 21:57:57 +02:00
Jakub Kądziołka
7d001444c1 chez-modules: Fix path to csv-site.
It seems that the installation path for chez modules no longer includes
the Chez version. This fixes the build for chez-mit and chez-scmutils.

(cherry picked from commit 72ccc9b885)
2020-09-24 21:57:39 +02:00
Robert Scott
f5ee72eef6 truvari: 1.3.4 -> 2.0.2, fixing build
seeing it has no tests, use pythonImportsCheck in an attempt to detect
total breakage, even though it's not intended to be used as an importable
module

(cherry picked from commit ecd5886830)
2020-09-24 09:02:35 -07:00
Robert Scott
3fac393b55 pythonPackages.acebinf: init at 1.0.2
(cherry picked from commit e61102d5c2)
2020-09-24 09:02:35 -07:00
Robert Scott
37adf57813 pythonPackages.pytabix: init at 0.1
(cherry picked from commit 4543e54991)
2020-09-24 09:02:35 -07:00
Robert Scott
be0629f44c pythonPackages.bwapy: init at 0.1.4
(cherry picked from commit ccf4645500)
2020-09-24 09:02:35 -07:00
Robert Scott
a63d237f73 bwa: include static library and some key headers in output
(cherry picked from commit f1d2491057)
2020-09-24 09:02:35 -07:00
Robert Scott
38ee58ad93 truvari: fix build
be less strict about versions

(cherry picked from commit 4637721bc1)
2020-09-24 09:02:35 -07:00
Robert Scott
32db921ab6 pythonPackages.rabbitpy: 1.0.0 -> 2.0.1
(cherry picked from commit 16ed0c3069)
2020-09-24 09:02:02 -07:00
Robert Scott
5a99ef8259 Revert "python: pamqp: 2.3.0 -> 3.0.1"
No version of pythonPackages.rabbitpy currently exists that supports 3.0.1

This reverts commit 4250cdeee9.

(cherry picked from commit 178d1b119c)
2020-09-24 09:02:02 -07:00
Robert Scott
c9fdd325ba pythonPackages.gssapi: 1.6.2 -> 1.6.9
(cherry picked from commit 9a472166af)
2020-09-24 08:57:17 -07:00
Robert Scott
b20ffa72ac pythonPackages.gssapi: fix tests
the failing tests appear to also be causing trouble upstream

(cherry picked from commit fb570ba1de)
2020-09-24 08:57:17 -07:00
sohalt
00c8e6fb07 avy: 2017.10.16 -> 2019.05.01
(cherry picked from commit 40722346b8)
2020-09-24 08:53:07 -07:00
Tim Steinbach
f6ae2015aa linux/hardened/patches/5.8: 5.8.10.a -> 5.8.11.a
(cherry picked from commit a7e1ae6b51)
2020-09-24 11:49:10 -04:00
Tim Steinbach
a99f8faeaa linux/hardened/patches/5.4: 5.4.65.a -> 5.4.67.a
(cherry picked from commit 63ea043960)
2020-09-24 11:49:10 -04:00
Tim Steinbach
bfd956031c linux/hardened/patches/5.4: 5.4.64.a -> 5.4.65.a
(cherry picked from commit 1c61a932bb)
2020-09-24 11:49:00 -04:00
Florian Klink
778cd18c87 nixos/datadog: allow specifying dd_url (#97775)
Useful when you want to point datadog to another endpoint, either
because you need a proxy to send out data, or because you use their EU
endpoint.

(cherry picked from commit 2865a8867f)
2020-09-24 17:43:07 +02:00
taku0
d9fe9633b5 firefox: 80.0.1 -> 81.0
(cherry picked from commit 0669cd9d3f)
2020-09-24 22:22:19 +09:00
taku0
676742ed6e firefox-bin: 80.0.1 -> 81.0
(cherry picked from commit 3ad81fd022)
2020-09-24 22:22:18 +09:00
taku0
64a2ce6218 firefox-esr: 78.2.0esr -> 78.3.0esr
(cherry picked from commit 2460e0e6cd)
2020-09-24 22:22:18 +09:00
Rok Garbas
a04a485f89 Merge pull request #98648 from raboof/rename-guide-to-nixpkgs-manual-20.09
doc: rename guide to 'Nixpkgs Manual'
2020-09-24 15:08:32 +02:00
Arnout Engelen
37a617b3da doc: rename guide to 'Nixpkgs Manual'
For consistency with 'NixOS Manual' and 'Nix Manual', to better match what it's
often called in practice, and to match its URL and HTML title.
2020-09-24 15:06:45 +02:00
Lars Jellema
d447429cc2 gnat: fix build
(cherry picked from commit 7ea5b08cfc)
2020-09-23 23:47:11 -07:00
Daniël de Kok
b91d034c6d Merge pull request #98411 from danieldk/freeoffice-2018.978-20.09
[20.09] freeoffice: 976 -> 978
2020-09-24 08:19:40 +02:00
WORLDofPEACE
c8e389d512 Merge pull request #98585 from wkral/backport-ihatemoney
[20.09] python3Packages.ihatemoney: disable sandbox unfriendly tests, fix passthru
2020-09-23 15:52:29 -04:00
Jonathan Ringer
81d4751677 python3Packages.ihatemoney: disable sandbox unfriendly tests, fix passthru
(cherry picked from commit 43d588b0af)
2020-09-23 12:35:43 -07:00
WORLDofPEACE
bc260badae Merge pull request #98524 from jonringer/cut-beta
nixos: now beta
2020-09-23 15:34:13 -04:00
Robert Scott
2e19fee916 fierce: fix build
because we're playing with its install requirements, add a
pythonImportsCheck to give us a chance to discover brokenness. technically
this isn't a realistic test of end user behaviour as this is really an
application, not a python module, but it seems to have a pretty stable
import name of `fierce`, so it works.

(cherry picked from commit 1aa888ba53)
2020-09-23 19:18:36 +01:00
Robert Scott
189520cc63 Merge pull request #98342 from maxxk/lldb5_6-python37-20.09
[20.09] lldb_5, lldb_6: add patch for >=python-3.7
2020-09-23 19:12:07 +01:00
Robert Scott
f12987a1be cvc3: enable for darwin
it may be possible to get it building under clang with some work, but
switching it to gcc for now allows us to enable it

(cherry picked from commit fc709e6dfe)
2020-09-23 18:32:10 +01:00
Robert Scott
f2e3ca764c cvc3: fix build against bison 3.7
for some reason bison 3.7 output references $x_defs.h files under the name
$x.hpp. create symlinks to make this work.

(cherry picked from commit 53a8a415ac)
2020-09-23 18:32:00 +01:00
Michele Guerini Rocco
9eb814f798 Merge pull request #98574 from mweinelt/20.09/nixos/tests/magnetico
[20.09] nixosTests.magnetico: wait for open port and make curl actually fail
2020-09-23 19:27:26 +02:00
Maxim Krivchikov
1189b50831 python3Packages.behave: skip test failing on darwin
Timing-based test is flaky on Darwin:
https://github.com/NixOS/nixpkgs/pull/97737#issuecomment-691489824

(cherry picked from commit 0f34c4eb33)
2020-09-23 20:16:38 +03:00
Maxim Krivchikov
dc12a5ab74 python3Packages.python-docx: run behave tests
Previously the problematic "behave" dependency
was not even used at checkPhase.

(cherry picked from commit f690cacb06)
2020-09-23 20:16:37 +03:00
Maxim Krivchikov
5f19aca104 python3Packages.parse: 1.16.0 -> 1.18.0
(cherry picked from commit 6543cbf571)
2020-09-23 20:16:37 +03:00
Maxim Krivchikov
fc83817ba6 lldb_5, lldb_6: add patch for >=python-3.7
(cherry picked from commit 172f3a197e)
2020-09-23 20:06:02 +03:00
Martin Weinelt
94ee827023 nixosTests.magnetico: wait for open port and make curl actually fail
(cherry picked from commit 76aeb20d91)
2020-09-23 18:38:03 +02:00
Jonathan Ringer
c0beb143e5 orangefs: 2.9.7 -> 2.9.8, fix build
(cherry picked from commit aa25c65766)
2020-09-23 09:34:06 -07:00
freezeboy
a6b6b8623c python3Packages.fluent-logger: relax version for msgpack
Also add imports tests as we can't do more using the pip release

(cherry picked from commit e3c1b8782a)
2020-09-23 09:32:46 -07:00
freezeboy
4a3e6cdacc python3Packages.google_resumable_media,python2Packages.google_resumable_media: fix tests
(cherry picked from commit 908d8c3459)
2020-09-23 09:32:21 -07:00
freezeboy
fb33dae2ef python3Packages.crc32c: init at 1.0.0
(cherry picked from commit 2468315f2b)
2020-09-23 09:32:21 -07:00
freezeboy
c298a03cc2 crc32c: enable static
(cherry picked from commit 160f169f03)
2020-09-23 09:32:21 -07:00
Matt Votava
5b945725cb python2Packages.trytond: disable for python2
(cherry picked from commit 5f4b880b40)
2020-09-23 09:26:11 -07:00
Matt Votava
3e7e3d2f18 pythonPackages.bcrypt: use 3.1.x for python older than 3.6
(cherry picked from commit 0051c0a4a5)
2020-09-23 09:26:11 -07:00
WilliButz
780b4e027e grafana: 7.1.5 -> 7.2.0
(cherry picked from commit 1a0a53ff83)
2020-09-23 18:07:27 +02:00
Maximilian Bosch
fc6ba468f5 curlie: 1.3.1 -> 1.5.4
(cherry picked from commit 23370afced)
2020-09-23 18:06:46 +02:00
Tim Steinbach
e8669f7cfa linux: 5.8.10 -> 5.8.11 2020-09-23 09:05:17 -04:00
Tim Steinbach
e19303b14b linux: 5.4.66 -> 5.4.67 2020-09-23 09:05:17 -04:00
Tim Steinbach
14e4f4dbb4 linux: 4.9.236 -> 4.9.237 2020-09-23 09:05:17 -04:00
Tim Steinbach
843c56b06a linux: 4.4.236 -> 4.4.237 2020-09-23 09:05:17 -04:00
Tim Steinbach
6377350c58 linux: 4.19.146 -> 4.19.147 2020-09-23 09:05:17 -04:00
Tim Steinbach
102df6c6f2 linux: 4.14.198 -> 4.14.199 2020-09-23 09:05:17 -04:00
Shea Levy
1991ea85b1 Merge branch 'system76-firmware-and-nixos-20.09' into release-20.09 2020-09-23 08:14:31 -04:00
Shea Levy
affe6660bb Add system76 NixOS module
(cherry picked from commit 4b1850bad3)
2020-09-23 08:11:04 -04:00
Shea Levy
3efe313b1d linuxPackages.system76-acpi: Install hwdb rules
(cherry picked from commit 9f43146ec4)
2020-09-23 06:50:29 -04:00
Shea Levy
09246c92d2 linuxPackages.system76: Install hwdb rules
(cherry picked from commit 452fda1d7e)
2020-09-23 06:50:29 -04:00
Shea Levy
6fc7532b2c firmware-manager: Init at 0.1.1
(cherry picked from commit b694eb6e6a)
2020-09-23 06:50:29 -04:00
Shea Levy
670d1a4a94 system76-firmware: Init at 1.0.17
(cherry picked from commit f43c02c7ff)
2020-09-23 06:50:29 -04:00
Bryan Gardiner
eb47f4cc97 linuxPackages.system76-io: init at 1.0.1
(cherry picked from commit 8ea0979284)
2020-09-23 06:50:28 -04:00
Bryan Gardiner
2f78b89265 linuxPackages.system76-acpi: init at 1.0.1
(cherry picked from commit 649b00db5b)
2020-09-23 06:50:28 -04:00
Bryan Gardiner
899bfaf5a9 linuxPackages.system76: init at 1.0.9
(cherry picked from commit 6d7f0bca40)
2020-09-23 06:50:28 -04:00
Michael Weiss
1d3d507043 chromium: 85.0.4183.102 -> 85.0.4183.121
https://chromereleases.googleblog.com/2020/09/stable-channel-update-for-desktop_21.html

This update includes 10 security fixes.

CVEs:
CVE-2020-15960 CVE-2020-15961 CVE-2020-15962 CVE-2020-15963
CVE-2020-15965 CVE-2020-15966 CVE-2020-15964

(cherry picked from commit d1a27a5f00)
2020-09-23 12:11:50 +02:00
Gabriel Ebner
ce00ac55e0 chromium: use jre8
(cherry picked from commit 705ecdc192)
2020-09-23 12:11:50 +02:00
Michael Weiss
2a4f1e08e3 chromiumDev: M86 -> M87
(cherry picked from commit e249baca22)
2020-09-23 12:11:50 +02:00
Michael Weiss
aed7150466 chromium: update.py: Keep the channel order consistent
This makes Git diffs way easier to read.
Using sort_keys=True is usually better but with this implementation the
output is a bit nicer to read IMO.

(cherry picked from commit ceb3acfa8b)
2020-09-23 12:11:49 +02:00
Vladimír Čunát
b58d38c787 gnutls: 3.6.14 -> 3.6.15
Security: on-wire alert could cause NULL pointer dereference.
https://lists.gnupg.org/pipermail/gnutls-help/2020-September/004669.html
(cherry picked from commit 2363e6eb9c)
2020-09-23 10:40:58 +02:00
Cole Helbling
a780c60f9f nixos/stage-1: set up /dev/fd
Otherwise, stage-2-init.sh will complain about not having access to
/dev/fd/62 as of systemd v246.

On IRC, flokli said:

    15:14 <flokli> cole-h: hmmm... I could imagine some of the setup inside /dev has been moved into other parts of systemd
    15:14 <flokli> And given we run systemd much later (outside initramfs only) it doesn't work properly here
    15:17 <flokli> We probably don't invoke udev correctly

(cherry picked from commit 4586810487)
2020-09-23 09:58:23 +02:00
Vincent Laporte
9b0e8d7a29 why3: 1.3.1 -> 1.3.3
(cherry picked from commit 64b68b30e9)
2020-09-23 09:40:06 +02:00
Robert Scott
8c4d4eaa81 birdfont: fix build on non-nixos/debian systems
to do this we need to prevent platform.version() from using uname to
discover this is a debian kernel and try dpkg nonsense

(cherry picked from commit 0b67d9e87a)
2020-09-22 23:07:40 -07:00
Robert Scott
ff3baa2a56 xmlbird: fix build with python 3.8
also force use of gccStdenv to fix darwin build

(cherry picked from commit 781b870c91)
2020-09-22 23:07:40 -07:00
(cdep)illabout
aa37cc1e7a tests.haskell-shellFor: get compiling again
(cherry picked from commit bdc7deed613290588c2f77a4e0e65f98fa1562ff)
2020-09-22 23:05:24 -07:00
Jonathan Ringer
cc9d3bf73f nixos: now beta 2020-09-22 21:58:55 -07:00
Stig Palmquist
9214e9509b perl-cross: fix . being included in INC
perl-cross set `default_inc_excludes_dot` to undefined by default. This
sets `-Ddefault_inc_excludes_dot` explicitly when cross compiling.

(cherry picked from commit e2926577a1)
2020-09-22 17:06:37 -07:00
Vincent Laporte
bf55f0c071 coqPackages.metalib: 20170713 → 20200527
(cherry picked from commit a1f8e0b4a1)
2020-09-22 22:06:47 +02:00
Robert Scott
0b887c636f Merge pull request #98240 from Pamplemousse/backport_verilator
[20.09] verilator: 4.040 -> 4.100
2020-09-22 19:10:39 +01:00
Vladimír Čunát
888d3a4c37 Merge branch 'staging-20.09' into release-20.09
aarch64 and darwin still have a few thousand builds to finish,
but it seems OK to merge already.
2020-09-22 19:34:18 +02:00
William Kral
4eec4a7a75 python3Packages.word2vec: fix build and tests
(cherry picked from commit 6a4e785931)
2020-09-22 10:09:10 -07:00
Lancelot SIX
7e5277bcb2 pythonPackages.django: 2.2.15 -> 2.2.16
See https://docs.djangoproject.com/en/dev/releases/2.2.16/

(cherry picked from commit bd4805b659)
2020-09-22 17:18:15 +01:00
Vincent Laporte
6e31319063 hop: fix build
The configure process tries to escape the sandbox by writing into /tmp

(cherry picked from commit 943fa12e6a)
2020-09-22 16:16:57 +02:00
Claudio Bley
ba0bd29a1a tensorflow: Fix compilation with numpy 1.19.x
Numpy introduced a breaking API change in version 1.19.x, see [1].

There is a simple fix [2] available in the master branch.

[1]: https://github.com/tensorflow/tensorflow/issues/40688
[2]: 75ea0b3147

(cherry picked from commit 8f5bfd6af1)
2020-09-21 23:40:10 -07:00
Pamplemousse
8e0373f183 topydo: Don't fail build on tests
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
(cherry picked from commit c603f62628)
2020-09-21 23:12:56 -07:00
Pamplemousse
14b64adfec verilator: 4.040 -> 4.100
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
(cherry picked from commit 9839c0b292)
2020-09-21 19:56:42 -07:00
Vladimír Čunát
a3783f968b Merge #97970: thunderbird*-78: 78.2.1 -> 78.2.2 2020-09-21 21:35:22 +02:00
Vladimír Čunát
cdf6be7489 Merge #97922: nixosTests.signal-desktop: fix
(cherry picked from commit cf09899749)
2020-09-21 21:35:18 +02:00
Markus Kowalewski
969984bb84 slurm: 20.02.4.1 -> 20.02.5.1
(cherry picked from commit 84d11cdb40)
2020-09-21 21:19:06 +02:00
Vladimír Čunát
bfba40c197 thunderbird.meta.maintainers: add myself
I've been keeping an eye on it anyway, and the current meta.maintainers
don't seem to be active around thunderbird.

(cherry picked from commit d33267c639)
2020-09-21 21:01:37 +02:00
Vladimír Čunát
ac9d85f5a1 thunderbird-78: fix #97994: broken UI in 78.2.2
(cherry picked from commit 114202e369)
2020-09-21 21:01:07 +02:00
Bruno Bigras
b11f9622a7 nwg-launchers: 0.2.0 -> 0.3.3; fix nwggrid not showing apps
(cherry picked from commit 1d5fb043fa)
2020-09-21 11:11:13 -07:00
oxalica
dc925f544e nix-prefetch: fix compatibility with nixUnstable again 2020-09-21 19:52:38 +02:00
Gabriel Ebner
a8ec124a80 Merge pull request #98409 from drewrisinger/zhf/py-spyder-20.09
[20.09] spyder: fix build
2020-09-21 19:51:34 +02:00
Daniël de Kok
283adf1d1e freeoffice: 976 -> 978
Fixes #98385.

(cherry picked from commit ac49c2f72a)
2020-09-21 19:20:10 +02:00
Doron Behar
3bbf7d3a96 Merge pull request #98326 from schmittlauch/cawbird-v1.2.1-back
[20.09] cawbird: 1.1.0 -> 1.2.1
2020-09-21 19:28:42 +03:00
r-burns
7a5d897281 libversion: fix tests on Darwin (#98361)
(cherry picked from commit a2228f4c18)
cc #98361
2020-09-21 12:00:12 -04:00
Théo Zimmermann
4c1ae47e8c ocamlPackages.zarith: 1.9 -> 1.10
(cherry picked from commit 0bbeca2ff9)
2020-09-21 13:54:12 +02:00
Ryan Burns
39a54c9899 lizardfs: fix build
Build failure was due to upstream issue, now fixed in the v3.13 RC.

https://github.com/lizardfs/lizardfs/issues/655
https://github.com/lizardfs/lizardfs/pull/677
(cherry picked from commit f5a61c2604)
2020-09-21 06:51:10 -05:00
MetaDark
a4f66d2178 linuxPackages.xpadneo: 0.8.2 -> 0.8.3
(cherry picked from commit 3ac630bbe9)
2020-09-21 06:47:24 -05:00
Mario Rodas
40e8b267b6 Merge pull request #98344 from r-burns/openssh_hpn_backport
[20.09] openssh_hpn: fix source
2020-09-21 06:30:39 -05:00
Mario Rodas
69fe518870 Merge pull request #98355 from risicle/ris-vmmlib-fix-r20.09
[20.09] vmmlib: fix build
2020-09-21 06:25:45 -05:00
Ryan Burns
6ab3306a22 liboping: fix build on Darwin
(cherry picked from commit bf71f459d2)
2020-09-21 06:24:14 -05:00
r-burns
c4e178a4c6 iproute_mptcp: fix preConfigure (#97747) (#98378)
(cherry picked from commit d0edb00019)

Co-authored-by: freezeboy <freezeboy@users.noreply.github.com>
2020-09-21 10:39:46 +02:00
Vladimír Čunát
397fc9bd79 Merge branch 'release-20.09' into staging-20.09 2020-09-21 09:50:28 +02:00
Jonathan Ringer
775b368bb9 streamlit: fix build
(cherry picked from commit 07660b28bc)
2020-09-21 00:09:16 -07:00
Kirill Elagin
3f5944efc3 prometheus: Unbreak IPv6 listenAddress
The format of the listenAddress option was recently changed to separate
the address and the port parts. There is now a legacy check that
tells users to update to the new format. This legacy check produces
a false positive on IPv6 addresses, since they contain colons.

Fix the regex to make it not match colons within IPv6 addresses.

(cherry picked from commit a4afd525cb)
2020-09-21 08:14:30 +02:00
Vincent Laporte
cad20521d2 fontmatrix: 0.6.0 → 0.6.0-qt5 (#97800)
This is an unofficial port of Fontmatrix 0.6.0 to Qt5

Co-authored-by: symphorien <symphorien@users.noreply.github.com>
(cherry picked from commit 4e155d6be9)
2020-09-21 08:08:45 +02:00
Drew Risinger
24c19a6903 python3Packages.spyder: fix build
* Remove version locks that don't match what's in nixpkgs

(cherry picked from commit 3b6800c76a)
2020-09-20 23:48:18 -04:00
Mario Rodas
907dcbaac5 Merge pull request #98356 from risicle/ris-svgbob-fix-20.09
[20.09] svgbob: fix build
2020-09-20 21:07:15 -05:00
Robert Scott
b142f339bf svgbob: fix build
loosen lint settings

(cherry picked from commit a28068a992)
2020-09-21 00:27:46 +01:00
sohalt
36fe916089 sonic-lineup: 1.0.1 -> 1.1, fix build
(cherry picked from commit 60078b4662)
2020-09-20 15:39:40 -07:00
Ryan Burns
d395c81088 openssh_hpn: fix source
(cherry picked from commit f8473b1d39)
2020-09-20 15:32:49 -07:00
Robert Scott
29d5187e8c libgumath, pythonPackages.gumath: unstable-2018-11-27 -> unstable-2019-08-01
this is the most recent commit to upstream's master at time of writing

includes fixes of python package for darwin

(cherry picked from commit eb86bff30d)
2020-09-20 15:23:18 -07:00
Robert Scott
87186252a7 libxnd, pythonPackages.xnd: unstable-2018-11-27 -> unstable-2019-08-01
this is the most recent commit to upstream's master at time of writing

includes fixes of python package for darwin

(cherry picked from commit dcd6847ddb)
2020-09-20 15:23:18 -07:00
Robert Scott
15667a227a libndtypes, pythonPackages.ndtypes: unstable-2018-11-27 -> unstable-2019-08-01
this is the most recent commit to upstream's master at time of writing

includes fixes of python package for darwin

(cherry picked from commit 044533c99b)
2020-09-20 15:23:18 -07:00
Raphael Borun Das Gupta
5ec6c556af pythonPackages.mock-open: 1.3.2 -> 1.4.0
(cherry picked from commit 355d255d6c)
2020-09-20 15:22:54 -07:00
Raphael Borun Das Gupta
01f1b3850f pythonPackages.mock-open: 1.3.1 -> 1.3.2
(cherry picked from commit b103ddb9ab)
2020-09-20 15:22:54 -07:00
Robert Scott
40bc5616f5 vmmlib: fix build
provide lapack instead of blas, causing gaussian elimination tests to
no longer fail

remove some trailing spaces from the longDescription to please the linter.
sorry.

(cherry picked from commit 566605626c)
2020-09-20 23:11:00 +01:00
zowoq
640d5c9c6b gitAndTools.gh: 0.12.0 -> 1.0.0
https://github.com/cli/cli/releases/tag/v1.0.0
(cherry picked from commit ec63faba64)
2020-09-21 08:03:21 +10:00
zowoq
bab5197fb5 gitAndTools.gh: 0.11.1 -> 0.12.0
https://github.com/cli/cli/releases/tag/v0.12.0
(cherry picked from commit ec22086628)
2020-09-21 08:03:08 +10:00
Austin Butler
1db586cfc6 pythonPackages.glom: fix tests
(cherry picked from commit 05f994426f)
2020-09-20 14:33:15 -07:00
Cole Helbling
379f99e422 nixos-rebuild: add flake support for build-vm
This relies on users using `nixpkgs.lib.nixosSystem` to define their
system; otherwise, the `vm` and `vmWithBootLoader` attributes will not
exist.

(cherry picked from commit e26b348689)
2020-09-20 15:11:05 -04:00
Maximilian Bosch
3114b4586e matrix-synapse: 1.19.2 -> 1.19.3
https://github.com/matrix-org/synapse/releases/tag/v1.19.3
(cherry picked from commit 44c558b219)
2020-09-20 19:38:23 +02:00
Ben Darwin
45fea15a04 python3Packages.graspy: 0.2.0 -> 0.3.0
(cherry picked from commit 1179840f9a)
2020-09-20 09:29:15 -07:00
Ben Darwin
21230980fc python3Packages.hyppo: init at 0.1.3
(cherry picked from commit 5315ce0e40)
2020-09-20 09:29:15 -07:00
Martin Weinelt
fed9e9887d pythonPackages.junos_eznc: fix build
(cherry picked from commit a5f77e0583)
2020-09-20 08:21:14 -07:00
Martin Weinelt
7a31d95c73 pythonPackages.yamlordereddictloader: init at 0.4.0
(cherry picked from commit d956ed6ac8)
2020-09-20 08:21:14 -07:00
Martin Weinelt
6b57dab091 python3Packages.ntc-templates: init at 1.5.0
(cherry picked from commit 278d069304)
2020-09-20 08:21:14 -07:00
Martin Weinelt
fc3415f7db pythonPackages.textfsm: init at 1.1.1
(cherry picked from commit 6898bcff08)
2020-09-20 08:21:14 -07:00
Orivej Desh
aecec982d0 solfege: fix build with texinfo 6.7
makeinfo seems right to fail when input encoding is not declared and is not UTF-8.

texinfo was updated in #95910.

(cherry picked from commit 19f7f150a4)
2020-09-20 08:20:58 -07:00
Robert Scott
ff494d76ef pforth: fix build with patch
patch from upstream fixes build with gnumake>=4.3

(cherry picked from commit 7621c8b1fc)
2020-09-20 08:20:29 -07:00
Robert Scott
ca19375f50 sslyze: fix build
need to further relax cryptography module version requirements

(cherry picked from commit d61c16cda4)
2020-09-20 08:19:38 -07:00
Ryan Burns
b582883fd9 docker_18_09: fix build
The cross-compilation patch introduced in
https://github.com/NixOS/nixpkgs/pull/92140
fixes an issue introduced in Docker CE 19.03,
and will not apply to (and is not needed for)
previous versions.
2020-09-20 08:17:57 -07:00
Trolli Schmittlauch
6f77ca1405 cawbird: 1.1.0 -> 1.2.1
- regular version bump to 1.2.0, then bugfix release on top
- changes: see
    - https://github.com/IBBoard/cawbird/releases/tag/v1.2.0
    - https://github.com/IBBoard/cawbird/releases/tag/v1.2.1

(cherry picked from commit 0b3ffb512c)
2020-09-20 17:09:06 +02:00
Luflosi
bb83ca4039 youtube-dl: 2020.09.14 -> 2020.09.20
https://github.com/ytdl-org/youtube-dl/releases/tag/2020.09.20
(cherry picked from commit 907fd8d6f6)
cc #98319
2020-09-20 10:48:45 -04:00
Vladimír Čunát
cd88f36a97 Merge branch 'staging-20.09' into release-20.09
Rebuild of this commit is done, except for a few thousand darwin jobs.
2020-09-20 07:51:49 +02:00
WORLDofPEACE
67ba80396d celluloid: 0.19 -> 0.20
https://github.com/celluloid-player/celluloid/releases/tag/v0.20
(cherry picked from commit 670fe111f4)
2020-09-20 00:40:35 -04:00
Jonathan Ringer
5a6ec511b6 python3Packages.lightparam: fix source and deps
(cherry picked from commit 2a35f66439)
2020-09-19 20:28:30 -07:00
Dennis Gosnell
187a2da74e Merge pull request #98269 from KaiHa/pr/sbv-backport
haskellPackages.sbv: fix tests
2020-09-20 12:12:58 +09:00
Doron Behar
2311d65989 Merge pull request #98287 from bbigras/backport-gnome-timepp
[20.09] gnomeExtensions.timepp: unstable-2019-03-30 -> unstable-2020-03-15; unbreak pkg
2020-09-19 23:34:56 +03:00
Bruno Bigras
34acf56fa9 gnomeExtensions.timepp: unstable-2019-03-30 -> unstable-2020-03-15; unbreak package
(cherry picked from commit 1127b73eee)
2020-09-19 15:25:22 -04:00
Thomas Tuegel
6af88205cb Merge pull request #98273 from ttuegel/staging-20.09--mariadb-connector-c-multiple-outputs
mariadb-connector-c: multiple outputs
2020-09-19 13:35:23 -05:00
WORLDofPEACE
d1befddac3 Merge pull request #98170 from liff/zhf-backport/wordgrinder
[20.09] wordgrinder: fix build
2020-09-19 13:16:44 -04:00
WORLDofPEACE
76266a5fbf Merge pull request #98260 from ryantm/revertmonit
[20.09] Revert "nixos/monit: Allow splitting the config in multiple files"
2020-09-19 13:16:32 -04:00
Thomas Tuegel
d44e1ac0a7 mariadb-connector-c: multiple outputs
(cherry picked from commit c0825ddbe9)
2020-09-19 05:55:21 -05:00
Kai Harries
0c9bbf8bc2 haskellPackages.sbv: fix tests
By patching paths of the external provers and excluding not available
provers from the test.

ZHF: #97479
(cherry picked from commit f40afea417)
2020-09-19 11:59:35 +02:00
squalus
bfb429d7ec ungoogled-chromium: 84.0.4147.89-1 -> 85.0.4183.102-1
based on chromium master@05f5001c

(cherry picked from commit 54a0a400f2)
2020-09-19 11:50:34 +02:00
Olli Helenius
182c9afd70 wordgrinder: fix build
(cherry picked from commit 8cb1e75e3b)
2020-09-19 11:44:33 +03:00
Ryan Mulligan
ca33a6c3f0 Revert "nixos/monit: Allow splitting the config in multiple files"
(cherry picked from commit 61863c5155)
2020-09-18 22:02:22 -07:00
Anderson Torres
bea7aa233d Merge pull request #98254 from Mathnerd314/20.09-unnethack
[20.09] unnethack: 5.2.0 -> 5.3.2, fix build
2020-09-19 00:43:15 -03:00
Mathnerd314
d6d7be3baf unnethack: 5.2.0 -> 5.3.2 (#97595)
Co-authored-by: Jon <jonringer@users.noreply.github.com>
(cherry picked from commit 47ba35d6d4)
2020-09-18 19:51:21 -06:00
Jonathan Ringer
e7091baacc python3Packages.runway-python: add missing deps
(cherry picked from commit a9162ffdaa)
2020-09-18 18:44:33 -07:00
Jonathan Ringer
e81788363d python3Packages.hickle: disable tests
Incompatible with astropy>=4.0

(cherry picked from commit 389ab45924)
2020-09-18 18:41:41 -07:00
Jonathan Ringer
a57cd670b8 python2Packages.hickle: disable
```
  Processing ./hickle-4.0.1-py2-none-any.whl
  ERROR: Package 'hickle' requires a different Python: 2.7.18 not in '>=3.5'
```

(cherry picked from commit f1325cdfe7)
2020-09-18 18:41:41 -07:00
Robert Scott
c22c22bf64 Merge pull request #98236 from wkral/backport-py-irc
[20.09] python3Packages.irc: fix build
2020-09-19 02:23:57 +01:00
William Kral
fc18eddeef python3Packages.irc: fix build
(cherry picked from commit 7567bd6d89)
2020-09-18 14:54:53 -07:00
Peter Simons
497587ae2f haskell-headed-megaparsec: disable broken build
The package needs megaparsec 9.x, which we don't use by default.
2020-09-18 21:04:35 +02:00
Robert Scott
4910c6ba83 Merge pull request #98201 from povik/libiio-fix-backport
[20.09] python3.pkgs.libiio: fix build
2020-09-18 19:09:16 +01:00
William Kral
344d782f95 python3Packages.requests-aws4auth: fix build
(cherry picked from commit 5f0f2b85cb)
2020-09-18 10:19:32 -07:00
Martin Povišer
0bfcc861ab python3.pkgs.cartopy: 0.17 -> 0.18
Fixes build. Formerly cartopy tests were failing, likely since update of
matplotlib to 3.3.0.

(cherry picked from commit 20472523e7)
2020-09-18 10:18:29 -07:00
Tim Steinbach
e036652424 linux/hardened/patches/5.8: 5.8.9.a -> 5.8.10.a
(cherry picked from commit deea9b8a4a)
2020-09-18 08:39:07 -04:00
Tim Steinbach
e9c968a272 linux/hardened/patches/5.8: 5.8.8.a -> 5.8.9.a
(cherry picked from commit b585d60082)
2020-09-18 08:39:07 -04:00
Martin Povišer
cedbe71354 python3.pkgs.libiio: fix build
Add missing setuptools dependency.

(cherry picked from commit ce0a59cb9f)
2020-09-18 10:25:04 +02:00
Niklas Hambüchen
66cadca583 ntfy: Switch to python3. Also fixes test failure.
Fixes test error:

    AttributeError: 'module' object has no attribute 'test_prowl'

(cherry picked from commit 35593698d5)
2020-09-18 08:21:23 +02:00
Dmitry Kalinkin
774e3cb348 texlive: fix arara
(cherry picked from commit 37d65c8698)
cc #97609
2020-09-17 21:38:22 -04:00
Aaron Andersen
6f0f1bb64f Merge pull request #98017 from aanderse/tomcat-native
tomcat-native: 1.2.24 -> 1.2.25 [20.09]
2020-09-17 19:17:43 -04:00
Tim Steinbach
594723985c linux: 5.8.9 -> 5.8.10 2020-09-17 09:59:34 -04:00
Tim Steinbach
7eb8362d10 linux: 5.4.65 -> 5.4.66 2020-09-17 09:59:34 -04:00
Tim Steinbach
91968e58cf linux: 4.19.145 -> 4.19.146 2020-09-17 09:59:34 -04:00
Maximilian Bosch
e20e342bd5 react-native-debugger: fix eval
(cherry picked from commit 501eaab47a)
2020-09-17 14:53:49 +02:00
Demyan Rogozhin
df4c3f4fbd react-native-debugger: 0.9.10 -> 0.11.4
(cherry picked from commit 114ad1a7c5)
2020-09-17 14:53:49 +02:00
Demyan Rogozhin
def97800ce react-native-debugger: fix build
(cherry picked from commit e77d4ecac2)
2020-09-17 14:53:49 +02:00
Mauricio Collares
6c6f85e071 signal-desktop: ringrtc depends on libpulseaudio
voice/video calls should now work, fixing #98082

(cherry picked from commit 3df04beafc)
2020-09-17 14:22:10 +02:00
Frederik Rietdijk
06da165c5e Revert "python: gsd: 1.7.0 -> 1.9.3"
Incorrect update. Should not update the Python 2 version.

This reverts commit d1a46d4ff3.

(cherry picked from commit af92611103)
2020-09-17 11:36:57 +02:00
Lancelot SIX
95d45c2383 pythonPackages.pyslurm: mark as broken
(cherry picked from commit 00f16b7e0c)
2020-09-17 07:57:47 +01:00
Andrei Lapshin
8e68ff6b4b nixos/plasma5: Fix build with config.services.colord.enable = true
Fix build with enabled colord service after https://github.com/NixOS/nixpkgs/pull/97456

(cherry picked from commit 19b5ef48fc)
2020-09-17 00:42:15 -04:00
WORLDofPEACE
7df3404150 Merge pull request #98146 from mkg20001/cinrelback
[20.09] cinnamon release notes
2020-09-17 00:30:21 -04:00
Maciej Krüger
b13997485f release-notes: mention cinnamon
(cherry picked from commit bc3d459ceb)
2020-09-17 06:27:22 +02:00
ajs124
ad7755193f Merge pull request #98117 from tokudan/2009-matrix
matrix-synapse: 1.19.1 -> 1.19.2 [20.09]
2020-09-16 23:07:42 +02:00
Frederik Rietdijk
958394d55f pythonPackages: set qt version by overriding pkgs
(cherry picked from commit c88f3adb17)
2020-09-16 21:18:36 +02:00
ajs124
12822e9336 matrix-synapse: 1.19.1 -> 1.19.2
(cherry picked from commit 21779aece5)
2020-09-16 19:32:46 +02:00
Daniël de Kok
ee27689215 Merge pull request #98028 from danieldk/softmaker-office-1020-20.09
[20.09] softmaker-office: 1018 -> 1020
2020-09-16 06:52:28 +02:00
Anderson Torres
fd491ec80f Merge pull request #97764 from superherointj/release-20.09
[20.09] nixos/dmidecode: added recommended patches
2020-09-15 23:16:28 -03:00
Mario Rodas
ea4b39d48a nodejs-12_x: 12.18.3 -> 12.18.4
https://github.com/nodejs/node/releases/tag/v12.18.4
(cherry picked from commit 095a32182d)
2020-09-15 19:39:31 -05:00
Mario Rodas
05a6efb508 nodejs-10_x: 10.22.0 -> 10.22.1
https://github.com/nodejs/node/releases/tag/v10.22.1
(cherry picked from commit afeed1fe58)
2020-09-15 19:39:30 -05:00
Josef Kemetmüller
f3b68ac434 cli-visualizer: Fix build
(cherry picked from commit ce065c6251)
2020-09-15 11:47:35 -07:00
Jonathan Ringer
797c5a8141 python3Packages.graphite_beacon: fix deps, add nixos test
(cherry picked from commit 2003495474)
2020-09-15 11:10:19 -07:00
Matthew Bauer
914d526230 pytorch: update to use passthru's for checks
This makes the checks a little easier to understand - we can just
check it in the passthru. Also increase major check for cuda 11.

(cherry picked from commit c85fc341b0)
2020-09-15 10:43:57 -05:00
JesusMtnez
3b8ddb2f1e jitsi-meet-electron: 2.2.0 -> 2.3.1
(cherry picked from commit 5b19fa94ac)
2020-09-15 10:56:51 -04:00
Maximilian Bosch
1bb3a05a11 citrix_workspace: add 20.09.0
ChangeLog: https://docs.citrix.com/en-us/citrix-workspace-app-for-linux/whats-new.html#whats-new-in-2009

Also removed 19.12.0 which will be out of maintenance in April 2021
which is still within the lifetime of 20.09.

(cherry picked from commit b632ca6963)
2020-09-15 15:41:39 +02:00
Dennis Gosnell
7c27289295 Merge pull request #98019 from charukiewicz/release-20.09
hledger, hledger-lib, hledger-ui, and hledger-web: v1.19 -> v1.19.1
2020-09-15 21:16:46 +09:00
(cdep)illabout
5d77421642 hledger: 1.19 -> 1.19.1 2020-09-15 20:34:03 +09:00
Daniël de Kok
a46fae030f softmaker-office: 1018 -> 1020
(cherry picked from commit e2c8ae9881)
2020-09-15 08:22:59 +02:00
pancho horrillo
af8a177463 caddy1: fix build (#97988)
main.go gets overwritten in order to build caddy with telemetry
disabled, but the global variable `run` got neglected, and this in turn
broke the test in caddy/main_test.go.

This commit fixes that, and build can now complete.

(cherry picked from commit c814b0ef24)
2020-09-14 21:39:01 -07:00
Robert Scott
4c1163d755 pythonPackages.holidays: fix build by adding korean-lunar-calendar dependency
(cherry picked from commit 9fb14d899d)
2020-09-14 20:54:47 -07:00
Robert Scott
8ef4ff9a64 pythonPackages.korean-lunar-calendar: init at 0.2.1
(cherry picked from commit cf5a892a24)
2020-09-14 20:54:47 -07:00
nyanloutre
a40c69ed47 pythonPackage.python-gitlab: add missing tests requirements
(cherry picked from commit 9225192bf6)
2020-09-14 20:03:59 -07:00
charukiewicz
434540dbcd version bumps of hledger, hledger-lib, hledger-ui, and hledger-web from v1.19 to v1.19.1 2020-09-14 20:41:32 -05:00
Aaron Andersen
af23c989e9 tomcat-native: 1.2.24 -> 1.2.25
(cherry picked from commit cc34aad0d7)
2020-09-14 19:56:54 -04:00
Henri Menke
ded557901c nixos/shadowsocks: add test without plugin
(cherry picked from commit 9d60354fae)
2020-09-14 23:21:21 +02:00
Henri Menke
f16bc4cf54 nixos/shadowsocks: add extraConfig
(cherry picked from commit e587b5a8a8)
2020-09-14 23:21:09 +02:00
Florian Klink
d242782c7f bash-completion: disable tests
Unfortunately, they're very flaky. Let's disable them for now.

(cherry picked from commit 3bfdbea881)
2020-09-14 23:08:54 +02:00
Vincent Laporte
27c9f6f783 ott: 0.30 → 0.31
(cherry picked from commit cc4a33d78c)
2020-09-14 21:43:23 +02:00
Robert Scott
be6fc631bf Merge pull request #97956 from fgaz/zhf-backports/drawpile
[20.09] drawpile: fix build by adding libsecret
2020-09-14 20:02:50 +01:00
Maximilian Bosch
ba68572dea element-desktop: 1.7.5 -> 1.7.7
https://github.com/vector-im/element-desktop/releases/tag/v1.7.6
https://github.com/vector-im/element-desktop/releases/tag/v1.7.7
(cherry picked from commit 441818c4ff)
2020-09-14 19:11:09 +02:00
Maximilian Bosch
b6465d263d element-web: 1.7.5 -> 1.7.7
https://github.com/vector-im/element-web/releases/tag/v1.7.6
https://github.com/vector-im/element-web/releases/tag/v1.7.7
(cherry picked from commit 33d02b3396)
2020-09-14 19:11:09 +02:00
Josef Kemetmüller
ffe2d44646 python.pkgs.geopandas: 0.8.0 -> 0.8.1
This fixes the geopandas build, which did break with the update of
pandas from 1.0.5 to 1.1.0.

(cherry picked from commit dc2e45e3e5)
2020-09-14 09:56:33 -07:00
Florian Klink
a1abac1f1f systemd: 246 -> 246.4
This bumps systemd to the latest stable maintenance release.

 - dc2e82af33 core: create per-user inaccessible node from the service manager
 - 0b3c497347 nspawn,pid1: pass "inaccessible" nodes from cntr mgr to pid1 payload via /run/host
 - 2239965c29 coredump: don't convert s → µs twice
 - 61d29b7f8c firstboot: fill empty color if ansi_color unavailable from os-release
 - 9678a3daf6 varlink: do not parse invalid messages twice
 - 4e516dcbc1 userdbctl: add forgotten --output mode in help
 - aee20dfbd8 shared/{user,group}-record-nss: adjust filtering of "valid" passwords
 - 5933d77afe doc: cross link sd_listen_fd() docs a bit
 - 97fdde3239 Rework how we cache mtime to figure out if units changed
 - 0500968241 core: always try to reload not-found unit
 - 8ae22f0d64 pid1: use the cache mtime not clock to "mark" load attempts
 - 715507c277 core: rename manager_unit_file_maybe_loadable_from_cache()
 - 20ad76d0a7 man: document fd ownership for sd-bus fd marshalling
 - 38ae73fafd resolved: make sure we initialize t->answer_errno before completing the transaction
 - a1ba0fbef6 homed: fix log message to honor real homework path
 - d6b1e659b3 src/shared/dissect-image.c: fix build without blkdid (#16901)
 - e42f9add21 analyze: fix error handling in one case
 - 4804ce1488 units: add missing usb-gadget.target
 - 5ad4e68c37 man: extend on the usec/sec discrepancy
 - 2fb612371d login/logind: Include sys/stat.h for struct stat usage
 - 5e884e7ee0 partition/makefs: Include missing sys/file.h header
 - 7bbc3807da network: dhcp6: logs only new address
 - 2056429e0f Don't run test-repart when loop devices are not available
 - dcbea51c5a man: clarify that several networkctl commands takes device names
 - 16e4cfcc82 networkctl: label command does not take any argument
 - 2352921244 missing: Add new Linux capability
 - 8b29c4a4f9 tty-ask-pw-agent: properly propagate error
 - f7ce2e9839 tty-ask-pw-agent: the message string might not be set
 - 29cba5c9ef tty-ask-pw-agent: make sure "--list" works correctly
 - e1ce367d73 add "list" verb to autocompleted commands
 - 1f4cb5da1e shell-completion/zsh: add missing verbs for networkctl
 - a4236a2764 path: Improve $PATH search directory case
 - b7cef386bd path: Skip directories when finalising $PATH search
 - 122945f315 rules: don't install 80-drivers.rules when kmod is disabled
 - 42fab2d454 zsh: correct journalctl command completion parsing
 - ed3f97f962 basic/missing_syscall: fix syscall numbers for arm64 :(
 - ba6e7f7c46 shared/install: fix preset operations for non-service instantiated units
 - d39f139348 nss-resolve: treat BUS_ERROR_NO_SUCH_UNIT the same as SD_BUS_ERROR_SERVICE_UNKNOWN too
 - 9bb3e64d71 various: treat BUS_ERROR_NO_SUCH_UNIT the same as SD_BUS_ERROR_SERVICE_UNKNOWN
 - 6d802dd596 man: drop reference to long gone .busname unit type
 - a29656804b man: fix a fix of a typo in systemd.service example
 - 21ce0f5b33 network: can: Fix CAN initialization
 - cab5cde8c9 man: update autogenerated dbus api lists
 - 0d8000522b man: fix invalid tag place
 - ea94f218be man: add conditionals to more man pages
 - ef91325349 meson: add ENABLE_ANALYZE conditional
 - 83f7c0a7ec core: add missing conditions/asserts to unit file parsing
 - 716718155d analyze: rework condition testing
 - 5c4c7581bc sd-bus: fix error handling on readv()
 - 6cd058f305 user-runtime-dir: deal gracefully with missing logind properties
 - 6a2d73638d shared/seccomp: do not use ifdef guards around textual syscall names
 - 7355ac9689 machine-id-setup: don't use KVM or container manager supplied uuid if in chroot env
 - 496a71f444 man: Fix typo in systemd-tmpfiles
 - 6c5d216ad8 homework: downgrade chattr failure log message
 - 1708f06a00 homework: explicitly close cryptsetup context, to not keep loopback device busy
 - a21eaa2a3a homework: correct error passed into log message
 - 3a2d169f36 homework: sync everything to disk before we rename LUKS loopback file into place
 - 84e1ab74d2 homed: downgrade quota message in containers
 - 8b62cadf36 analyze-security: do not assign badness to filtered-out syscalls
 - 29854a5437 NEWS: clarify two points
 - 4cb4fb82f7 meson: add min version for libfdisk
 - 76331f86f6 load-fragment: fix grammar in error messages
 - 1e53c2d70f Fix function description in logind man page
 - 669066564d network: do not fail if UseMTU=yes on DHCP lease lost
 - a2a3f16cdc missing_syscall: do not use function name that may conflict with glibc
 - 4091dcd469 missing_syscall: fix pidfd_{send_signal,open} numbers for alpha
 - 7875daf52b network: wait for previous address removal before configuring static addresses
 - 120064b4a1 network: only process non-error message
 - f44ec1de15 test: accept that char device 0/0 can now be created witout privileges
 - 946e4c43bb tools/make-man-index: fix purpose text that contains tags
 - dae0586e91 test-fs-util: skip encrypted path test if we get EACCES
 - 0d026c9b0d Newer Glibc use faccessat2 to implement faccessat
 - fde6520d46 namespace: fix minor memory leak
 - 208ba581f4 man: fix incorrectly placed full stop
 - 6c81d57828 man: fix typo
 - 53a8d2588e bless-boot: add missing verb to --help
 - 4cfa0ac4fd user-record: deal with invalid GECOS fields gracefully
 - ae5234ef48 user-util: add mangle_gecos() call for turning strings into fields suitable as GECOS fields
 - 972391ac39 fix typo in systemctl help
 - 443aacfcda man: clarify that LogNamespace= is for system services only
 - 5aec8fe54e _sd-common.h: avoid parsing errors with Coverity
 - f9ad4ea2ca analyze: fix 'cat-config systemd/zram-generator.conf'
 - dda6fec1df man: describe that changing Storage= does not move existing data
 - 2bbd33e476 core: reset bus error before reuse
 - b81504a3c7 nspawn: Fix incorrect usage of putenv
 - cb263973ac man: fix typo in systemd.service
 - 73b432e7ef network: fix DHCPv6 Prefix Delegation example after option rename

(cherry picked from commit 6c5e621bad)
2020-09-14 18:48:31 +02:00
Doron Behar
5605f3acee Merge pull request #97725 from drewrisinger/zhf/parso-20.09
[20.09] python3Packages.parso: disable on python 2.7
2020-09-14 19:45:47 +03:00
Nikolay Korotkiy
ba10637048 pythonPackages.timezonefinder: fix build
(cherry picked from commit 9c0a900a9d)
2020-09-14 17:14:47 +01:00
Tim Steinbach
5f5d8947d2 linux: 5.8.8 -> 5.8.9 2020-09-14 08:43:59 -04:00
Tim Steinbach
c71f07ec88 linux: 5.4.64 -> 5.4.65 2020-09-14 08:43:59 -04:00
Tim Steinbach
30c2a51ad0 linux: 4.9.235 -> 4.9.236 2020-09-14 08:43:59 -04:00
Tim Steinbach
cfde64b305 linux: 4.4.235 -> 4.4.236 2020-09-14 08:43:59 -04:00
Tim Steinbach
b07cb146f7 linux: 4.19.144 -> 4.19.145 2020-09-14 08:43:59 -04:00
Tim Steinbach
9447a07a10 linux: 4.14.197 -> 4.14.198 2020-09-14 08:43:59 -04:00
Doron Behar
23ff83bbf8 gotify-cli: Add version and commit to ldflags
(cherry picked from commit b027fc3df8)
2020-09-14 12:56:10 +02:00
taku0
c37c04ee7e thunderbird-bin: 78.2.1 -> 78.2.2
(cherry picked from commit eff618541e)
2020-09-14 19:30:03 +09:00
taku0
1b2aa767ec thunderbird: 78.2.1 -> 78.2.2
(cherry picked from commit 5bcc37d79e)
2020-09-14 19:30:02 +09:00
adisbladis
4ee4f7ce83 Merge pull request #97965 from elohmeier/bp-qtstylepluginsfix
[20.09] qtstyleplugins: Fix build with qt>=5.15
2020-09-14 12:29:56 +02:00
adisbladis
5cc3d11f3e qtstyleplugins: Fix build with qt>=5.15
(cherry picked from commit ff6c3a9e34)
2020-09-14 09:46:48 +02:00
Maximilian Bosch
c1dbaed781 top-level: fix nix-shell eval w/nixUnstable
For a full description of the underlying issue please read
https://github.com/NixOS/nix/issues/4003

(cherry picked from commit fa6064ad86)
2020-09-14 09:10:53 +02:00
Luflosi
8af2978ed7 youtube-dl: 2020.09.06 -> 2020.09.14
https://github.com/ytdl-org/youtube-dl/releases/tag/2020.09.14
(cherry picked from commit 4a11f046a6)
2020-09-14 08:52:35 +02:00
Francesco Gazzetta
2bea9c2267 drawpile: fix build by adding libsecret
(cherry picked from commit 1c8d65f940)
2020-09-14 08:05:45 +02:00
WORLDofPEACE
f6ef6485e3 Merge pull request #97929 from TethysSvensson/fixBusybox-20.09
[20.09] busybox: Fix 404 error by using git instead
2020-09-14 00:36:17 -04:00
Anderson Torres
c13c1a21cd Merge pull request #97932 from OPNA2608/backport-20.09-update-palemoon-28.13.0
[20.09] palemoon: 28.12.0 -> 28.13.0
2020-09-14 01:11:13 -03:00
Christoph Neidahl
48b66b89ba palemoon: 28.12.0 -> 28.13.0
(cherry picked from commit 5efe403c93)
2020-09-13 23:08:48 +02:00
Tethys Svensson
e09e7a88cd busybox: Use git to fetch debian.script from debian
Debian has yanked the upstream tarball we use to get default.script. We
could simply bump the version number to get the new tarball, but to
avoid the problem in the future, we should instead fetch it from git.

(cherry picked from commit a9597f9573)
2020-09-13 22:13:59 +02:00
Tethys Svensson
f6d9962180 fetchgitlab: Escape a few more characters in the revision
(cherry picked from commit 43cd431b44)
2020-09-13 22:13:55 +02:00
freezeboy
5d5307af50 python2Packages.green: remove
(cherry picked from commit 96acb3a772)
2020-09-13 10:25:12 -07:00
marius david
2a7ea4b1ff instead: 3.3.1 -> 3.3.2; fix compilation
(cherry picked from commit 43d9d1d7d8)
2020-09-13 09:40:52 -07:00
freezeboy
7d6f1c0784 python2Packages.cx_Freeze: remove
(cherry picked from commit e3912be86a)
2020-09-13 09:38:18 -07:00
Robert Scott
0e96315492 Merge pull request #97900 from freezeboy/backport-cfn-lint
[20.09] cfn-lint: fixed importlib_resources version bounds
2020-09-13 16:23:28 +01:00
freezeboy
a4f291932a python2Packages.flask-api: remove (#97766) (#97901) 2020-09-13 16:51:44 +02:00
Matthieu Coudron
3e2c474358 Merge pull request #97909 from risicle/ris-pulp-fix-r20.09
[20.09] pythonPackages.pulp: fix by adding new dependency amply
2020-09-13 16:50:30 +02:00
Robert Scott
c551ac874b pythonPackages.pulp: fix by adding new dependency amply
(cherry picked from commit 26e023bfa7)
2020-09-13 14:37:43 +01:00
Robert Scott
1c3b1c29ec pythonPackages.amply: init at 0.1.2
(cherry picked from commit c305f3fac3)
2020-09-13 14:37:36 +01:00
Robert Scott
7cbec82872 pythonPackages.httpx: fix tests
test suite contained a literal timestamp which expired, fixed upstream

(cherry picked from commit 92a9db2e3e)
2020-09-13 15:22:30 +02:00
freezeboy
8dc96c40be cfn-lint: fixed importlib_resources version bounds
Also, added import checks to have a minimal test for the package

(cherry picked from commit 037b8aefef)
2020-09-13 14:02:10 +02:00
Robert Scott
67906104b7 Merge pull request #97896 from freezeboy/backport-lp_solve
[20.09] Backport lp solve
2020-09-13 11:33:20 +01:00
freezeboy
38fad02bda lp_solve: fix buildCommand some binaries moved
(cherry picked from commit 3fc3fd14cf)
2020-09-13 12:09:57 +02:00
Vincent Laporte
567e4a93cd ocamlPackages.batteries: 3.0.0 → 3.1.0
(cherry picked from commit e2dffb60a5)
2020-09-13 12:00:18 +02:00
Vladimír Čunát
21398f8334 Merge #97612: firefox-esr-68: drop
(cherry picked from commit 544c8dbdfb)
2020-09-13 09:55:21 +02:00
Robert Scott
195daf80b5 Merge #97847 python27Packages.anytree: fix build
(cherry picked from commit 9a8bd1e564)
2020-09-13 08:38:07 +02:00
Ryan Mulligan
df2a179eb7 nixos/jitsi-meet: add docs
(cherry picked from commit 531c08a1d9)
2020-09-12 22:03:23 -07:00
Jörg Thalheim
39dfaa4da7 python3.pkgs.python-language-server: fix jedi integration
recent jedi/parso versions uses Path instead of str.

(cherry picked from commit b99096b1f0)
2020-09-12 21:54:16 -07:00
Jörg Thalheim
b88dd6ec20 python3.pkgs.jedi: fix compatibility with parso
The current version is fundamentally broken as tested with
python-language-server because parso now uses Path instead of str
in many instances.

Backporting of the fixes is not trivial and likely breaks more stuff
than it fixes due to other refactorings in jedi, hence using a recent
commit in master seems more reasonably.

(cherry picked from commit 12a9a93d68)
2020-09-12 21:54:16 -07:00
Jörg Thalheim
520b4e9690 python3.pkgs.python-language-server: 0.33.1 -> 0.34.1
(cherry picked from commit b0a8c8af6f)
2020-09-12 21:54:16 -07:00
Jörg Thalheim
caf305b548 python-engineio: 3.13.0 -> 3.13.2 (fix build)
(cherry picked from commit 12fc3e0718)
2020-09-12 21:54:16 -07:00
Robert Scott
e0508c8180 Merge pull request #97824 from wkral/backport-python-minio-test-fix
[20.09] python3Packages.minio: fix cred tests
2020-09-13 02:35:25 +01:00
Robert Scott
562672a3d6 Merge pull request #97858 from treed/backport-acme-client-zhf
[20.09] acme-client: build with gcc
2020-09-13 02:11:38 +01:00
Martin Weinelt
2f3fff09bb Merge pull request #97874 from mweinelt/20.09/hass
[20.09] home-assistant: drop protobuf override
2020-09-13 02:54:10 +02:00
Martin Weinelt
8d112e8898 home-assistant: drop protobuf override
aioesphome was updated to 2.6.3 which requires protobuf>=3.12.2,<4.0.

(cherry picked from commit 68c4099d73)
2020-09-13 01:59:15 +02:00
Sarah Brofeldt
81a70da6e3 Merge pull request #97869 from srhb/bp-kb-1.19.1
20.09: Merge pull request #96446 from saschagrunert/k8s
2020-09-13 01:12:16 +02:00
Anderson Torres
063598ce0b Merge pull request #97854 from wkral/backport-ytree-fix
[20.09] ytree: fix build
2020-09-12 19:55:30 -03:00
Sarah Brofeldt
5115acdc7e Merge pull request #96446 from saschagrunert/k8s
kubernetes: 1.18.8 -> 1.19.1
(cherry picked from commit 701064bb10)

Backport of #96446
2020-09-13 00:47:50 +02:00
Vladimír Čunát
093ae1b549 Merge branch 'staging-20.09' into release-20.09
It's not the latest commit but the one with binaries available.
2020-09-12 22:10:40 +02:00
Vladimír Čunát
ea62e2144e gcc10: 10.1.0 -> 10.2.0
(cherry picked from commit 51ccf2d4ba)
It's supposed to be just bugfixes and it isn't used much so far.
2020-09-12 22:10:25 +02:00
Ted Reed
590026b08f acme-client: build with gcc
acme-client fails to build with clang, which breaks the build on darwin.

(cherry picked from commit e45ddaeddf)
2020-09-12 12:58:20 -07:00
Gabriel Ebner
4d730eebf3 python3Packages.websockets: make tests deterministic
(cherry picked from commit b5fcd79c3f)
2020-09-12 21:48:20 +02:00
Vincent Laporte
183b44daa3 ocamlPackages.ptmap: 2.0.4 → 2.0.5
(cherry picked from commit 5f83bf3012)
2020-09-12 21:34:39 +02:00
Vincent Laporte
8ee39f837e reason: 3.6.0 → 3.6.2
(cherry picked from commit d3e701f5f7)
2020-09-12 21:33:55 +02:00
William Kral
db7c226abd ytree: fix build
(cherry picked from commit 0a10ec483b)
2020-09-12 10:52:07 -07:00
Maximilian Bosch
5573fdc6b4 gotify-server: fix UI
In version 2.0.15 `gotify` switched to `packr` at 2.x which is why the
UI can't be served properly via HTTP and causes an empty 500 response and
the following errors in `journald`:

```
2020/09/12 19:18:33 [Recovery] 2020/09/12 - 19:18:33 panic recovered:
GET / HTTP/1.1
Host: localhost:8080
Accept: */*
User-Agent: curl/7.72.0

stat /home/ma27/Projects/ui/build/index.html: no such file or directory
```

This wasn't caught by the VM-test as it only tested the REST and push
APIs. Using their internal `packr.go` script in our build as it's the
case in the upstream build-system[1] fixes the issue.

[1] https://github.com/gotify/server/pull/277/files#diff-b67911656ef5d18c4ae36cb6741b7965R48

(cherry picked from commit 4a559f8fee)
2020-09-12 19:32:36 +02:00
freezeboy
387364f9fe newman: init at 5.2.0 (#97838)
(cherry picked from commit 554c1c4c24)
2020-09-12 15:29:44 +00:00
freezeboy
37fd028ec1 jackmix, jackmix_jack1: fix build, add alsaLib dependency (#97843)
(cherry picked from commit 6dafaa5258)
2020-09-12 15:22:16 +00:00
Frederik Rietdijk
1ff85d4c4b Revert "utils.bash: revert #93560 for darwin, unblocks channels"
Revert the hack and the original faulty commit.

This reverts commit 48264ee506105a2f5e61e5d327599e9f301bd77f.

Revert "Purity checking should accept $TMP and not just /tmp"

This reverts commit fb777be7d2.

(cherry picked from commit e560459c5b)
2020-09-12 08:43:35 +02:00
Frederik Rietdijk
1402752a68 Revert "utils.bash: also "fix" cc-wrapper and pkg-config-wrapper"
Follow up to the revert in e560459c5b.

This reverts commit 1936b11f63.

(cherry picked from commit 5ceea5705a)
2020-09-12 08:43:35 +02:00
Jonathan Ringer
4946cc3aec python3Packages.minio: fix cred tests
(cherry picked from commit 9716fcd940)
2020-09-11 19:52:20 -07:00
WORLDofPEACE
a49bcf5971 gnome-3: freeze for 20.09 2020-09-11 20:52:44 -04:00
Thomas Tuegel
a5028307e9 Merge pull request #97802 from ttuegel/staging-20.09--97670
kconfigwidgets: install plugin in .out
2020-09-11 18:17:18 -05:00
WORLDofPEACE
e2aba0636b Merge pull request #97741 from endgame/aws-sam-cli-bounds-backport
[20.09] aws-sam-cli: fix version bounds
2020-09-11 16:54:42 -04:00
Thomas Tuegel
d998cbb8b2 kconfigwidgets: install plugin in .out
(cherry picked from commit d489e70a08)
2020-09-11 15:29:39 -05:00
Jack Kelly
ce2ffef438 aws-sam-cli: fix version bounds
(cherry picked from commit 1e67b4a64633998bd850393a7abcf8e386f80f8a)
2020-09-12 06:18:02 +10:00
Tethys Svensson
cda641eb95 nixos/systemd-boot: Temporarily ignore errors
This is a temporary fix for #97433. A more proper fix has been
implemented upstream in systemd/systemd#17001, however until it gets
backported, we are stuck with ignoring the error.

After the backport lands, this commit should be reverted.

(cherry picked from commit b32701bc54)
2020-09-11 22:10:33 +02:00
Félix Baylac-Jacqué
b668c6a1e9 Merge pull request #97755 from andir/20.09/prosody-0-11-6
[20.09] prosody: 0.11.5 -> 0.11.6
2020-09-11 21:58:41 +02:00
WORLDofPEACE
72fdecc8d2 nixos/gdm: fix option descriptions
If we use '' '' for strings with mkEnableOption they get a trailing space
before the period.

(cherry picked from commit b552ded466)
2020-09-11 14:15:13 -04:00
Emery Hemingway
53b3834022 nim: remove stdlib indirection in wrapper
Fix #97601
2020-09-11 20:02:19 +02:00
WORLDofPEACE
281c8991a2 nixos/tools/nixos-install: add jq to path
(cherry picked from commit a39ad85726)
2020-09-11 13:04:03 -04:00
WORLDofPEACE
2cb819c0d6 Merge pull request #97786 from ttuegel/release-20.09--97669
plasma-workspace: fix path to qdbus
2020-09-11 12:02:20 -04:00
WORLDofPEACE
ff343f1106 Merge pull request #97787 from ttuegel/release-20.09--97735
nixos/plasma5: fix build with hardware.bluetooth.enable = true
2020-09-11 12:00:55 -04:00
Orivej Desh
1f9f801f71 nixos/plasma5: fix build with hardware.bluetooth.enable = true after #97456
(cherry picked from commit 21b2900bd4)
2020-09-11 10:57:05 -05:00
Thomas Tuegel
b2f6053415 plasma-workspace: remove dependency on qtbase.dev
(cherry picked from commit 3bdf44875a)
2020-09-11 10:53:01 -05:00
Vladimír Čunát
e2bf65470e Merge branch 'staging-20.09' into release-20.09
It's all rebuilt: https://hydra.nixos.org/eval/1612452
2020-09-11 15:26:08 +02:00
Domen Kožar
18f9a651f5 Merge pull request #97749 from Luflosi/backport-j
[20.09] j: fix build on darwin
2020-09-11 14:29:34 +02:00
Maximilian Bosch
3fdb6b8801 bandwhich: 0.17.0 -> 0.18.1
ChangeLogs:

* https://github.com/imsnif/bandwhich/releases/tag/0.18.1
* https://github.com/imsnif/bandwhich/releases/tag/0.18.0

Also applied a fix[1] for rDNS support which broke with `systemd-v246`
because the `resolv-conf` crate didn't support the `options
trust_ad`-declaration in systemd's `/etc/resolv.conf`[2].

[1] https://github.com/imsnif/bandwhich/pull/184
[2] https://github.com/imsnif/bandwhich/issues/166#issuecomment-691014450

(cherry picked from commit 8149ab158b)
2020-09-11 14:11:29 +02:00
Vladimír Čunát
3f99424c9a Merge #97746: test-driver.py: defaulting keepVmState
(cherry picked from commit 2bb1868f76)
I re-checked some of the regressed tests on 20.09.
2020-09-11 13:52:33 +02:00
superherointj
3b5a1fb0d0 nixos/dmidecode: added recommended patches
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
(cherry picked from commit d284d3203a)
2020-09-11 08:47:13 -03:00
Lassulus
ae8cbb739f Merge pull request #97712 from nyanloutre/maj_electron_cash_20_09
electron-cash: 4.0.14 -> 4.1.0
2020-09-11 13:07:44 +02:00
Félix Baylac-Jacqué
e9f3523736 prosody: 0.11.5 -> 0.11.6
See https://blog.prosody.im/prosody-0.11.6-released/ for the release
notes.

(cherry picked from commit b47cabb6ac)
2020-09-11 12:16:12 +02:00
Luflosi
efc358ed37 [20.09] j: fix build on darwin
(cherry picked from commit fbefec0)
2020-09-11 11:37:35 +02:00
Michael Weiss
2b4b36a3eb signal-desktop: 1.35.1 -> 1.36.1
(cherry picked from commit f192636304)
2020-09-11 11:30:45 +02:00
Martin Weinelt
8ab64ff68a pythonPackages.supervisor: drop glibc-2.31 patch
A fix was integrated into the 4.2.1 release.

(cherry picked from commit 4607f02589)
2020-09-11 11:17:25 +02:00
Maximilian Bosch
947219c33e wdisplays: fix startup on sway 1.5
Starting `wdisplays` on a NixOS 20.09 with `sway-1.5` breaks with the
following output:

```
(wdisplays:28400): Gtk-WARNING **: 10:26:38.619: Could not load a pixbuf from /org/gtk/libgtk/theme/Adwaita/assets/bullet-symbolic.svg.
This may indicate that pixbuf loaders or the mime database could not be found.
Gdk-Message: 10:26:38.752: Error reading events from display: Success
```

The first two warnings can be fixed by adding `wrapGAppsHook`. The last
error is an upstream bug that can be fixed by applying the patch from a
pending PR[1].

[1] https://github.com/cyclopsian/wdisplays/pull/20

(cherry picked from commit 0a21d06682)
2020-09-11 11:12:22 +02:00
Raghav Sood
be3cb555a4 solc: 0.6.8 -> 0.7.1
(cherry picked from commit 3fab5dda5ba1c7b4c0c5f79341c256abe631efc3)
2020-09-11 13:44:07 +08:00
Drew Risinger
2e4b24fab7 python3Packages.parso: disable on python 2.7
* Disabled on python 2.7
* Updated meta
* Changed to pytestCheckHook

(cherry picked from commit 8f6436a825)
2020-09-10 20:37:42 -04:00
Robert Scott
da320dba12 pythonPackages.pysnow: fix build & tests
(cherry picked from commit 9627ae4f9a)
2020-09-10 16:59:51 -07:00
Robert Scott
ddfce992cd pythonPackages.pyjet: fix tests
tests are now pytest tests, and not included in the pypi tarball

(cherry picked from commit ef82f49fc0)
2020-09-10 16:58:58 -07:00
Robert Scott
1b14d6e44d Merge pull request #97704 from treed/backport-rpm-darwin
[20.09] rpm: add openmp when building with clang
2020-09-11 00:57:00 +01:00
Robert Scott
44cbbdcf22 pythonPackages.pq: fix build
we can't run the tests anyway, so remove fragile attempts to patch them

(cherry picked from commit 70c56dd486)
2020-09-10 16:56:29 -07:00
Robert Scott
5d891798e2 pythonPackages.hiredis: fix tests
just requires the source-directory-hiding trick

(cherry picked from commit 483fa86c36)
2020-09-10 16:56:23 -07:00
zowoq
2b26ce72c7 go_1_14: 1.14.8 -> 1.14.9
(cherry picked from commit 619061532a)
2020-09-11 09:54:48 +10:00
zowoq
1e190dd3ce go: 1.15.1 -> 1.15.2
(cherry picked from commit 240d8246e8)
2020-09-11 09:54:36 +10:00
Daniël de Kok
f1784d3bc6 clpeak: fix build
The build of clpeak recently started failing because opencl-clhpp was
updated. The latest version of opencl-hpp does not ship the deprecated
cl.hpp header anymore.

(cherry picked from commit 5f6738228d)
2020-09-10 16:47:47 -07:00
Drew Risinger
b6a1ccd933 python3Packages.nmigen: fix build
Tried to debug failure & traced it to subprocess.Popen calling fork_exec()
with a bad path, but couldn't reproduce error from manual debugging
using ``nix-shell``.

Bad path meaning that most paths were of form /nix/store/.../bin/sby,
but one path was "sby" only. That's my only guess as to what would
be causing this failure.

(cherry picked from commit b03c729c88)
2020-09-10 15:21:37 -07:00
Maximilian Bosch
0e9a35b52c vorta: 0.7.0 -> 0.7.1
https://github.com/borgbase/vorta/releases/tag/v0.7.1
(cherry picked from commit 195842dd86)
2020-09-10 23:55:13 +02:00
Jonathan Ringer
d9717d34a0 python3Packages.executor: 21.3 -> 23.1, fix tests
(cherry picked from commit 5916b96370)
2020-09-10 14:45:23 -07:00
nyanloutre
889e9ff4e5 electron-cash: 4.0.14 -> 4.1.0
(cherry picked from commit d3958aa3fa)
2020-09-10 23:41:00 +02:00
Tethys Svensson
2c239b1e95 discord-canary: 0.0.111 -> 0.0.112
(cherry picked from commit 1937fd3f19)
2020-09-10 14:26:46 -07:00
Tethys Svensson
afeff10b59 discord-ptb: 0.0.21 -> 0.0.22
(cherry picked from commit 3ca40eebf9)
2020-09-10 14:26:46 -07:00
Tethys Svensson
4055b3a225 discord: 0.0.11 -> 0.0.12
(cherry picked from commit 977147bd04)
2020-09-10 14:26:46 -07:00
Ted Reed
f70d5740f3 rpm: add openmp when building with clang
The Darwin build has been broken with a missing header file "omp.h";
llvmPackages.openmp provides it.

Including this library is only necessary when clang is used.

(cherry picked from commit b8e0f0cd72)
2020-09-10 13:19:26 -07:00
Vincent Laporte
1d71e17fb4 coqPackages.Verdi: enable for Coq 8.12
(cherry picked from commit 5f3be6b669)
2020-09-10 22:14:12 +02:00
Vincent Laporte
8df6852749 coqPackages.paco: enable for Coq 8.12
(cherry picked from commit 7f797b9521)
2020-09-10 22:11:15 +02:00
arcnmx
f96ce3a5a6 Fix arch eval error introduced in #61019
This occurs when using a `platform.gcc.arch` that isn't one of the
pre-existing hard-coded options.

(cherry picked from commit 8f3efbde4e)
2020-09-10 14:49:11 -05:00
Félix Baylac-Jacqué
5500dc83c3 test-driver.py: fix VM state directory deletion
The previous version of the code would only kick in if the state
directory path pointed at a *file*, which never occurs. Making that
codepath actually work reveals an ordering bug, which this patch fixes
as well.

It also replaces the confusing, imperative case log message "delete VM
state directory" with "deleting VM state directory".

Finally, we hint the user about how to prevent this deletion. IE. by
passing the --keep-vm-state flag.

Bug report:
https://github.com/NixOS/nixpkgs/pull/91046#issuecomment-685568750

Credit goes to Edef for the rebase on top of a recent nixpkgs commit
and for writing most of this commit message.

Co-authored-by: edef <edef@edef.eu>
(cherry picked from commit ecb73fd555)
2020-09-10 21:31:49 +02:00
Dominique Martinet
c3dea4d115 systemd-confinement: handle ExecStarts etc being lists
systemd-confinement's automatic package extraction does not work correctly
if ExecStarts ExecReload etc are lists.

Add an extra flatten to make things smooth.

Fixes #96840.

(cherry picked from commit fd196452f0)
2020-09-10 21:17:53 +02:00
Robert Scott
06fc6d1d7f Merge pull request #97676 from danieldk/age-backport
[20.09] postgresqlPackages.age: fix build
2020-09-10 19:42:00 +01:00
Izorkin
2aec639e1c nixos/nginx: remove option enableSandbox
(cherry picked from commit 535896671b)
2020-09-10 20:34:30 +02:00
Vladimír Čunát
5c60bbb987 nixos release notes: fixup build after #96991
(cherry picked from commit ec49caa0b0)
2020-09-10 19:59:20 +02:00
WORLDofPEACE
f4c73ef127 Merge pull request #97593 from Patryk27/fix-lxd-tests-backport-20.09
[20.09] lxd: Backport #97550
2020-09-10 13:16:23 -04:00
WORLDofPEACE
4b87b6f516 Merge pull request #97648 from immae/fix_ejabberd
[20.09] ejabberd: fix failing tests
2020-09-10 13:15:49 -04:00
WORLDofPEACE
d8845663d9 Merge pull request #97637 from erikarvstedt/fix-pypkgs-20.09
[20.09] Fix paperless and other Python pkgs
2020-09-10 13:15:32 -04:00
WORLDofPEACE
6ce30567ba Merge pull request #97636 from ryneeverett/backport-lxpanel-20.03-zhf
[20.09] lxpanel: fix build by switching to gdk-pixbuf-xlib
2020-09-10 13:13:46 -04:00
Gabriel Ebner
92947e4ae0 mlton: use $TMPDIR
(cherry picked from commit 213feab38a)
2020-09-10 18:11:27 +02:00
Daniël de Kok
3cdd40ed27 postgresqlPackages.age: fix build
The build broke by a recent bison update. Use bison_3_5.

(cherry picked from commit 58b66c0dcb)
2020-09-10 17:58:57 +02:00
Ismaël Bouya
faf2373e8f nagios: fix build
The compiler complains about dl* function missing, this commit adds the
necessary flag to pass to gcc to make it build correctly

(cherry picked from commit 213623e291)
2020-09-10 08:55:33 -07:00
Mikolaj Galkowski
b8de5a6834 unityhub: update to 2.3.2
(cherry picked from commit 60c3ade786)
2020-09-10 17:09:21 +02:00
Mikolaj Galkowski
3a757abce1 unityhub: fix editor with versions >= 2020.1.3f1 not opening
(cherry picked from commit 1c4de332c3)
2020-09-10 17:09:20 +02:00
Gabriel Ebner
4e43b8a9e7 Merge pull request #97625 from drewrisinger/zhf/pyfakefs-20.09
[20.09] python3Packages.pyfakefs: disable on py2.7
2020-09-10 16:38:20 +02:00
Tim Steinbach
9a3d3bbd90 jenkins: 2.235.5 -> 2.249.1 2020-09-10 10:36:54 -04:00
Tim Steinbach
59407f47bb linux/hardened/patches/5.8: 5.8.7.a -> 5.8.8.a 2020-09-10 10:36:46 -04:00
Tim Steinbach
07f3bf7c8d linux/hardened/patches/5.4: 5.4.63.a -> 5.4.64.a 2020-09-10 10:36:46 -04:00
Tim Steinbach
eca85f3930 linux/hardened/patches/4.19: 4.19.143.a -> 4.19.144.a 2020-09-10 10:36:46 -04:00
Tim Steinbach
4bcb41d47e linux/hardened/patches/4.14: 4.14.196.a -> 4.14.197.a 2020-09-10 10:36:46 -04:00
Tim Steinbach
e305495a58 linux: 5.8.7 -> 5.8.8 2020-09-10 10:36:46 -04:00
Tim Steinbach
43003fb2c2 linux: 5.4.63 -> 5.4.64 2020-09-10 10:36:46 -04:00
Tim Steinbach
699b8d3deb linux: 4.19.143 -> 4.19.144 2020-09-10 10:36:46 -04:00
Tim Steinbach
49243408ee linux: 4.14.196 -> 4.14.197 2020-09-10 10:36:46 -04:00
Ismaël Bouya
1a8d8dd6a6 ejabberd: fix failing tests
This commit fixes the ejabberd tests for hydra:

mod_http_upload and mod_disco need to be explicitly enabled, and a
handler needs to be setup to make it work. Also, the client needs to be
able to contact the server.

The commit also fixes the situation where http upload failed: in that
case the client would wait forever because nothing catched the error.

Finally, there remains a non-reproducible error where ejabberd server
fails to start with an error like:
format: "Failed to create cookie file '/var/lib/ejabberd/.erlang.cookie': eacces"
(happens ~15%) I tried to check existence of /var/lib/ejabberd/ in
pre-start script and saw nothing that would explain this error, so I
gave up about this error in particular.

(cherry picked from commit cdaec7e9ed)
2020-09-10 12:03:49 +02:00
Michael Weiss
5a27ca12f9 chromium: 85.0.4183.83 -> 85.0.4183.102
https://chromereleases.googleblog.com/2020/09/stable-channel-update-for-desktop.html

This update includes 5 security fixes.

CVEs:
CVE-2020-6573 CVE-2020-6574 CVE-2020-6575 CVE-2020-6576 CVE-2020-15959

(cherry picked from commit a9c78519d6)
2020-09-10 10:24:00 +02:00
William Kral
4a1d2f7507 jwt-cli: fix build
(cherry picked from commit fb5a153c26)
2020-09-10 17:19:18 +10:00
Erik Arvstedt
83bc4e3caa paperless: fix build
Paperless was dependent on older older versions of recently updated
Python packages.
2020-09-10 09:14:54 +02:00
Erik Arvstedt
72c9c5bea5 python3Packages.django_extensions: 2.2.8 -> 3.0.8 2020-09-10 09:14:54 +02:00
Erik Arvstedt
79693de9a7 python3Packages.django-picklefield: fix tests 2020-09-10 09:14:54 +02:00
ryneeverett
803517d3d1 lxpanel: fix build by switching to gdk-pixbuf-xlib
The build has been broken since gdk-pixbuf-xlib was broken out into a
separate package in #88086.

For some reason if I just add gdk-pixbuf-xlib.dev the headers don't make it
into CFLAGS.

(cherry picked from commit 5b49a74747)
2020-09-10 07:12:37 +00:00
Gabriel Ebner
87aa949c77 nixos/qt5ct: do not require qtstyleplugins
These do not build with qt 5.15.

(cherry picked from commit 4bf695e988)
2020-09-10 08:51:45 +02:00
Patryk Wychowaniec
5585bd755d lxd: s/sha256/hash
(cherry picked from commit 183d9abdaf)
2020-09-10 07:45:33 +02:00
Patryk Wychowaniec
567bec03f5 lxd: add wait_for_file() to ensure LXD is actually running
(cherry picked from commit 93b8435915)
2020-09-10 07:45:29 +02:00
Patryk Wychowaniec
d5442b726f lxd: use stable URL for Alpine's image
(cherry picked from commit 04111cb356)
2020-09-10 07:45:07 +02:00
Vincent Laporte
16b3748827 coqPackages.paramcoq: init at 1.1.2 for Coq 8.12
(cherry picked from commit 6e08d23707)
2020-09-10 07:00:21 +02:00
Jörg Thalheim
ed443268ce nixos/installer: enable sshd by default
Right now the UX for installing NixOS on a headless system is very bad.
To enable sshd without physical steps users have to have either physical
access or need to be very knowledge-able to figure out how to modify the
installation image by hand to put an `sshd.service` symlink in the
right directory in /nix/store. This is in particular a problem on ARM
SBCs (single board computer) but also other hardware where network is
the only meaningful way to access the hardware.

This commit enables sshd by default. This does not give anyone access to
the NixOS installer since by default. There is no user with a non-empty
password or key. It makes it easy however to add ssh keys to the
installation image (usb stick, sd-card on arm boards) by simply mounting
it and adding a keys to `/root/.ssh/authorized_keys`.
Importantly this should not require nix/nixos on the machine that
prepare the installation device and even feasiable on non-linux systems
by using ext4 third party drivers.

Potential new threats: Since this enables sshd by default a
potential bug in openssh could lead to remote code execution. Openssh
has a very good track-record over the last 20 years, which makes it
far more likely that Linux itself would have a remote code execution
vulnerability. It is trusted by millions of servers on many operating
systems to be exposed to the internet by default.

Co-authored-by: Samuel Dionne-Riel <samuel@dionne-riel.com>
(cherry picked from commit a5872edf2f)
2020-09-10 06:15:32 +02:00
Drew Risinger
9c17cc2510 python3Packages.pyfakefs: disable on py2.7
* No longer supports python < 3.5, so disabled.
* Enables tests that were disabled due to bugs.
* Add changelog

(cherry picked from commit a9d7ea7781a4e7726932ca0d2ffa876abc02c06f)
2020-09-09 23:18:50 -04:00
worldofpeace
26c98e742f rl-2009: document rngd
(cherry picked from commit ca674c1769)
2020-09-09 21:54:07 -04:00
nicoo
fc5f50a949 nixos/modules/security/rngd: Disable by default
`rngd` seems to be the root cause for slow boot issues, and its functionality is
redundant since kernel v3.17 (2014), which introduced a `krngd` task (in kernel
space) that takes care of pulling in data from hardware RNGs:

> commit be4000bc4644d027c519b6361f5ae3bbfc52c347
> Author: Torsten Duwe <duwe@lst.de>
> Date:   Sat Jun 14 23:46:03 2014 -0400
>
>     hwrng: create filler thread
>
>     This can be viewed as the in-kernel equivalent of hwrngd;
>     like FUSE it is a good thing to have a mechanism in user land,
>     but for some reasons (simplicity, secrecy, integrity, speed)
>     it may be better to have it in kernel space.
>
>     This patch creates a thread once a hwrng registers, and uses
>     the previously established add_hwgenerator_randomness() to feed
>     its data to the input pool as long as needed. A derating factor
>     is used to bias the entropy estimation and to disable this
>     mechanism entirely when set to zero.

Closes: #96067
(cherry picked from commit e64d3f60fb)
2020-09-09 21:54:07 -04:00
Piotr Bogdan
159760a955 nixos/openvpn: path now requires conversion to a string
Following changes in https://github.com/NixOS/nixpkgs/pull/91092 the `path` attribute is now a list
instead of being a string. This resulted resulted in the following evaluation error:

"cannot coerce a list to a string, at [...]/nixos/modules/services/networking/openvpn.nix:16:18"

so we now need to convert it to the right type ourselves.

Closes https://github.com/NixOS/nixpkgs/issues/97360.

(cherry picked from commit cb141359bf)
2020-09-10 02:03:25 +02:00
WORLDofPEACE
6294ee2fbd Merge pull request #97604 from mkg20001/rolling
[20.09] cinnamon fixes
2020-09-09 19:08:20 -04:00
Maciej Krüger
03c54b978f nixos/cinnamon: add warpinator & blueberry pkgs
(cherry picked from commit 8c4dd13e3f)
2020-09-09 23:55:15 +02:00
Maciej Krüger
8b6f99c4c5 cinnamon.warpinator: license fix
(cherry picked from commit 9b9d0fd5d5)
2020-09-09 23:55:15 +02:00
Maciej Krüger
28dec5fe33 cinnamon.warpinator: init at 1.0.8
(cherry picked from commit bf9e9cd08a)
2020-09-09 23:55:15 +02:00
Robert Hensing
3b50998b4f Merge pull request #97490 from risicle/ris-jug-fix-r20.09
[20.09] pythonPackages.jug: fix tests
2020-09-09 22:59:13 +02:00
Maximilian Bosch
820c16b2e2 pass-wayland: use proper derivation for .withExtensions
The `pass.withExtensions`-function uses `buildEnv` to create a
derivation which contains a `pass`-package and a list of extensions for
it.

However, this function always uses the `pass`-attribute for `buildEnv` which
will break e.g. `passmenu` or `pass show -c` on desktops using Wayland (and
`pass-wayland.withExtensions`) since the default `pass`-package without
support for Wayland's clipboard is used.

This patch replaces the `pass`-attribute in the derivation with
`pass-wayland` to work around this issue.

(cherry picked from commit 1186c16889)
2020-09-09 22:51:18 +02:00
Robert Hensing
32c45947ab Merge pull request #97508 from OPNA2608/backport-20.09-palemoon-wrapping-libpulseaudio
[20.09] palemoon: Add libpulseaudio to wrapper
2020-09-09 22:47:38 +02:00
Gabriel Ebner
b0349fc6e1 ncftp: do not override $TMPDIR
(cherry picked from commit 07999f480b)
2020-09-09 22:13:35 +02:00
Milan Pässler
1309be91f1 flashrom: fix aarch64 build
(cherry-picked from commit f7e0ff0f35)
2020-09-09 21:18:08 +02:00
WORLDofPEACE
9089e5aad5 Merge pull request #97580 from zookatron/release-20.09
[20.09] csvkit: fix failing test
2020-09-09 15:06:44 -04:00
WORLDofPEACE
fc35e4da08 Merge pull request #97573 from woffs/recoll-qt5-20.09
[20.09] recoll: qt4 -> qt5, fix build
2020-09-09 15:05:59 -04:00
Gabriel Ebner
a824b76b79 mlton: use callPackage
(cherry picked from commit ad0d43e1a7)
2020-09-09 20:51:03 +02:00
Gabriel Ebner
3a8c2b75c2 mlton: fix build
(cherry picked from commit a7f9d336b7)
2020-09-09 20:51:03 +02:00
Tim Zook
ca58161d1c [20.09] csvkit: fix failing test
The build for this package was failing due to failing tests that were caused by a breaking change in a dependency. The requirements.txt for this package does not pin specific versions so it was trying to build with the new version of the dependency and failing. This commit overrides the version of the dependency that is used to build the package.

(cherry picked from commit 32c9ee2cfc)
2020-09-09 13:29:19 -05:00
Robert Scott
c6e9ba3d89 pythonPackages.jug: fix tests
these seem to have switched to pytest tests in 2.0.2

(cherry picked from commit 570dbab975)
2020-09-09 19:21:05 +01:00
WilliButz
3265417378 codimd: build with nodejs-12_x instead of nodejs-10_x
The codimd test is now exposed via passthru.tests

(cherry picked from commit 46e3949819)
2020-09-09 19:48:52 +02:00
William Kral
786a346d0b python3Packages.jq: 0.1.8 -> 1.0.2
(cherry picked from commit cf54ef99b6)
2020-09-09 10:39:59 -07:00
Frank Doepper
ab77e4d4a4 recoll: qt4 -> qt5, fix build
(cherry picked from commit 9cdfa8adc2)
2020-09-09 19:39:37 +02:00
WORLDofPEACE
1d6f2020d1 Merge pull request #97567 from cole-h/release-20.09
[20.09] verilog: unstable-2019-08-01 -> unstable-2020-08-24
2020-09-09 12:59:58 -04:00
Cole Helbling
ea1009728a verilog: unstable-2019-08-01 -> unstable-2020-08-24
The build would previously fail due to a change in bison's behavior (see
5b699c1be7
for more information). Updating to a more recent version fixes this
issue.

(cherry picked from commit 339f6248f6)
2020-09-09 09:51:12 -07:00
Thomas Tuegel
8d94bf05d2 Merge pull request #97524 from ttuegel/staging-20.09--plasma5-qt-5.12
[20.09] Plasma 5: Revert to Qt 5.12
2020-09-09 11:45:29 -05:00
makefu
46f14c8f1b pythonPackages.pyhaversion: py3k only
(cherry picked from commit b30dfc4f4b)
2020-09-09 18:30:38 +02:00
makefu
f053f1c83e pythonPackages.aresponses: only py3k
(cherry picked from commit 467dcc5b75)
2020-09-09 18:30:36 +02:00
Tim Steinbach
ca0615ca4a linux/hardened/patches/5.8: init at 5.8.7.a 2020-09-09 12:25:58 -04:00
Tim Steinbach
0be4612d3c linux/hardened/patches/5.4: 5.4.61.a -> 5.4.63.a 2020-09-09 12:25:58 -04:00
Tim Steinbach
8e78d438a0 linux/hardened/patches/4.19: 4.19.142.a -> 4.19.143.a 2020-09-09 12:25:58 -04:00
Tim Steinbach
1b136af5a0 linux/hardened/patches/4.14: 4.14.195.a -> 4.14.196.a 2020-09-09 12:25:58 -04:00
Tim Steinbach
e8bcb18ed8 linux: 5.4.62 -> 5.4.63 2020-09-09 12:25:58 -04:00
Tim Steinbach
86b2fa90c3 Merge pull request #97288 from Atemu/update/linux_5_8
linux_5_8: 5.8.6 -> 5.8.7
2020-09-09 12:25:43 -04:00
Frederik Rietdijk
0615f935d9 Merge release-20.09 into staging-20.09 2020-09-09 18:21:46 +02:00
WORLDofPEACE
b8244d1f3f Merge pull request #97559 from fgaz/zhf-backports/maintainers-build-fix
[20.09] maintainers/build: skip packages without meta
2020-09-09 12:21:25 -04:00
WORLDofPEACE
81d088f79d Merge pull request #97558 from minijackson/jellyfin-stateVersion-20.09-releaseNotes-backport
[20.09] Jellyfin state version 20.09 release notes backport
2020-09-09 12:12:36 -04:00
Francesco Gazzetta
558d5ce485 maintainers/build: skip packages without meta
Some packages do not have a meta attribute, and made the script crash.

(cherry picked from commit b4496d4095)
2020-09-09 18:06:39 +02:00
Minijackson
57414330ce nixos/jellyfin: document stateVersion 20.09 in release notes
(cherry picked from commit ad48050cad)
2020-09-09 18:03:44 +02:00
Vladimír Čunát
e6ff3ab9df Merge #97528: aegisub: fix build with make 4.3
(cherry picked from commit e7979aadea)
2020-09-09 17:56:58 +02:00
WORLDofPEACE
dfafbfb4cf Merge pull request #97552 from prusnak/electron-20.09
[20.09] Electron updates
2020-09-09 11:51:59 -04:00
midchildan
b55a44dd66 dmd: relax ld purity check for checkPhase
Fix #97420

(cherry picked from commit 5e8e75a0c6)
ZHF: #97479
Fixes #97549
2020-09-09 11:49:49 -04:00
WORLDofPEACE
fe7ff327f3 Merge pull request #97554 from arapov/release-20.09
[20.09] nodePackages.node-red: fix build
2020-09-09 11:48:11 -04:00
Pavol Rusnak
a049411995 1password-gui: move required electron version to package definition
(cherry picked from commit 1c10ce66c5)
2020-09-09 17:40:59 +02:00
worldofpeace
0281de09d3 electron: move definition into generic.nix
(cherry picked from commit 504750252a)
2020-09-09 17:40:54 +02:00
Pavol Rusnak
d04dd0af69 electron_7: 7.3.1 -> 7.3.3
(cherry picked from commit 6954f77845)
2020-09-09 17:40:48 +02:00
Pavol Rusnak
b4c85510a4 electron_8: 8.3.1 -> 8.5.1
(cherry picked from commit 4599eb4595)
2020-09-09 17:40:43 +02:00
Pavol Rusnak
e579db441e electron_9: 9.0.2 -> 9.3.0
(cherry picked from commit b7f0533d2a)
2020-09-09 17:40:39 +02:00
Pavol Rusnak
86e0afa4ed electron_10: init at 10.1.1
(cherry picked from commit 8d9fadd3e0)
2020-09-09 17:40:34 +02:00
Anton Arapov
08d766de1c nodePackages.node-red: fix build
resolves issue #89205

Signed-off-by: Anton Arapov <arapov@gmail.com>
(cherry picked from commit e5701710e3)
2020-09-09 17:40:08 +02:00
WORLDofPEACE
3ea149361a Merge pull request #97547 from IvarWithoutBones/backport-xwallpaper
[20.09] xwallpaper: remove libseccomp dependency
2020-09-09 11:07:43 -04:00
IvarWithoutBones
6aca5b354b xwallpaper: formatting fix
(cherry picked from commit cff6e7b161)
2020-09-09 17:01:23 +02:00
IvarWithoutBones
89c2e38e83 xwallpaper: remove libseccomp dependency
(cherry picked from commit 4008f2c6ea)
2020-09-09 17:01:06 +02:00
Thomas Tuegel
195158b278 appstream-qt: multiple outputs 2020-09-09 10:59:37 -04:00
Thomas Tuegel
c70f96ca59 nixos/plasma5: use qt512 2020-09-09 10:59:37 -04:00
Thomas Tuegel
37a2b71b52 sddm: use qt512 2020-09-09 10:59:37 -04:00
Thomas Tuegel
14bd8c888b colord-kde: use qt512 2020-09-09 10:59:37 -04:00
Thomas Tuegel
f101cb2d47 khotkeys: not broken with qt512 2020-09-09 10:59:37 -04:00
Thomas Tuegel
ce4eb0b79b plasma5: pin to qt512 2020-09-09 10:59:37 -04:00
Vladimír Čunát
8ab01ebd34 knot-resolver: 5.1.2 -> 5.1.3
https://gitlab.nic.cz/knot/knot-resolver/-/tags/v5.1.3
(cherry picked from commit 3c45610ddd)
It contains primarily bugfixes, and 20.09 only just forked anyway.
2020-09-09 16:55:25 +02:00
worldofpeace
fbf9074f92 Merge remote-tracking branch 'upstream/release-20.09' into staging-20.09 2020-09-09 10:25:52 -04:00
WORLDofPEACE
234823228a Merge pull request #97537 from taku0/flashplayer-32.0.0.433_20.09
[20.09] flashplayer: 32.0.0.414 -> 32.0.0.433
2020-09-09 10:22:45 -04:00
taku0
b9599213f7 flashplayer: 32.0.0.414 -> 32.0.0.433
(cherry picked from commit 807e4ae439)
2020-09-09 21:40:07 +09:00
Maximilian Bosch
3f4fc5fa29 python3Packages.todoist: fix build
See https://hydra.nixos.org/build/126777642
ZHF #97479

(cherry picked from commit f961ac6695)
2020-09-09 13:36:58 +02:00
volth
f59e416056 perlPackages: group aliases 2020-09-09 09:35:36 +00:00
volth
7980e04dcc undo efc70eb6d7 2020-09-09 09:35:36 +00:00
volth
eedd4746f7 [cpan2nix] perlPackages.NetAmazonS3: 0.89 -> 0.91 2020-09-09 09:35:31 +00:00
volth
f820e2aeee [cpan2nix] perlPackages.Catmandu: 1.2012 -> 1.2013 2020-09-09 09:35:29 +00:00
volth
ca32556a66 [cpan2nix] perlPackages.CatalystDevel: 1.40 -> 1.41 2020-09-09 09:35:26 +00:00
volth
64508a8ce5 [cpan2nix] perlPackages.CatalystXScriptServerStarman: cleanup 2020-09-09 09:35:26 +00:00
volth
c72f059d2f [cpan2nix] perlPackages.DistZillaPluginTestPodLinkCheck: cleanup 2020-09-09 09:35:18 +00:00
volth
c0c72c4f75 [cpan2nix] perlPackages.CatalystPluginSessionStateCookie: 0.17 -> 0.18 2020-09-09 09:35:17 +00:00
volth
8644d1975f [cpan2nix] perlPackages.CatalystViewTT: 0.44 -> 0.45 2020-09-09 09:35:14 +00:00
volth
4e41dd4f3d [cpan2nix] perlPackages.CatalystPluginStaticSimple: cleanup 2020-09-09 09:35:10 +00:00
volth
82a1f311a3 [cpan2nix] perlPackages.CatalystPluginConfigLoader: 0.34 -> 0.35 2020-09-09 09:35:10 +00:00
volth
664d7997c7 [cpan2nix] perlPackages.DistZilla: cleanup 2020-09-09 09:35:09 +00:00
volth
f624344dab [cpan2nix] perlPackages.Connector: 1.28 -> 1.32 2020-09-09 09:35:03 +00:00
volth
a564ff17c6 [cpan2nix] perlPackages.HTMLFormFu: cleanup 2020-09-09 09:35:02 +00:00
volth
5b51533bb7 [cpan2nix] perlPackages.TestLWPUserAgent: cleanup 2020-09-09 09:34:54 +00:00
volth
704ee7c114 [cpan2nix] perlPackages.PlackMiddlewareDebug: cleanup 2020-09-09 09:34:54 +00:00
volth
ad49ed3ec5 [cpan2nix] perlPackages.LWPUserAgentDNSHosts: 0.13 -> 0.14 2020-09-09 09:34:53 +00:00
volth
2021d942c4 [cpan2nix] perlPackages.DBIxClassHelpers: cleanup 2020-09-09 09:34:53 +00:00
volth
e09f3a9f86 [cpan2nix] perlPackages.TestFakeHTTPD: 0.08 -> 0.09 2020-09-09 09:34:52 +00:00
volth
1ab3d002b1 [cpan2nix] perlPackages.AppSqitch: cleanup 2020-09-09 09:34:48 +00:00
volth
071d7f5b84 [cpan2nix] perlPackages.RTClientREST: cleanup 2020-09-09 09:34:37 +00:00
volth
0337f17edd [cpan2nix] perlPackages.TestPodLinkCheck: cleanup 2020-09-09 09:34:33 +00:00
volth
1a54bf5857 [cpan2nix] perlPackages.MooseXMethodAttributes: 0.31 -> 0.32 2020-09-09 09:34:23 +00:00
volth
58880b4bff [cpan2nix] perlPackages.DataVisitor: 0.30 -> 0.31 2020-09-09 09:34:21 +00:00
volth
0a912213d6 [cpan2nix] perlPackages.LaTeXML: cleanup 2020-09-09 09:34:18 +00:00
volth
9979866b49 [cpan2nix] perlPackages.DateTimeFormatNatural: 1.09 -> 1.10 2020-09-09 09:34:13 +00:00
volth
096afd1caf [cpan2nix] perlPackages.Moose: 2.2012 -> 2.2013 2020-09-09 09:34:12 +00:00
volth
f35fad0059 [cpan2nix] perlPackages.AnyEventRabbitMQ: cleanup 2020-09-09 09:34:08 +00:00
volth
72c87f6cd6 [cpan2nix] perlPackages.DateTimeFormatISO8601: 0.08 -> 0.14 2020-09-09 09:34:07 +00:00
volth
8c923f4db8 [cpan2nix] perlPackages.DateTimeFormatBuilder: 0.82 -> 0.83 2020-09-09 09:34:06 +00:00
volth
647590b224 [cpan2nix] perlPackages.CodeTidyAll: cleanup 2020-09-09 09:34:05 +00:00
volth
62dc8a9c1a [cpan2nix] perlPackages.DateTimeFormatStrptime: cleanup 2020-09-09 09:34:05 +00:00
volth
f6207d98d3 [cpan2nix] perlPackages.DateTime: cleanup 2020-09-09 09:34:04 +00:00
volth
416f244b6a [cpan2nix] perlPackages.AppClusterSSH: 4.15 -> 4.16 2020-09-09 09:34:04 +00:00
volth
f61a8abc99 [cpan2nix] perlPackages.CryptOpenPGP: cleanup 2020-09-09 09:34:03 +00:00
volth
4069d5e7a2 [cpan2nix] perlPackages.DateTimeLocale: 1.25 -> 1.28 2020-09-09 09:34:02 +00:00
volth
42583462d4 [cpan2nix] perlPackages.TestPerlTidy: cleanup 2020-09-09 09:34:02 +00:00
volth
ab32d4aa9d [cpan2nix] perlPackages.LogDispatchouli: 2.019 -> 2.022 2020-09-09 09:34:02 +00:00
volth
f1d60433a3 [cpan2nix] perlPackages.W3CLinkChecker: cleanup 2020-09-09 09:34:01 +00:00
volth
1ab9f21c8a [cpan2nix] perlPackages.CPANUploader: 0.103014 -> 0.103015 2020-09-09 09:33:57 +00:00
volth
9fcde078d6 [cpan2nix] perlPackages.MetaCPANClient: 2.026000 -> 2.028000 2020-09-09 09:33:56 +00:00
volth
7f66a318d5 [cpan2nix] perlPackages.ModuleCPANTSAnalyse: cleanup 2020-09-09 09:33:56 +00:00
volth
78eaafcdd2 [cpan2nix] perlPackages.Mojomysql: 1.19 -> 1.20 2020-09-09 09:33:55 +00:00
volth
1aa2c65be5 [cpan2nix] perlPackages.CGICompile: 0.24 -> 0.25 2020-09-09 09:33:54 +00:00
volth
0cb9374396 [cpan2nix] perlPackages.Appperlbrew: cleanup 2020-09-09 09:33:53 +00:00
volth
8b7fbf5fea [cpan2nix] perlPackages.LogDispatch: 2.69 -> 2.70 2020-09-09 09:33:52 +00:00
volth
4519f37cfb [cpan2nix] perlPackages.DateTimeTimeZone: cleanup 2020-09-09 09:33:51 +00:00
volth
370b81b477 [cpan2nix] perlPackages.MojoSQLite: 3.003 -> 3.004 2020-09-09 09:33:42 +00:00
volth
2970f34b79 [cpan2nix] perlPackages.WWWMechanize: cleanup 2020-09-09 09:33:41 +00:00
volth
379c8208cb [cpan2nix] perlPackages.CryptSSLeay: cleanup 2020-09-09 09:33:39 +00:00
volth
2dcd8314e4 [cpan2nix] perlPackages.HTMLMason: cleanup 2020-09-09 09:33:38 +00:00
volth
c7072aeb19 [cpan2nix] perlPackages.SQLTranslator: cleanup 2020-09-09 09:33:37 +00:00
volth
f98994bbe2 [cpan2nix] perlPackages.GnuPGInterface: cleanup 2020-09-09 09:33:36 +00:00
volth
abbe385ff3 [cpan2nix] perlPackages.CPANMini: cleanup 2020-09-09 09:33:33 +00:00
volth
fa4709b069 [cpan2nix] perlPackages.SystemCommand: cleanup 2020-09-09 09:33:30 +00:00
volth
66dc4bab06 [cpan2nix] perlPackages.DevelDeclare: cleanup 2020-09-09 09:33:28 +00:00
volth
219fb726dc [cpan2nix] perlPackages.AlienGMP: cleanup 2020-09-09 09:33:28 +00:00
volth
feb71b35b9 [cpan2nix] perlPackages.LWPProtocolHttps: 6.07 -> 6.09 2020-09-09 09:33:27 +00:00
volth
5aad49e0f2 [cpan2nix] perlPackages.ApacheAuthCookie: cleanup 2020-09-09 09:33:27 +00:00
volth
21313abd0c [cpan2nix] perlPackages.MojoPg: cleanup 2020-09-09 09:33:25 +00:00
volth
e8d6b3aa4e [cpan2nix] perlPackages.HTTPEntityParser: 0.22 -> 0.24 2020-09-09 09:33:24 +00:00
volth
e33e4cae4a [cpan2nix] perlPackages.XMLLibXML: cleanup 2020-09-09 09:33:22 +00:00
volth
6801304d30 [cpan2nix] perlPackages.Alienm4: cleanup 2020-09-09 09:33:19 +00:00
volth
0955083540 [cpan2nix] perlPackages.XMLParser: 2.44 -> 2.46 2020-09-09 09:33:19 +00:00
volth
d8431c8a24 [cpan2nix] perlPackages.Alienpatch: cleanup 2020-09-09 09:33:16 +00:00
volth
614ede7e98 [cpan2nix] perlPackages.TemplateToolkit: 3.008 -> 3.009 2020-09-09 09:33:16 +00:00
volth
d3a4685159 [cpan2nix] perlPackages.NetFreeDB: cleanup 2020-09-09 09:33:15 +00:00
volth
a77c437ec2 [cpan2nix] perlPackages.Mouse: cleanup 2020-09-09 09:33:15 +00:00
volth
8747a8d521 [cpan2nix] perlPackages.LWP: 6.45 -> 6.47 2020-09-09 09:33:14 +00:00
volth
21cc537394 [cpan2nix] perlPackages.SQLAbstract: cleanup 2020-09-09 09:33:13 +00:00
volth
b68e2f1153 [cpan2nix] perlPackages.HTMLFormatTextWithLinks: cleanup 2020-09-09 09:33:13 +00:00
volth
31985af51f [cpan2nix] perlPackages.OpenAPIClient: 0.24 -> 0.25 2020-09-09 09:33:12 +00:00
volth
fdb84e00b1 [cpan2nix] perlPackages.MooXlate: cleanup 2020-09-09 09:33:12 +00:00
volth
369aae6e4d [cpan2nix] perlPackages.GamesSolitaireVerify: cleanup 2020-09-09 09:33:11 +00:00
volth
6222174269 [cpan2nix] perlPackages.CGIEmulatePSGI: cleanup 2020-09-09 09:33:10 +00:00
volth
2428f27101 [cpan2nix] perlPackages.AlienLibxml2: cleanup 2020-09-09 09:33:10 +00:00
volth
e7dc155fb3 [cpan2nix] perlPackages.PPIxQuoteLike: 0.011 -> 0.012 2020-09-09 09:33:10 +00:00
volth
db1acff1a7 [cpan2nix] perlPackages.MojoliciousPluginOpenAPI: 3.33 -> 3.35 2020-09-09 09:33:10 +00:00
volth
441a5f51ad [cpan2nix] perlPackages.DBDMariaDB: cleanup 2020-09-09 09:33:09 +00:00
volth
5c88f66026 [cpan2nix] perlPackages.Clipboard: cleanup 2020-09-09 09:33:09 +00:00
volth
5afc69cd90 [cpan2nix] perlPackages.Redis: 1.996 -> 1.998 2020-09-09 09:33:08 +00:00
volth
955408448e [cpan2nix] perlPackages.JSONValidator: 4.00 -> 4.02 2020-09-09 09:33:07 +00:00
volth
12919157c6 [cpan2nix] perlPackages.CGI: 4.49 -> 4.50 2020-09-09 09:33:07 +00:00
volth
ba680c0acd [cpan2nix] perlPackages.podlinkcheck: cleanup 2020-09-09 09:33:07 +00:00
volth
f121a00844 [cpan2nix] perlPackages.SubHandlesVia: 0.013 -> 0.014 2020-09-09 09:33:03 +00:00
volth
fd67127cc2 [cpan2nix] perlPackages.NetPrometheus: cleanup 2020-09-09 09:33:01 +00:00
volth
01c62532e1 [cpan2nix] perlPackages.MailDKIM: 1.20200513.1 -> 1.20200907 2020-09-09 09:33:00 +00:00
volth
f08acb145d [cpan2nix] perlPackages.HTMLRewriteAttributes: cleanup 2020-09-09 09:32:59 +00:00
volth
34fdce8802 [cpan2nix] perlPackages.HTMLForm: cleanup 2020-09-09 09:32:59 +00:00
volth
2685b309bd [cpan2nix] perlPackages.GetoptLongDescriptive: cleanup 2020-09-09 09:32:59 +00:00
volth
10ffaa21ba [cpan2nix] perlPackages.AltCryptRSABigInt: cleanup 2020-09-09 09:32:58 +00:00
volth
0cb5e16b63 [cpan2nix] perlPackages.AlienBuild: 2.26 -> 2.29 2020-09-09 09:32:58 +00:00
volth
5984d160f9 [cpan2nix] perlPackages.HTMLParser: 3.72 -> 3.75 2020-09-09 09:32:55 +00:00
volth
1e39862556 [cpan2nix] perlPackages.DataMessagePack: cleanup 2020-09-09 09:32:54 +00:00
volth
edfac3e950 [cpan2nix] perlPackages.ConfigGitLike: cleanup 2020-09-09 09:32:54 +00:00
volth
d7b7e8b408 [cpan2nix] perlPackages.Specio: cleanup 2020-09-09 09:32:54 +00:00
volth
0e41fa5fdc [cpan2nix] perlPackages.PerlPrereqScannerNotQuiteLite: 0.9911 -> 0.9913
dependencies:
perlPackages.URIcpan: init at 1.007
2020-09-09 09:32:53 +00:00
volth
d85e3c33f9 [cpan2nix] perlPackages.MojoliciousPluginStatus: cleanup 2020-09-09 09:32:52 +00:00
volth
e4475b36f7 [cpan2nix] perlPackages.MailBox: 3.008 -> 3.009 2020-09-09 09:32:52 +00:00
volth
78146d163e [cpan2nix] perlPackages.PPIxRegexp: 0.072 -> 0.074 2020-09-09 09:32:48 +00:00
volth
8ed1f96a57 [cpan2nix] perlPackages.MooXStrictConstructor: cleanup 2020-09-09 09:32:47 +00:00
volth
d94857961b [cpan2nix] perlPackages.HTTPMessage: 6.24 -> 6.25 2020-09-09 09:32:47 +00:00
volth
9b691837c0 [cpan2nix] perlPackages.DBIxSearchBuilder: 1.67 -> 1.68 2020-09-09 09:32:46 +00:00
volth
6db918afa0 [cpan2nix] perlPackages.TestMost: cleanup 2020-09-09 09:32:44 +00:00
volth
92ff56fb98 [cpan2nix] perlPackages.Sereal: 4.014 -> 4.018 2020-09-09 09:32:44 +00:00
volth
07f068b484 [cpan2nix] perlPackages.ListAllUtils: 0.16 -> 0.18 2020-09-09 09:32:42 +00:00
volth
200f82b203 [cpan2nix] perlPackages.IOAsync: cleanup 2020-09-09 09:32:42 +00:00
volth
9304cdad59 [cpan2nix] perlPackages.Moo: cleanup 2020-09-09 09:32:40 +00:00
volth
c9010c69d0 [cpan2nix] perlPackages.ModuleSignature: 0.83 -> 0.87 2020-09-09 09:32:40 +00:00
volth
8dfa8eeb9c [cpan2nix] perlPackages.FileBOM: cleanup 2020-09-09 09:32:39 +00:00
volth
46d650b39b [cpan2nix] perlPackages.EmailMIME: cleanup 2020-09-09 09:32:39 +00:00
volth
c9801eaa61 [cpan2nix] perlPackages.DBDCSV: 0.54 -> 0.55 2020-09-09 09:32:39 +00:00
volth
306ad711df [cpan2nix] perlPackages.Test2PluginNoWarnings: 0.08 -> 0.09 2020-09-09 09:32:38 +00:00
volth
c20cb35a8c [cpan2nix] perlPackages.SerealEncoder: 4.014 -> 4.018 2020-09-09 09:32:38 +00:00
volth
0b9aea7ce7 [cpan2nix] perlPackages.LocaleCodes: 3.64 -> 3.65 2020-09-09 09:32:36 +00:00
volth
09a258f9fc [cpan2nix] perlPackages.IPCRun: cleanup 2020-09-09 09:32:35 +00:00
volth
b2947f851a [cpan2nix] perlPackages.FileMap: 0.66 -> 0.67 2020-09-09 09:32:35 +00:00
volth
2c5e15cd68 [cpan2nix] perlPackages.DateManip: cleanup 2020-09-09 09:32:34 +00:00
volth
1107b86bcd [cpan2nix] perlPackages.SerealDecoder: 4.014 -> 4.018 2020-09-09 09:32:25 +00:00
volth
f06f956969 [cpan2nix] perlPackages.Pegex: cleanup 2020-09-09 09:32:24 +00:00
volth
c494dfe757 [cpan2nix] perlPackages.MailTransport: 3.004 -> 3.005 2020-09-09 09:32:23 +00:00
volth
839dbe3aad [cpan2nix] perlPackages.LinguaStem: 0.84 -> 2.30 2020-09-09 09:32:23 +00:00
volth
d72a8f325a [cpan2nix] perlPackages.FFICheckLib: cleanup 2020-09-09 09:32:22 +00:00
volth
2a6a19a694 [cpan2nix] perlPackages.CPANPLUS: cleanup 2020-09-09 09:32:22 +00:00
volth
18a38e8490 [cpan2nix] perlPackages.XSObjectMagic: cleanup 2020-09-09 09:32:21 +00:00
volth
150a6fdd7b [cpan2nix] perlPackages.Test2Suite: 0.000130 -> 0.000135 2020-09-09 09:32:21 +00:00
volth
5a607492a7 [cpan2nix] perlPackages.StringUtil: 1.26 -> 1.31 2020-09-09 09:32:19 +00:00
volth
f3ce752b74 [cpan2nix] perlPackages.POSIXstrftimeCompiler: 0.42 -> 0.44 2020-09-09 09:32:18 +00:00
volth
38d468eabf [cpan2nix] perlPackages.PDFAPI2: 2.037 -> 2.038 2020-09-09 09:32:18 +00:00
volth
3d4571bf1d [cpan2nix] perlPackages.MailMessage: cleanup 2020-09-09 09:32:16 +00:00
volth
413db9668a [cpan2nix] perlPackages.Gtk3SimpleList: cleanup 2020-09-09 09:32:15 +00:00
volth
9028d3b428 [cpan2nix] perlPackages.Future: cleanup 2020-09-09 09:32:14 +00:00
volth
54ab2130cc [cpan2nix] perlPackages.Dotenv: cleanup 2020-09-09 09:32:14 +00:00
volth
82176b93c3 [cpan2nix] perlPackages.ArchiveZip: cleanup 2020-09-09 09:32:13 +00:00
volth
6b760a2440 [cpan2nix] perlPackages.TestMockModule: cleanup 2020-09-09 09:32:12 +00:00
volth
5d27b509e4 [cpan2nix] perlPackages.TestMetricsAny: cleanup 2020-09-09 09:32:12 +00:00
volth
9b5bdf3e20 [cpan2nix] perlPackages.Gtk3: cleanup 2020-09-09 09:32:09 +00:00
volth
9ea978fe8f [cpan2nix] perlPackages.FileLibMagic: 1.22 -> 1.23 2020-09-09 09:32:07 +00:00
volth
1f732dce92 [cpan2nix] perlPackages.AuthenKrb5Admin: cleanup 2020-09-09 09:32:05 +00:00
volth
6114b9fc38 [cpan2nix] perlPackages.TextTemplate: 1.58 -> 1.59 2020-09-09 09:32:04 +00:00
volth
0949d73704 [cpan2nix] perlPackages.TestTrailingSpace: cleanup 2020-09-09 09:32:04 +00:00
volth
9650ec4589 [cpan2nix] perlPackages.StructDumb: cleanup 2020-09-09 09:32:03 +00:00
volth
4aacb8e30c [cpan2nix] perlPackages.MetricsAny: 0.05 -> 0.06 2020-09-09 09:32:02 +00:00
volth
2da2372600 [cpan2nix] perlPackages.HashMerge: 0.300 -> 0.302 2020-09-09 09:32:02 +00:00
volth
8d1d9e2c19 [cpan2nix] perlPackages.AuthenKrb5: cleanup 2020-09-09 09:32:00 +00:00
volth
c391a388f6 [cpan2nix] perlPackages.TypeTiny: 1.010002 -> 1.010006 2020-09-09 09:31:59 +00:00
volth
9f61a1d67c [cpan2nix] perlPackages.TestFatal: 0.014 -> 0.016 2020-09-09 09:31:58 +00:00
volth
ed30193c78 [cpan2nix] perlPackages.NetDNSResolverMock: cleanup 2020-09-09 09:31:56 +00:00
volth
5bd755dd7a [cpan2nix] perlPackages.MailAuthenticationResults: 1.20200331.1 -> 1.20200824.1 2020-09-09 09:31:56 +00:00
volth
987ade36e0 [cpan2nix] perlPackages.Coro: 6.55 -> 6.57 2020-09-09 09:31:54 +00:00
volth
85f722fd53 [cpan2nix] perlPackages.CGISimple: cleanup 2020-09-09 09:31:53 +00:00
volth
739b8b8c41 [cpan2nix] perlPackages.YAMLPP: 0.022 -> 0.025 2020-09-09 09:31:52 +00:00
volth
657abff028 [cpan2nix] perlPackages.TestWarnings: cleanup 2020-09-09 09:31:50 +00:00
volth
042e71f65b [cpan2nix] perlPackages.POE: cleanup 2020-09-09 09:31:48 +00:00
volth
fba9289eea [cpan2nix] perlPackages.MojoliciousPluginAssetPack: 2.08 -> 2.09 2020-09-09 09:31:47 +00:00
volth
b7016e325a [cpan2nix] perlPackages.MathPrimeUtil: cleanup 2020-09-09 09:31:46 +00:00
volth
593886145a [cpan2nix] perlPackages.DevelPatchPerl: cleanup 2020-09-09 09:31:44 +00:00
volth
943bc56bf9 [cpan2nix] perlPackages.DevelCheckOS: cleanup 2020-09-09 09:31:44 +00:00
volth
124640298b [cpan2nix] perlPackages.CryptRandom: cleanup 2020-09-09 09:31:43 +00:00
volth
9796cbeacd [cpan2nix] perlPackages.CryptJWT: 0.028 -> 0.029 2020-09-09 09:31:43 +00:00
volth
e06ec9b92b [cpan2nix] perlPackages.AnyEventHTTP: cleanup 2020-09-09 09:31:40 +00:00
volth
043fcd19f1 [cpan2nix] perlPackages.StringInterpolate: cleanup 2020-09-09 09:31:35 +00:00
volth
8fdafb7173 [cpan2nix] perlPackages.NetIPv6Addr: 0.96 -> 1.01 2020-09-09 09:31:33 +00:00
volth
ce0f766ff0 [cpan2nix] perlPackages.ModuleCompile: 0.37 -> 0.38 2020-09-09 09:31:32 +00:00
volth
d40888e79d [cpan2nix] perlPackages.Inline: 0.83 -> 0.86 2020-09-09 09:31:31 +00:00
volth
30e7d78e8d [cpan2nix] perlPackages.IOSocketSSL: cleanup 2020-09-09 09:31:31 +00:00
volth
e58abcc805 [cpan2nix] perlPackages.IOPager: cleanup 2020-09-09 09:31:31 +00:00
volth
56e13cfd7f [cpan2nix] perlPackages.HTTPTinyish: 0.16 -> 0.17 2020-09-09 09:31:30 +00:00
volth
6bb811f286 [cpan2nix] perlPackages.Glib: cleanup 2020-09-09 09:31:30 +00:00
volth
be1c82a529 [cpan2nix] perlPackages.GD: 2.71 -> 2.72 2020-09-09 09:31:29 +00:00
volth
0083824507 [cpan2nix] perlPackages.ExtUtilsCppGuess: cleanup 2020-09-09 09:31:27 +00:00
volth
d3c3bdb14f [cpan2nix] perlPackages.EV: cleanup 2020-09-09 09:31:27 +00:00
volth
416ae6fe82 [cpan2nix] perlPackages.IOCompress: 2.093 -> 2.096 2020-09-09 09:31:24 +00:00
volth
06b5b9d330 [cpan2nix] perlPackages.ack: v3.3.1 -> v3.4.0 2020-09-09 09:31:20 +00:00
volth
16cda9185b [cpan2nix] perlPackages.TextTable: cleanup 2020-09-09 09:31:18 +00:00
volth
845b283d1e [cpan2nix] perlPackages.TestCompile: v2.4.0 -> v2.4.1 2020-09-09 09:31:16 +00:00
volth
11dec3c71f [cpan2nix] perlPackages.SearchXapian: cleanup 2020-09-09 09:31:14 +00:00
volth
60107e2e92 [cpan2nix] perlPackages.NetDNS: 1.24 -> 1.26 2020-09-09 09:31:11 +00:00
volth
a121ea007a [cpan2nix] perlPackages.MojoliciousPluginWebpack: 0.12 -> 0.13 2020-09-09 09:31:10 +00:00
volth
0375ff6e18 [cpan2nix] perlPackages.ModuleScanDeps: 1.27 -> 1.29 2020-09-09 09:31:09 +00:00
volth
0890ef411e [cpan2nix] perlPackages.ListCompare: 0.53 -> 0.55 2020-09-09 09:31:06 +00:00
volth
a16d4a1627 [cpan2nix] perlPackages.JSONMaybeXS: cleanup 2020-09-09 09:31:05 +00:00
volth
ad165d2940 [cpan2nix] perlPackages.HTTPDate: cleanup 2020-09-09 09:31:04 +00:00
volth
e144f1ff7e [cpan2nix] perlPackages.FileUtil: 4.161950 -> 4.201720 2020-09-09 09:31:02 +00:00
volth
010e512358 [cpan2nix] perlPackages.ExtUtilsF77: 1.23 -> 1.24 2020-09-09 09:31:01 +00:00
volth
c81ac8de88 [cpan2nix] perlPackages.EmailMIMEContentType: cleanup 2020-09-09 09:31:00 +00:00
volth
f212863a93 [cpan2nix] perlPackages.DBDSQLite: 1.64 -> 1.66 2020-09-09 09:30:58 +00:00
volth
a00f2f64d1 [cpan2nix] perlPackages.DBDPg: 3.12.3 -> 3.14.2 2020-09-09 09:30:58 +00:00
volth
f797425d6c [cpan2nix] perlPackages.ConfigIniFiles: cleanup 2020-09-09 09:30:56 +00:00
volth
feb965a3de [cpan2nix] perlPackages.Clone: cleanup 2020-09-09 09:30:56 +00:00
volth
145a7c8096 [cpan2nix] perlPackages.vidir: 0.042 -> 0.050 2020-09-09 09:30:51 +00:00
volth
cf3296a693 [cpan2nix] perlPackages.threadsshared: removed built-in 2020-09-09 09:30:51 +00:00
volth
3d26c72c47 [cpan2nix] perlPackages.bignum: removed built-in 2020-09-09 09:30:47 +00:00
volth
757240f13f [cpan2nix] perlPackages.YAMLLibYAML: cleanup 2020-09-09 09:30:46 +00:00
volth
718328ceec [cpan2nix] perlPackages.Version: 0.9924 -> 0.9927 2020-09-09 09:30:43 +00:00
volth
86b530b3c9 [cpan2nix] perlPackages.Tk: cleanup 2020-09-09 09:30:41 +00:00
volth
e2d8d7eb70 [cpan2nix] perlPackages.TimeDate: cleanup 2020-09-09 09:30:39 +00:00
volth
9f3a3b2b23 [cpan2nix] perlPackages.ThreadQueue: removed built-in 2020-09-09 09:30:37 +00:00
volth
65fbb72032 [cpan2nix] perlPackages.TextCSV_XS: 1.43 -> 1.44 2020-09-09 09:30:33 +00:00
volth
c76d63e417 [cpan2nix] perlPackages.TextAligner: cleanup 2020-09-09 09:30:32 +00:00
volth
a5b2176380 [cpan2nix] perlPackages.Testutf8: cleanup 2020-09-09 09:30:32 +00:00
volth
b378f2dbdd [cpan2nix] perlPackages.TestTempDirTiny: cleanup 2020-09-09 09:30:31 +00:00
volth
9b8aa5cd7b [cpan2nix] perlPackages.TestSimple13: 1.302175 -> 1.302177 2020-09-09 09:30:31 +00:00
volth
4e274cceb6 [cpan2nix] perlPackages.TestRequires: cleanup 2020-09-09 09:30:28 +00:00
volth
a4b61c7174 [cpan2nix] perlPackages.TestMemoryGrowth: 0.03 -> 0.04 2020-09-09 09:30:26 +00:00
volth
12104b468e [cpan2nix] perlPackages.TestDeep: cleanup 2020-09-09 09:30:24 +00:00
volth
366256fed7 [cpan2nix] perlPackages.SysMmap: cleanup 2020-09-09 09:30:21 +00:00
volth
e76f3a6bab [cpan2nix] perlPackages.Storable: removed built-in 2020-09-09 09:30:17 +00:00
volth
3b839fca12 [cpan2nix] perlPackages.StatisticsChiSquare: cleanup 2020-09-09 09:30:17 +00:00
volth
1c761b4993 [cpan2nix] perlPackages.ScalarListUtils: cleanup 2020-09-09 09:30:14 +00:00
volth
ff22c6525b [cpan2nix] perlPackages.SafeHole: cleanup 2020-09-09 09:30:13 +00:00
volth
db7edc0387 [cpan2nix] perlPackages.RegexpGrammars: cleanup 2020-09-09 09:30:11 +00:00
volth
3a1554b478 [cpan2nix] perlPackages.PkgConfig: 0.23026 -> 0.24026 2020-09-09 09:30:06 +00:00
volth
f84860d54e [cpan2nix] perlPackages.Perlosnames: cleanup 2020-09-09 09:30:06 +00:00
volth
07c8f29de1 [cpan2nix] perlPackages.PerlIOLayers: cleanup 2020-09-09 09:30:05 +00:00
volth
d214d39c3e [cpan2nix] perlPackages.PathTiny: cleanup 2020-09-09 09:30:04 +00:00
volth
ce8ad25aa6 [cpan2nix] perlPackages.Parent: cleanup 2020-09-09 09:30:03 +00:00
volth
a6e6589377 [cpan2nix] perlPackages.OggVorbisHeaderPurePerl: 1.0 -> 1.04 2020-09-09 09:30:00 +00:00
volth
f0612109c3 [cpan2nix] perlPackages.NetSNPP: cleanup 2020-09-09 09:29:58 +00:00
volth
fdbd6dfece [cpan2nix] perlPackages.NetSFTPForeign: 1.90 -> 1.91 2020-09-09 09:29:57 +00:00
volth
051beb3bb9 [cpan2nix] perlPackages.NetPing: cleanup 2020-09-09 09:29:56 +00:00
volth
6ca1b8d618 [cpan2nix] perlPackages.NetOpenSSH: cleanup 2020-09-09 09:29:56 +00:00
volth
67967e4f6e [cpan2nix] perlPackages.MozillaCA: cleanup 2020-09-09 09:29:55 +00:00
volth
1ac482a114 [cpan2nix] perlPackages.ModernPerl: cleanup 2020-09-09 09:29:52 +00:00
volth
012d41be88 [cpan2nix] perlPackages.MathPari: cleanup 2020-09-09 09:29:50 +00:00
volth
85a36e9834 [cpan2nix] perlPackages.MathBigRat: removed built-in 2020-09-09 09:29:49 +00:00
volth
c5243bbba8 [cpan2nix] perlPackages.MathBigIntLite: 0.18 -> 0.19 2020-09-09 09:29:49 +00:00
volth
06c92315ff [cpan2nix] perlPackages.MathBigInt: 1.999816 -> 1.999818 2020-09-09 09:29:49 +00:00
volth
fdc8009bee [cpan2nix] perlPackages.MP3Tag: cleanup 2020-09-09 09:29:47 +00:00
volth
d7fe19dbfc [cpan2nix] perlPackages.MP3Info: cleanup 2020-09-09 09:29:47 +00:00
volth
1301d46be1 [cpan2nix] perlPackages.MCE: 1.872 -> 1.874 2020-09-09 09:29:46 +00:00
volth
fad732a3fc [cpan2nix] perlPackages.LogJournald: cleanup 2020-09-09 09:29:46 +00:00
volth
aa7a3189ec [cpan2nix] perlPackages.LogLog4perl: 1.49 -> 1.52 2020-09-09 09:29:45 +00:00
volth
bac36fbaf9 [cpan2nix] perlPackages.JSONParse: 0.56 -> 0.57 2020-09-09 09:29:41 +00:00
volth
2ade24dc1f [cpan2nix] perlPackages.JSONPP: 4.04 -> 4.05 2020-09-09 09:29:40 +00:00
volth
269e90b3b4 [cpan2nix] perlPackages.Importer: 0.025 -> 0.026 2020-09-09 09:29:40 +00:00
volth
8b882bc913 [cpan2nix] perlPackages.Imager: cleanup 2020-09-09 09:29:40 +00:00
volth
809cc5ec4c [cpan2nix] perlPackages.IPCSystemSimple: cleanup 2020-09-09 09:29:38 +00:00
volth
66e10e06a4 [cpan2nix] perlPackages.IPCSysV: 2.07 -> 2.08 2020-09-09 09:29:38 +00:00
volth
4964f14020 [cpan2nix] perlPackages.IOTee: 0.65 -> 0.66 2020-09-09 09:29:36 +00:00
volth
a909242f76 [cpan2nix] perlPackages.GitAutofixup: cleanup 2020-09-09 09:29:31 +00:00
volth
6bf2fe6fc3 [cpan2nix] perlPackages.GetoptLong: 2.51 -> 2.52 2020-09-09 09:29:31 +00:00
volth
a4870c355e [cpan2nix] perlPackages.Filter: 1.59 -> 1.60 2020-09-09 09:29:29 +00:00
volth
0d379fd903 [cpan2nix] perlPackages.FileTemp: removed built-in 2020-09-09 09:29:28 +00:00
volth
5816e32480 [cpan2nix] perlPackages.FileSlurp: 9999.30 -> 9999.32 2020-09-09 09:29:27 +00:00
volth
35395e094a [cpan2nix] perlPackages.FilePath: 2.16 -> 2.17 2020-09-09 09:29:27 +00:00
volth
86a732adb6 [cpan2nix] perlPackages.ExtUtilsManifest: removed built-in 2020-09-09 09:29:24 +00:00
volth
c0b518c4c8 [cpan2nix] perlPackages.ExtUtilsInstall: 2.14 -> 2.16 2020-09-09 09:29:24 +00:00
volth
6459b738ee [cpan2nix] perlPackages.ExtUtilsMakeMaker: 7.44 -> 7.46 2020-09-09 09:29:22 +00:00
volth
b37b6eb95e [cpan2nix] perlPackages.ExporterTiny: cleanup 2020-09-09 09:29:19 +00:00
volth
96745d9393 [cpan2nix] perlPackages.Encode: 3.06 -> 3.07 2020-09-09 09:29:17 +00:00
volth
a9a23fb6eb [cpan2nix] perlPackages.DeviceSerialPort: cleanup 2020-09-09 09:29:14 +00:00
volth
67efe59295 [cpan2nix] perlPackages.DevelPPPort: 3.58 -> 3.60 2020-09-09 09:29:13 +00:00
volth
062468aa29 [cpan2nix] perlPackages.DevelLeak: cleanup 2020-09-09 09:29:13 +00:00
volth
049f3b8ac3 [cpan2nix] perlPackages.DevelHide: cleanup 2020-09-09 09:29:13 +00:00
volth
8d2302e718 [cpan2nix] perlPackages.DataUUID: cleanup 2020-09-09 09:29:12 +00:00
volth
02c95ec228 [cpan2nix] perlPackages.DataSerializer: cleanup 2020-09-09 09:29:12 +00:00
volth
4fb7c6744f [cpan2nix] perlPackages.DataDumper: removed built-in 2020-09-09 09:29:10 +00:00
volth
d0b6281fba [cpan2nix] perlPackages.DBI: cleanup 2020-09-09 09:29:10 +00:00
volth
d08ddd79d0 [cpan2nix] perlPackages.CryptX: 0.068 -> 0.069 2020-09-09 09:29:08 +00:00
volth
06a6679c69 [cpan2nix] perlPackages.CryptECB: cleanup 2020-09-09 09:29:04 +00:00
volth
14bfbb95c8 [cpan2nix] perlPackages.ConvertUU: cleanup 2020-09-09 09:29:03 +00:00
volth
6e37a7f358 [cpan2nix] perlPackages.ConvertBencode: cleanup 2020-09-09 09:29:03 +00:00
volth
f6b71c94ff [cpan2nix] perlPackages.CompressRawZlib: 2.093 -> 2.096 2020-09-09 09:29:02 +00:00
volth
56594a6007 [cpan2nix] perlPackages.CompressRawBzip2: 2.093 -> 2.096 2020-09-09 09:29:02 +00:00
volth
62eacd4d46 [cpan2nix] perlPackages.CompressBzip2: 2.27 -> 2.28 2020-09-09 09:29:02 +00:00
volth
ecc7e56df1 [cpan2nix] perlPackages.commonsense: cleanup 2020-09-09 09:29:01 +00:00
volth
0778127e4f [cpan2nix] perlPackages.ClassTiny: 1.006 -> 1.008 2020-09-09 09:29:01 +00:00
volth
698e73b6f5 [cpan2nix] perlPackages.ClassLoader: cleanup 2020-09-09 09:28:59 +00:00
volth
4381d49fa5 [cpan2nix] perlPackages.CatalystManual: 5.9010 -> 5.9011 2020-09-09 09:28:57 +00:00
volth
36ae652992 [cpan2nix] perlPackages.CacheMemcachedFast: cleanup 2020-09-09 09:28:56 +00:00
volth
70ddd22e93 [cpan2nix] perlPackages.CacheFastMmap: cleanup 2020-09-09 09:28:56 +00:00
volth
b0be696f3a [cpan2nix] perlPackages.CPANPerlReleases: 5.20200607 -> 5.20200820 2020-09-09 09:28:55 +00:00
volth
48e6dc1415 [cpan2nix] perlPackages.CGIMinimal: cleanup 2020-09-09 09:28:55 +00:00
volth
d0f43f614e [cpan2nix] perlPackages.CDDBFile: cleanup 2020-09-09 09:28:54 +00:00
volth
e5063952e0 [cpan2nix] perlPackages.BusinessISSN: cleanup 2020-09-09 09:28:54 +00:00
volth
dd4571a395 [cpan2nix] perlPackages.BCOW: cleanup 2020-09-09 09:28:53 +00:00
volth
b1bb5d7728 [cpan2nix] perlPackages.ArchiveTar: 2.36 -> 2.38 2020-09-09 09:28:53 +00:00
volth
31c9783064 [cpan2nix] perlPackages.Apprainbarf: cleanup 2020-09-09 09:28:52 +00:00
volth
58fa55d394 perl: remove obsolete patch 2020-09-09 09:28:07 +00:00
volth
f3877602da perlPackages: make it easier for the parser 2020-09-09 09:28:07 +00:00
Christoph Neidahl
ddd5f56ed7 palemoon: Add libpulseaudio to wrapper
(cherry picked from commit 5ee5bbef84)
2020-09-09 08:25:10 +02:00
misuzu
cb8686599b nixosTests.3proxy: fix flakiness
(cherry picked from commit 0c688868e7)
2020-09-08 21:50:00 -07:00
Vincent Laporte
69ab6a3e69 coqPackages.coqprime: init at 8.12 for Coq 8.12
(cherry picked from commit 607b0ae7ae)
2020-09-09 06:39:22 +02:00
WORLDofPEACE
ffe1621ea0 Merge pull request #97495 from jonringer/backport-xdis
[20.09] python3Packages.xdis: 4.2.4 -> 5.0.4, fix build
2020-09-08 21:29:48 -04:00
Jonathan Ringer
05a966fe15 python3Packages.xdis: 4.2.4 -> 5.0.4, fix build
(cherry picked from commit ff7e38b954)
2020-09-08 18:21:29 -07:00
John Ericson
2c3d422964 androidndk: Avoid depending on target-sensative openjdk
We just need jdk for this script that helps set up toolchains. The
script might need to know about the target platform, but the interpreter
that runs it (or part of it) doesn't.
2020-09-08 18:06:08 -07:00
John Ericson
55dd61043a lib.systems.examples: Bump android SDK to 21
074bc78cc8 evidently meant to do this, but
forgot.
2020-09-08 18:06:08 -07:00
John Ericson
9f68e349ff androidndkPkgs: Take version from underlying package
We can now do this, so let's.
2020-09-08 18:06:08 -07:00
John Ericson
1ae53f4d54 deployAndroidPackage: Use pname and version 2020-09-08 18:06:08 -07:00
John Ericson
b5476ce450 cc-wrapper: Fix for prebuilt android
We don't want to use Nix-built GCC's libs with prebuilt clang in this
case.
2020-09-08 18:06:08 -07:00
WORLDofPEACE
8d2040c265 Merge pull request #97492 from romildo/release-20.09.upd.ubuntu-themes
[20.09] ubuntu-themes: 19.04 -> 20.10
2020-09-08 20:48:57 -04:00
José Romildo Malaquias
525c0716ff ubuntu-themes: 19.04 -> 20.10
(cherry picked from commit 8ec4d97e9c)
2020-09-08 21:40:54 -03:00
WORLDofPEACE
d861ca40a3 Merge pull request #97489 from davidak/backport-defaultPackages
[20.09] add defaultPackages option
2020-09-08 20:38:48 -04:00
davidak
b78318e1c8 nixos/config: add defaultPackages option
readd perl (used in shell scripts), rsync (needed for NixOps) and strace (common debugging tool)

they where previously removed in https://github.com/NixOS/nixpkgs/pull/91213

Co-authored-by: Timo Kaufmann <timokau@zoho.com>
Co-authored-by: 8573 <8573@users.noreply.github.com>
(cherry picked from commit 74b3d66baf)
2020-09-09 02:29:18 +02:00
WORLDofPEACE
e83908c966 Merge pull request #97483 from cole-h/release-20.09
[20.09] cantata: add perl for dynamic playlists
2020-09-08 19:56:36 -04:00
Cole Helbling
524369c4ba cantata: add perl for dynamic playlists
Cantata wants to check if perl is available at runtime, but we already patch the
script shebangs, making it unnecessary to be available at runtime --
thus, patch out this check.

(cherry picked from commit fca7cc57ad)
2020-09-08 16:50:59 -07:00
WORLDofPEACE
3369f09a39 Merge pull request #97477 from kolaente/backport/20.09-jetbrains
Backport/20.09 jetbrains
2020-09-08 19:21:20 -04:00
kolaente
029b4a828e Update jetbrains.webstorm 2020.2 -> 2020.2.1
(cherry picked from commit ee939c9d18)
2020-09-08 23:20:35 +02:00
kolaente
7f7c971bc0 Update jetbrains.ruby-mine 2020.2 -> 2020.2.1
(cherry picked from commit 7b46916f94)
2020-09-08 23:20:35 +02:00
kolaente
a2436acaa2 Update jetbrains.rider 2020.2 -> 2020.2.1
(cherry picked from commit fe552e4534)
2020-09-08 23:20:35 +02:00
kolaente
01ab40b984 Update jetbrains.pycharm-professional 2020.2 -> 2020.2.1
(cherry picked from commit 2fa77fecfa)
2020-09-08 23:20:35 +02:00
kolaente
790939c31a Update jetbrains.pycharm-community 2020.2 -> 2020.2.1
(cherry picked from commit b5a8a3b87d)
2020-09-08 23:20:35 +02:00
kolaente
b444588ce6 Update jetbrains.phpstorm 2020.2 -> 2020.2.1
(cherry picked from commit d0ce498d54)
2020-09-08 23:20:35 +02:00
kolaente
fda5a96cc8 Update jetbrains.mps 2020.2 -> 2020.2.1
(cherry picked from commit 1ae3cac8fc)
2020-09-08 23:20:34 +02:00
kolaente
3be0a9f2fc Update jetbrains.idea-ultimate 2020.2 -> 2020.2.1
(cherry picked from commit 1281a5748c)
2020-09-08 23:20:34 +02:00
kolaente
2a98201737 Update jetbrains.idea-community 2020.2 -> 2020.2.1
(cherry picked from commit 70706259a4)
2020-09-08 23:20:34 +02:00
kolaente
ce8ecced45 Update jetbrains.goland 2020.2.1 -> 2020.2.2
(cherry picked from commit 120d6ed2fc)
2020-09-08 23:20:34 +02:00
kolaente
308922abba Update jetbrains.datagrip 2020.2 -> 2020.2.2
(cherry picked from commit 977620b029)
2020-09-08 23:20:34 +02:00
kolaente
c90cd42c01 Update jetbrains.clion 2020.2 -> 2020.2.1
(cherry picked from commit 487ea9d055)
2020-09-08 23:20:34 +02:00
zowoq
c411fe8ae0 Merge pull request #97428 from zowoq/2009-editorconfig
[20.09] .github/workflows/editorconfig.yml: remove
2020-09-09 06:39:42 +10:00
Maximilian Bosch
9211dc6a74 linuxPackages.wireguard: 1.0.20200729 -> 1.0.20200908
https://lists.zx2c4.com/pipermail/wireguard/2020-September/005817.html
(cherry picked from commit c73ef96b7e)
2020-09-08 22:34:35 +02:00
Maximilian Bosch
6ba161261d iwd: 1.8 -> 1.9
https://git.kernel.org/pub/scm/network/wireless/iwd.git/tree/ChangeLog?h=1.9
(cherry picked from commit a59a88cf3e)
2020-09-08 20:40:50 +02:00
Maximilian Bosch
3f4a519fc8 ell: 0.32 -> 0.33
https://git.kernel.org/pub/scm/libs/ell/ell.git/tree/ChangeLog?h=0.33
(cherry picked from commit f3ea9452fb)
2020-09-08 20:40:50 +02:00
Jonathan Ringer
ce77f2dbcb allegro: fix build, use texinfo6_5
(cherry picked from commit cceb63ff0a)
2020-09-08 10:25:03 -07:00
Oleksii Filonenko
ff6f1a65b1 Merge pull request #97439 from xfix/backport-caddy 2020-09-08 15:16:31 +03:00
Sylvain Fankhauser
17aa84a9f4 caddy: 2.0.0 -> 2.1.1
(cherry picked from commit 94ed8606c6)
2020-09-08 12:43:30 +02:00
Sylvain Fankhauser
efeb51f81d caddy: address remaining MR comments for v2
(cherry picked from commit b8bfe941fa)
2020-09-08 12:43:30 +02:00
Oleksii Filonenko
05eb101fbb release-notes/rl-2009: add item about Caddy v2
(cherry picked from commit c3a7c89a20)
2020-09-08 12:43:30 +02:00
Oleksii Filonenko
9527d0be18 caddy: 1.0.5 -> 2.0.0
Rename legacy v1 to `caddy1`

(cherry picked from commit 6322325a53)
2020-09-08 12:43:29 +02:00
Oleksii Filonenko
54ad14abfc nixosTests.caddy: update to v2
- Update configuration syntax
- Add filalex77 as a maintainer

(cherry picked from commit 06d2d84519)
2020-09-08 12:43:29 +02:00
Oleksii Filonenko
80a5560db9 nixos/caddy: use v2 by default
(cherry picked from commit d71cadacd9)
2020-09-08 12:43:29 +02:00
Oleksii Filonenko
e2b51af18a nixos/caddy: add support for v2
(cherry picked from commit 8cc592abfa)
2020-09-08 12:43:29 +02:00
Thomas Tuegel
f6b34a610d Merge pull request #97410 from ttuegel/release-20.09--qt-5.15
Qt 5.15
2020-09-08 05:18:41 -05:00
zowoq
4ea52040b6 [20.09] .github/workflows/editorconfig.yml: remove 2020-09-08 17:16:49 +10:00
zowoq
d351e49b64 the-way: disable check
disable until buildRustPackage supports setting test-threads in packages

(cherry picked from commit 8b1690a77e)
2020-09-08 17:10:46 +10:00
zowoq
4fee137f80 gitAndTools.git-interactive-rebase-tool: disable check
disable until buildRustPackage supports setting test-threads in packages

(cherry picked from commit e4cc68f766)
2020-09-08 17:10:39 +10:00
zowoq
c570cd1d1b castor: disable check
disable until buildRustPackage supports setting test-threads in packages

(cherry picked from commit 6a593a7d59)
2020-09-08 17:10:28 +10:00
Thomas Tuegel
a13a01924e Merge pull request #97242 from ttuegel/qt-5.15
Qt 5.15.0

(cherry picked from commit 0b3cc29f09)
2020-09-07 20:20:09 -05:00
WORLDofPEACE
ce03bc9939 Merge pull request #97408 from mkg20001/cinnamon20.09
[20.09] nixos/cinnamon: init
2020-09-07 20:51:49 -04:00
Maciej Krüger
cf795410be nixos/cinnamon: init
Co-Authored-By: WORLDofPEACE <worldofpeace@protonmail.ch>
(cherry picked from commit 04ea3a0ff6)
2020-09-08 02:15:05 +02:00
Maciej Krüger
8f1f3fc449 cinnamon.cinnamon-settings-daemon: add dev output
(cherry picked from commit 907f761b0a)
2020-09-08 02:15:05 +02:00
Maciej Krüger
315be74347 mint-x-icons: remove other package and expose from cinnamon namespace
(cherry picked from commit 996bdf7cd4)
2020-09-08 02:15:05 +02:00
Maciej Krüger
d1dd7f8bf2 vanilla-dmz: 0.4.4 -> 0.4.5 (+license fix)
The package debian/copyright states Attribution-ShareAlike 3.0 Unported
(CC BY-SA 3.0) which is cc-by-sa-30, was wrongly cc-by-nc-sa-30 which is
unfree

(cherry picked from commit b5839daf69)
2020-09-08 02:15:04 +02:00
Maciej Krüger
78a009a125 cinnamon.cinnamon-gsettings-overrides: init
(cherry picked from commit c08e45ff3b)
2020-09-08 02:15:04 +02:00
Maciej Krüger
209c4111dd mint-artwork: init at 1.4.3
(cherry picked from commit 4da4af45f7)
2020-09-08 02:15:04 +02:00
Maciej Krüger
213592f88b cinnamon.mint-x-icons: init at 1.5.5
(cherry picked from commit a5a97c3f64)
2020-09-08 02:15:04 +02:00
Maciej Krüger
1e57e1c073 cinnamon.*: now maintained by cinnamon team
(cherry picked from commit dd8233b72d)
2020-09-08 02:15:03 +02:00
Maciej Krüger
8611055877 cinnamon.cinnamon-common: patch & expose sessions
(cherry picked from commit 66f42fee47)
2020-09-08 02:15:03 +02:00
Maciej Krüger
fc97ec431f cinnamon.cinnamon-common: fix nma missing
(cherry picked from commit ec854b0c0d)
2020-09-08 02:15:03 +02:00
Maciej Krüger
2c0316e77a cinnamon.xapps: 1.6.10 -> 1.8.9
(cherry picked from commit 95eb753e67)
2020-09-08 02:15:03 +02:00
Maciej Krüger
f1aa20e9e8 cinnamon.nemo: 4.4.1 -> 4.6.5
(cherry picked from commit 0a7e5e4d01)
2020-09-08 02:15:02 +02:00
Maciej Krüger
f1c6a2bc78 cinnamon.muffin: 4.4.2 -> 4.6.3
(cherry picked from commit 9e13c3be9c)
2020-09-08 02:15:02 +02:00
Maciej Krüger
5973ece9f0 cinnamon.mint-y-icons: unstable -> 1.4.3
(cherry picked from commit b4abc9ba35)
2020-09-08 02:15:02 +02:00
Maciej Krüger
f44b919bbb cinnamon.mint-themes: 1.8.0 -> 1.8.6
(cherry picked from commit f11433c0dc)
2020-09-08 02:15:02 +02:00
Maciej Krüger
568d278282 cinnamon.cinnamon-session: 4.4.0 -> 4.6.4
(cherry picked from commit 527e625fc1)
2020-09-08 02:15:01 +02:00
Maciej Krüger
958cc63038 cinnamon.cinnamon-common: 4.4.1 -> 4.6.1
(cherry picked from commit 415bed22bb)
2020-09-08 02:15:01 +02:00
Maciej Krüger
7d96b5a2e5 cinnamon.cinnamon-session: 4.4.1 -> 4.6.1
(cherry picked from commit bd501a59d9)
2020-09-08 02:15:01 +02:00
Maciej Krüger
3215ad48ae cinnamon.cinnamon-screensaver: 4.4.0 -> 4.6.0
(cherry picked from commit 74b5685bba)
2020-09-08 02:15:01 +02:00
R. RyanTM
6b118aa234 cinnamon.cjs: 4.4.0 -> 4.6.0
(cherry picked from commit d078731ce5)
2020-09-08 02:15:01 +02:00
R. RyanTM
a0d0d05bd8 cinnamon.cinnamon-desktop: 4.4.1 -> 4.6.1
(cherry picked from commit 02b2bf7396)
2020-09-08 02:15:00 +02:00
R. RyanTM
383b991a7a cinnamon.cinnamon-menus: 4.4.0 -> 4.6.0
(cherry picked from commit 5676e96110)
2020-09-08 02:15:00 +02:00
Maciej Krüger
dec359780d cinnamon.cinnamon-control-center: 4.4.0 -> 4.6.0
(cherry picked from commit c768edfecf)
2020-09-08 02:15:00 +02:00
Maciej Krüger
c934811213 arc-theme: enable cinnamon
(cherry picked from commit 1e605712d2)
2020-09-08 02:15:00 +02:00
Maciej Krüger
f0e2178774 teams: add cinnamon team
(cherry picked from commit 4689b34d4f)
2020-09-08 02:14:59 +02:00
WORLDofPEACE
94b8935729 Merge pull request #97399 from samueldr/feature/20.09/remove-rpi4-image
sd-image-raspberrypi4: remove from stable channel
2020-09-07 18:12:43 -04:00
Samuel Dionne-Riel
1a675534b6 sd-image-raspberrypi4: remove from stable channel
As described at the moment this was introduced, this is not intended to
be a stable product for NixOS.
2020-09-07 17:22:56 -04:00
Jonathan Ringer
0cebf41b66 Release 20.09 alpha 2020-09-07 13:47:45 -07:00
45256 changed files with 1118382 additions and 3936528 deletions

View File

@@ -17,10 +17,6 @@ end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
# We want readFile .version to return the version without a newline.
[.version]
insert_final_newline = false
# see https://nixos.org/nixpkgs/manual/#chap-conventions
# Match json/lockfiles/markdown/nix/perl/python/ruby/shell/docbook files, set indent to spaces
@@ -51,68 +47,66 @@ indent_style = space
insert_final_newline = unset
trim_trailing_whitespace = unset
[*.{asc,key,ovpn}]
[*.{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
[deps.nix]
insert_final_newline = unset
trim_trailing_whitespace = unset
charset = unset
[eggs.nix]
trim_trailing_whitespace = unset
[gemset.nix]
insert_final_newline = unset
[node-{composition,packages}.nix]
insert_final_newline = unset
[nixos/modules/services/networking/ircd-hybrid/*.{conf,in}]
trim_trailing_whitespace = unset
[nixos/tests/systemd-networkd-vrf.nix]
trim_trailing_whitespace = unset
[pkgs/applications/editors/emacs-modes/recipes-archive-melpa.json]
indent_size = unset
[pkgs/build-support/dotnetenv/Wrapper/**]
end_of_line = unset
indent_style = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
[pkgs/build-support/upstream-updater/**]
trim_trailing_whitespace = unset
[pkgs/development/compilers/elm/registry.dat]
end_of_line = unset
insert_final_newline = unset
[pkgs/development/lisp-modules/quicklisp-to-nix.nix]
indent_size = unset
[pkgs/development/haskell-modules/hackage-packages.nix]
indent_style = unset
indent_size = unset
trim_trailing_whitespace = unset
[pkgs/misc/documentation-highlighter/**]
[pkgs/development/mobile/androidenv/generated/{addons,packages}.nix]
trim_trailing_whitespace = unset
[pkgs/development/node-packages/node-packages.nix]
insert_final_newline = unset
[pkgs/servers/dict/wordnet_structures.py]
indent_size = unset
trim_trailing_whitespace = unset
[pkgs/tools/misc/timidity/timidity.cfg]
[pkgs/top-level/emscripten-packages.nix]
trim_trailing_whitespace = unset
[pkgs/tools/virtualization/ovftool/*.ova]
end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
charset = unset
[lib/tests/*.plist]
indent_style = tab
insert_final_newline = unset
[pkgs/kde/generated/**]
insert_final_newline = unset
end_of_line = unset
[pkgs/top-level/perl-packages.nix]
indent_size = unset

View File

@@ -1,119 +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
# treewide: automatically md-convert option descriptions
2e751c0772b9d48ff6923569adfa661b030ab6a2
# nixos/*: automatically convert option docs
087472b1e5230ffc8ba642b1e4f9218adf4634a2
# nixos/*: automatically convert option descriptions
ef176dcf7e76c3639571d7c6051246c8fbadf12a
# nixos/*: automatically convert option docs to MD
61e93df1891972bae3e0c97a477bd44e8a477aa0
# nixos/*: convert options with admonitions to MD
722b99bc0eb57711c0498a86a3f55e6c69cdb05f
# nixos/*: automatically convert option docs
6039648c50c7c0858b5e506c6298773a98e0f066
# nixos/*: md-convert options with unordered lists
c915b915b5e466a0b0b2af2906cd4d2380b8a1de
# nixos/*: convert options with listings
f2ea09ecbe1fa1da32eaa6e036d64ac324a2986f
# nixos/*: convert straggler options to MD
1d41cff3dc4c8f37bb5841f51fcbff705e169178
# nixos/*: normalize manpage references to single-line form
423545fe4865d126e86721ba30da116e29c65004
# nixos/documentation: split options doc build
fc614c37c653637e5475a0b0a987489b4d1f351d
# nixos/*: convert options with admonitions to MD
722b99bc0eb57711c0498a86a3f55e6c69cdb05f
# nixos/*: convert internal option descriptions to MD
9547123258f69efd92b54763051d6dc7f3bfcaca
# nixos/*: replace </para><para> with double linebreaks
694d5b19d30bf66687b42fb77f43ea7cd1002a62
# treewide: add defaultText for options with simple interpolation defaults
fb0e5be84331188a69b3edd31679ca6576edb75a
# nixos/*: mark pre-existing markdown descriptions as mdDoc
7e7d68a250f75678451cd44f8c3d585bf750461e
# nixos/*: normalize link format
3aebb4a2be8821a6d8a695f0908d8567dc00de31
# nixos/*: replace <code> in option docs with <literal>
16102dce2fbad670bd47dd75c860a8daa5fe47ad
# nixos/*: add trivial defaultText for options with simple defaults
25124556397ba17bfd70297000270de1e6523b0a
# systemd: rewrite comments
92dfeb7b3dab820ae307c56c216d175c69ee93cd
# systemd: break too long lines of Nix code
67643f8ec84bef1482204709073e417c9f07eb87
# {pkgs/development/cuda-modules,pkgs/test/cuda,pkgs/top-level/cuda-packages.nix}: reformat all CUDA files with nixfmt-rfc-style 2023-03-01
802a1b4d3338f24cbc4efd704616654456d75a94
# postgresql: move packages.nix to ext/default.nix
719034f6f6749d624faa28dff259309fc0e3e730
# pkgs/os-specific/bsd: Reformat with nixfmt-rfc-style 2024-03-01
3fe3b055adfc020e6a923c466b6bcd978a13069a
# k3s: format with nixfmt-rfc-style
6cfcd3c75428ede517bc6b15a353d704837a2830
# python3Packages: format with nixfmt
59b1aef59071cae6e87859dc65de973d2cc595c0

2
.gitattributes vendored
View File

@@ -1,6 +1,4 @@
**/deps.nix linguist-generated
**/deps.json linguist-generated
**/deps.toml linguist-generated
**/node-packages.nix linguist-generated
pkgs/applications/editors/emacs-modes/*-generated.nix linguist-generated

375
.github/CODEOWNERS vendored
View File

@@ -6,116 +6,61 @@
#
# 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 @Mic92 @zowoq
# EditorConfig
/.editorconfig @Mic92 @zowoq
# Libraries
/lib @infinisil
/lib/systems @alyssais @ericson2314
/lib/generators.nix @infinisil @Profpatsch
/lib/cli.nix @infinisil @Profpatsch
/lib/debug.nix @infinisil @Profpatsch
/lib/asserts.nix @infinisil @Profpatsch
/lib/path.* @infinisil
/lib/fileset @infinisil
## Libraries / Module system
/lib/modules.nix @infinisil @roberth
/lib/types.nix @infinisil @roberth
/lib/options.nix @infinisil @roberth
/lib/tests/modules.sh @infinisil @roberth
/lib/tests/modules @infinisil @roberth
/lib @edolstra @nbp @infinisil
/lib/systems @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
# Nixpkgs Internals
/default.nix @Ericson2314
/pkgs/top-level/default.nix @Ericson2314
/pkgs/top-level/impure.nix @Ericson2314
/pkgs/top-level/stage.nix @Ericson2314
/pkgs/top-level/splice.nix @Ericson2314
/pkgs/top-level/release-cross.nix @Ericson2314
/pkgs/stdenv/generic @Ericson2314
/pkgs/stdenv/generic/check-meta.nix @Ericson2314
/pkgs/stdenv/cross @Ericson2314
/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
/pkgs/pkgs-lib @infinisil
## Format generators/serializers
/pkgs/pkgs-lib/formats/libconfig @ckiee @h7x4
/pkgs/pkgs-lib/formats/hocon @h7x4
# pkgs/by-name
/pkgs/test/check-by-name @infinisil
/pkgs/by-name/README.md @infinisil
/pkgs/top-level/by-name-overlay.nix @infinisil
/.github/workflows/check-by-name.yml @infinisil
/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/cross @Ericson2314 @matthewbauer
/pkgs/build-support/cc-wrapper @Ericson2314 @orivej
/pkgs/build-support/bintools-wrapper @Ericson2314 @orivej
/pkgs/build-support/setup-hooks @Ericson2314
# Nixpkgs build-support
/pkgs/build-support/writers @lassulus @Profpatsch
# Nixpkgs make-disk-image
/doc/build-helpers/images/makediskimage.section.md @raitobezarius
/nixos/lib/make-disk-image.nix @raitobezarius
# Nix, the package manager
pkgs/tools/package-management/nix/ @raitobezarius @ma27
nixos/modules/installer/tools/nix-fallback-paths.nix @raitobezarius @ma27
# Nixpkgs documentation
/maintainers/scripts/db-to-md.sh @jtojnar @ryantm
/maintainers/scripts/doc @jtojnar @ryantm
# Contributor documentation
/CONTRIBUTING.md @infinisil
/.github/PULL_REQUEST_TEMPLATE.md @infinisil
/doc/contributing/ @infinisil
/doc/contributing/contributing-to-documentation.chapter.md @jtojnar @infinisil
/lib/README.md @infinisil
/doc/README.md @infinisil
/nixos/README.md @infinisil
/pkgs/README.md @infinisil
/maintainers/README.md @infinisil
# User-facing development documentation
/doc/development.md @infinisil
/doc/development @infinisil
# NixOS Internals
/nixos/default.nix @infinisil
/nixos/lib/from-env.nix @infinisil
/nixos/lib/eval-config.nix @infinisil
/nixos/modules/system @dasJ
/nixos/modules/system/activation/bootspec.nix @grahamc @cole-h @raitobezarius
/nixos/modules/system/activation/bootspec.cue @grahamc @cole-h @raitobezarius
/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 integration test driver
/nixos/lib/test-driver @tfc
# NixOS QEMU virtualisation
/nixos/virtualisation/qemu-vm.nix @raitobezarius
# Systemd
/nixos/modules/system/boot/systemd.nix @NixOS/systemd
/nixos/modules/system/boot/systemd @NixOS/systemd
/nixos/lib/systemd-*.nix @NixOS/systemd
/pkgs/os-specific/linux/systemd @NixOS/systemd
# Systemd-boot
/nixos/modules/system/boot/loader/systemd-boot @JulienMalka
# Images and installer media
/nixos/modules/installer/cd-dvd/ @samueldr
/nixos/modules/installer/sd-card/ @samueldr
# Updaters
## update.nix
/maintainers/scripts/update.nix @jtojnar
@@ -124,71 +69,71 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @raitobezarius @ma27
/pkgs/common-updater/scripts/update-source-version @jtojnar
# Python-related code and docs
/doc/languages-frameworks/python.section.md @mweinelt
/pkgs/development/interpreters/python/hooks @jonringer
/maintainers/scripts/update-python-libraries @FRidh
/pkgs/top-level/python-packages.nix @FRidh @jonringer
/pkgs/development/interpreters/python @FRidh
/pkgs/development/python-modules @FRidh @jonringer
/doc/languages-frameworks/python.section.md @FRidh
# Haskell
/doc/languages-frameworks/haskell.section.md @sternenseemann @maralorn @ncfavier
/maintainers/scripts/haskell @sternenseemann @maralorn @ncfavier
/pkgs/development/compilers/ghc @sternenseemann @maralorn @ncfavier
/pkgs/development/haskell-modules @sternenseemann @maralorn @ncfavier
/pkgs/test/haskell @sternenseemann @maralorn @ncfavier
/pkgs/top-level/release-haskell.nix @sternenseemann @maralorn @ncfavier
/pkgs/top-level/haskell-packages.nix @sternenseemann @maralorn @ncfavier
/pkgs/development/compilers/ghc @cdepillabout
/pkgs/development/haskell-modules @cdepillabout
/pkgs/development/haskell-modules/default.nix @cdepillabout
/pkgs/development/haskell-modules/generic-builder.nix @cdepillabout
/pkgs/development/haskell-modules/hoogle.nix @cdepillabout
# Perl
/pkgs/development/interpreters/perl @stigtsp @zakame @dasJ @marcusramberg
/pkgs/top-level/perl-packages.nix @stigtsp @zakame @dasJ @marcusramberg
/pkgs/development/perl-modules @stigtsp @zakame @dasJ @marcusramberg
/pkgs/development/interpreters/perl @volth
/pkgs/top-level/perl-packages.nix @volth
/pkgs/development/perl-modules @volth
# R
/pkgs/applications/science/math/R @jbedo
/pkgs/development/r-modules @jbedo
/pkgs/applications/science/math/R @peti
/pkgs/development/r-modules @peti
# Ruby
/pkgs/development/interpreters/ruby @alyssais
/pkgs/development/ruby-modules @alyssais
# Rust
/pkgs/development/compilers/rust @Mic92 @zowoq @winterqt @figsoda
/pkgs/build-support/rust @zowoq @winterqt @figsoda
/doc/languages-frameworks/rust.section.md @zowoq @winterqt @figsoda
/pkgs/development/compilers/rust @Mic92 @LnL7
/pkgs/build-support/rust @andir
# Darwin-related
/pkgs/stdenv/darwin @NixOS/darwin-maintainers
/pkgs/os-specific/darwin @NixOS/darwin-maintainers
# C compilers
/pkgs/development/compilers/gcc
/pkgs/development/compilers/emscripten @raitobezarius
/doc/languages-frameworks/emscripten.section.md @raitobezarius
/pkgs/development/compilers/gcc @matthewbauer
/pkgs/development/compilers/llvm @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
# Compatibility stuff
/pkgs/top-level/unix-tools.nix @matthewbauer
/pkgs/development/tools/xcbuild @matthewbauer
# Browsers
/pkgs/applications/networking/browsers/firefox @mweinelt
/pkgs/applications/networking/browsers/chromium @emilylange
/nixos/tests/chromium.nix @emilylange
# Certificate Authorities
pkgs/data/misc/cacert/ @ajs124 @lukegb @mweinelt
pkgs/development/libraries/nss/ @ajs124 @lukegb @mweinelt
pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
# Beam-related (Erlang, Elixir, LFE, etc)
/pkgs/development/beam-modules @gleber
/pkgs/development/interpreters/erlang @gleber
/pkgs/development/interpreters/lfe @gleber
/pkgs/development/interpreters/elixir @gleber
/pkgs/development/tools/build-managers/rebar @gleber
/pkgs/development/tools/build-managers/rebar3 @gleber
/pkgs/development/tools/erlang @gleber
# Jetbrains
/pkgs/applications/editors/jetbrains @edwtjo
# Eclipse
/pkgs/applications/editors/eclipse @rycee
# Licenses
/lib/licenses.nix @alyssais
# Qt
/pkgs/development/libraries/qt-5 @K900 @NickCao @SuperSandro2000 @ttuegel
/pkgs/development/libraries/qt-6 @K900 @NickCao @SuperSandro2000 @ttuegel
# KDE / Plasma 5
/pkgs/applications/kde @K900 @NickCao @SuperSandro2000 @ttuegel
/pkgs/desktops/plasma-5 @K900 @NickCao @SuperSandro2000 @ttuegel
/pkgs/development/libraries/kde-frameworks @K900 @NickCao @SuperSandro2000 @ttuegel
# KDE / Plasma 6
/pkgs/kde @K900 @NickCao @SuperSandro2000 @ttuegel
/maintainers/scripts/kde @K900 @NickCao @SuperSandro2000 @ttuegel
# 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
@@ -204,48 +149,21 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/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/octodns @Janik-Haag
/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/networking/networkmanager.nix @Janik-Haag
/nixos/modules/services/monitoring/prometheus/exporters/kea.nix @mweinelt
/nixos/tests/babeld.nix @mweinelt
/nixos/tests/kea.nix @mweinelt
/nixos/tests/knot.nix @mweinelt
/nixos/tests/networking/* @Janik-Haag
# Web servers
/doc/packages/nginx.section.md @raitobezarius
/pkgs/servers/http/nginx/ @raitobezarius
/nixos/modules/services/web-servers/nginx/ @raitobezarius
# Dhall
/pkgs/development/dhall-modules @Gabriella439 @Profpatsch @ehmry
/pkgs/development/interpreters/dhall @Gabriella439 @Profpatsch @ehmry
/pkgs/development/dhall-modules @Gabriel439 @Profpatsch
/pkgs/development/interpreters/dhall @Gabriel439 @Profpatsch
# Idris
/pkgs/development/idris-modules @Infinisil
# Bazel
/pkgs/development/tools/build-managers/bazel @Profpatsch
/pkgs/development/tools/build-managers/bazel @mboes @Profpatsch
# NixOS modules for e-mail and dns services
/nixos/modules/services/mail/mailman.nix @peti
@@ -254,112 +172,39 @@ nixos/modules/services/networking/networkmanager.nix @Janik-Haag
/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
/pkgs/applications/editors/emacs-modes @adisbladis
/pkgs/applications/editors/emacs @adisbladis
/pkgs/top-level/emacs-packages.nix @adisbladis
# VimPlugins
/pkgs/applications/editors/vim/plugins @figsoda @jonringer
/pkgs/misc/vim-plugins @jonringer @softinio
# VsCode Extensions
/pkgs/applications/editors/vscode/extensions @jonringer
/pkgs/misc/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 @drupol @globin @ma27 @talyz
/nixos/tests/php @aanderse @drupol @globin @ma27 @talyz
/pkgs/build-support/php/build-pecl.nix @aanderse @drupol @globin @ma27 @talyz
/pkgs/build-support/php @drupol
/pkgs/development/interpreters/php @jtojnar @aanderse @drupol @globin @ma27 @talyz
/pkgs/development/php-packages @aanderse @drupol @globin @ma27 @talyz
/pkgs/top-level/php-packages.nix @jtojnar @aanderse @drupol @globin @ma27 @talyz
/doc/languages-frameworks/php.section.md @NixOS/php
/nixos/tests/php @NixOS/php
/pkgs/build-support/build-pecl.nix @NixOS/php
/pkgs/development/interpreters/php @NixOS/php
/pkgs/top-level/php-packages.nix @NixOS/php
# Docker tools
/pkgs/build-support/docker @roberth
/nixos/tests/docker-tools* @roberth
/doc/build-helpers/images/dockertools.section.md @roberth
# Podman, CRI-O modules and related
/nixos/modules/virtualisation/containers.nix @NixOS/podman @zowoq
/nixos/modules/virtualisation/cri-o.nix @NixOS/podman @zowoq
/nixos/modules/virtualisation/podman.nix @NixOS/podman @zowoq
/nixos/tests/cri-o.nix @NixOS/podman @zowoq
/nixos/tests/podman.nix @NixOS/podman @zowoq
# Blockchains
/pkgs/applications/blockchains @mmahut @RaghavSood
/pkgs/applications/blockchains @mmahut
# 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 @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
# Forgejo
nixos/modules/services/misc/forgejo.nix @adamcstephens @bendlas @emilylange
pkgs/by-name/fo/forgejo/package.nix @adamcstephens @bendlas @emilylange
# Dotnet
/pkgs/build-support/dotnet @IvarWithoutBones
/pkgs/development/compilers/dotnet @IvarWithoutBones
/pkgs/test/dotnet @IvarWithoutBones
/doc/languages-frameworks/dotnet.section.md @IvarWithoutBones
# Node.js
/pkgs/build-support/node/build-npm-package @lilyinstarlight @winterqt
/pkgs/build-support/node/fetch-npm-deps @lilyinstarlight @winterqt
/doc/languages-frameworks/javascript.section.md @lilyinstarlight @winterqt
# environment.noXlibs option aka NoX
/nixos/modules/config/no-x-libs.nix @SuperSandro2000
# OCaml
/pkgs/build-support/ocaml @ulrikstrid
/pkgs/development/compilers/ocaml @ulrikstrid
/pkgs/development/ocaml-modules @ulrikstrid
# ZFS
pkgs/os-specific/linux/zfs/2_1.nix @raitobezarius
pkgs/os-specific/linux/zfs/generic.nix @raitobezarius
nixos/modules/tasks/filesystems/zfs.nix @raitobezarius
nixos/tests/zfs.nix @raitobezarius
# Zig
/pkgs/development/compilers/zig @figsoda
/doc/hooks/zig.section.md @figsoda
# Buildbot
nixos/modules/services/continuous-integration/buildbot @Mic92 @zowoq
nixos/tests/buildbot.nix @Mic92 @zowoq
pkgs/development/tools/continuous-integration/buildbot @Mic92 @zowoq
# Pretix
pkgs/by-name/pr/pretix/ @mweinelt
pkgs/by-name/pr/pretalx/ @mweinelt
nixos/modules/services/web-apps/pretix.nix @mweinelt
nixos/modules/services/web-apps/pretalx.nix @mweinelt
nixos/tests/web-apps/pretix.nix @mweinelt
nixos/tests/web-apps/pretalx.nix @mweinelt
# incus/lxc/lxd
nixos/maintainers/scripts/lxd/ @adamcstephens
nixos/modules/virtualisation/incus.nix @adamcstephens
nixos/modules/virtualisation/lxc* @adamcstephens
nixos/modules/virtualisation/lxd* @adamcstephens
nixos/tests/incus/ @adamcstephens
nixos/tests/lxd/ @adamcstephens
pkgs/by-name/in/incus/ @adamcstephens
pkgs/by-name/lx/lxc* @adamcstephens
pkgs/by-name/lx/lxd* @adamcstephens
pkgs/os-specific/linux/lxc/ @adamcstephens
/pkgs/development/go-modules @kalbasit @Mic92 @zowoq
/pkgs/development/go-packages @kalbasit @Mic92 @zowoq

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

@@ -0,0 +1,63 @@
# 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
* Format the commit messages in the following way:
```
(pkg-name | nixos/<module>): (from -> to | init at version | refactor | etc)
(Motivation for change. 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
* nixos/hydra: add bazBaz option
Dual baz behavior is needed to do foo.
* nixos/nginx: refactor config generation
The old config generation system used impure shell scripts and could break in specific circumstances (see #1234).
* `meta.description` should:
* Be capitalized.
* Not start with the package name.
* Not have a period at the end.
* `meta.license` must be set and fit the upstream license.
* If there is no upstream license, `meta.license` should default to `stdenv.lib.licenses.unfree`.
* `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) and on how to [submit changes to nixpkgs](https://nixos.org/nixpkgs/manual/#chap-submitting-changes).
## Writing good commit messages
In addition to writing properly formatted commit messages, it's important to include relevant information so other developers can later understand *why* a change was made. While this information usually can be found by digging code, mailing list/Discourse archives, pull request discussions or upstream changes, it may require a lot of work.
For package version upgrades and such a one-line commit message is usually sufficient.
## 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).
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-20.09`. Do not use a _channel branch_ like `nixos-20.09` or `nixpkgs-20.09`.
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-20.09`) as the target branch of the pull request, and link to the pull request in which the original change was comitted to `master`. The pull request title should be the commit title with the release version as prefix, e.g. `[20.09]`.
## Reviewing contributions
See the nixpkgs manual for more details on how to [Review contributions](https://nixos.org/nixpkgs/manual/#chap-reviewing-contributions).

View File

@@ -7,42 +7,37 @@ assignees: ''
---
### Describe the bug
**Describe the bug**
A clear and concise description of what the bug is.
### Steps To Reproduce
**To Reproduce**
Steps to reproduce the behavior:
1. ...
2. ...
3. ...
### Expected behavior
**Expected behavior**
A clear and concise description of what you expected to happen.
### Screenshots
**Screenshots**
If applicable, add screenshots to help explain your problem.
### Additional context
**Additional context**
Add any other context about the problem here.
### Notify maintainers
**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
**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
Maintainer information:
```yaml
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:
```
---
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

View File

@@ -1,46 +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
```
---
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

View File

@@ -1,38 +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
---
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

View File

@@ -1,35 +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.
---
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

View File

@@ -1,15 +1,14 @@
---
name: Packaging requests
about: For packages that are missing
title: 'Package request: PACKAGENAME'
title: ''
labels: '0.kind: packaging request'
assignees: ''
---
**Project description**
<!-- Describe the project a little: -->
_describe the project a little_
**Metadata**
@@ -17,10 +16,3 @@ assignees: ''
* source URL:
* license: mit, bsd, gpl2+ , ...
* platforms: unix, linux, darwin, ...
---
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

View File

@@ -1,94 +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: ''
---
<!--
Hello dear reporter,
Thank you for bringing attention to this issue. Your insights are valuable to
us, and we appreciate the time you took to document the problem.
I wanted to kindly point out that in this issue template, it would be beneficial
to replace the placeholder `<package>` with the actual, canonical name of the
package you're reporting the issue for. Doing so will provide better context and
facilitate quicker troubleshooting for anyone who reads this issue in the
future.
Best regards
-->
Building this package multiple times does not yield bit-by-bit identical
results, complicating the detection of Continuous Integration (CI) breaches. For
more information on this issue, visit
[reproducible-builds.org](https://reproducible-builds.org/).
Fixing bit-by-bit reproducibility also has additional advantages, such as
avoiding hard-to-reproduce bugs, making content-addressed storage more effective
and reducing rebuilds in such systems.
### Steps To Reproduce
In the following steps, replace `<package>` with the canonical name of the
package.
#### 1. Build the package
This step will build the package. Specific arguments are passed to the command
to keep the build artifacts so we can compare them in case of differences.
Execute the following command:
```
nix-build '<nixpkgs>' -A <package> && nix-build '<nixpkgs>' -A <package> --check --keep-failed
```
Or using the new command line style:
```
nix build nixpkgs#<package> && nix build nixpkgs#<package> --rebuild --keep-failed
```
#### 2. Compare the build artifacts
If the previous command completes successfully, no differences were found and
there's nothing to do, builds are reproducible.
If it terminates with the error message `error: derivation '<X>' may not be
deterministic: output '<Y>' differs from '<Z>'`, use `diffoscope` to investigate
the discrepancies between the two build outputs. You may need to add the
`--exclude-directory-metadata recursive` option to ignore files and directories
metadata (*e.g. timestamp*) differences.
```
nix run nixpkgs#diffoscopeMinimal -- --exclude-directory-metadata recursive <Y> <Z>
```
#### 3. Examine the build log
To examine the build log, use:
```
nix-store --read-log $(nix-instantiate '<nixpkgs>' -A <package>)
```
Or with the new command line style:
```
nix log $(nix path-info --derivation nixpkgs#<package>)
```
### Additional context
(please share the relevant fragment of the diffoscope output here, and any
additional analysis you may have done)
---
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

View File

@@ -1,49 +1,28 @@
## Description of changes
<!--
For package updates please link to a changelog or describe changes, this helps your fellow maintainers discover breaking updates.
For new packages please briefly describe the package or provide a link to its homepage.
-->
## Things done
<!-- Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers. -->
- Built on platform(s)
- [ ] x86_64-linux
- [ ] aarch64-linux
- [ ] x86_64-darwin
- [ ] aarch64-darwin
- For non-Linux: Is sandboxing enabled in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/command-ref/conf-file.html))
- [ ] `sandbox = relaxed`
- [ ] `sandbox = true`
- [ ] 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://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#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/`)
- [24.05 Release Notes](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2405.section.md) (or backporting [23.05](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2305.section.md) and [23.11](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2311.section.md) 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).
<!--
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://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#reviewing-contributions
Reviewing guidelines: https://hydra.nixos.org/job/nixpkgs/trunk/manual/latest/download/1/nixpkgs/manual.html#chap-reviewing-contributions
-->
---
###### Motivation for this change
Add a :+1: [reaction] to [pull requests you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[pull requests you find important]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+sort%3Areactions-%2B1-desc
###### Things done
<!-- Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers. -->
- [ ] Tested using sandboxing ([nix.useSandbox](https://nixos.org/nixos/manual/options.html#opt-nix.useSandbox) on NixOS, or option `sandbox` in [`nix.conf`](https://nixos.org/nix/manual/#sec-conf-file) on non-NixOS linux)
- Built on platform(s)
- [ ] NixOS
- [ ] macOS
- [ ] other Linux distributions
- [ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests))
- [ ] Tested compilation of all pkgs that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review wip"`
- [ ] Tested execution of all binary files (usually in `./result/bin/`)
- [ ] Determined the impact on package closure size (by running `nix path-info -S` before and after)
- [ ] Ensured that relevant documentation is up to date
- [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md).

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"

384
.github/labeler.yml vendored
View File

@@ -1,384 +0,0 @@
"6.topic: agda":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/agda.section.md
- nixos/tests/agda.nix
- pkgs/build-support/agda/**/*
- pkgs/development/libraries/agda/**/*
- pkgs/top-level/agda-packages.nix
"6.topic: cinnamon":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/desktops/cinnamon/**/*
- nixos/modules/services/x11/desktop-managers/cinnamon.nix
- nixos/tests/cinnamon.nix
"6.topic: emacs":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/editors/emacs.nix
- nixos/modules/services/editors/emacs.xml
- nixos/tests/emacs-daemon.nix
- pkgs/applications/editors/emacs/elisp-packages/**/*
- pkgs/applications/editors/emacs/**/*
- pkgs/build-support/emacs/**/*
- pkgs/top-level/emacs-packages.nix
"6.topic: Enlightenment DE":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/x11/desktop-managers/enlightenment.nix
- pkgs/desktops/enlightenment/**/*
- pkgs/development/python-modules/python-efl/*
"6.topic: erlang":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/beam.section.md
- pkgs/development/beam-modules/**/*
- pkgs/development/interpreters/elixir/**/*
- pkgs/development/interpreters/erlang/**/*
- pkgs/development/tools/build-managers/rebar/**/*
- pkgs/development/tools/build-managers/rebar3/**/*
- pkgs/development/tools/erlang/**/*
- pkgs/top-level/beam-packages.nix
"6.topic: fetch":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/build-support/fetch*/**/*
"6.topic: flakes":
- any:
- changed-files:
- any-glob-to-any-file:
- '**/flake.nix'
- lib/systems/flake-systems.nix
- nixos/modules/config/nix-flakes.nix
"6.topic: GNOME":
- any:
- changed-files:
- any-glob-to-any-file:
- 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":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/go.section.md
- pkgs/build-support/go/**/*
- pkgs/development/compilers/go/**/*
"6.topic: haskell":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/haskell.section.md
- maintainers/scripts/haskell/**/*
- pkgs/development/compilers/ghc/**/*
- pkgs/development/haskell-modules/**/*
- pkgs/development/tools/haskell/**/*
- pkgs/test/haskell/**/*
- pkgs/top-level/haskell-packages.nix
- pkgs/top-level/release-haskell.nix
"6.topic: julia":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/julia.section.md
- pkgs/development/compilers/julia/**/*
- pkgs/development/julia-modules/**/*
"6.topic: jupyter":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/development/python-modules/jupyter*/**/*
- pkgs/development/python-modules/mkdocs-jupyter/*
- nixos/modules/services/development/jupyter/**/*
- pkgs/applications/editors/jupyter-kernels/**/*
- pkgs/applications/editors/jupyter/**/*
"6.topic: k3s":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/cluster/k3s/**/*
- nixos/tests/k3s/**/*
- pkgs/applications/networking/cluster/k3s/**/*
"6.topic: kernel":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/build-support/kernel/**/*
- pkgs/os-specific/linux/kernel/**/*
"6.topic: lib":
- any:
- changed-files:
- any-glob-to-any-file:
- lib/**
"6.topic: lua":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/development/tools/misc/luarocks/*
- pkgs/development/interpreters/lua-5/**/*
- pkgs/development/interpreters/luajit/**/*
- pkgs/development/lua-modules/**/*
- pkgs/top-level/lua-packages.nix
"6.topic: Lumina DE":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/x11/desktop-managers/lumina.nix
- pkgs/desktops/lumina/**/*
"6.topic: LXQt":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/x11/desktop-managers/lxqt.nix
- pkgs/desktops/lxqt/**/*
"6.topic: mate":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/x11/desktop-managers/mate.nix
- nixos/tests/mate.nix
- pkgs/desktops/mate/**/*
"6.topic: module system":
- any:
- changed-files:
- any-glob-to-any-file:
- lib/modules.nix
- lib/types.nix
- lib/options.nix
- lib/tests/modules.sh
- lib/tests/modules/**
"6.topic: nixos":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/**/*
- pkgs/os-specific/linux/nixos-rebuild/**/*
"6.topic: nim":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/nim.section.md
- pkgs/development/compilers/nim/*
- pkgs/development/nim-packages/**/*
- pkgs/top-level/nim-packages.nix
"6.topic: nodejs":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/javascript.section.md
- pkgs/build-support/node/**/*
- pkgs/development/node-packages/**/*
- pkgs/development/tools/yarn/*
- pkgs/development/tools/yarn2nix-moretea/**/*
- pkgs/development/web/nodejs/*
"6.topic: ocaml":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/ocaml.section.md
- pkgs/development/compilers/ocaml/**/*
- pkgs/development/compilers/reason/**/*
- pkgs/development/ocaml-modules/**/*
- pkgs/development/tools/ocaml/**/*
- pkgs/top-level/ocaml-packages.nix
"6.topic: pantheon":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/desktops/pantheon/**/*
- nixos/modules/services/x11/desktop-managers/pantheon.nix
- nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
- nixos/tests/pantheon.nix
- pkgs/desktops/pantheon/**/*
"6.topic: php":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/php.section.md
- pkgs/build-support/php/**/*
- pkgs/development/interpreters/php/*
- pkgs/development/php-packages/**/*
- pkgs/test/php/default.nix
- pkgs/top-level/php-packages.nix
"6.topic: policy discussion":
- any:
- changed-files:
- any-glob-to-any-file:
- .github/**/*
"6.topic: printing":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/printing/cupsd.nix
- pkgs/misc/cups/**/*
"6.topic: python":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/python.section.md
- pkgs/development/interpreters/python/**/*
- pkgs/development/python-modules/**/*
- pkgs/top-level/python-packages.nix
"6.topic: qt/kde":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/qt.section.md
- nixos/modules/services/x11/desktop-managers/plasma5.nix
- nixos/tests/plasma5.nix
- pkgs/applications/kde/**/*
- pkgs/desktops/plasma-5/**/*
- pkgs/development/libraries/kde-frameworks/**/*
- pkgs/development/libraries/qt-5/**/*
"6.topic: ruby":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/ruby.section.md
- pkgs/development/interpreters/ruby/**/*
- pkgs/development/ruby-modules/**/*
"6.topic: rust":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/rust.section.md
- pkgs/build-support/rust/**/*
- pkgs/development/compilers/rust/**/*
"6.topic: stdenv":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/stdenv/**/*
"6.topic: steam":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/games/steam/**/*
"6.topic: systemd":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/os-specific/linux/systemd/**/*
- nixos/modules/system/boot/systemd*/**/*
"6.topic: TeX":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/texlive.section.md
- pkgs/test/texlive/**
- pkgs/tools/typesetting/tex/**/*
"6.topic: testing":
- any:
- changed-files:
- any-glob-to-any-file:
# NOTE: Let's keep the scope limited to test frameworks that are
# *developed in this repo*;
# - not individual tests
# - not packages for test frameworks
- nixos/lib/testing/**
- nixos/lib/test-driver/**
- nixos/tests/nixos-test-driver/**
- nixos/lib/testing-python.nix # legacy
- nixos/tests/make-test-python.nix # legacy
# lib/debug.nix has a test framework (runTests) but it's not the main focus
"6.topic: vim":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/vim.section.md
- pkgs/applications/editors/vim/**/*
- pkgs/applications/editors/vim/plugins/**/*
- nixos/modules/programs/neovim.nix
- pkgs/applications/editors/neovim/**/*
"6.topic: vscode":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/applications/editors/vscode/**/*
"6.topic: xfce":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/doc/manual/configuration/xfce.xml
- nixos/modules/services/x11/desktop-managers/xfce.nix
- nixos/tests/xfce.nix
- pkgs/desktops/xfce/**/*
"6.topic: zig":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/development/compilers/zig/**/*
- doc/hooks/zig.section.md
"8.has: changelog":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/doc/manual/release-notes/**/*
"8.has: documentation":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/**/*
- nixos/doc/**/*
"8.has: module (update)":
- any:
- changed-files:
- any-glob-to-any-file:
- nixos/modules/**/*
"8.has: maintainer-list (update)":
- any:
- changed-files:
- any-glob-to-any-file:
- maintainers/maintainer-list.nix

36
.github/stale.yml vendored
View File

@@ -1,9 +1,41 @@
# Configuration for probot-stale - https://github.com/probot/stale
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 180
# Number of days of inactivity before a stale issue is closed
daysUntilClose: false
# Issues with these labels will never be considered stale
exemptLabels:
- "1.severity: security"
- "2.status: never-stale"
# Label to use when marking an issue as stale
staleLabel: "2.status: stale"
markComment: false
# Comment to post when marking an issue as stale. Set to `false` to disable
pulls:
markComment: |
Hello, I'm a bot and I thank you in the name of the community for your contributions.
Nixpkgs is a busy repository, and unfortunately sometimes PRs get left behind for too long. Nevertheless, we'd like to help committers reach the PRs that are still important. This PR has had no activity for 180 days, and so I marked it as stale, but you can rest assured it will never be closed by a non-human.
If this is still important to you and you'd like to remove the stale label, we ask that you leave a comment. Your comment can be as simple as "still important to me". But there's a bit more you can do:
If you received an approval by an unprivileged maintainer and you are just waiting for a merge, you can @ mention someone with merge permissions and ask them to help. You might be able to find someone relevant by using [Git blame](https://git-scm.com/docs/git-blame) on the relevant files, or via [GitHub's web interface](https://docs.github.com/en/github/managing-files-in-a-repository/tracking-changes-in-a-file). You can see if someone's a member of the [nixpkgs-committers](https://github.com/orgs/NixOS/teams/nixpkgs-committers) team, by hovering with the mouse over their username on the web interface, or by searching them directly on [the list](https://github.com/orgs/NixOS/teams/nixpkgs-committers).
If your PR wasn't reviewed at all, it might help to find someone who's perhaps a user of the package or module you are changing, or alternatively, ask once more for a review by the maintainer of the package/module this is about. If you don't know any, you can use [Git blame](https://git-scm.com/docs/git-blame) on the relevant files, or [GitHub's web interface](https://docs.github.com/en/github/managing-files-in-a-repository/tracking-changes-in-a-file) to find someone who touched the relevant files in the past.
If your PR has had reviews and nevertheless got stale, make sure you've responded to all of the reviewer's requests / questions. Usually when PR authors show responsibility and dedication, reviewers (privileged or not) show dedication as well. If you've pushed a change, it's possible the reviewer wasn't notified about your push via email, so you can always [officially request them for a review](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/requesting-a-pull-request-review), or just @ mention them and say you've addressed their comments.
Lastly, you can always ask for help at [our Discourse Forum](https://discourse.nixos.org/), or more specifically, [at this thread](https://discourse.nixos.org/t/prs-in-distress/3604) or at [#nixos' IRC channel](https://webchat.freenode.net/#nixos).
issues:
markComment: |
Hello, I'm a bot and I thank you in the name of the community for opening this issue.
To help our human contributors focus on the most-relevant reports, I check up on old issues to see if they're still relevant. This issue has had no activity for 180 days, and so I marked it as stale, but you can rest assured it will never be closed by a non-human.
The community would appreciate your effort in checking if the issue is still valid. If it isn't, please close it.
If the issue persists, and you'd like to remove the stale label, you simply need to leave a comment. Your comment can be as simple as "still important to me". If you'd like it to get more attention, you can ask for help by searching for maintainers and people that previously touched related code and @ mention them in a comment. You can use [Git blame](https://git-scm.com/docs/git-blame) or [GitHub's web interface](https://docs.github.com/en/github/managing-files-in-a-repository/tracking-changes-in-a-file) on the relevant files to find them.
Lastly, you can always ask for help at [our Discourse Forum](https://discourse.nixos.org/) or at [#nixos' IRC channel](https://webchat.freenode.net/#nixos).
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false

View File

@@ -1,35 +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@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Create backport PRs
uses: korthout/backport-action@ef20d86abccbac3ee3a73cb2efbdc06344c390e5 # v2.5.0
with:
# Config README: https://github.com/korthout/backport-action#backport-action
copy_labels_pattern: 'severity:\ssecurity'
pull_description: |-
Bot-based backport to `${target_branch}`, triggered by a label in #${pull_number}.
* [ ] Before merging, ensure that this backport is [acceptable for the release](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#changes-acceptable-for-releases).
* Even as a non-commiter, if you find that it is not acceptable, 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@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
- uses: cachix/cachix-action@18cf96c7c98e048e10a83abd92116114cd8504be # v14
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 release-checks --arg supportedSystems '[ "aarch64-darwin" "aarch64-linux" "x86_64-linux" "x86_64-darwin" ]'

View File

@@ -1,123 +0,0 @@
# Checks pkgs/by-name (see pkgs/by-name/README.md)
# using the nixpkgs-check-by-name tool (see https://github.com/NixOS/nixpkgs-check-by-name)
#
# When you make changes to this workflow, also update pkgs/test/check-by-name/run-local.sh adequately
name: Check pkgs/by-name
on:
# Using pull_request_target instead of pull_request avoids having to approve first time contributors
pull_request_target:
# This workflow depends on the base branch of the PR,
# but changing the base branch is not included in the default trigger events,
# which would be `opened`, `synchronize` or `reopened`.
# Instead it causes an `edited` event, so we need to add it explicitly here
# While `edited` is also triggered when the PR title/body is changed,
# this PR action is fairly quick, and PR's don't get edited that often,
# so it shouldn't be a problem
types: [opened, synchronize, reopened, edited]
permissions: {}
# Create a check-by-name concurrency group based on the pull request number. if
# an event triggers a run on the same PR while a previous run is still in
# progress, the previous run will be canceled and the new one will start.
concurrency:
group: check-by-name-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
check:
# This needs to be x86_64-linux, because we depend on the tooling being pre-built in the GitHub releases
runs-on: ubuntu-latest
# This should take 1 minute at most, but let's be generous.
# The default of 6 hours is definitely too long
timeout-minutes: 10
steps:
# This step has to be in this file,
# because it's needed to determine which revision of the repository to fetch,
# and we can only use other files from the repository once it's fetched.
- name: Resolving the merge commit
env:
GH_TOKEN: ${{ github.token }}
run: |
# This checks for mergeability of a pull request as recommended in
# https://docs.github.com/en/rest/guides/using-the-rest-api-to-interact-with-your-git-database?apiVersion=2022-11-28#checking-mergeability-of-pull-requests
# Retry the API query this many times
retryCount=5
# Start with 5 seconds, but double every retry
retryInterval=5
while true; do
echo "Checking whether the pull request can be merged"
prInfo=$(gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/"$GITHUB_REPOSITORY"/pulls/${{ github.event.pull_request.number }})
mergeable=$(jq -r .mergeable <<< "$prInfo")
mergedSha=$(jq -r .merge_commit_sha <<< "$prInfo")
if [[ "$mergeable" == "null" ]]; then
if (( retryCount == 0 )); then
echo "Not retrying anymore, probably GitHub is having internal issues"
exit 1
else
(( retryCount -= 1 )) || true
# null indicates that GitHub is still computing whether it's mergeable
# Wait a couple seconds before trying again
echo "GitHub is still computing whether this PR can be merged, waiting $retryInterval seconds before trying again ($retryCount retries left)"
sleep "$retryInterval"
(( retryInterval *= 2 )) || true
fi
else
break
fi
done
if [[ "$mergeable" == "true" ]]; then
echo "The PR can be merged, checking the merge commit $mergedSha"
echo "mergedSha=$mergedSha" >> "$GITHUB_ENV"
else
echo "The PR cannot be merged, it has a merge conflict, skipping the rest.."
fi
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
if: env.mergedSha
with:
# pull_request_target checks out the base branch by default
ref: ${{ env.mergedSha }}
# Fetches the merge commit and its parents
fetch-depth: 2
- name: Checking out base branch
if: env.mergedSha
run: |
base=$(mktemp -d)
git worktree add "$base" "$(git rev-parse HEAD^1)"
echo "base=$base" >> "$GITHUB_ENV"
- uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
if: env.mergedSha
- name: Fetching the pinned tool
if: env.mergedSha
# Update the pinned version using pkgs/test/check-by-name/update-pinned-tool.sh
run: |
# The pinned version of the tooling to use
toolVersion=$(<pkgs/test/check-by-name/pinned-version.txt)
# Fetch the x86_64-linux-specific release artifact containing the Gzipped NAR of the pre-built tool
toolPath=$(curl -sSfL https://github.com/NixOS/nixpkgs-check-by-name/releases/download/"$toolVersion"/x86_64-linux.nar.gz \
| gzip -cd | nix-store --import | tail -1)
# Adds a result symlink as a GC root
nix-store --realise "$toolPath" --add-root result
- name: Running nixpkgs-check-by-name
if: env.mergedSha
env:
# Force terminal colors to be enabled. The library that
# nixpkgs-check-by-name uses respects: https://bixense.com/clicolors/
CLICOLOR_FORCE: 1
run: |
if result/bin/nixpkgs-check-by-name --base "$base" .; then
exit 0
else
exitCode=$?
echo "To run locally: ./maintainers/scripts/check-by-name.sh $GITHUB_BASE_REF https://github.com/$GITHUB_REPOSITORY.git"
exit "$exitCode"
fi

View File

@@ -1,24 +0,0 @@
name: "Check cherry-picks"
on:
pull_request_target:
branches:
- 'release-**'
- 'staging-**'
permissions: {}
jobs:
check:
runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS'
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
with:
fetch-depth: 0
filter: blob:none
- name: Check cherry-picks
env:
BASE_SHA: ${{ github.event.pull_request.base.sha }}
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
run: |
./maintainers/scripts/check-cherry-picks.sh "$BASE_SHA" "$HEAD_SHA"

View File

@@ -1,28 +0,0 @@
name: "Check that maintainer list is sorted"
on:
pull_request_target:
paths:
- 'maintainers/maintainer-list.nix'
permissions:
contents: read
jobs:
nixos:
runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS'
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
# Only these directories to perform the check
sparse-checkout: |
lib
maintainers
- uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true
- name: Check that maintainer-list.nix is sorted
run: nix-instantiate --eval maintainers/scripts/check-maintainers-sorted.nix

View File

@@ -1,62 +0,0 @@
# This file was copied mostly from check-maintainers-sorted.yaml.
# NOTE: Formatting with the RFC-style nixfmt command is not yet stable. See
# https://github.com/NixOS/rfcs/pull/166.
# Because of this, this action is not yet enabled for all files -- only for
# those who have opted in.
name: Check that Nix files are formatted
on:
pull_request_target:
permissions:
contents: read
jobs:
nixos:
runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS'
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
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@8887e596b4ee1134dae06b98d573bd674693f47c # v26
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true
# fix a commit from nixpkgs-unstable to avoid e.g. building nixfmt
# from staging
nix_path: nixpkgs=https://github.com/NixOS/nixpkgs/archive/4b455dc2048f73a79eb3713f342369ff58f93e0b.tar.gz
- name: Install nixfmt
run: "nix-env -f '<nixpkgs>' -iAP nixfmt-rfc-style"
- name: Check that Nix files are formatted according to the RFC style
# Each environment variable beginning with NIX_FMT_PATHS_ is a list of
# paths to check with nixfmt.
env:
NIX_FMT_PATHS_BSD: pkgs/os-specific/bsd
NIX_FMT_PATHS_MPVSCRIPTS: pkgs/applications/video/mpv/scripts
# Format paths related to the Nixpkgs CUDA ecosystem.
NIX_FMT_PATHS_CUDA: |
pkgs/development/cuda-modules
pkgs/test/cuda
pkgs/top-level/cuda-packages.nix
NIX_FMT_PATHS_K3S: |
nixos/modules/services/cluster/k3s
nixos/tests/k3s
pkgs/applications/networking/cluster/k3s
NIX_FMT_PATHS_VSCODE_EXTS: pkgs/applications/editors/vscode/extensions
NIX_FMT_PATHS_PHP_PACKAGES: pkgs/development/php-packages
NIX_FMT_PATHS_BUILD_SUPPORT_PHP: pkgs/build-support/php
# Iterate over all environment variables beginning with NIX_FMT_PATHS_.
run: |
for env_var in "${!NIX_FMT_PATHS_@}"; do
readarray -t paths <<< "${!env_var}"
if [[ "${paths[*]}" == "" ]]; then
echo "Error: $env_var is empty."
exit 1
fi
echo "Checking paths: ${paths[@]}"
if ! nixfmt --check "${paths[@]}"; then
echo "Error: nixfmt failed."
exit 1
fi
done

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@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
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@8887e596b4ee1134dae06b98d573bd674693f47c # v26
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@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
sync-labels: true

View File

@@ -1,31 +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@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
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@8887e596b4ee1134dae06b98d573bd674693f47c # v26
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true
- uses: cachix/cachix-action@18cf96c7c98e048e10a83abd92116114cd8504be # v14
with:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
name: nixpkgs-ci
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- name: Building NixOS manual
run: NIX_PATH=nixpkgs=$(pwd) nix-build --option restrict-eval true nixos/release.nix -A manual.x86_64-linux

View File

@@ -1,33 +0,0 @@
name: "Build Nixpkgs manual"
permissions: read-all
on:
pull_request_target:
branches:
- master
paths:
- 'doc/**'
- 'lib/**'
- 'pkgs/tools/nix/nixdoc/**'
jobs:
nixpkgs:
runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS'
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
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@8887e596b4ee1134dae06b98d573bd674693f47c # v26
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true
- uses: cachix/cachix-action@18cf96c7c98e048e10a83abd92116114cd8504be # v14
with:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
name: nixpkgs-ci
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- name: Building Nixpkgs manual
run: NIX_PATH=nixpkgs=$(pwd) nix-build --option restrict-eval true pkgs/top-level/release.nix -A manual -A manual.tests

View File

@@ -1,42 +0,0 @@
name: "Check whether nix files are parseable"
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 --raw-output '.[] | select(.status != "removed" and (.filename | endswith(".nix"))) | .filename' \
> "$HOME/changed_files"
if [[ -s "$HOME/changed_files" ]]; then
echo "CHANGED_FILES=$HOME/changed_files" > "$GITHUB_ENV"
fi
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
if: ${{ env.CHANGED_FILES && env.CHANGED_FILES != '' }}
- uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
with:
nix_path: nixpkgs=channel:nixpkgs-unstable
- name: Parse all changed or added nix files
run: |
ret=0
while IFS= read -r file; do
out="$(nix-instantiate --parse "$file")" || { echo "$out" && ret=1; }
done < "$HOME/changed_files"
exit "$ret"
if: ${{ env.CHANGED_FILES && env.CHANGED_FILES != '' }}

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"

21
.github/workflows/pending-clear.yml vendored Normal file
View File

@@ -0,0 +1,21 @@
name: "clear pending status"
on:
check_suite:
types: [ completed ]
jobs:
action:
runs-on: ubuntu-latest
steps:
- name: clear pending status
if: github.repository_owner == 'NixOS' && github.event.check_suite.app.name == 'OfBorg'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: token $GITHUB_TOKEN" \
-d '{"state": "success", "target_url": " ", "description": " ", "context": "Wait for ofborg"}' \
"https://api.github.com/repos/NixOS/nixpkgs/statuses/${{ github.event.check_suite.head_sha }}"

20
.github/workflows/pending-set.yml vendored Normal file
View File

@@ -0,0 +1,20 @@
name: "set pending status"
on:
pull_request_target:
jobs:
action:
runs-on: ubuntu-latest
steps:
- name: set pending status
if: github.repository_owner == 'NixOS'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: token $GITHUB_TOKEN" \
-d '{"state": "failure", "target_url": " ", "description": "This failed status will be cleared when ofborg finishes eval.", "context": "Wait for ofborg"}' \
"https://api.github.com/repos/NixOS/nixpkgs/statuses/${{ github.event.pull_request.head.sha }}"

View File

@@ -1,60 +0,0 @@
# This action periodically merges base branches into staging branches.
# This is done to
# * prevent conflicts or rather resolve them early
# * make all potential breakage happen on the staging branch
# * and make sure that all major rebuilds happen before the staging
# branch gets merged back into its base branch.
name: "Periodic Merges (24h)"
on:
schedule:
# * is a special character in YAML so you have to quote this string
# Merge every 24 hours
- cron: '0 0 * * *'
workflow_dispatch:
permissions:
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-23.11
into: staging-next-23.11
- from: staging-next-23.11
into: staging-23.11
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
uses: devmasx/merge-branch@854d3ac71ed1e9deb668e0074781b81fdd6e771f # 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@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
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,58 +0,0 @@
# This action periodically merges base branches into staging branches.
# This is done to
# * prevent conflicts or rather resolve them early
# * make all potential breakage happen on the staging branch
# * and make sure that all major rebuilds happen before the staging
# branch gets merged back into its base branch.
name: "Periodic Merges (6h)"
on:
schedule:
# * is a special character in YAML so you have to quote this string
# Merge every 6 hours
- cron: '0 */6 * * *'
workflow_dispatch:
permissions:
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@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
uses: devmasx/merge-branch@854d3ac71ed1e9deb668e0074781b81fdd6e771f # 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@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
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,69 +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
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@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
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: get failed updates
run: |
echo 'FAILED<<EOF' >> $GITHUB_ENV
git ls-files --others >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV
# cleanup logs of failed updates so they aren't included in the PR
- name: clean repo
run: |
git clean -f
- name: create PR
uses: peter-evans/create-pull-request@9153d834b60caba6d51c9b9510b087acf9f33f83 # v6.0.4
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 }}
These providers failed to update:
```
${{ env.FAILED }}
```
Check that all providers build with:
```
@ofborg build opentofu.full
```
If there is more than ten commits in the PR `ofborg` won't build it automatically and you will need to use the above command.
branch: terraform-providers-update
delete-branch: false
title: ${{ steps.setup.outputs.title }}
token: ${{ secrets.GITHUB_TOKEN }}

15
.gitignore vendored
View File

@@ -2,22 +2,12 @@
,*
.*.swp
.*.swo
.\#*
\#*\#
.idea/
.nixos-test-history
.vscode/
outputs/
result-*
result
repl-result-*
tags
!pkgs/development/python-modules/result
result-*
/doc/NEWS.html
/doc/NEWS.txt
/doc/manual.html
/doc/manual.pdf
/source/
.version-suffix
.DS_Store
@@ -30,6 +20,3 @@ __pycache__
# generated by pkgs/common-updater/update-script.nix
update-git-commits.txt
# JetBrains IDEA module declaration file
/nixpkgs.iml

View File

@@ -1,16 +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>
Yifei Sun <ysun@hey.com> StepBroBD <Hi@StepBroBD.com>
Yifei Sun <ysun@hey.com> <ysun+git@stepbrobd.com>

View File

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

1
.version Normal file
View File

@@ -0,0 +1 @@
20.09

View File

@@ -1,755 +0,0 @@
# Contributing to Nixpkgs
This document is for people wanting to contribute to the implementation of Nixpkgs.
This involves interacting with implementation changes that are proposed using [GitHub](https://github.com/) [pull requests](https://docs.github.com/pull-requests) to the [Nixpkgs](https://github.com/nixos/nixpkgs/) repository (which you're in right now).
As such, a GitHub account is recommended, which you can sign up for [here](https://github.com/signup).
See [here](https://discourse.nixos.org/t/about-the-patches-category/477) for how to contribute without a GitHub account.
Additionally this document assumes that you already know how to use GitHub and Git.
If that's not the case, we recommend learning about it first [here](https://docs.github.com/en/get-started/quickstart/hello-world).
## Overview
[overview]: #overview
This file contains general contributing information, but individual parts also have more specific information to them in their respective `README.md` files, linked here:
- [`lib`](./lib/README.md): Sources and documentation of the [library functions](https://nixos.org/manual/nixpkgs/stable/#chap-functions)
- [`maintainers`](./maintainers/README.md): Nixpkgs maintainer and team listings, maintainer scripts
- [`pkgs`](./pkgs/README.md): Package and [builder](https://nixos.org/manual/nixpkgs/stable/#part-builders) definitions
- [`doc`](./doc/README.md): Sources and infrastructure for the [Nixpkgs manual](https://nixos.org/manual/nixpkgs/stable/)
- [`nixos`](./nixos/README.md): Implementation of [NixOS](https://nixos.org/manual/nixos/stable/)
# How to's
## How to create pull requests
[pr-create]: #how-to-create-pull-requests
This section describes in some detail how changes can be made and proposed with pull requests.
> [!Note]
> Be aware that contributing implies licensing those contributions under the terms of [COPYING](./COPYING), an MIT-like license.
0. Set up a local version of Nixpkgs to work with using GitHub and Git
1. [Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo#forking-a-repository) the [Nixpkgs repository](https://github.com/nixos/nixpkgs/).
1. [Clone the forked repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo#cloning-your-forked-repository) into a local `nixpkgs` directory.
1. [Configure the upstream Nixpkgs repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo#configuring-git-to-sync-your-fork-with-the-upstream-repository).
1. Figure out the branch that should be used for this change by going through [this section][branch].
If in doubt use `master`, that's where most changes should go.
This can be changed later by [rebasing][rebase].
2. Create and switch to a new Git branch, ideally such that:
- The name of the branch hints at the change you'd like to implement, e.g. `update-hello`.
- The base of the branch includes the most recent changes on the base branch from step 1, we'll assume `master` here.
```bash
# Make sure you have the latest changes from upstream Nixpkgs
git fetch upstream
# Create and switch to a new branch based off the master branch in Nixpkgs
git switch --create update-hello upstream/master
```
To avoid having to download and build potentially many derivations, at the expense of using a potentially outdated version, you can base the branch off a specific [Git commit](https://www.git-scm.com/docs/gitglossary#def_commit) instead:
- The commit of the latest `nixpkgs-unstable` channel, available [here](https://channels.nixos.org/nixpkgs-unstable/git-revision).
- The commit of a local Nixpkgs downloaded using [nix-channel](https://nixos.org/manual/nix/stable/command-ref/nix-channel), available using `nix-instantiate --eval --expr '(import <nixpkgs/lib>).trivial.revisionWithDefault null'`
- If you're using NixOS, the commit of your NixOS installation, available with `nixos-version --revision`.
Once you have an appropriate commit you can use it instead of `upstream/master` in the above command:
```bash
git switch --create update-hello <the desired base commit>
```
3. Make the desired changes in the local Nixpkgs repository using an editor of your choice.
Make sure to:
- Adhere to both the [general code conventions][code-conventions], and the code conventions specific to the part you're making changes to.
See the [overview section][overview] for more specific information.
- Test the changes.
See the [overview section][overview] for more specific information.
- If necessary, document the change.
See the [overview section][overview] for more specific information.
4. Commit your changes using `git commit`.
Make sure to adhere to the [commit conventions](#commit-conventions).
Repeat the steps 3-4 as many times as necessary.
Advance to the next step if all the commits (viewable with `git log`) make sense together.
5. Push your commits to your fork of Nixpkgs.
```
git push --set-upstream origin HEAD
```
The above command will output a link that allows you to directly quickly do the next step:
```
remote: Create a pull request for 'update-hello' on GitHub by visiting:
remote: https://github.com/myUser/nixpkgs/pull/new/update-hello
```
6. [Create a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request#creating-the-pull-request) from the new branch in your Nixpkgs fork to the upstream Nixpkgs repository.
Use the branch from step 2 as the pull requests base branch.
Go through the [pull request template](#pull-request-template) in the pre-filled default description.
7. Respond to review comments, potential CI failures and potential merge conflicts by updating the pull request.
Always keep the pull request in a mergeable state.
The custom [OfBorg](https://github.com/NixOS/ofborg) CI system will perform various checks to help ensure code quality, whose results you can see at the bottom of the pull request.
See [the OfBorg Readme](https://github.com/NixOS/ofborg#readme) for more details.
- To add new commits, repeat steps 3-4 and push the result using
```
git push
```
- To change existing commits you will have to [rewrite Git history](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History).
Useful Git commands that can help a lot with this are `git commit --patch --amend` and `git rebase --interactive`.
With a rewritten history you need to force-push the commits using
```
git push --force-with-lease
```
- In case of merge conflicts you will also have to [rebase the branch](https://git-scm.com/book/en/v2/Git-Branching-Rebasing) on top of current `master`.
Sometimes this can be done [on GitHub directly](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/keeping-your-pull-request-in-sync-with-the-base-branch#updating-your-pull-request-branch), but if not you will have to rebase locally using
```
git fetch upstream
git rebase upstream/master
git push --force-with-lease
```
- If you need to change the base branch of the pull request, you can do so by [rebasing][rebase].
8. If your pull request is merged and [acceptable for releases][release-acceptable] you may [backport][pr-backport] the pull request.
### Pull request template
[pr-template]: #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
When sandbox builds are enabled, Nix will set up an isolated environment for each build process.
It is used to remove further hidden dependencies set by the build environment to improve reproducibility.
This includes access to the network during the build outside of `fetch*` functions and files outside the Nix store.
Depending on the operating system, access to other resources is blocked as well (e.g., inter-process communication is isolated on Linux); see [sandbox](https://nixos.org/manual/nix/stable/command-ref/conf-file#conf-sandbox) in the Nix manual for details.
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 [Hydra](https://nixos.org/hydra/) sandboxing is also used.
If you are on Linux, sandboxing is enabled by default.
On other platforms, sandboxing is disabled by default due to a small performance hit on each build.
Please enable sandboxing **before** building the package by adding the following to: `/etc/nix/nix.conf`:
```ini
sandbox = true
```
#### Built on platform(s)
Many Nix packages are designed to run on multiple platforms. As such, its important to let the maintainer know which platforms 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)
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`
If you are modifying a package, 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/`)
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
The last checkbox is about whether it fits the guidelines in this `CONTRIBUTING.md` file. This 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.
### Rebasing between branches (i.e. from master to staging)
[rebase]: #rebasing-between-branches-ie-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. As an additional precautionary measure,
you should temporarily mark the PR as draft for the duration of the operation.
This reduces the probability of mass-pinging people. (OfBorg might still
request a couple of persons for reviews though.)
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
```
#### Something went wrong and a lot of people were pinged
It happens. Remember to be kind, especially to new contributors.
There is no way back, so the pull request should be closed and locked
(if possible). The changes should be re-submitted in a new PR, in which the people
originally involved in the conversation need to manually be pinged again.
No further discussion should happen on the original PR, as a lot of people
are now subscribed to it.
The following message (or a version thereof) might be left when closing to
describe the situation, since closing and locking without any explanation
is kind of rude:
```markdown
It looks like you accidentally mass-pinged a bunch of people, which are now subscribed
and getting notifications for everything in this pull request. Unfortunately, they
cannot be automatically unsubscribed from the issue (removing review request does not
unsubscribe), therefore development cannot continue in this pull request anymore.
Please open a new pull request with your changes, link back to this one and ping the
people actually involved in here over there.
In order to avoid this in the future, there are instructions for how to properly
rebase between branches in our [contribution guidelines](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#rebasing-between-branches-ie-from-master-to-staging).
Setting your pull request to draft prior to rebasing is strongly recommended.
In draft status, you can preview the list of people that are about to be requested
for review, which allows you to sidestep this issue.
This is not a bulletproof method though, as OfBorg still does review requests even on draft PRs.
```
## How to backport pull requests
[pr-backport]: #how-to-backport-pull-requests
Once a pull request has been merged into `master`, a backport pull request to the corresponding `release-YY.MM` branch can be created either automatically or manually.
### Automatically backporting changes
> [!Note]
> You have to be a [Nixpkgs maintainer](./maintainers) to automatically create a backport pull request.
Add the [`backport release-YY.MM` label](https://github.com/NixOS/nixpkgs/labels?q=backport) to the pull request on the `master` branch.
This will cause [a GitHub Action](.github/workflows/backport.yml) to open a pull request to the `release-YY.MM` branch a few minutes later.
This can be done on both open or already merged pull requests.
### Manually backporting changes
To manually create a backport pull request, follow [the standard pull request process][pr-create], with these notable differences:
- Use `release-YY.MM` for the base branch, both for the local branch and the pull request.
> [!Warning]
> Do not use the `nixos-YY.MM` branch, that is a branch pointing to the tested release channel commit
- Instead of manually making and committing the changes, use [`git cherry-pick -x`](https://git-scm.com/docs/git-cherry-pick) for each commit from the pull request you'd like to backport.
Either `git cherry-pick -x <commit>` when the reason for the backport is obvious (such as minor versions, fixes, etc.), otherwise use `git cherry-pick -xe <commit>` to add a reason for the backport to the commit message.
Here is [an example](https://github.com/nixos/nixpkgs/commit/5688c39af5a6c5f3d646343443683da880eaefb8) of this.
> [!Warning]
> 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.
- In the pull request description, link to the original pull request to `master`.
The pull request title should include `[YY.MM]` matching the release you're backporting to.
- 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.
## How to review pull requests
[pr-review]: #how-to-review-pull-requests
> [!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.
To get more information about how to review specific parts of Nixpkgs, refer to the documents linked to in the [overview section][overview].
If a pull request contains documentation changes that might require feedback from the documentation team, ping [@NixOS/documentation-team](https://github.com/orgs/nixos/teams/documentation-team) on the pull request.
If you 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.
## How to merge pull requests
[pr-merge]: #how-to-merge-pull-requests
The *Nixpkgs committers* are people who have been given
permission to merge.
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.
# Flow of merged pull requests
After a pull request is merged, it eventually makes it to the [official Hydra CI](https://hydra.nixos.org/).
Hydra regularly evaluates and builds Nixpkgs, updating [the official channels](https://channels.nixos.org/) when specific Hydra jobs succeeded.
See [Nix Channel Status](https://status.nixos.org/) for the current channels and their state.
Here's a brief overview of the main Git branches and what channels they're used for:
- `master`: The main branch, used for the unstable channels such as `nixpkgs-unstable`, `nixos-unstable` and `nixos-unstable-small`.
- `release-YY.MM` (e.g. `release-23.11`): The NixOS release branches, used for the stable channels such as `nixos-23.11`, `nixos-23.11-small` and `nixpkgs-23.11-darwin`.
When a channel is updated, a corresponding Git branch is also updated to point to the corresponding commit.
So e.g. the [`nixpkgs-unstable` branch](https://github.com/nixos/nixpkgs/tree/nixpkgs-unstable) corresponds to the Git commit from the [`nixpkgs-unstable` channel](https://channels.nixos.org/nixpkgs-unstable).
Nixpkgs in its entirety is tied to the NixOS release process, which is documented in the [NixOS Release Wiki](https://nixos.github.io/release-wiki/).
See [this section][branch] to know when to use the release branches.
## Staging
[staging]: #staging
The staging workflow exists to batch Hydra builds of many packages together.
It works by directing commits that cause [mass rebuilds][mass-rebuild] to a separate `staging` branch that isn't directly built by Hydra.
Regularly, the `staging` branch is _manually_ merged into a `staging-next` branch to be built by Hydra using the [`nixpkgs:staging-next` jobset](https://hydra.nixos.org/jobset/nixpkgs/staging-next).
The `staging-next` branch should then only receive direct commits in order to fix Hydra builds.
Once it is verified that there are no major regressions, it is merged into `master` using [a pull request](https://github.com/NixOS/nixpkgs/pulls?q=head%3Astaging-next).
This is done manually in order to ensure it's a good use of Hydra's computing resources.
By keeping the `staging-next` branch separate from `staging`, this batching does not block developers from merging changes into `staging`.
In order for the `staging` and `staging-next` branches to be up-to-date with the latest commits on `master`, there are regular _automated_ merges from `master` into `staging-next` and `staging`.
This is implemented using GitHub workflows [here](.github/workflows/periodic-merge-6h.yml) and [here](.github/workflows/periodic-merge-24h.yml).
> [!Note]
> Changes must be sufficiently tested before being merged into any branch.
> Hydra builds should not be used as testing platform.
Here is a Git history diagram showing the flow of commits between the three branches:
```mermaid
%%{init: {
'theme': 'base',
'themeVariables': {
'gitInv0': '#ff0000',
'gitInv1': '#ff0000',
'git2': '#ff4444',
'commitLabelFontSize': '15px'
},
'gitGraph': {
'showCommitLabel':true,
'mainBranchName': 'master',
'rotateCommitLabel': true
}
} }%%
gitGraph
commit id:" "
branch staging-next
branch staging
checkout master
checkout staging
checkout master
commit id:" "
checkout staging-next
merge master id:"automatic"
checkout staging
merge staging-next id:"automatic "
checkout staging-next
merge staging type:HIGHLIGHT id:"manual"
commit id:"fixup"
checkout master
checkout staging
checkout master
commit id:" "
checkout staging-next
merge master id:"automatic "
checkout staging
merge staging-next id:"automatic "
checkout staging-next
commit id:"fixup "
checkout master
merge staging-next type:HIGHLIGHT id:"manual (PR)"
```
Here's an overview of the different branches:
| branch | `master` | `staging-next` | `staging` |
| --- | --- | --- | --- |
| Used for development | ✔️ | ❌ | ✔️ |
| Built by Hydra | ✔️ | ✔️ | ❌ |
| [Mass rebuilds][mass-rebuild] | ❌ | ⚠️ Only to fix Hydra builds | ✔️ |
| Critical security fixes | ✔️ for non-mass-rebuilds | ✔️ for mass-rebuilds | ❌ |
| Automatically merged into | `staging-next` | `staging` | - |
| Manually merged into | - | `master` | `staging-next` |
The staging workflow is used for all main branches, `master` and `release-YY.MM`, with corresponding names:
- `master`/`release-YY.MM`
- `staging`/`staging-YY.MM`
- `staging-next`/`staging-next-YY.MM`
# Conventions
## Branch conventions
<!-- This section is relevant to both contributors and reviewers -->
[branch]: #branch-conventions
Most changes should go to the `master` branch, but sometimes other branches should be used instead.
Use the following decision process to figure out which one it should be:
Is the change [acceptable for releases][release-acceptable] and do you wish to have the change in the release?
- No: Use the `master` branch, do not backport the pull request.
- Yes: Can the change be implemented the same way on the `master` and release branches?
For example, a packages major version might differ between the `master` and release branches, such that separate security patches are required.
- Yes: Use the `master` branch and [backport the pull request](#how-to-backport-pull-requests).
- No: Create separate pull requests to the `master` and `release-XX.YY` branches.
Furthermore, if the change causes a [mass rebuild][mass-rebuild], use the appropriate staging branch instead:
- Mass rebuilds to `master` should go to `staging` instead.
- Mass rebuilds to `release-XX.YY` should go to `staging-XX.YY` instead.
See [this section][staging] for more details about such changes propagate between the branches.
### Changes acceptable for releases
[release-acceptable]: #changes-acceptable-for-releases
Only changes to supported releases may be accepted.
The oldest supported release (`YYMM`) can be found using
```
nix-instantiate --eval -A lib.trivial.oldestSupportedRelease
```
The release branches should generally only receive backwards-compatible changes, both for the Nix expressions and derivations.
Here are some examples of backwards-compatible changes that are okay to backport:
- ✔️ New packages, modules and functions
- ✔️ Security fixes
- ✔️ Package version updates
- ✔️ Patch versions with fixes
- ✔️ Minor versions with new functionality, but no breaking changes
In addition, major package version updates with breaking changes are also acceptable for:
- ✔️ Services that would fail without up-to-date client software, such as `spotify`, `steam`, and `discord`
- ✔️ Security critical applications, such as `firefox` and `chromium`
### Changes causing mass rebuilds
[mass-rebuild]: #changes-causing-mass-rebuilds
Which changes cause mass rebuilds is not formally defined.
In order to help the decision, CI automatically assigns [`rebuild` labels](https://github.com/NixOS/nixpkgs/labels?q=rebuild) to pull requests based on the number of packages they cause rebuilds for.
As a rule of thumb, if the number of rebuilds is **over 500**, it can be considered a mass rebuild.
To get a sense for what changes are considered mass rebuilds, see [previously merged pull requests to the staging branches](https://github.com/NixOS/nixpkgs/issues?q=base%3Astaging+-base%3Astaging-next+is%3Amerged).
## Commit conventions
[commit-conventions]: #commit-conventions
- Create a commit for each logical unit.
- Check for unnecessary whitespace with `git diff --check` before committing.
- If you have commits `pkg-name: oh, forgot to insert whitespace`: squash commits in this case. Use `git rebase -i`.
See [Squashing Commits](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#_squashing) for additional information.
- For consistency, there should not be a period at the end of the commit message's summary line (the first line of the commit message).
- When adding yourself as maintainer in the same pull request, make a separate
commit with the message `maintainers: add <handle>`.
Add the commit before those making changes to the package or module.
See [Nixpkgs Maintainers](./maintainers/README.md) for details.
- Make sure you read about any commit conventions specific to the area you're touching. See:
- [Commit conventions](./pkgs/README.md#commit-conventions) for changes to `pkgs`.
- [Commit conventions](./lib/README.md#commit-conventions) for changes to `lib`.
- [Commit conventions](./nixos/README.md#commit-conventions) for changes to `nixos`.
- [Commit conventions](./doc/README.md#commit-conventions) for changes to `doc`, the Nixpkgs manual.
### 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.
## Code conventions
[code-conventions]: #code-conventions
### Release notes
If you removed packages or made some major NixOS changes, write about it in the release notes for the next stable release in [`nixos/doc/manual/release-notes`](./nixos/doc/manual/release-notes).
### File naming and organisation
Names of files and directories should be in lowercase, with dashes between words — not in camel case. For instance, it should be `all-packages.nix`, not `allPackages.nix` or `AllPackages.nix`.
### 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 [package naming](./pkgs/README.md#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 // {
foo = if doCoverageAnalysis then "bla" else "";
})
```
instead of
```nix
args:
args.stdenv.mkDerivation (args // {
foo = if args ? doCoverageAnalysis && args.doCoverageAnalysis then "bla" else "";
})
```
- Unnecessary string conversions should be avoided. Do
```nix
{
rev = version;
}
```
instead of
```nix
{
rev = "${version}";
}
```
- Building lists conditionally _should_ be done with `lib.optional(s)` instead of using `if cond then [ ... ] else null` or `if cond then [ ... ] else [ ]`.
```nix
{
buildInputs = lib.optional stdenv.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)`.

View File

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

View File

@@ -1,20 +1,14 @@
<p align="center">
<a href="https://nixos.org">
<picture>
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/NixOS/nixos-homepage/main/public/logo/nixos-hires.png">
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/master/logo/nixos-white.png">
<img src="https://raw.githubusercontent.com/NixOS/nixos-homepage/main/public/logo/nixos-hires.png" width="500px" alt="NixOS logo">
</picture>
</a>
<a href="https://nixos.org/nixos"><img src="https://nixos.org/logo/nixos-hires.png" width="500px" alt="NixOS logo" /></a>
</p>
<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>
<a href="https://www.codetriage.com/nixos/nixpkgs"><img src="https://www.codetriage.com/nixos/nixpkgs/badges/users.svg" alt="Code Triagers badge" /></a>
<a href="https://opencollective.com/nixos"><img src="https://opencollective.com/nixos/tiers/supporter/badge.svg?label=Supporter&color=brightgreen" alt="Open Collective supporters" /></a>
</p>
[Nixpkgs](https://github.com/nixos/nixpkgs) is a collection of over
100,000 software packages that can be installed with the
40,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.
@@ -27,10 +21,10 @@
# Community
* [Discourse Forum](https://discourse.nixos.org/)
* [Matrix Chat](https://matrix.to/#/#community:nixos.org)
* [IRC - #nixos on freenode.net](irc://irc.freenode.net/#nixos)
* [NixOS Weekly](https://weekly.nixos.org/)
* [Official wiki](https://wiki.nixos.org/)
* [Community-maintained list of ways to get in touch](https://wiki.nixos.org/wiki/Get_In_Touch#Chat) (Discord, Telegram, IRC, etc.)
* [Community-maintained wiki](https://nixos.wiki/)
* [Community-maintained list of ways to get in touch](https://nixos.wiki/wiki/Get_In_Touch#Chat) (Discord, Matrix, Telegram, other IRC channels, etc.)
# Other Project Repositories
@@ -52,29 +46,48 @@ Nixpkgs and NixOS are built and tested by our continuous integration
system, [Hydra](https://hydra.nixos.org/).
* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
* [Continuous package builds for the NixOS 23.11 release](https://hydra.nixos.org/jobset/nixos/release-23.11)
* [Continuous package builds for the NixOS 20.09 release](https://hydra.nixos.org/jobset/nixos/release-20.09)
* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
* [Tests for the NixOS 23.11 release](https://hydra.nixos.org/job/nixos/release-23.11/tested#tabs-constituents)
* [Tests for the NixOS 20.09 release](https://hydra.nixos.org/job/nixos/release-20.09/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).
channels](https://nixos.org/nix/manual/#sec-channels).
# 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
describes how to build over 40,000 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.
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).
the [contributing page](https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md).
# Donations
@@ -84,8 +97,7 @@ 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:
You can donate to the NixOS foundation by using Open Collective:
<a href="https://opencollective.com/nixos#support"><img src="https://opencollective.com/nixos/tiers/supporter.svg?width=890" /></a>

View File

@@ -14,7 +14,7 @@ if ! builtins ? nixVersion || builtins.compareVersions requiredVersion builtins.
- 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
curl https://nixos.org/nix/install | sh
For more information, please see the NixOS release notes at
https://nixos.org/nixos/manual or locally at

8
doc/.gitignore vendored Normal file
View File

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

110
doc/Makefile Normal file
View File

@@ -0,0 +1,110 @@
MD_TARGETS=$(addsuffix .xml, $(basename $(shell find . -type f -regex '.*\.md$$')))
.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
.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 ./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 ./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 $^ -w docbook \
-f markdown+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|\(<[^ ]* \)|\1xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" |' \
| cat > $@
%.chapter.xml: %.chapter.md
pandoc $^ -w docbook \
--top-level-division=chapter \
-f markdown+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|' \
| cat > $@

View File

@@ -1,348 +0,0 @@
# Contributing to the Nixpkgs reference manual
This directory houses the sources files for the Nixpkgs reference manual.
Going forward, it should only contain [reference](https://nix.dev/contributing/documentation/diataxis#reference) documentation.
For tutorials, guides and explanations, contribute to <https://nix.dev/> instead.
For documentation only relevant for contributors, use Markdown files and code comments in the source code.
Rendered documentation:
- [Unstable (from master)](https://nixos.org/manual/nixpkgs/unstable/)
- [Stable (from latest release)](https://nixos.org/manual/nixpkgs/stable/)
The rendering tool is [nixos-render-docs](../pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs), sometimes abbreviated `nrd`.
## Contributing to this documentation
You can quickly check your edits with `nix-build`:
```ShellSession
$ cd /path/to/nixpkgs
$ nix-build doc
```
If the build succeeds, the manual will be in `./result/share/doc/nixpkgs/manual.html`.
### devmode
The shell in the manual source directory makes available a command, `devmode`.
It is a daemon, that:
1. watches the manual's source for changes and when they occur — rebuilds
2. HTTP serves the manual, injecting a script that triggers reload on changes
3. opens the manual in the default browser
## Syntax
As per [RFC 0072](https://github.com/NixOS/rfcs/pull/72), all new documentation content should be written in [CommonMark](https://commonmark.org/) Markdown dialect.
Additional syntax extensions are available, all of which can be used in NixOS option documentation. The following extensions are currently used:
#### Tables
Tables, using the [GitHub-flavored Markdown syntax](https://github.github.com/gfm/#tables-extension-).
#### Anchors
Explicitly defined **anchors** on headings, to allow linking to sections. These should be always used, to ensure the anchors can be linked even when the heading text changes, and to prevent conflicts between [automatically assigned identifiers](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/auto_identifiers.md).
It uses the widely compatible [header attributes](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/attributes.md) syntax:
```markdown
## Syntax {#sec-contributing-markup}
```
> [!Note]
> NixOS option documentation does not support headings in general.
#### Inline Anchors
Allow linking arbitrary place in the text (e.g. individual list items, sentences…).
They are defined using a hybrid of the link syntax with the attributes syntax known from headings, called [bracketed spans](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/bracketed_spans.md):
```markdown
- []{#ssec-gnome-hooks-glib} `glib` setup hook will populate `GSETTINGS_SCHEMAS_PATH` and then `wrapGApps*` hook will prepend it to `XDG_DATA_DIRS`.
```
#### Automatic links
If you **omit a link text** for a link pointing to a section, the text will be substituted automatically. For example `[](#chap-contributing)`.
This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/using/syntax.html#targets-and-cross-referencing).
#### HTML
Inlining HTML is not allowed. Parts of the documentation gets rendered to various non-HTML formats, such as man pages in the case of NixOS manual.
#### Roles
If you want to link to a man page, you can use `` {manpage}`nix.conf(5)` ``. The references will turn into links when a mapping exists in [`doc/manpage-urls.json`](./manpage-urls.json).
A few markups for other kinds of literals are also available:
- `` {command}`rm -rfi` ``
- `` {env}`XDG_DATA_DIRS` ``
- `` {file}`/etc/passwd` ``
- `` {option}`networking.useDHCP` ``
- `` {var}`/etc/passwd` ``
These literal kinds are used mostly in NixOS option documentation.
This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/syntax/syntax.html#roles-an-in-line-extension-point). Though, the feature originates from [reStructuredText](https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-manpage) with slightly different syntax.
#### Admonitions
Set off from the text to bring attention to something.
It uses pandocs [fenced `div`s syntax](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/fenced_divs.md):
```markdown
::: {.warning}
This is a warning
:::
```
The following are supported:
- `caution`
- `important`
- `note`
- `tip`
- `warning`
- `example`
Example admonitions require a title to work.
If you don't provide one, the manual won't be built.
```markdown
::: {.example #ex-showing-an-example}
# Title for this example
Text for the example.
:::
```
#### [Definition lists](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/definition_lists.md)
For defining a group of terms:
```markdown
pear
: green or yellow bulbous fruit
watermelon
: green fruit with red flesh
```
## Commit conventions
- Make sure you read about the [commit conventions](../CONTRIBUTING.md#commit-conventions) common to Nixpkgs as a whole.
- If creating a commit purely for documentation changes, format the commit message in the following way:
```
doc: (documentation summary)
(Motivation for change, relevant links, additional information.)
```
Examples:
* doc: update the kernel config documentation to use `nix-shell`
* doc: add information about `nix-update-script`
Closes #216321.
- If the commit contains more than just documentation changes, follow the commit message format relevant for the rest of the changes.
## Documentation conventions
In an effort to keep the Nixpkgs manual in a consistent style, please follow the conventions below, unless they prevent you from properly documenting something.
In that case, please open an issue about the particular documentation convention and tag it with a "needs: documentation" label.
When needed, each convention explain why it exists, so you can make a decision whether to follow it or not based on your particular case.
Note that these conventions are about the **structure** of the manual (and its source files), not about the content that goes in it.
You, as the writer of documentation, are still in charge of its content.
- Put each sentence in its own line.
This makes reviews and suggestions much easier, since GitHub's review system is based on lines.
It also helps identifying long sentences at a glance.
- Use the [admonition syntax](#admonitions) for callouts and examples.
- Provide at least one example per function, and make examples self-contained.
This is easier to understand for beginners.
It also helps with testing that it actually works especially once we introduce automation.
Example code should be such that it can be passed to `pkgs.callPackage`.
Instead of something like:
```nix
pkgs.dockerTools.buildLayeredImage {
name = "hello";
contents = [ pkgs.hello ];
}
```
Write something like:
```nix
{ dockerTools, hello }:
dockerTools.buildLayeredImage {
name = "hello";
contents = [ hello ];
}
```
- When showing inputs/outputs of any [REPL](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop), such as a shell or the Nix REPL, use a format as you'd see in the REPL, while trying to visually separate inputs from outputs.
This means that for a shell, you should use a format like the following:
```shell
$ nix-build -A hello '<nixpkgs>' \
--option require-sigs false \
--option trusted-substituters file:///tmp/hello-cache \
--option substituters file:///tmp/hello-cache
/nix/store/zhl06z4lrfrkw5rp0hnjjfrgsclzvxpm-hello-2.12.1
```
Note how the input is preceded by `$` on the first line and indented on subsequent lines, and how the output is provided as you'd see on the shell.
For the Nix REPL, you should use a format like the following:
```shell
nix-repl> builtins.attrNames { a = 1; b = 2; }
[ "a" "b" ]
```
Note how the input is preceded by `nix-repl>` and the output is provided as you'd see on the Nix REPL.
- When documenting functions or anything that has inputs/outputs and example usage, use nested headings to clearly separate inputs, outputs, and examples.
Keep examples as the last nested heading, and link to the examples wherever applicable in the documentation.
The purpose of this convention is to provide a familiar structure for navigating the manual, so any reader can expect to find content related to inputs in an "inputs" heading, examples in an "examples" heading, and so on.
An example:
```
## buildImage
Some explanation about the function here.
Describe a particular scenario, and point to [](#ex-dockerTools-buildImage), which is an example demonstrating it.
### Inputs
Documentation for the inputs of `buildImage`.
Perhaps even point to [](#ex-dockerTools-buildImage) again when talking about something specifically linked to it.
### Passthru outputs
Documentation for any passthru outputs of `buildImage`.
### Examples
Note that this is the last nested heading in the `buildImage` section.
:::{.example #ex-dockerTools-buildImage}
# Using `buildImage`
Example of how to use `buildImage` goes here.
:::
```
- Use [definition lists](#definition-lists) to document function arguments, and the attributes of such arguments as well as their [types](https://nixos.org/manual/nix/stable/language/values).
For example:
```markdown
# pkgs.coolFunction
Description of what `coolFunction` does.
## Inputs
`coolFunction` expects a single argument which should be an attribute set, with the following possible attributes:
`name` (String)
: The name of the resulting image.
`tag` (String; _optional_)
: Tag of the generated image.
_Default:_ the output path's hash.
```
#### Examples
To define a referenceable figure use the following fencing:
```markdown
:::{.example #an-attribute-set-example}
# An attribute set example
You can add text before
```nix
{ a = 1; b = 2;}
```
and after code fencing
:::
```
Defining examples through the `example` fencing class adds them to a "List of Examples" section after the Table of Contents.
Though this is not shown in the rendered documentation on nixos.org.
#### Figures
To define a referencable figure use the following fencing:
```markdown
::: {.figure #nixos-logo}
# NixOS Logo
![NixOS logo](./nixos_logo.png)
:::
```
Defining figures through the `figure` fencing class adds them to a `List of Figures` after the `Table of Contents`.
Though this is not shown in the rendered documentation on nixos.org.
#### Footnotes
To add a foonote explanation, use the following syntax:
```markdown
Sometimes it's better to add context [^context] in a footnote.
[^context]: This explanation will be rendered at the end of the chapter.
```
#### Inline comments
Inline comments are supported with following syntax:
```markdown
<!-- This is an inline comment -->
```
The comments will not be rendered in the rendered HTML.
#### Link reference definitions
Links can reference a label, for example, to make the link target reusable:
```markdown
::: {.note}
Reference links can also be used to [shorten URLs][url-id] and keep the markdown readable.
:::
[url-id]: https://github.com/NixOS/nixpkgs/blob/19d4f7dc485f74109bd66ef74231285ff797a823/doc/README.md
```
This syntax is taken from [CommonMark](https://spec.commonmark.org/0.30/#link-reference-definitions).
#### Typographic replacements
Typographic replacements are enabled. Check the [list of possible replacement patterns check](https://github.com/executablebooks/markdown-it-py/blob/3613e8016ecafe21709471ee0032a90a4157c2d1/markdown_it/rules_core/replacements.py#L1-L15).
## Getting help
If you need documentation-specific help or reviews, ping [@NixOS/documentation-team](https://github.com/orgs/nixos/teams/documentation-team) on your pull request.

View File

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

9
doc/anchor.min.js vendored

File diff suppressed because one or more lines are too long

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -1,104 +0,0 @@
# pkgs.ociTools {#sec-pkgs-ociTools}
`pkgs.ociTools` is a set of functions for creating runtime container bundles according to the [OCI runtime specification v1.0.0](https://github.com/opencontainers/runtime-spec/blob/v1.0.0/spec.md).
It makes no assumptions about the container runner you choose to use to run the created container.
The set of functions in `pkgs.ociTools` currently does not handle the [OCI image specification](https://github.com/opencontainers/image-spec).
At a high-level an OCI implementation would download an OCI Image then unpack that image into an OCI Runtime filesystem bundle.
At this point the OCI Runtime Bundle would be run by an OCI Runtime.
`pkgs.ociTools` provides utilities to create OCI Runtime bundles.
## buildContainer {#ssec-pkgs-ociTools-buildContainer}
This function creates an OCI runtime container (consisting of a `config.json` and a root filesystem directory) that runs a single command inside of it.
The nix store of the container will contain all referenced dependencies of the given command.
This function has an assumption that the container will run on POSIX platforms, and sets configurations (such as the user running the process or certain mounts) according to this assumption.
Because of this, a container built with `buildContainer` will not work on Windows or other non-POSIX platforms without modifications to the container configuration.
These modifications aren't supported by `buildContainer`.
For `linux` platforms, `buildContainer` also configures the following namespaces (see {manpage}`unshare(1)`) to isolate the OCI container from the global namespace:
PID, network, mount, IPC, and UTS.
Note that no user namespace is created, which means that you won't be able to run the container unless you are the `root` user.
### Inputs {#ssec-pkgs-ociTools-buildContainer-inputs}
`buildContainer` expects an argument with the following attributes:
`args` (List of String)
: Specifies a set of arguments to run inside the container.
Any packages referenced by `args` will be made available inside the container.
`mounts` (Attribute Set; _optional_)
: Would specify additional mounts that the runtime must make available to the container.
:::{.warning}
As explained in [issue #290879](https://github.com/NixOS/nixpkgs/issues/290879), this attribute is currently ignored.
:::
:::{.note}
`buildContainer` includes a minimal set of necessary filesystems to be mounted into the container, and this set can't be changed with the `mounts` attribute.
:::
_Default value:_ `{}`.
`readonly` (Boolean; _optional_)
: If `true`, sets the container's root filesystem as read-only.
_Default value:_ `false`.
`os` **DEPRECATED**
: Specifies the operating system on which the container filesystem is based on.
If specified, its value should follow the [OCI Image Configuration Specification](https://github.com/opencontainers/image-spec/blob/main/config.md#properties).
According to the linked specification, all possible values for `$GOOS` in [the Go docs](https://go.dev/doc/install/source#environment) should be valid, but will commonly be one of `darwin` or `linux`.
_Default value:_ `"linux"`.
`arch` **DEPRECATED**
: Used to specify the architecture for which the binaries in the container filesystem have been compiled.
If specified, its value should follow the [OCI Image Configuration Specification](https://github.com/opencontainers/image-spec/blob/main/config.md#properties).
According to the linked specification, all possible values for `$GOARCH` in [the Go docs](https://go.dev/doc/install/source#environment) should be valid, but will commonly be one of `386`, `amd64`, `arm`, or `arm64`.
_Default value:_ `x86_64`.
### Examples {#ssec-pkgs-ociTools-buildContainer-examples}
::: {.example #ex-ociTools-buildContainer-bash}
# Creating an OCI runtime container that runs `bash`
This example uses `ociTools.buildContainer` to create a simple container that runs `bash`.
```nix
{ ociTools, lib, bash }:
ociTools.buildContainer {
args = [
(lib.getExe bash)
];
readonly = false;
}
```
As an example of how to run the container generated by this package, we'll use `runc` to start the container.
Any other tool that supports OCI containers could be used instead.
```shell
$ nix-build
(some output removed for clarity)
/nix/store/7f9hgx0arvhzp2a3qphp28rxbn748l25-join
$ cd /nix/store/7f9hgx0arvhzp2a3qphp28rxbn748l25-join
$ nix-shell -p runc
[nix-shell:/nix/store/7f9hgx0arvhzp2a3qphp28rxbn748l25-join]$ sudo runc run ocitools-example
help
GNU bash, version 5.2.26(1)-release (x86_64-pc-linux-gnu)
(some output removed for clarity)
```
:::

View File

@@ -1,174 +0,0 @@
# pkgs.portableService {#sec-pkgs-portableService}
`pkgs.portableService` is a function to create [Portable Services](https://systemd.io/PORTABLE_SERVICES/) in a read-only, immutable, `squashfs` raw disk image.
This lets you use Nix to build images which can be run on many recent Linux distributions.
::: {.note}
Portable services are supported starting with systemd 239 (released on 2018-06-22).
:::
The generated image will contain the file system structure as required by the Portable Services specification, along with the packages given to `portableService` and all of their dependencies.
When generated, the image will exist in the Nix store with the `.raw` file extension, as required by the specification.
See [](#ex-portableService-hello) to understand how to use the output of `portableService`.
## Inputs {#ssec-pkgs-portableService-inputs}
`portableService` expects one argument with the following attributes:
`pname` (String)
: The name of the portable service.
The generated image will be named according to the template `$pname_$version.raw`, which is supported by the Portable Services specification.
`version` (String)
: The version of the portable service.
The generated image will be named according to the template `$pname_$version.raw`, which is supported by the Portable Services specification.
`units` (List of Attribute Set)
: A list of derivations for systemd unit files.
Each derivation must produce a single file, and must have a name that starts with the value of `pname` and ends with the suffix of the unit type (e.g. ".service", ".socket", ".timer", and so on).
See [](#ex-portableService-hello) to better understand this naming constraint.
`description` (String or Null; _optional_)
: If specified, the value is added as `PORTABLE_PRETTY_NAME` to the `/etc/os-release` file in the generated image.
This could be used to provide more information to anyone inspecting the image.
_Default value:_ `null`.
`homepage` (String or Null; _optional_)
: If specified, the value is added as `HOME_URL` to the `/etc/os-release` file in the generated image.
This could be used to provide more information to anyone inspecting the image.
_Default value:_ `null`.
`symlinks` (List of Attribute Set; _optional_)
: A list of attribute sets in the format `{object, symlink}`.
For each item in the list, `portableService` will create a symlink in the path specified by `symlink` (relative to the root of the image) that points to `object`.
All packages that `object` depends on and their dependencies are automatically copied into the image.
This can be used to create symlinks for applications that assume some files to exist globally (`/etc/ssl` or `/bin/bash`, for example).
See [](#ex-portableService-symlinks) to understand how to do that.
_Default value:_ `[]`.
`contents` (List of Attribute Set; _optional_)
: A list of additional derivations to be included as-is in the image.
These derivations will be included directly in a `/nix/store` directory inside the image.
_Default value:_ `[]`.
`squashfsTools` (Attribute Set; _optional_)
: Allows you to override the package that provides {manpage}`mksquashfs(1)`, which is used internally by `portableService`.
_Default value:_ `pkgs.squashfsTools`.
`squash-compression` (String; _optional_)
: Passed as the compression option to {manpage}`mksquashfs(1)`, which is used internally by `portableService`.
_Default value:_ `"xz -Xdict-size 100%"`.
`squash-block-size` (String; _optional_)
: Passed as the block size option to {manpage}`mksquashfs(1)`, which is used internally by `portableService`.
_Default value:_ `"1M"`.
## Examples {#ssec-pkgs-portableService-examples}
[]{#ex-pkgs-portableService}
:::{.example #ex-portableService-hello}
# Building a Portable Service image
The following example builds a Portable Service image with the `hello` package, along with a service unit that runs it.
```nix
{ lib, writeText, portableService, hello }:
let
hello-service = writeText "hello.service" ''
[Unit]
Description=Hello world service
[Service]
Type=oneshot
ExecStart=${lib.getExe hello}
'';
in
portableService {
pname = "hello";
inherit (hello) version;
units = [ hello-service ];
}
```
After building the package, the generated image can be loaded into a system through {manpage}`portablectl(1)`:
```shell
$ nix-build
(some output removed for clarity)
/nix/store/8c20z1vh7z8w8dwagl8w87b45dn5k6iq-hello-img-2.12.1
$ portablectl attach /nix/store/8c20z1vh7z8w8dwagl8w87b45dn5k6iq-hello-img-2.12.1/hello_2.12.1.raw
Created directory /etc/systemd/system.attached.
Created directory /etc/systemd/system.attached/hello.service.d.
Written /etc/systemd/system.attached/hello.service.d/20-portable.conf.
Created symlink /etc/systemd/system.attached/hello.service.d/10-profile.conf → /usr/lib/systemd/portable/profile/default/service.conf.
Copied /etc/systemd/system.attached/hello.service.
Created symlink /etc/portables/hello_2.12.1.raw → /nix/store/8c20z1vh7z8w8dwagl8w87b45dn5k6iq-hello-img-2.12.1/hello_2.12.1.raw.
$ systemctl start hello
$ journalctl -u hello
Feb 28 22:39:16 hostname systemd[1]: Starting Hello world service...
Feb 28 22:39:16 hostname hello[102887]: Hello, world!
Feb 28 22:39:16 hostname systemd[1]: hello.service: Deactivated successfully.
Feb 28 22:39:16 hostname systemd[1]: Finished Hello world service.
$ portablectl detach hello_2.12.1
Removed /etc/systemd/system.attached/hello.service.
Removed /etc/systemd/system.attached/hello.service.d/10-profile.conf.
Removed /etc/systemd/system.attached/hello.service.d/20-portable.conf.
Removed /etc/systemd/system.attached/hello.service.d.
Removed /etc/portables/hello_2.12.1.raw.
Removed /etc/systemd/system.attached.
```
:::
:::{.example #ex-portableService-symlinks}
# Specifying symlinks when building a Portable Service image
Some services may expect files or directories to be available globally.
An example is a service which expects all trusted SSL certificates to exist in a specific location by default.
To make things available globally, you must specify the `symlinks` attribute when using `portableService`.
The following package builds on the package from [](#ex-portableService-hello) to make `/etc/ssl` available globally (this is only for illustrative purposes, because `hello` doesn't use `/etc/ssl`).
```nix
{ lib, writeText, portableService, hello, cacert }:
let
hello-service = writeText "hello.service" ''
[Unit]
Description=Hello world service
[Service]
Type=oneshot
ExecStart=${lib.getExe hello}
'';
in
portableService {
pname = "hello";
inherit (hello) version;
units = [ hello-service ];
symlinks = [
{ object = "${cacert}/etc/ssl"; symlink = "/etc/ssl"; }
];
}
```
:::

View File

@@ -1,12 +0,0 @@
# Special build helpers {#chap-special}
This chapter describes several special build helpers.
```{=include=} sections
special/fakenss.section.md
special/fhs-environments.section.md
special/makesetuphook.section.md
special/mkshell.section.md
special/vm-tools.section.md
special/checkpoint-build.section.md
```

View File

@@ -1,43 +0,0 @@
# pkgs.checkpointBuildTools {#sec-checkpoint-build}
`pkgs.checkpointBuildTools` provides a way to build derivations incrementally. It consists of two functions to make checkpoint builds using Nix possible.
For hermeticity, Nix derivations do not allow any state to be carried over between builds, making a transparent incremental build within a derivation impossible.
However, we can tell Nix explicitly what the previous build state was, by representing that previous state as a derivation output. This allows the passed build state to be used for an incremental build.
To change a normal derivation to a checkpoint based build, these steps must be taken:
- apply `prepareCheckpointBuild` on the desired derivation, e.g.
```nix
{
checkpointArtifacts = (pkgs.checkpointBuildTools.prepareCheckpointBuild pkgs.virtualbox);
}
```
- change something you want in the sources of the package, e.g. use a source override:
```nix
{
changedVBox = pkgs.virtualbox.overrideAttrs (old: {
src = path/to/vbox/sources;
});
}
```
- use `mkCheckpointBuild changedVBox checkpointArtifacts`
- enjoy shorter build times
## Example {#sec-checkpoint-build-example}
```nix
{ pkgs ? import <nixpkgs> {} }:
let
inherit (pkgs.checkpointBuildTools)
prepareCheckpointBuild
mkCheckpointBuild
;
helloCheckpoint = prepareCheckpointBuild pkgs.hello;
changedHello = pkgs.hello.overrideAttrs (_: {
doCheck = false;
patchPhase = ''
sed -i 's/Hello, world!/Hello, Nix!/g' src/hello.c
'';
});
in mkCheckpointBuild changedHello helloCheckpoint
```

View File

@@ -1,77 +0,0 @@
# fakeNss {#sec-fakeNss}
Provides `/etc/passwd` and `/etc/group` files that contain `root` and `nobody`, allowing user/group lookups to work in binaries that insist on doing those.
This might be a better choice than a custom script running `useradd` and related utilities if you only need those files to exist with some entries.
`fakeNss` also provides `/etc/nsswitch.conf`, configuring NSS host resolution to first check `/etc/hosts` before checking DNS, since the default in the absence of a config file (`dns [!UNAVAIL=return] files`) is quite unexpected.
It also creates an empty directory at `/var/empty` because it uses that as the home directory for the `root` and `nobody` users.
The `/var/empty` directory can also be used as a `chroot` target to prevent file access in processes that do not need to access files, if your container runs such processes.
The user entries created by `fakeNss` use the `/bin/sh` shell, which is not provided by `fakeNss` because in most cases it won't be used.
If you need that to be available, see [`dockerTools.binSh`](#sssec-pkgs-dockerTools-helpers-binSh) or provide your own.
## Inputs {#sec-fakeNss-inputs}
`fakeNss` is made available in Nixpkgs as a package rather than a function, but it has two attributes that can be overridden and might be useful in particular cases.
For more details on how overriding works, see [](#ex-fakeNss-overriding) and [](#sec-pkg-override).
`extraPasswdLines` (List of Strings; _optional_)
: A list of lines that will be added to `/etc/passwd`.
Useful if extra users need to exist in the output of `fakeNss`.
If `extraPasswdLines` is specified, it will **not** override the `root` and `nobody` entries created by `fakeNss`.
Those entries will always exist.
Lines specified here must follow the format in {manpage}`passwd(5)`.
_Default value:_ `[]`.
`extraGroupLines` (List of Strings; _optional_)
: A list of lines that will be added to `/etc/group`.
Useful if extra groups need to exist in the output of `fakeNss`.
If `extraGroupLines` is specified, it will **not** override the `root` and `nobody` entries created by `fakeNss`.
Those entries will always exist.
Lines specified here must follow the format in {manpage}`group(5)`.
_Default value:_ `[]`.
## Examples {#sec-fakeNss-examples}
:::{.example #ex-fakeNss-dockerTools-buildImage}
# Using `fakeNss` with `dockerTools.buildImage`
This example shows how to use `fakeNss` as-is.
It is useful with functions in `dockerTools` to allow building Docker images that have the `/etc/passwd` and `/etc/group` files.
This example includes the `hello` binary in the image so it can do something besides just have the extra files.
```nix
{ dockerTools, fakeNss, hello }:
dockerTools.buildImage {
name = "image-with-passwd";
tag = "latest";
copyToRoot = [ fakeNss hello ];
config = {
Cmd = [ "/bin/hello" ];
};
}
```
:::
:::{.example #ex-fakeNss-overriding}
# Using `fakeNss` with an override to add extra lines
The following code uses `override` to add extra lines to `/etc/passwd` and `/etc/group` to create another user and group entry.
```nix
{ fakeNss }:
fakeNss.override {
extraPasswdLines = ["newuser:x:9001:9001:new user:/var/empty:/bin/sh"];
extraGroupLines = ["newuser:x:9001:"];
}
```
:::

View File

@@ -1,60 +0,0 @@
# buildFHSEnv {#sec-fhs-environments}
`buildFHSEnv` provides a way to build and run FHS-compatible lightweight sandboxes. It creates an isolated root filesystem with the host's `/nix/store`, so its footprint in terms of disk space is quite small. This allows you 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 for instance.
It uses Linux' namespaces feature to create temporary lightweight environments which are destroyed after all child processes exit, without requiring elevated privileges. It works similar to containerisation technology such as Docker or FlatPak but provides no security-relevant separation from the host system.
Accepted arguments are:
- `name`
The name of the environment, and the wrapper executable if `pname` is unset.
- `pname`
The pname of the environment and the wrapper executable.
- `version`
The version of the environment.
- `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.
- `multiArch`
Whether to install 32bit multiPkgs into the FHSEnv in 64bit environments
- `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 shell command to be executed inside the sandbox. It defaults to `bash`. Command line arguments passed to the resulting wrapper are appended to this command by default.
This command must be escaped; i.e. `"foo app" --do-stuff --with "some file"`. See `lib.escapeShellArgs`.
- `profile`
Optional script for `/etc/profile` within the sandbox.
You can create a simple environment using a `shell.nix` like this:
```nix
{ pkgs ? import <nixpkgs> {} }:
(pkgs.buildFHSEnv {
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` on it would drop you into a shell inside an FHS env where those libraries and binaries are available in FHS-compliant paths. Applications that expect an FHS structure (i.e. proprietary binaries) can run inside this environment without modification.
You can build a wrapper by running your binary in `runScript`, e.g. `./bin/start.sh`. Relative paths work as expected.
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 `wrapGApps*` hook.

View File

@@ -1,37 +0,0 @@
# pkgs.makeSetupHook {#sec-pkgs.makeSetupHook}
`pkgs.makeSetupHook` is a build helper 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 {#sec-pkgs.makeSetupHook-usage-example}
```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 {#sec-pkgs.makeSetupHook-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,41 +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 {#sec-pkgs-mkShell-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`.
## Variants {#sec-pkgs-mkShell-variants}
`pkgs.mkShellNoCC` is a variant that uses `stdenvNoCC` instead of `stdenv` as base environment. This is useful if no C compiler is needed in the shell environment.
## Building the shell {#sec-pkgs-mkShell-building}
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,148 +0,0 @@
# vmTools {#sec-vm-tools}
A set of VM related utilities, that help in building some packages in more advanced scenarios.
## `vmTools.createEmptyImage` {#vm-tools-createEmptyImage}
A bash script fragment that produces a disk image at `destination`.
### Attributes {#vm-tools-createEmptyImage-attributes}
* `size`. The disk size, in MiB.
* `fullName`. Name that will be written to `${destination}/nix-support/full-name`.
* `destination` (optional, default `$out`). Where to write the image files.
## `vmTools.runInLinuxVM` {#vm-tools-runInLinuxVM}
Run a derivation in a Linux virtual machine (using Qemu/KVM).
By default, there is no disk image; the root filesystem is a `tmpfs`, and the Nix store is shared with the host (via the [9P protocol](https://wiki.qemu.org/Documentation/9p#9p_Protocol)).
Thus, any pure Nix derivation should run unmodified.
If the build fails and Nix is run with the `-K/--keep-failed` option, a script `run-vm` will be left behind in the temporary build directory that allows you to boot into the VM and debug it interactively.
### Attributes {#vm-tools-runInLinuxVM-attributes}
* `preVM` (optional). Shell command to be evaluated *before* the VM is started (i.e., on the host).
* `memSize` (optional, default `512`). The memory size of the VM in MiB.
* `diskImage` (optional). A file system image to be attached to `/dev/sda`.
Note that currently we expect the image to contain a filesystem, not a full disk image with a partition table etc.
### Examples {#vm-tools-runInLinuxVM-examples}
Build the derivation hello inside a VM:
```nix
{ pkgs }: with pkgs; with vmTools;
runInLinuxVM hello
```
Build inside a VM with extra memory:
```nix
{ pkgs }: with pkgs; with vmTools;
runInLinuxVM (hello.overrideAttrs (_: { memSize = 1024; }))
```
Use VM with a disk image (implicitly sets `diskImage`, see [`vmTools.createEmptyImage`](#vm-tools-createEmptyImage)):
```nix
{ pkgs }: with pkgs; with vmTools;
runInLinuxVM (hello.overrideAttrs (_: {
preVM = createEmptyImage {
size = 1024;
fullName = "vm-image";
};
}))
```
## `vmTools.extractFs` {#vm-tools-extractFs}
Takes a file, such as an ISO, and extracts its contents into the store.
### Attributes {#vm-tools-extractFs-attributes}
* `file`. Path to the file to be extracted.
Note that currently we expect the image to contain a filesystem, not a full disk image with a partition table etc.
* `fs` (optional). Filesystem of the contents of the file.
### Examples {#vm-tools-extractFs-examples}
Extract the contents of an ISO file:
```nix
{ pkgs }: with pkgs; with vmTools;
extractFs { file = ./image.iso; }
```
## `vmTools.extractMTDfs` {#vm-tools-extractMTDfs}
Like [](#vm-tools-extractFs), but it makes use of a [Memory Technology Device (MTD)](https://en.wikipedia.org/wiki/Memory_Technology_Device).
## `vmTools.runInLinuxImage` {#vm-tools-runInLinuxImage}
Like [](#vm-tools-runInLinuxVM), but instead of using `stdenv` from the Nix store, run the build using the tools provided by `/bin`, `/usr/bin`, etc. from the specified filesystem image, which typically is a filesystem containing a [FHS](https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard)-based Linux distribution.
## `vmTools.makeImageTestScript` {#vm-tools-makeImageTestScript}
Generate a script that can be used to run an interactive session in the given image.
### Examples {#vm-tools-makeImageTestScript-examples}
Create a script for running a Fedora 27 VM:
```nix
{ pkgs }: with pkgs; with vmTools;
makeImageTestScript diskImages.fedora27x86_64
```
Create a script for running an Ubuntu 20.04 VM:
```nix
{ pkgs }: with pkgs; with vmTools;
makeImageTestScript diskImages.ubuntu2004x86_64
```
## `vmTools.diskImageFuns` {#vm-tools-diskImageFuns}
A set of functions that build a predefined set of minimal Linux distributions images.
### Images {#vm-tools-diskImageFuns-images}
* Fedora
* `fedora26x86_64`
* `fedora27x86_64`
* CentOS
* `centos6i386`
* `centos6x86_64`
* `centos7x86_64`
* Ubuntu
* `ubuntu1404i386`
* `ubuntu1404x86_64`
* `ubuntu1604i386`
* `ubuntu1604x86_64`
* `ubuntu1804i386`
* `ubuntu1804x86_64`
* `ubuntu2004i386`
* `ubuntu2004x86_64`
* `ubuntu2204i386`
* `ubuntu2204x86_64`
* Debian
* `debian10i386`
* `debian10x86_64`
* `debian11i386`
* `debian11x86_64`
### Attributes {#vm-tools-diskImageFuns-attributes}
* `size` (optional, defaults to `4096`). The size of the image, in MiB.
* `extraPackages` (optional). A list names of additional packages from the distribution that should be included in the image.
### Examples {#vm-tools-diskImageFuns-examples}
8GiB image containing Firefox in addition to the default packages:
```nix
{ pkgs }: with pkgs; with vmTools;
diskImageFuns.ubuntu2004x86_64 { extraPackages = [ "firefox" ]; size = 8192; }
```
## `vmTools.diskImageExtraFuns` {#vm-tools-diskImageExtraFuns}
Shorthand for `vmTools.diskImageFuns.<attr> { extraPackages = ... }`.
## `vmTools.diskImages` {#vm-tools-diskImages}
Shorthand for `vmTools.diskImageFuns.<attr> { }`.

View File

@@ -1,280 +0,0 @@
# Testers {#chap-testers}
This chapter describes several testing builders which are available in the `testers` namespace.
## `hasPkgConfigModules` {#tester-hasPkgConfigModules}
<!-- Old anchor name so links still work -->
[]{#tester-hasPkgConfigModule}
Checks whether a package exposes a given list of `pkg-config` modules.
If the `moduleNames` argument is omitted, `hasPkgConfigModules` will use `meta.pkgConfigModules`.
:::{.example #ex-haspkgconfigmodules-defaultvalues}
# Check that `pkg-config` modules are exposed using default values
```nix
{
passthru.tests.pkg-config = testers.hasPkgConfigModules {
package = finalAttrs.finalPackage;
};
meta.pkgConfigModules = [ "libfoo" ];
}
```
:::
:::{.example #ex-haspkgconfigmodules-explicitmodules}
# Check that `pkg-config` modules are exposed using explicit module names
```nix
{
passthru.tests.pkg-config = testers.hasPkgConfigModules {
package = finalAttrs.finalPackage;
moduleNames = [ "libfoo" ];
};
}
```
:::
## `testVersion` {#tester-testVersion}
Checks that the output from running a command contains the specified version string in it as a whole word.
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.
By default, the command to be run will be inferred from the given `package` attribute:
it will check `meta.mainProgram` first, and fall back to `pname` or `name`.
The default argument to the command is `--version`, and the version to be checked will be inferred from the given `package` attribute as well.
:::{.example #ex-testversion-hello}
# Check a program version using all the default values
This example will run the command `hello --version`, and then check that the version of the `hello` package is in the output of the command.
```nix
{
passthru.tests.version = testers.testVersion { package = hello; };
}
```
:::
:::{.example #ex-testversion-different-commandversion}
# Check the program version using a specified command and expected version string
This example will run the command `leetcode -V`, and then check that `leetcode 0.4.2` is in the output of the command as a whole word (separated by whitespaces).
This means that an output like "leetcode 0.4.21" would fail the tests, and an output like "You're running leetcode 0.4.2" would pass the tests.
A common usage of the `version` attribute is to specify `version = "v${version}"`.
```nix
{
version = "0.4.2";
passthru.tests.version = testers.testVersion {
package = leetcode-cli;
command = "leetcode -V";
version = "leetcode ${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)
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.
:::{.example #ex-testBuildFailure-showingenvironmentchanges}
# Check that a build fails, and verify the changes made during build
```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
''
```
:::
## `testEqualContents` {#tester-equalContents}
Check that two paths have the same contents.
:::{.example #ex-testEqualContents-toyexample}
# Check that two paths have the same contents
```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 #ex-testEqualDerivation-hello}
# Check that two packages produce the same derivation
```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 #ex-invalidateFetcherByDrvHash-nix}
# Prevent nix from reusing the output of a fetcher
```nix
{
tests.fetchgit = testers.invalidateFetcherByDrvHash fetchgit {
name = "nix-source";
url = "https://github.com/NixOS/nix";
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
hash = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
};
}
```
:::
## `runNixOSTest` {#tester-runNixOSTest}
A helper function that behaves exactly like the NixOS `runTest`, except it also assigns this Nixpkgs package set as the `pkgs` of the test and makes the `nixpkgs.*` options read-only.
If your test is part of the Nixpkgs repository, or if you need a more general entrypoint, see ["Calling a test" in the NixOS manual](https://nixos.org/manual/nixos/stable/index.html#sec-calling-nixos-tests).
:::{.example #ex-runNixOSTest-hello}
# Run a NixOS test using `runNixOSTest`
```nix
pkgs.testers.runNixOSTest ({ lib, ... }: {
name = "hello";
nodes.machine = { pkgs, ... }: {
environment.systemPackages = [ pkgs.hello ];
};
testScript = ''
machine.succeed("hello")
'';
})
```
:::
## `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 {#tester-nixosTest-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 {#tester-nixosTest-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,710 +0,0 @@
# Trivial build helpers {#chap-trivial-builders}
Nixpkgs provides a variety of wrapper functions that help build commonly useful derivations.
Like [`stdenv.mkDerivation`](#sec-using-stdenv), each of these build helpers creates a derivation, but the arguments passed are different (usually simpler) from those required by `stdenv.mkDerivation`.
## `runCommand` {#trivial-builder-runCommand}
`runCommand :: String -> AttrSet -> String -> Derivation`
The result of `runCommand name drvAttrs buildCommand` is a derivation that is built by running the specified shell commands.
By default `runCommand` runs in a stdenv with no compiler environment, whereas [`runCommandCC`](#trivial-builder-runCommandCC) uses the default stdenv, `pkgs.stdenv`.
`name :: String`
: The name that Nix will append to the store path in the same way that `stdenv.mkDerivation` uses its `name` attribute.
`drvAttr :: AttrSet`
: Attributes to pass to the underlying call to [`stdenv.mkDerivation`](#chap-stdenv).
`buildCommand :: String`
: Shell commands to run in the derivation builder.
::: {.note}
You have to create a file or directory `$out` for Nix to be able to run the builder successfully.
:::
::: {.example #ex-runcommand-simple}
# Invocation of `runCommand`
```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`.
:::
## Writing text files {#trivial-builder-text-writing}
Nixpkgs provides the following functions for producing derivations which write text files or executable scripts into the Nix store.
They are useful for creating files from Nix expression, and are all implemented as convenience wrappers around `writeTextFile`.
Each of these functions will cause a derivation to be produced.
When you coerce the result of each of these functions to a string with [string interpolation](https://nixos.org/manual/nix/stable/language/string-interpolation) or [`builtins.toString`](https://nixos.org/manual/nix/stable/language/builtins#builtins-toString), it will evaluate to the [store path](https://nixos.org/manual/nix/stable/store/store-path) of this derivation.
:::: {.note}
Some of these functions will put the resulting files within a directory inside the [derivation output](https://nixos.org/manual/nix/stable/language/derivations#attr-outputs).
If you need to refer to the resulting files somewhere else in a Nix expression, append their path to the derivation's store path.
For example, if the file destination is a directory:
```nix
{
my-file = writeTextFile {
name = "my-file";
text = ''
Contents of File
'';
destination = "/share/my-file";
};
}
```
Remember to append "/share/my-file" to the resulting store path when using it elsewhere:
```nix
writeShellScript "evaluate-my-file.sh" ''
cat ${my-file}/share/my-file
''
```
::::
### `makeDesktopItem` {#trivial-builder-makeDesktopItem}
Write an [XDG desktop file](https://specifications.freedesktop.org/desktop-entry-spec/1.4/) to the Nix store.
This function is usually used to add desktop items to a package through the `copyDesktopItems` hook.
`makeDesktopItem` adheres to version 1.4 of the specification.
#### Inputs {#trivial-builder-makeDesktopItem-inputs}
`makeDesktopItem` takes an attribute set that accepts most values from the [XDG specification](https://specifications.freedesktop.org/desktop-entry-spec/1.4/ar01s06.html).
All recognised keys from the specification are supported with the exception of the "Hidden" field. The keys are converted into camelCase format, but correspond 1:1 to their equivalent in the specification: `genericName`, `noDisplay`, `comment`, `icon`, `onlyShowIn`, `notShowIn`, `dbusActivatable`, `tryExec`, `exec`, `path`, `terminal`, `mimeTypes`, `categories`, `implements`, `keywords`, `startupNotify`, `startupWMClass`, `url`, `prefersNonDefaultGPU`.
The "Version" field is hardcoded to the version `makeDesktopItem` currently adheres to.
The following fields are either required, are of a different type than in the specification, carry specific default values, or are additional fields supported by `makeDesktopItem`:
`name` (String)
: The name of the desktop file in the Nix store.
`type` (String; _optional_)
: Default value: `"Application"`
`desktopName` (String)
: Corresponds to the "Name" field of the specification.
`actions` (List of Attribute set; _optional_)
: A list of attribute sets {name, exec?, icon?}
`extraConfig` (Attribute set; _optional_)
: Additional key/value pairs to be added verbatim to the desktop file. Attributes need to be prefixed with 'X-'.
#### Examples {#trivial-builder-makeDesktopItem-examples}
::: {.example #ex-makeDesktopItem}
# Usage 1 of `makeDesktopItem`
Write a desktop file `/nix/store/<store path>/my-program.desktop` to the Nix store.
```nix
{makeDesktopItem}:
makeDesktopItem {
name = "my-program";
desktopName = "My Program";
genericName = "Video Player";
noDisplay = false;
comment = "Cool video player";
icon = "/path/to/icon";
onlyShowIn = [ "KDE" ];
dbusActivatable = true;
tryExec = "my-program";
exec = "my-program --someflag";
path = "/some/working/path";
terminal = false;
actions.example = {
name = "New Window";
exec = "my-program --new-window";
icon = "/some/icon";
};
mimeTypes = [ "video/mp4" ];
categories = [ "Utility" ];
implements = [ "org.my-program" ];
keywords = [ "Video" "Player" ];
startupNotify = false;
startupWMClass = "MyProgram";
prefersNonDefaultGPU = false;
extraConfig.X-SomeExtension = "somevalue";
}
```
:::
::: {.example #ex2-makeDesktopItem}
# Usage 2 of `makeDesktopItem`
Override the `hello` package to add a desktop item.
```nix
{ copyDesktopItems
, hello
, makeDesktopItem }:
hello.overrideAttrs {
nativeBuildInputs = [ copyDesktopItems ];
desktopItems = [(makeDesktopItem {
name = "hello";
desktopName = "Hello";
exec = "hello";
})];
}
```
:::
### `writeTextFile` {#trivial-builder-writeTextFile}
Write a text file to the Nix store.
`writeTextFile` takes an attribute set with the following possible attributes:
`name` (String)
: Corresponds to the name used in the Nix store path identifier.
`text` (String)
: The contents of the file.
`executable` (Bool, _optional_)
: Make this file have the executable bit set.
Default: `false`
`destination` (String, _optional_)
: A subpath under the derivation's output path into which to put the file.
Subdirectories are created automatically when the derivation is realised.
By default, the store path itself will be a file containing the text contents.
Default: `""`
`checkPhase` (String, _optional_)
: Commands to run after generating the file.
Default: `""`
`meta` (Attribute set, _optional_)
: Additional metadata for the derivation.
Default: `{}`
`allowSubstitutes` (Bool, _optional_)
: Whether to allow substituting from a binary cache.
Passed through to [`allowSubsitutes`](https://nixos.org/manual/nix/stable/language/advanced-attributes#adv-attr-allowSubstitutes) of the underlying call to `builtins.derivation`.
It defaults to `false`, as running the derivation's simple `builder` executable locally is assumed to be faster than network operations.
Set it to true if the `checkPhase` step is expensive.
Default: `false`
`preferLocalBuild` (Bool, _optional_)
: Whether to prefer building locally, even if faster [remote build machines](https://nixos.org/manual/nix/stable/command-ref/conf-file#conf-substituters) are available.
Passed through to [`preferLocalBuild`](https://nixos.org/manual/nix/stable/language/advanced-attributes#adv-attr-preferLocalBuild) of the underlying call to `builtins.derivation`.
It defaults to `true` for the same reason `allowSubstitutes` defaults to `false`.
Default: `true`
`derivationArgs` (Attribute set, _optional_)
: Extra arguments to pass to the underlying call to `stdenv.mkDerivation`.
Default: `{}`
The resulting store path will include some variation of the name, and it will be a file unless `destination` is used, in which case it will be a directory.
::: {.example #ex-writeTextFile}
# Usage 1 of `writeTextFile`
Write `my-file` to `/nix/store/<store path>/some/subpath/my-cool-script`, making it executable.
Also run a check on the resulting file in a `checkPhase`, and supply values for the less-used options.
```nix
writeTextFile {
name = "my-cool-script";
text = ''
#!/bin/sh
echo "This is my cool script!"
'';
executable = true;
destination = "/some/subpath/my-cool-script";
checkPhase = ''
${pkgs.shellcheck}/bin/shellcheck $out/some/subpath/my-cool-script
'';
meta = {
license = pkgs.lib.licenses.cc0;
};
allowSubstitutes = true;
preferLocalBuild = false;
}
```
:::
::: {.example #ex2-writeTextFile}
# Usage 2 of `writeTextFile`
Write the string `Contents of File` to `/nix/store/<store path>`.
See also the [](#trivial-builder-writeText) helper function.
```nix
writeTextFile {
name = "my-file";
text = ''
Contents of File
'';
}
```
:::
::: {.example #ex3-writeTextFile}
# Usage 3 of `writeTextFile`
Write an executable script `my-script` to `/nix/store/<store path>/bin/my-script`.
See also the [](#trivial-builder-writeScriptBin) helper function.
```nix
writeTextFile {
name = "my-script";
text = ''
echo "hi"
'';
executable = true;
destination = "/bin/my-script";
}
```
:::
### `writeText` {#trivial-builder-writeText}
Write a text file to the Nix store
`writeText` takes the following arguments:
a string.
`name` (String)
: The name used in the Nix store path.
`text` (String)
: The contents of the file.
The store path will include the name, and it will be a file.
::: {.example #ex-writeText}
# Usage of `writeText`
Write the string `Contents of File` to `/nix/store/<store path>`:
```nix
writeText "my-file"
''
Contents of File
''
```
:::
This is equivalent to:
```nix
writeTextFile {
name = "my-file";
text = ''
Contents of File
'';
}
```
### `writeTextDir` {#trivial-builder-writeTextDir}
Write a text file within a subdirectory of the Nix store.
`writeTextDir` takes the following arguments:
`path` (String)
: The destination within the Nix store path under which to create the file.
`text` (String)
: The contents of the file.
The store path will be a directory.
::: {.example #ex-writeTextDir}
# Usage of `writeTextDir`
Write the string `Contents of File` to `/nix/store/<store path>/share/my-file`:
```nix
writeTextDir "share/my-file"
''
Contents of File
''
```
:::
This is equivalent to:
```nix
writeTextFile {
name = "my-file";
text = ''
Contents of File
'';
destination = "share/my-file";
}
```
### `writeScript` {#trivial-builder-writeScript}
Write an executable script file to the Nix store.
`writeScript` takes the following arguments:
`name` (String)
: The name used in the Nix store path.
`text` (String)
: The contents of the file.
The created file is marked as executable.
The store path will include the name, and it will be a file.
::: {.example #ex-writeScript}
# Usage of `writeScript`
Write the string `Contents of File` to `/nix/store/<store path>` and make the file executable.
```nix
writeScript "my-file"
''
Contents of File
''
```
:::
This is equivalent to:
```nix
writeTextFile {
name = "my-file";
text = ''
Contents of File
'';
executable = true;
}
```
### `writeScriptBin` {#trivial-builder-writeScriptBin}
Write a script within a `bin` subirectory of a directory in the Nix store.
This is for consistency with the convention of software packages placing executables under `bin`.
`writeScriptBin` takes the following arguments:
`name` (String)
: The name used in the Nix store path and within the file created under the store path.
`text` (String)
: The contents of the file.
The created file is marked as executable.
The file's contents will be put into `/nix/store/<store path>/bin/<name>`.
The store path will include the the name, and it will be a directory.
::: {.example #ex-writeScriptBin}
# Usage of `writeScriptBin`
```nix
writeScriptBin "my-script"
''
echo "hi"
''
```
:::
This is equivalent to:
```nix
writeTextFile {
name = "my-script";
text = ''
echo "hi"
'';
executable = true;
destination = "bin/my-script";
}
```
### `writeShellScript` {#trivial-builder-writeShellScript}
Write a Bash script to the store.
`writeShellScript` takes the following arguments:
`name` (String)
: The name used in the Nix store path.
`text` (String)
: The contents of the file.
The created file is marked as executable.
The store path will include the name, and it will be a file.
This function is almost exactly like [](#trivial-builder-writeScript), except that it prepends to the file a [shebang](https://en.wikipedia.org/wiki/Shebang_%28Unix%29) line that points to the version of Bash used in Nixpkgs.
<!-- this cannot be changed in practice, so there is no point pretending it's somehow generic -->
::: {.example #ex-writeShellScript}
# Usage of `writeShellScript`
```nix
writeShellScript "my-script"
''
echo "hi"
''
```
:::
This is equivalent to:
```nix
writeTextFile {
name = "my-script";
text = ''
#! ${pkgs.runtimeShell}
echo "hi"
'';
executable = true;
}
```
### `writeShellScriptBin` {#trivial-builder-writeShellScriptBin}
Write a Bash script to a "bin" subdirectory of a directory in the Nix store.
`writeShellScriptBin` takes the following arguments:
`name` (String)
: The name used in the Nix store path and within the file generated under the store path.
`text` (String)
: The contents of the file.
The file's contents will be put into `/nix/store/<store path>/bin/<name>`.
The store path will include the the name, and it will be a directory.
This function is a combination of [](#trivial-builder-writeShellScript) and [](#trivial-builder-writeScriptBin).
::: {.example #ex-writeShellScriptBin}
# Usage of `writeShellScriptBin`
```nix
writeShellScriptBin "my-script"
''
echo "hi"
''
```
:::
This is equivalent to:
```nix
writeTextFile {
name = "my-script";
text = ''
#! ${pkgs.runtimeShell}
echo "hi"
'';
executable = true;
destination = "bin/my-script";
}
```
## `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}
`writeShellApplication` is similar to `writeShellScriptBin` and `writeScriptBin` but supports runtime dependencies with `runtimeInputs`.
Writes an executable shell script to `/nix/store/<store path>/bin/<name>` and checks its syntax with [`shellcheck`](https://github.com/koalaman/shellcheck) and the `bash`'s `-n` option.
Some basic Bash options are set by default (`errexit`, `nounset`, and `pipefail`), but can be overridden with `bashOptions`.
Extra arguments may be passed to `stdenv.mkDerivation` by setting `derivationArgs`; note that variables set in this manner will be set when the shell script is _built,_ not when it's run.
Runtime environment variables can be set with the `runtimeEnv` argument.
For example, the following shell application can refer to `curl` directly, rather than needing to write `${curl}/bin/curl`:
```nix
writeShellApplication {
name = "show-nixos-org";
runtimeInputs = [ curl w3m ];
text = ''
curl -s 'https://nixos.org' | w3m -dump -T text/html
'';
}
```
## `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}
Deprecated. Use [`writeClosure`](#trivial-builder-writeClosure) instead.
## `writeClosure` {#trivial-builder-writeClosure}
Given a list of [store paths](https://nixos.org/manual/nix/stable/glossary#gloss-store-path) (or string-like expressions coercible to store paths), write their collective [closure](https://nixos.org/manual/nix/stable/glossary#gloss-closure) to a text file.
The result is equivalent to the output of `nix-store -q --requisites`.
For example,
```nix
writeClosure [ (writeScriptBin "hi" ''${hello}/bin/hello'') ]
```
produces an output path `/nix/store/<hash>-runtime-deps` containing
```
/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/store/<hash>-hello-2.10
```
but none of `hello`'s dependencies because those are not referenced directly
by `hi`'s output.

150
doc/builders/fetchers.xml Normal file
View File

@@ -0,0 +1,150 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="chap-pkgs-fetchers">
<title>Fetchers</title>
<para>
When using Nix, you will frequently need to download source code and other files from the internet. Nixpkgs comes with a few helper functions that allow you to fetch fixed-output derivations in a structured way.
</para>
<para>
The two fetcher primitives are <function>fetchurl</function> and <function>fetchzip</function>. Both of these have two required arguments, a URL and a hash. The hash is typically <literal>sha256</literal>, although many more hash algorithms are supported. Nixpkgs contributors are currently recommended to use <literal>sha256</literal>. This hash will be used by Nix to identify your source. A typical usage of fetchurl is provided below.
</para>
<programlisting><![CDATA[
{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "hello";
src = fetchurl {
url = "http://www.example.org/hello.tar.gz";
sha256 = "1111111111111111111111111111111111111111111111111111";
};
}
]]></programlisting>
<para>
The main difference between <function>fetchurl</function> and <function>fetchzip</function> is in how they store the contents. <function>fetchurl</function> will store the unaltered contents of the URL within the Nix store. <function>fetchzip</function> on the other hand will decompress the archive for you, making files and directories directly accessible in the future. <function>fetchzip</function> can only be used with archives. Despite the name, <function>fetchzip</function> is not limited to .zip files and can also be used with any tarball.
</para>
<para>
<function>fetchpatch</function> works very similarly to <function>fetchurl</function> with the same arguments expected. It expects patch files as a source and 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.
</para>
<para>
Other fetcher functions allow you to add source code directly from a VCS such as subversion or git. These are mostly straightforward names based on the name of the command used with the VCS system. Because they give you a working repository, they act most like <function>fetchzip</function>.
</para>
<variablelist>
<varlistentry>
<term>
<literal>fetchsvn</literal>
</term>
<listitem>
<para>
Used with Subversion. Expects <literal>url</literal> to a Subversion directory, <literal>rev</literal>, and <literal>sha256</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>fetchgit</literal>
</term>
<listitem>
<para>
Used with Git. Expects <literal>url</literal> to a Git repo, <literal>rev</literal>, and <literal>sha256</literal>. <literal>rev</literal> in this case can be full the git commit id (SHA1 hash) or a tag name like <literal>refs/tags/v1.0</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>fetchfossil</literal>
</term>
<listitem>
<para>
Used with Fossil. Expects <literal>url</literal> to a Fossil archive, <literal>rev</literal>, and <literal>sha256</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>fetchcvs</literal>
</term>
<listitem>
<para>
Used with CVS. Expects <literal>cvsRoot</literal>, <literal>tag</literal>, and <literal>sha256</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>fetchhg</literal>
</term>
<listitem>
<para>
Used with Mercurial. Expects <literal>url</literal>, <literal>rev</literal>, and <literal>sha256</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
A number of fetcher functions wrap part of <function>fetchurl</function> and <function>fetchzip</function>. They are mainly convenience functions intended for commonly used destinations of source code in Nixpkgs. These wrapper fetchers are listed below.
</para>
<variablelist>
<varlistentry>
<term>
<literal>fetchFromGitHub</literal>
</term>
<listitem>
<para>
<function>fetchFromGitHub</function> expects four arguments. <literal>owner</literal> is a string corresponding to the GitHub user or organization that controls this repository. <literal>repo</literal> corresponds to the name of the software repository. These are located at the top of every GitHub HTML page as <literal>owner</literal>/<literal>repo</literal>. <literal>rev</literal> corresponds to the Git commit hash or tag (e.g <literal>v1.0</literal>) that will be downloaded from Git. Finally, <literal>sha256</literal> corresponds to the hash of the extracted directory. Again, other hash algorithms are also available but <literal>sha256</literal> is currently preferred.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>fetchFromGitLab</literal>
</term>
<listitem>
<para>
This is used with GitLab repositories. The arguments expected are very similar to fetchFromGitHub above.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>fetchFromGitiles</literal>
</term>
<listitem>
<para>
This is used with Gitiles repositories. The arguments expected
are similar to fetchgit.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>fetchFromBitbucket</literal>
</term>
<listitem>
<para>
This is used with BitBucket repositories. The arguments expected are very similar to fetchFromGitHub above.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>fetchFromSavannah</literal>
</term>
<listitem>
<para>
This is used with Savannah repositories. The arguments expected are very similar to fetchFromGitHub above.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>fetchFromRepoOrCz</literal>
</term>
<listitem>
<para>
This is used with repo.or.cz repositories. The arguments expected are very similar to fetchFromGitHub above.
</para>
</listitem>
</varlistentry>
</variablelist>
</chapter>

12
doc/builders/images.xml Normal file
View File

@@ -0,0 +1,12 @@
<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.xml" />
<xi:include href="images/dockertools.xml" />
<xi:include href="images/ocitools.xml" />
<xi:include href="images/snaptools.xml" />
</chapter>

View File

@@ -0,0 +1,102 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="sec-pkgs-appimageTools">
<title>pkgs.appimageTools</title>
<para>
<varname>pkgs.appimageTools</varname> is a set of functions for extracting and wrapping <link xlink:href="https://appimage.org/">AppImage</link> 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, <literal>pkgs.appimage-run</literal> can be used as well.
</para>
<warning>
<para>
The <varname>appimageTools</varname> API is unstable and may be subject to backwards-incompatible changes in the future.
</para>
</warning>
<section xml:id="ssec-pkgs-appimageTools-formats">
<title>AppImage formats</title>
<para>
There are different formats for AppImages, see <link xlink:href="https://github.com/AppImage/AppImageSpec/blob/74ad9ca2f94bf864a4a0dac1f369dd4f00bd1c28/draft.md#image-format">the specification</link> for details.
</para>
<itemizedlist>
<listitem>
<para>
Type 1 images are ISO 9660 files that are also ELF executables.
</para>
</listitem>
<listitem>
<para>
Type 2 images are ELF executables with an appended filesystem.
</para>
</listitem>
</itemizedlist>
<para>
They can be told apart with <command>file -k</command>:
</para>
<screen>
<prompt>$ </prompt>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
<prompt>$ </prompt>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
</screen>
<para>
Note how the type 1 AppImage is described as an <literal>ISO 9660 CD-ROM filesystem</literal>, and the type 2 AppImage is not.
</para>
</section>
<section xml:id="ssec-pkgs-appimageTools-wrapping">
<title>Wrapping</title>
<para>
Depending on the type of AppImage you're wrapping, you'll have to use <varname>wrapType1</varname> or <varname>wrapType2</varname>.
</para>
<programlisting>
appimageTools.wrapType2 { # or wrapType1
name = "patchwork"; <co xml:id='ex-appimageTools-wrapping-1' />
src = fetchurl { <co xml:id='ex-appimageTools-wrapping-2' />
url = "https://github.com/ssbc/patchwork/releases/download/v3.11.4/Patchwork-3.11.4-linux-x86_64.AppImage";
sha256 = "1blsprpkvm0ws9b96gb36f0rbf8f5jgmw4x6dsb1kswr4ysf591s";
};
extraPkgs = pkgs: with pkgs; [ ]; <co xml:id='ex-appimageTools-wrapping-3' />
}</programlisting>
<calloutlist>
<callout arearefs='ex-appimageTools-wrapping-1'>
<para>
<varname>name</varname> specifies the name of the resulting image.
</para>
</callout>
<callout arearefs='ex-appimageTools-wrapping-2'>
<para>
<varname>src</varname> specifies the AppImage file to extract.
</para>
</callout>
<callout arearefs='ex-appimageTools-wrapping-3'>
<para>
<varname>extraPkgs</varname> 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:
<itemizedlist>
<listitem>
<para>
Looking through the extracted AppImage files, reading its scripts and running <command>patchelf</command> and <command>ldd</command> on its executables. This can also be done in <command>appimage-run</command>, by setting <command>APPIMAGE_DEBUG_EXEC=bash</command>.
</para>
</listitem>
<listitem>
<para>
Running <command>strace -vfefile</command> on the wrapped executable, looking for libraries that can't be found.
</para>
</listitem>
</itemizedlist>
</para>
</callout>
</calloutlist>
</section>
</section>

View File

@@ -0,0 +1,499 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="sec-pkgs-dockerTools">
<title>pkgs.dockerTools</title>
<para>
<varname>pkgs.dockerTools</varname> is a set of functions for creating and manipulating Docker images according to the <link xlink:href="https://github.com/moby/moby/blob/master/image/spec/v1.2.md#docker-image-specification-v120"> Docker Image Specification v1.2.0 </link>. Docker itself is not used to perform any of the operations done by these functions.
</para>
<section xml:id="ssec-pkgs-dockerTools-buildImage">
<title>buildImage</title>
<para>
This function is analogous to the <command>docker build</command> 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 <command>docker load</command>.
</para>
<para>
The parameters of <varname>buildImage</varname> with relative example values are described below:
</para>
<example xml:id='ex-dockerTools-buildImage'>
<title>Docker build</title>
<programlisting>
buildImage {
name = "redis"; <co xml:id='ex-dockerTools-buildImage-1' />
tag = "latest"; <co xml:id='ex-dockerTools-buildImage-2' />
fromImage = someBaseImage; <co xml:id='ex-dockerTools-buildImage-3' />
fromImageName = null; <co xml:id='ex-dockerTools-buildImage-4' />
fromImageTag = "latest"; <co xml:id='ex-dockerTools-buildImage-5' />
contents = pkgs.redis; <co xml:id='ex-dockerTools-buildImage-6' />
runAsRoot = '' <co xml:id='ex-dockerTools-buildImage-runAsRoot' />
#!${pkgs.runtimeShell}
mkdir -p /data
'';
config = { <co xml:id='ex-dockerTools-buildImage-8' />
Cmd = [ "/bin/redis-server" ];
WorkingDir = "/data";
Volumes = {
"/data" = {};
};
};
}
</programlisting>
</example>
<para>
The above example will build a Docker image <literal>redis/latest</literal> from the given base image. Loading and running this image in Docker results in <literal>redis-server</literal> being started automatically.
</para>
<calloutlist>
<callout arearefs='ex-dockerTools-buildImage-1'>
<para>
<varname>name</varname> specifies the name of the resulting image. This is the only required argument for <varname>buildImage</varname>.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-2'>
<para>
<varname>tag</varname> specifies the tag of the resulting image. By default it's <literal>null</literal>, which indicates that the nix output hash will be used as tag.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-3'>
<para>
<varname>fromImage</varname> is the repository tarball containing the base image. It must be a valid Docker image, such as exported by <command>docker save</command>. By default it's <literal>null</literal>, which can be seen as equivalent to <literal>FROM scratch</literal> of a <filename>Dockerfile</filename>.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-4'>
<para>
<varname>fromImageName</varname> can be used to further specify the base image within the repository, in case it contains multiple images. By default it's <literal>null</literal>, in which case <varname>buildImage</varname> will peek the first image available in the repository.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-5'>
<para>
<varname>fromImageTag</varname> 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 <literal>null</literal>, in which case <varname>buildImage</varname> will peek the first tag available for the base image.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-6'>
<para>
<varname>contents</varname> is a derivation that will be copied in the new layer of the resulting image. This can be similarly seen as <command>ADD contents/ /</command> in a <filename>Dockerfile</filename>. By default it's <literal>null</literal>.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-runAsRoot'>
<para>
<varname>runAsRoot</varname> 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 <varname>contents</varname> derivation. This can be similarly seen as <command>RUN ...</command> in a <filename>Dockerfile</filename>.
<note>
<para>
Using this parameter requires the <literal>kvm</literal> device to be available.
</para>
</note>
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-8'>
<para>
<varname>config</varname> 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 <link xlink:href="https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions"> Docker Image Specification v1.2.0 </link>.
</para>
</callout>
</calloutlist>
<para>
After the new layer has been created, its closure (to which <varname>contents</varname>, <varname>config</varname> and <varname>runAsRoot</varname> contribute) will be copied in the layer itself. Only new dependencies that are not already in the existing layers will be copied.
</para>
<para>
At the end of the process, only one new single layer will be produced and added to the resulting image.
</para>
<para>
The resulting repository will only list the single image <varname>image/tag</varname>. In the case of <xref linkend='ex-dockerTools-buildImage'/> it would be <varname>redis/latest</varname>.
</para>
<para>
It is possible to inspect the arguments with which an image was built using its <varname>buildArgs</varname> attribute.
</para>
<note>
<para>
If you see errors similar to <literal>getProtocolByName: does not exist (no such protocol name: tcp)</literal> you may need to add <literal>pkgs.iana-etc</literal> to <varname>contents</varname>.
</para>
</note>
<note>
<para>
If you see errors similar to <literal>Error_Protocol ("certificate has unknown CA",True,UnknownCa)</literal> you may need to add <literal>pkgs.cacert</literal> to <varname>contents</varname>.
</para>
</note>
<example xml:id="example-pkgs-dockerTools-buildImage-creation-date">
<title>Impurely Defining a Docker Layer's Creation Date</title>
<para>
By default <function>buildImage</function> will use a static date of one second past the UNIX Epoch. This allows <function>buildImage</function> to produce binary reproducible images. When listing images with <command>docker images</command>, the newly created images will be listed like this:
</para>
<screen>
<prompt>$ </prompt>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello latest 08c791c7846e 48 years ago 25.2MB
</screen>
<para>
You can break binary reproducibility but have a sorted, meaningful <literal>CREATED</literal> column by setting <literal>created</literal> to <literal>now</literal>.
</para>
<programlisting><![CDATA[
pkgs.dockerTools.buildImage {
name = "hello";
tag = "latest";
created = "now";
contents = pkgs.hello;
config.Cmd = [ "/bin/hello" ];
}
]]></programlisting>
<para>
and now the Docker CLI will display a reasonable date and sort the images as expected:
<screen>
<prompt>$ </prompt>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello latest de2bf4786de6 About a minute ago 25.2MB
</screen>
however, the produced images will not be binary reproducible.
</para>
</example>
</section>
<section xml:id="ssec-pkgs-dockerTools-buildLayeredImage">
<title>buildLayeredImage</title>
<para>
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 <function>streamLayeredImage</function> instead, which this function uses internally.
</para>
<variablelist>
<varlistentry>
<term>
<varname>name</varname>
</term>
<listitem>
<para>
The name of the resulting image.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>tag</varname> <emphasis>optional</emphasis>
</term>
<listitem>
<para>
Tag of the generated image.
</para>
<para>
<emphasis>Default:</emphasis> the output path's hash
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>contents</varname> <emphasis>optional</emphasis>
</term>
<listitem>
<para>
Top level paths in the container. Either a single derivation, or a list of derivations.
</para>
<para>
<emphasis>Default:</emphasis> <literal>[]</literal>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>config</varname> <emphasis>optional</emphasis>
</term>
<listitem>
<para>
Run-time configuration of the container. A full list of the options are available at in the <link xlink:href="https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions"> Docker Image Specification v1.2.0 </link>.
</para>
<para>
<emphasis>Default:</emphasis> <literal>{}</literal>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>created</varname> <emphasis>optional</emphasis>
</term>
<listitem>
<para>
Date and time the layers were created. Follows the same <literal>now</literal> exception supported by <literal>buildImage</literal>.
</para>
<para>
<emphasis>Default:</emphasis> <literal>1970-01-01T00:00:01Z</literal>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>maxLayers</varname> <emphasis>optional</emphasis>
</term>
<listitem>
<para>
Maximum number of layers to create.
</para>
<para>
<emphasis>Default:</emphasis> <literal>100</literal>
</para>
<para>
<emphasis>Maximum:</emphasis> <literal>125</literal>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>extraCommands</varname> <emphasis>optional</emphasis>
</term>
<listitem>
<para>
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.
</para>
</listitem>
</varlistentry>
</variablelist>
<section xml:id="dockerTools-buildLayeredImage-arg-contents">
<title>Behavior of <varname>contents</varname> in the final image</title>
<para>
Each path directly listed in <varname>contents</varname> will have a symlink in the root of the image.
</para>
<para>
For example:
<programlisting><![CDATA[
pkgs.dockerTools.buildLayeredImage {
name = "hello";
contents = [ pkgs.hello ];
}
]]></programlisting>
will create symlinks for all the paths in the <literal>hello</literal> package:
<screen><![CDATA[
/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
]]></screen>
</para>
</section>
<section xml:id="dockerTools-buildLayeredImage-arg-config">
<title>Automatic inclusion of <varname>config</varname> references</title>
<para>
The closure of <varname>config</varname> is automatically included in the closure of the final image.
</para>
<para>
This allows you to make very simple Docker images with very little code. This container will start up and run <command>hello</command>:
<programlisting><![CDATA[
pkgs.dockerTools.buildLayeredImage {
name = "hello";
config.Cmd = [ "${pkgs.hello}/bin/hello" ];
}
]]></programlisting>
</para>
</section>
<section xml:id="dockerTools-buildLayeredImage-arg-maxLayers">
<title>Adjusting <varname>maxLayers</varname></title>
<para>
Increasing the <varname>maxLayers</varname> increases the number of layers which have a chance to be shared between different images.
</para>
<para>
Modern Docker installations support up to 128 layers, however older versions support as few as 42.
</para>
<para>
If the produced image will not be extended by other Docker builds, it is safe to set <varname>maxLayers</varname> to <literal>128</literal>. However it will be impossible to extend the image further.
</para>
<para>
The first (<literal>maxLayers-2</literal>) most "popular" paths will have their own individual layers, then layer #<literal>maxLayers-1</literal> will contain all the remaining "unpopular" paths, and finally layer #<literal>maxLayers</literal> will contain the Image configuration.
</para>
<para>
Docker's Layers are not inherently ordered, they are content-addressable and are not explicitly layered until they are composed in to an Image.
</para>
</section>
</section>
<section xml:id="ssec-pkgs-dockerTools-streamLayeredImage">
<title>streamLayeredImage</title>
<para>
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 <function>buildLayeredImage</function>. 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.
</para>
<para>
The image produced by running the output script can be piped directly into <command>docker load</command>, to load it into the local docker daemon:
<screen><![CDATA[
$(nix-build) | docker load
]]></screen>
</para>
<para>
Alternatively, the image be piped via <command>gzip</command> into <command>skopeo</command>, e.g. to copy it into a registry:
<screen><![CDATA[
$(nix-build) | gzip --fast | skopeo copy docker-archive:/dev/stdin docker://some_docker_registry/myimage:tag
]]></screen>
</para>
</section>
<section xml:id="ssec-pkgs-dockerTools-fetchFromRegistry">
<title>pullImage</title>
<para>
This function is analogous to the <command>docker pull</command> command, in that it can be used to pull a Docker image from a Docker registry. By default <link xlink:href="https://hub.docker.com/">Docker Hub</link> is used to pull images.
</para>
<para>
Its parameters are described in the example below:
</para>
<example xml:id='ex-dockerTools-pullImage'>
<title>Docker pull</title>
<programlisting>
pullImage {
imageName = "nixos/nix"; <co xml:id='ex-dockerTools-pullImage-1' />
imageDigest = "sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b"; <co xml:id='ex-dockerTools-pullImage-2' />
finalImageName = "nix"; <co xml:id='ex-dockerTools-pullImage-3' />
finalImageTag = "1.11"; <co xml:id='ex-dockerTools-pullImage-4' />
sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8"; <co xml:id='ex-dockerTools-pullImage-5' />
os = "linux"; <co xml:id='ex-dockerTools-pullImage-6' />
arch = "x86_64"; <co xml:id='ex-dockerTools-pullImage-7' />
}
</programlisting>
</example>
<calloutlist>
<callout arearefs='ex-dockerTools-pullImage-1'>
<para>
<varname>imageName</varname> specifies the name of the image to be downloaded, which can also include the registry namespace (e.g. <literal>nixos</literal>). This argument is required.
</para>
</callout>
<callout arearefs='ex-dockerTools-pullImage-2'>
<para>
<varname>imageDigest</varname> specifies the digest of the image to be downloaded. This argument is required.
</para>
</callout>
<callout arearefs='ex-dockerTools-pullImage-3'>
<para>
<varname>finalImageName</varname>, 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 <varname>imageName</varname>.
</para>
</callout>
<callout arearefs='ex-dockerTools-pullImage-4'>
<para>
<varname>finalImageTag</varname>, 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 <literal>latest</literal>.
</para>
</callout>
<callout arearefs='ex-dockerTools-pullImage-5'>
<para>
<varname>sha256</varname> is the checksum of the whole fetched image. This argument is required.
</para>
</callout>
<callout arearefs='ex-dockerTools-pullImage-6'>
<para>
<varname>os</varname>, if specified, is the operating system of the fetched image. By default it's <literal>linux</literal>.
</para>
</callout>
<callout arearefs='ex-dockerTools-pullImage-7'>
<para>
<varname>arch</varname>, if specified, is the cpu architecture of the fetched image. By default it's <literal>x86_64</literal>.
</para>
</callout>
</calloutlist>
<para>
<literal>nix-prefetch-docker</literal> command can be used to get required image parameters:
<screen>
<prompt>$ </prompt>nix run nixpkgs.nix-prefetch-docker -c nix-prefetch-docker --image-name mysql --image-tag 5
</screen>
Since a given <varname>imageName</varname> may transparently refer to a manifest list of images which support multiple architectures and/or operating systems, you can supply the <option>--os</option> and <option>--arch</option> 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.
<screen>
<prompt>$ </prompt>nix-prefetch-docker --image-name mysql --image-tag 5 --arch x86_64 --os linux
</screen>
Desired image name and tag can be set using <option>--final-image-name</option> and <option>--final-image-tag</option> arguments:
<screen>
<prompt>$ </prompt>nix-prefetch-docker --image-name mysql --image-tag 5 --final-image-name eu.gcr.io/my-project/mysql --final-image-tag prod
</screen>
</para>
</section>
<section xml:id="ssec-pkgs-dockerTools-exportImage">
<title>exportImage</title>
<para>
This function is analogous to the <command>docker export</command> 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 <command>docker import</command>.
</para>
<note>
<para>
Using this function requires the <literal>kvm</literal> device to be available.
</para>
</note>
<para>
The parameters of <varname>exportImage</varname> are the following:
</para>
<example xml:id='ex-dockerTools-exportImage'>
<title>Docker export</title>
<programlisting>
exportImage {
fromImage = someLayeredImage;
fromImageName = null;
fromImageTag = null;
name = someLayeredImage.name;
}
</programlisting>
</example>
<para>
The parameters relative to the base image have the same synopsis as described in <xref linkend='ssec-pkgs-dockerTools-buildImage'/>, except that <varname>fromImage</varname> is the only required argument in this case.
</para>
<para>
The <varname>name</varname> argument is the name of the derivation output, which defaults to <varname>fromImage.name</varname>.
</para>
</section>
<section xml:id="ssec-pkgs-dockerTools-shadowSetup">
<title>shadowSetup</title>
<para>
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 <varname>runAsRoot</varname> <xref linkend='ex-dockerTools-buildImage-runAsRoot'/> script for cases like in the example below:
</para>
<example xml:id='ex-dockerTools-shadowSetup'>
<title>Shadow base files</title>
<programlisting>
buildImage {
name = "shadow-basic";
runAsRoot = ''
#!${pkgs.runtimeShell}
${shadowSetup}
groupadd -r redis
useradd -r -g redis redis
mkdir /data
chown redis:redis /data
'';
}
</programlisting>
</example>
<para>
Creating base files like <literal>/etc/passwd</literal> or <literal>/etc/login.defs</literal> is necessary for shadow-utils to manipulate users and groups.
</para>
</section>
</section>

View File

@@ -0,0 +1,61 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="sec-pkgs-ociTools">
<title>pkgs.ociTools</title>
<para>
<varname>pkgs.ociTools</varname> is a set of functions for creating containers according to the <link xlink:href="https://github.com/opencontainers/runtime-spec">OCI container specification v1.0.0</link>. Beyond that it makes no assumptions about the container runner you choose to use to run the created container.
</para>
<section xml:id="ssec-pkgs-ociTools-buildContainer">
<title>buildContainer</title>
<para>
This function creates a simple OCI container that runs a single command inside of it. An OCI container consists of a <varname>config.json</varname> and a rootfs directory.The nix store of the container will contain all referenced dependencies of the given command.
</para>
<para>
The parameters of <varname>buildContainer</varname> with an example value are described below:
</para>
<example xml:id='ex-ociTools-buildContainer'>
<title>Build Container</title>
<programlisting>
buildContainer {
args = [ (with pkgs; writeScript "run.sh" ''
#!${bash}/bin/bash
exec ${bash}/bin/bash
'').outPath ]; <co xml:id='ex-ociTools-buildContainer-1' />
mounts = {
"/data" = {
type = "none";
source = "/var/lib/mydata";
options = [ "bind" ];
};
};<co xml:id='ex-ociTools-buildContainer-2' />
readonly = false; <co xml:id='ex-ociTools-buildContainer-3' />
}
</programlisting>
<calloutlist>
<callout arearefs='ex-ociTools-buildContainer-1'>
<para>
<varname>args</varname> specifies a set of arguments to run inside the container. This is the only required argument for <varname>buildContainer</varname>. All referenced packages inside the derivation will be made available inside the container
</para>
</callout>
<callout arearefs='ex-ociTools-buildContainer-2'>
<para>
<varname>mounts</varname> 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)
</para>
</callout>
<callout arearefs='ex-ociTools-buildContainer-3'>
<para>
<varname>readonly</varname> makes the container's rootfs read-only if it is set to true. The default value is false <literal>false</literal>.
</para>
</callout>
</calloutlist>
</example>
</section>
</section>

View File

@@ -0,0 +1,28 @@
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";
};
}

View File

@@ -0,0 +1,12 @@
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";
};
}

View File

@@ -0,0 +1,59 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="sec-pkgs-snapTools">
<title>pkgs.snapTools</title>
<para>
<varname>pkgs.snapTools</varname> is a set of functions for creating Snapcraft images. Snap and Snapcraft is not used to perform these operations.
</para>
<section xml:id="ssec-pkgs-snapTools-makeSnap-signature">
<title>The makeSnap Function</title>
<para>
<function>makeSnap</function> takes a single named argument, <parameter>meta</parameter>. This argument mirrors <link xlink:href="https://docs.snapcraft.io/snap-format">the upstream <filename>snap.yaml</filename> format</link> exactly.
</para>
<para>
The <parameter>base</parameter> should not be be specified, as <function>makeSnap</function> will force set it.
</para>
<para>
Currently, <function>makeSnap</function> does not support creating GUI stubs.
</para>
</section>
<section xml:id="ssec-pkgs-snapTools-build-a-snap-hello">
<title>Build a Hello World Snap</title>
<example xml:id="ex-snapTools-buildSnap-hello">
<title>Making a Hello World Snap</title>
<para>
The following expression packages GNU Hello as a Snapcraft snap.
</para>
<programlisting><xi:include href="./snap/example-hello.nix" parse="text" /></programlisting>
<para>
<command>nix-build</command> this expression and install it with <command>snap install ./result --dangerous</command>. <command>hello</command> will now be the Snapcraft version of the package.
</para>
</example>
</section>
<section xml:id="ssec-pkgs-snapTools-build-a-snap-firefox">
<title>Build a Hello World Snap</title>
<example xml:id="ex-snapTools-buildSnap-firefox">
<title>Making a Graphical Snap</title>
<para>
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.
</para>
<programlisting><xi:include href="./snap/example-firefox.nix" parse="text" /></programlisting>
<para>
<command>nix-build</command> this expression and install it with <command>snap install ./result --dangerous</command>. <command>nix-example-firefox</command> will now be the Snapcraft version of the Firefox package.
</para>
<para>
The specific meaning behind plugs can be looked up in the <link xlink:href="https://docs.snapcraft.io/supported-interfaces">Snapcraft interface documentation</link>.
</para>
</example>
</section>
</section>

View File

@@ -0,0 +1,94 @@
# Cataclysm: Dark Days Ahead
## 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;
}
```
## 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 = "...";
sha256 = "...";
};
# 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

@@ -0,0 +1,46 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-citrix">
<title>Citrix Workspace</title>
<para>
The <link xlink:href="https://www.citrix.com/products/workspace-app/">Citrix Workspace App</link> is a remote desktop viewer which provides access to <link xlink:href="https://www.citrix.com/products/xenapp-xendesktop/">XenDesktop</link> installations.
</para>
<section xml:id="sec-citrix-base">
<title>Basic usage</title>
<para>
The tarball archive needs to be downloaded manually as the license agreements of the vendor for <link xlink:href="https://www.citrix.de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html">Citrix Workspace</link> needs to be accepted first. Then run <command>nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz</command>. With the archive available in the store the package can be built and installed with Nix.
</para>
</section>
<section xml:id="sec-citrix-selfservice">
<title>Citrix Selfservice</title>
<para>
The <link xlink:href="https://support.citrix.com/article/CTX200337">selfservice</link> is an application managing Citrix desktops and applications. Please note that this feature only works with at least <package>citrix_workspace_20_06_0</package> and later versions.
</para>
<para>
In order to set this up, you first have to <link xlink:href="https://its.uiowa.edu/support/article/102186">download the <literal>.cr</literal> file from the Netscaler Gateway</link>. After that you can configure the <command>selfservice</command> like this:
<screen>
<prompt>$ </prompt>storebrowse -C ~/Downloads/receiverconfig.cr
<prompt>$ </prompt>selfservice
</screen>
</para>
</section>
<section xml:id="sec-citrix-custom-certs">
<title>Custom certificates</title>
<para>
The <literal>Citrix Workspace App</literal> in <literal>nixpkgs</literal> trusts several certificates <link xlink:href="https://curl.haxx.se/docs/caextract.html">from the Mozilla database</link> 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 <link xlink:href="https://developer-docs.citrix.com/projects/receiver-for-linux-command-reference/en/13.7/"><literal>$ICAROOT</literal></link>, however this directory is a store path in <literal>nixpkgs</literal>. In order to work around this issue the package provides a simple mechanism to add custom certificates without rebuilding the entire package using <literal>symlinkJoin</literal>:
<programlisting>
<![CDATA[with import <nixpkgs> { config.allowUnfree = true; };
let extraCerts = [ ./custom-cert-1.pem ./custom-cert-2.pem /* ... */ ]; in
citrix_workspace.override {
inherit extraCerts;
}]]>
</programlisting>
</para>
</section>
</section>

View File

@@ -0,0 +1,24 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="dlib">
<title>DLib</title>
<para>
<link xlink:href="http://dlib.net/">DLib</link> is a modern, C++-based toolkit which provides several machine learning algorithms.
</para>
<section xml:id="compiling-without-avx-support">
<title>Compiling without AVX support</title>
<para>
Especially older CPUs don't support <link xlink:href="https://en.wikipedia.org/wiki/Advanced_Vector_Extensions">AVX</link> (<abbrev>Advanced Vector Extensions</abbrev>) instructions that are used by DLib to optimize their algorithms.
</para>
<para>
On the affected hardware errors like <literal>Illegal instruction</literal> will occur. In those cases AVX support needs to be disabled:
<programlisting>self: super: {
dlib = super.dlib.override { avxSupport = false; };
}</programlisting>
</para>
</section>
</section>

View File

@@ -0,0 +1,72 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-eclipse">
<title>Eclipse</title>
<para>
The Nix expressions related to the Eclipse platform and IDE are in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/eclipse"><filename>pkgs/applications/editors/eclipse</filename></link>.
</para>
<para>
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:
<screen>
<prompt>$ </prompt>nix-env -f '&lt;nixpkgs&gt;' -qaP -A eclipses --description
</screen>
Once an Eclipse variant is installed it can be run using the <command>eclipse</command> 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.
</para>
<para>
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 <emphasis>Eclipse environment</emphasis>. This type of environment is created using the function <varname>eclipseWithPlugins</varname> found inside the <varname>nixpkgs.eclipses</varname> attribute set. This function takes as argument <literal>{ eclipse, plugins ? [], jvmArgs ? [] }</literal> where <varname>eclipse</varname> is a one of the Eclipse packages described above, <varname>plugins</varname> is a list of plugin derivations, and <varname>jvmArgs</varname> 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
<screen>
packageOverrides = pkgs: {
myEclipse = with pkgs.eclipses; eclipseWithPlugins {
eclipse = eclipse-platform;
jvmArgs = [ "-Xmx2048m" ];
plugins = [ plugins.color-theme ];
};
}
</screen>
to your Nixpkgs configuration (<filename>~/.config/nixpkgs/config.nix</filename>) and install it by running <command>nix-env -f '&lt;nixpkgs&gt;' -iA myEclipse</command> and afterward run Eclipse as usual. It is possible to find out which plugins are available for installation using <varname>eclipseWithPlugins</varname> by running
<screen>
<prompt>$ </prompt>nix-env -f '&lt;nixpkgs&gt;' -qaP -A eclipses.plugins --description
</screen>
</para>
<para>
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 <varname>buildEclipseUpdateSite</varname> and <varname>buildEclipsePlugin</varname> functions found in the <varname>nixpkgs.eclipses.plugins</varname> attribute set. Use the <varname>buildEclipseUpdateSite</varname> function to install a plugin distributed as an Eclipse update site. This function takes <literal>{ name, src }</literal> as argument where <literal>src</literal> 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 <varname>buildEclipsePlugin</varname> function can be used to install a plugin that consists of a pair of feature and plugin JARs. This function takes an argument <literal>{ name, srcFeature, srcPlugin }</literal> where <literal>srcFeature</literal> and <literal>srcPlugin</literal> are the feature and plugin JARs, respectively.
</para>
<para>
Expanding the previous example with two plugins using the above functions we have
<screen>
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";
sha256 = "123…";
};
srcPlugin = fetchurl {
url = "http://…/plugins/myplugin1.jar";
sha256 = "123…";
};
});
(plugins.buildEclipseUpdateSite {
name = "myplugin2-1.0";
src = fetchurl {
stripRoot = false;
url = "http://…/myplugin2.zip";
sha256 = "123…";
};
});
];
};
}
</screen>
</para>
</section>

View File

@@ -0,0 +1,17 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-elm">
<title>Elm</title>
<para>
To start a development environment do <command>nix-shell -p elmPackages.elm elmPackages.elm-format</command>
</para>
<para>
To update Elm compiler, see <filename>nixpkgs/pkgs/development/compilers/elm/README.md</filename>.
</para>
<para>
To package Elm applications, <link xlink:href="https://github.com/hercules-ci/elm2nix#elm2nix">read about elm2nix</link>.
</para>
</section>

View File

@@ -0,0 +1,131 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-emacs">
<title>Emacs</title>
<section xml:id="sec-emacs-config">
<title>Configuring Emacs</title>
<para>
The Emacs package comes with some extra helpers to make it easier to configure. <varname>emacsWithPackages</varname> 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 <literal>company</literal>, <literal>counsel</literal>, <literal>flycheck</literal>, <literal>ivy</literal>, <literal>magit</literal>, <literal>projectile</literal>, and <literal>use-package</literal> you could use this as a <filename>~/.config/nixpkgs/config.nix</filename> override:
</para>
<screen>
{
packageOverrides = pkgs: with pkgs; {
myEmacs = emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
company
counsel
flycheck
ivy
magit
projectile
use-package
]));
}
}
</screen>
<para>
You can install it like any other packages via <command>nix-env -iA myEmacs</command>. However, this will only install those packages. It will not <literal>configure</literal> 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 provide a <filename>default.el</filename> file in <filename>/share/emacs/site-start/</filename>. Emacs knows to load this file automatically when it starts.
</para>
<screen>
{
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 ("&lt;C-tab&gt;" . 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 = emacsWithPackages (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
]));
};
}
</screen>
<para>
This provides a fairly full Emacs start file. It will load in addition to the user's presonal config. You can always disable it by passing <command>-q</command> to the Emacs command.
</para>
<para>
Sometimes <varname>emacsWithPackages</varname> 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 <filename>pkgs/top-level/emacs-packages.nix</filename>). But you can't control this priorities when some package is installed as a dependency. You can override it on 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 <varname>overrideScope'</varname>.
</para>
<screen>
overrides = self: super: rec {
haskell-mode = self.melpaPackages.haskell-mode;
...
};
((emacsPackagesGen emacs).overrideScope' overrides).emacsWithPackages (p: with p; [
# here both these package will use haskell-mode of our own choice
ghc-mod
dante
])
</screen>
</section>
</section>

View File

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

View File

@@ -0,0 +1,25 @@
<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.xml" />
<xi:include href="dlib.xml" />
<xi:include href="eclipse.xml" />
<xi:include href="elm.xml" />
<xi:include href="emacs.xml" />
<xi:include href="ibus.xml" />
<xi:include href="kakoune.xml" />
<xi:include href="linux.xml" />
<xi:include href="locales.xml" />
<xi:include href="nginx.xml" />
<xi:include href="opengl.xml" />
<xi:include href="shell-helpers.xml" />
<xi:include href="steam.xml" />
<xi:include href="cataclysm-dda.section.xml" />
<xi:include href="urxvt.xml" />
<xi:include href="weechat.xml" />
<xi:include href="xorg.xml" />
</chapter>

View File

@@ -0,0 +1,14 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-kakoune">
<title>Kakoune</title>
<para>
Kakoune can be built to autoload plugins:
<programlisting>(kakoune.override {
configure = {
plugins = with pkgs.kakounePlugins; [ parinfer-rust ];
};
})</programlisting>
</para>
</section>

View File

@@ -0,0 +1,85 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-linux-kernel">
<title>Linux kernel</title>
<para>
The Nix expressions to build the Linux kernel are in <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/kernel"><filename>pkgs/os-specific/linux/kernel</filename></link>.
</para>
<para>
The function that builds the kernel has an argument <varname>kernelPatches</varname> which should be a list of <literal>{name, patch, extraConfig}</literal> attribute sets, where <varname>name</varname> is the name of the patch (which is included in the kernels <varname>meta.description</varname> attribute), <varname>patch</varname> is the patch itself (possibly compressed), and <varname>extraConfig</varname> (optional) is a string specifying extra options to be concatenated to the kernel configuration file (<filename>.config</filename>).
</para>
<para>
The kernel derivation exports an attribute <varname>features</varname> 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 <varname>iwlwifi</varname> feature (i.e. has built-in support for Intel wireless chipsets), then NixOS doesnt have to build the external <varname>iwlwifi</varname> package:
<programlisting>
modulesTree = [kernel]
++ pkgs.lib.optional (!kernel.features ? iwlwifi) kernelPackages.iwlwifi
++ ...;
</programlisting>
</para>
<para>
How to add a new (major) version of the Linux kernel to Nixpkgs:
<orderedlist>
<listitem>
<para>
Copy the old Nix expression (e.g. <filename>linux-2.6.21.nix</filename>) to the new one (e.g. <filename>linux-2.6.22.nix</filename>) and update it.
</para>
</listitem>
<listitem>
<para>
Add the new kernel to <filename>all-packages.nix</filename> (e.g., create an attribute <varname>kernel_2_6_22</varname>).
</para>
</listitem>
<listitem>
<para>
Now were going to update the kernel configuration. First unpack the kernel. Then for each supported platform (<literal>i686</literal>, <literal>x86_64</literal>, <literal>uml</literal>) do the following:
<orderedlist>
<listitem>
<para>
Make an copy from the old config (e.g. <filename>config-2.6.21-i686-smp</filename>) to the new one (e.g. <filename>config-2.6.22-i686-smp</filename>).
</para>
</listitem>
<listitem>
<para>
Copy the config file for this platform (e.g. <filename>config-2.6.22-i686-smp</filename>) to <filename>.config</filename> in the kernel source tree.
</para>
</listitem>
<listitem>
<para>
Run <literal>make oldconfig ARCH=<replaceable>{i386,x86_64,um}</replaceable></literal> and answer all questions. (For the uml configuration, also add <literal>SHELL=bash</literal>.) Make sure to keep the configuration consistent between platforms (i.e. dont enable some feature on <literal>i686</literal> and disable it on <literal>x86_64</literal>).
</para>
</listitem>
<listitem>
<para>
If needed you can also run <literal>make menuconfig</literal>:
<screen>
<prompt>$ </prompt>nix-env -i ncurses
<prompt>$ </prompt>export NIX_CFLAGS_LINK=-lncurses
<prompt>$ </prompt>make menuconfig ARCH=<replaceable>arch</replaceable></screen>
</para>
</listitem>
<listitem>
<para>
Copy <filename>.config</filename> over the new config file (e.g. <filename>config-2.6.22-i686-smp</filename>).
</para>
</listitem>
</orderedlist>
</para>
</listitem>
<listitem>
<para>
Test building the kernel: <literal>nix-build -A kernel_2_6_22</literal>. If it compiles, ship it! For extra credit, try booting NixOS with it.
</para>
</listitem>
<listitem>
<para>
It may be that the new kernel requires updating the external kernel modules and kernel-dependent packages listed in the <varname>linuxPackagesFor</varname> function in <filename>all-packages.nix</filename> (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.
</para>
</listitem>
</orderedlist>
</para>
</section>

View File

@@ -0,0 +1,13 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="locales">
<title>Locales</title>
<para>
To allow simultaneous use of packages linked against different versions of <literal>glibc</literal> with different locale archive formats Nixpkgs patches <literal>glibc</literal> to rely on <literal>LOCALE_ARCHIVE</literal> environment variable.
</para>
<para>
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 <literal>LOCALE_ARCHIVE</literal> variable pointing to <literal>${glibcLocales}/lib/locale/locale-archive</literal>. 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 <literal>allLocales</literal> and <literal>locales</literal> of the package.
</para>
</section>

View File

@@ -0,0 +1,25 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-nginx">
<title>Nginx</title>
<para>
<link xlink:href="https://nginx.org/">Nginx</link> is a reverse proxy and lightweight webserver.
</para>
<section xml:id="sec-nginx-etag">
<title>ETags on static files served from the Nix store</title>
<para>
HTTP has a couple 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 <link xlink:href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified"><literal>Last-Modified</literal></link> response header automatically; unfortunately, it works by using filesystem timestamps to determine the value of the <literal>Last-Modified</literal> 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).
</para>
<para>
Fortunately, HTTP supports an alternative (and more effective) caching mechanism: the <link xlink:href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag"><literal>ETag</literal></link> response header. The value of the <literal>ETag</literal> 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 <literal>If-None-Match</literal> header. If the ETag value is unchanged, then the server does not need to resend the content.
</para>
<para>
As of NixOS 19.09, the nginx package in Nixpkgs is patched such that when nginx serves a file out of <filename>/nix/store</filename>, the hash in the store path is used as the <literal>ETag</literal> 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.
</para>
</section>
</section>

View File

@@ -0,0 +1,9 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-opengl">
<title>OpenGL</title>
<para>
Packages that use OpenGL have NixOS desktop as their primary target. The current solution for loading the GPU-specific drivers is based on <literal>libglvnd</literal> and looks for the driver implementation in <literal>LD_LIBRARY_PATH</literal>. 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 <literal>libglvnd</literal> and <literal>mesa_drivers</literal> in <literal>LD_LIBRARY_PATH</literal>. For proprietary video drivers you might have luck with also adding the corresponding video driver package.
</para>
</section>

View File

@@ -0,0 +1,25 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-shell-helpers">
<title>Interactive shell helpers</title>
<para>
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 <command>PACKAGE-share</command> scripts are shipped that print the location of the corresponding shared folder. Current list of such packages is as following:
<itemizedlist>
<listitem>
<para>
<literal>autojump</literal>: <command>autojump-share</command>
</para>
</listitem>
<listitem>
<para>
<literal>fzf</literal>: <command>fzf-share</command>
</para>
</listitem>
</itemizedlist>
E.g. <literal>autojump</literal> can then used in the .bashrc like this:
<screen>
source "$(autojump-share)/autojump.bash"
</screen>
</para>
</section>

View File

@@ -0,0 +1,125 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-steam">
<title>Steam</title>
<section xml:id="sec-steam-nix">
<title>Steam in Nix</title>
<para>
Steam is distributed as a <filename>.deb</filename> file, for now only as an i686 package (the amd64 package only has documentation). When unpacked, it has a script called <filename>steam</filename> that in Ubuntu (their target distro) would go to <filename>/usr/bin </filename>. 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.
</para>
<para>
Nix problems and constraints:
<itemizedlist>
<listitem>
<para>
We don't have <filename>/bin/bash</filename> and many scripts point there. Similarly for <filename>/usr/bin/python</filename> .
</para>
</listitem>
<listitem>
<para>
We don't have the dynamic loader in <filename>/lib </filename>.
</para>
</listitem>
<listitem>
<para>
The <filename>steam.sh</filename> script in $HOME can not be patched, as it is checked and rewritten by steam.
</para>
</listitem>
<listitem>
<para>
The steam binary cannot be patched, it's also checked.
</para>
</listitem>
</itemizedlist>
</para>
<para>
The current approach to deploy Steam in NixOS is composing a FHS-compatible chroot environment, as documented <link xlink:href="http://sandervanderburg.blogspot.nl/2013/09/composing-fhs-compatible-chroot.html">here</link>. 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.
</para>
</section>
<section xml:id="sec-steam-play">
<title>How to play</title>
<para>
Use <programlisting>programs.steam.enable = true;</programlisting> if you want to add steam to systemPackages and also enable a few workarrounds aswell as Steam controller support or other Steam supported controllers such as the DualShock 4 or Nintendo Switch Pr.
</para>
</section>
<section xml:id="sec-steam-troub">
<title>Troubleshooting</title>
<para>
<variablelist>
<varlistentry>
<term>
Steam fails to start. What do I do?
</term>
<listitem>
<para>
Try to run
<programlisting>strace steam</programlisting>
to see what is causing steam to fail.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
Using the FOSS Radeon or nouveau (nvidia) drivers
</term>
<listitem>
<itemizedlist>
<listitem>
<para>
The <literal>newStdcpp</literal> parameter was removed since NixOS 17.09 and should not be needed anymore.
</para>
</listitem>
<listitem>
<para>
Steam ships statically linked with a version of libcrypto that conflics with the one dynamically loaded by radeonsi_dri.so. If you get the error
<programlisting>steam.sh: line 713: 7842 Segmentation fault (core dumped)</programlisting>
have a look at <link xlink:href="https://github.com/NixOS/nixpkgs/pull/20269">this pull request</link>.
</para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>
<varlistentry>
<term>
Java
</term>
<listitem>
<orderedlist>
<listitem>
<para>
There is no java in steam chrootenv by default. If you get a message like
<programlisting>/home/foo/.local/share/Steam/SteamApps/common/towns/towns.sh: line 1: java: command not found</programlisting>
You need to add
<programlisting> steam.override { withJava = true; };</programlisting>
to your configuration.
</para>
</listitem>
</orderedlist>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section xml:id="sec-steam-run">
<title>steam-run</title>
<para>
The FHS-compatible chroot used for steam can also be used to run other linux games that expect a FHS environment. To do it, add
<programlisting>pkgs.(steam.override {
nativeOnly = true;
newStdcpp = true;
}).run</programlisting>
to your configuration, rebuild, and run the game with
<programlisting>steam-run ./foo</programlisting>
</para>
</section>
</section>

View File

@@ -0,0 +1,13 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="unfree-software">
<title>Unfree software</title>
<para>
All users of Nixpkgs are free software users, and many users (and developers) of Nixpkgs want to limit and tightly control their exposure to unfree software. At the same time, many users need (or want) to run some specific pieces of proprietary software. Nixpkgs includes some expressions for unfree software packages. By default unfree software cannot be installed and doesnt show up in searches. To allow installing unfree software in a single Nix invocation one can export <literal>NIXPKGS_ALLOW_UNFREE=1</literal>. For a persistent solution, users can set <literal>allowUnfree</literal> in the Nixpkgs configuration.
</para>
<para>
Fine-grained control is possible by defining <literal>allowUnfreePredicate</literal> function in config; it takes the <literal>mkDerivation</literal> parameter attrset and returns <literal>true</literal> for unfree packages that should be allowed.
</para>
</section>

View File

@@ -0,0 +1,115 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-urxvt">
<title>Urxvt</title>
<para>
Urxvt, also known as rxvt-unicode, is a highly customizable terminal emulator.
</para>
<section xml:id="sec-urxvt-conf">
<title>Configuring urxvt</title>
<para>
In <literal>nixpkgs</literal>, urxvt is provided by the package
<literal>rxvt-unicode</literal>. 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
<programlisting>
rxvt-unicode.override {
configure = { availablePlugins, ... }: {
plugins = with availablePlugins; [ perls resize-font vtwheel ];
};
}
</programlisting>
If the <literal>configure</literal> function returns an attrset without the
<literal>plugins</literal> attribute, <literal>availablePlugins</literal>
will be used automatically.
</para>
<para>
In order to add plugins but also keep all default plugins installed, it is
possible to use the following method:
<programlisting>
rxvt-unicode.override {
configure = { availablePlugins, ... }: {
plugins = (builtins.attrValues availablePlugins) ++ [ custom-plugin ];
};
}
</programlisting>
</para>
<para>
To get a list of all the plugins available, open the Nix REPL and run
<screen>
<prompt>$ </prompt>nix repl
:l &lt;nixpkgs&gt;
map (p: p.name) pkgs.rxvt-unicode.plugins
</screen>
Alternatively, if your shell is bash or zsh and have completion enabled,
simply type <literal>nixpkgs.rxvt-unicode.plugins.&lt;tab&gt;</literal>.
</para>
<para>
In addition to <literal>plugins</literal> the options
<literal>extraDeps</literal> and <literal>perlDeps</literal> can be used
to install extra packages.
<literal>extraDeps</literal> can be used, for example, to provide
<literal>xsel</literal> (a clipboard manager) to the clipboard plugin,
without installing it globally:
<programlisting>
rxvt-unicode.override {
configure = { availablePlugins, ... }: {
pluginsDeps = [ xsel ];
};
}
</programlisting>
<literal>perlDeps</literal> is a handy way to provide Perl packages to
your custom plugins (in <literal>$HOME/.urxvt/ext</literal>). For example,
if you need <literal>AnyEvent</literal> you can do:
<programlisting>
rxvt-unicode.override {
configure = { availablePlugins, ... }: {
perlDeps = with perlPackages; [ AnyEvent ];
};
}
</programlisting>
</para>
</section>
<section xml:id="sec-urxvt-pkg">
<title>Packaging urxvt plugins</title>
<para>
Urxvt plugins resides in
<literal>pkgs/applications/misc/rxvt-unicode-plugins</literal>.
To add a new plugin create an expression in a subdirectory and add the
package to the set in
<literal>pkgs/applications/misc/rxvt-unicode-plugins/default.nix</literal>.
</para>
<para>
A plugin can be any kind of derivation, the only requirement is that it
should always install perl scripts in <literal>$out/lib/urxvt/perl</literal>.
Look for existing plugins for examples.
</para>
<para>
If the plugin is itself a perl package that needs to be imported from
other plugins or scripts, add the following passthrough:
<programlisting>
passthru.perlPackages = [ "self" ];
</programlisting>
This will make the urxvt wrapper pick up the dependency and set up the perl
path accordingly.
</para>
</section>
</section>

View File

@@ -0,0 +1,85 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-weechat">
<title>Weechat</title>
<para>
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
<programlisting>weechat.override {configure = {availablePlugins, ...}: {
plugins = with availablePlugins; [ python perl ];
}
}</programlisting>
If the <literal>configure</literal> function returns an attrset without the <literal>plugins</literal> attribute, <literal>availablePlugins</literal> will be used automatically.
</para>
<para>
The plugins currently available are <literal>python</literal>, <literal>perl</literal>, <literal>ruby</literal>, <literal>guile</literal>, <literal>tcl</literal> and <literal>lua</literal>.
</para>
<para>
The python and perl plugins allows the addition of extra libraries. For instance, the <literal>inotify.py</literal> script in weechat-scripts requires D-Bus or libnotify, and the <literal>fish.py</literal> script requires pycrypto. To use these scripts, use the plugin's <literal>withPackages</literal> attribute:
<programlisting>weechat.override { configure = {availablePlugins, ...}: {
plugins = with availablePlugins; [
(python.withPackages (ps: with ps; [ pycrypto python-dbus ]))
];
};
}
</programlisting>
</para>
<para>
In order to also keep all default plugins installed, it is possible to use the following method:
<programlisting>weechat.override { configure = { availablePlugins, ... }: {
plugins = builtins.attrValues (availablePlugins // {
python = availablePlugins.python.withPackages (ps: with ps; [ pycrypto python-dbus ]);
});
}; }
</programlisting>
</para>
<para>
WeeChat allows to set defaults on startup using the <literal>--run-command</literal>. The <literal>configure</literal> method can be used to pass commands to the program:
<programlisting>weechat.override {
configure = { availablePlugins, ... }: {
init = ''
/set foo bar
/server add freenode chat.freenode.org
'';
};
}</programlisting>
Further values can be added to the list of commands when running <literal>weechat --run-command "your-commands"</literal>.
</para>
<para>
Additionally it's possible to specify scripts to be loaded when starting <literal>weechat</literal>. These will be loaded before the commands from <literal>init</literal>:
<programlisting>weechat.override {
configure = { availablePlugins, ... }: {
scripts = with pkgs.weechatScripts; [
weechat-xmpp weechat-matrix-bridge wee-slack
];
init = ''
/set plugins.var.python.jabber.key "val"
'':
};
}</programlisting>
</para>
<para>
In <literal>nixpkgs</literal> there's a subpackage which contains derivations for WeeChat scripts. Such derivations expect a <literal>passthru.scripts</literal> attribute which contains a list of all scripts inside the store path. Furthermore all scripts have to live in <literal>$out/share</literal>. An exemplary derivation looks like this:
<programlisting>{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "exemplary-weechat-script";
src = fetchurl {
url = "https://scripts.tld/your-scripts.tar.gz";
sha256 = "...";
};
passthru.scripts = [ "foo.py" "bar.lua" ];
installPhase = ''
mkdir $out/share
cp foo.py $out/share
cp bar.lua $out/share
'';
}</programlisting>
</para>
</section>

View File

@@ -0,0 +1,34 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-xorg">
<title>X.org</title>
<para>
The Nix expressions for the X.org packages reside in <filename>pkgs/servers/x11/xorg/default.nix</filename>. 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 <filename>pkgs/servers/x11/xorg/overrides.nix</filename>, in which you can override or add to the derivations produced by the generator.
</para>
<para>
The generator is invoked as follows:
<screen>
<prompt>$ </prompt>cd pkgs/servers/x11/xorg
<prompt>$ </prompt>cat tarballs-7.5.list extra.list old.list \
| perl ./generate-expr-from-tarballs.pl
</screen>
For each of the tarballs in the <filename>.list</filename> files, the script downloads it, unpacks it, and searches its <filename>configure.ac</filename> and <filename>*.pc.in</filename> files for dependencies. This information is used to generate <filename>default.nix</filename>. The generator caches downloaded tarballs between runs. Pay close attention to the <literal>NOT FOUND: <replaceable>name</replaceable></literal> messages at the end of the run, since they may indicate missing dependencies. (Some might be optional dependencies, however.)
</para>
<para>
A file like <filename>tarballs-7.5.list</filename> contains all tarballs in a X.org release. It can be generated like this:
<screen>
<prompt>$ </prompt>export i="mirror://xorg/X11R7.4/src/everything/"
<prompt>$ </prompt>cat $(PRINT_PATH=1 nix-prefetch-url $i | tail -n 1) \
| perl -e 'while (&lt;>) { if (/(href|HREF)="([^"]*.bz2)"/) { print "$ENV{'i'}$2\n"; }; }' \
| sort > tarballs-7.4.list
</screen>
<filename>extra.list</filename> contains libraries that arent part of X.org proper, but are closely related to it, such as <literal>libxcb</literal>. <filename>old.list</filename> contains some packages that were removed from X.org, but are still needed by some people or by other packages (such as <varname>imake</varname>).
</para>
<para>
If the expression for a package requires derivation attributes that the generator cannot figure out automatically (say, <varname>patches</varname> or a <varname>postInstall</varname> hook), you should modify <filename>pkgs/servers/x11/xorg/overrides.nix</filename>.
</para>
</section>

10
doc/builders/special.xml Normal file
View File

@@ -0,0 +1,10 @@
<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.xml" />
<xi:include href="special/mkshell.xml" />
</chapter>

View File

@@ -0,0 +1,122 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="sec-fhs-environments">
<title>buildFHSUserEnv</title>
<para>
<function>buildFHSUserEnv</function> provides a way to build and run FHS-compatible lightweight sandboxes. It creates an isolated root with bound <filename>/nix/store</filename>, 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:
</para>
<variablelist>
<varlistentry>
<term>
<literal>name</literal>
</term>
<listitem>
<para>
Environment name.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>targetPkgs</literal>
</term>
<listitem>
<para>
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.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>multiPkgs</literal>
</term>
<listitem>
<para>
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.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>extraBuildCommands</literal>
</term>
<listitem>
<para>
Additional commands to be executed for finalizing the directory structure.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>extraBuildCommandsMulti</literal>
</term>
<listitem>
<para>
Like <literal>extraBuildCommands</literal>, but executed only on multilib architectures.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>extraOutputsToInstall</literal>
</term>
<listitem>
<para>
Additional derivation outputs to be linked for both target and multi-architecture packages.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>extraInstallCommands</literal>
</term>
<listitem>
<para>
Additional commands to be executed for finalizing the derivation with runner script.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>runScript</literal>
</term>
<listitem>
<para>
A command that would be executed inside the sandbox and passed all the command line arguments. It defaults to <literal>bash</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
One can create a simple environment using a <literal>shell.nix</literal> like that:
</para>
<programlisting><![CDATA[
{ pkgs ? import <nixpkgs> {} }:
(pkgs.buildFHSUserEnv {
name = "simple-x11-env";
targetPkgs = pkgs: (with pkgs;
[ udev
alsaLib
]) ++ (with pkgs.xorg;
[ libX11
libXcursor
libXrandr
]);
multiPkgs = pkgs: (with pkgs;
[ udev
alsaLib
]);
runScript = "bash";
}).env
]]></programlisting>
<para>
Running <literal>nix-shell</literal> 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 <literal>runScript</literal> to the application path, e.g. <filename>./bin/start.sh</filename> -- relative paths are supported.
</para>
</section>

View File

@@ -0,0 +1,24 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="sec-pkgs-mkShell">
<title>pkgs.mkShell</title>
<para>
<function>pkgs.mkShell</function> is a special kind of derivation that is only useful when using it combined with <command>nix-shell</command>. It will in fact fail to instantiate when invoked with <command>nix-build</command>.
</para>
<section xml:id="sec-pkgs-mkShell-usage">
<title>Usage</title>
<programlisting><![CDATA[
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
# this will make all the build inputs from hello and gnutar
# available to the shell environment
inputsFrom = with pkgs; [ hello gnutar ];
buildInputs = [ pkgs.gnumake ];
}
]]></programlisting>
</section>
</section>

View File

@@ -0,0 +1,90 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="chap-trivial-builders">
<title>Trivial builders</title>
<para>
Nixpkgs provides a couple of functions that help with building derivations. The most important one, <function>stdenv.mkDerivation</function>, has already been documented above. The following functions wrap <function>stdenv.mkDerivation</function>, making it easier to use in certain cases.
</para>
<variablelist>
<varlistentry xml:id="trivial-builder-runCommand">
<term>
<literal>runCommand</literal>
</term>
<listitem>
<para>
This takes three arguments, <literal>name</literal>, <literal>env</literal>, and <literal>buildCommand</literal>. <literal>name</literal> is just the name that Nix will append to the store path in the same way that <literal>stdenv.mkDerivation</literal> uses its <literal>name</literal> attribute. <literal>env</literal> is an attribute set specifying environment variables that will be set for this derivation. These attributes are then passed to the wrapped <literal>stdenv.mkDerivation</literal>. <literal>buildCommand</literal> specifies the commands that will be run to create this derivation. Note that you will need to create <literal>$out</literal> for Nix to register the command as successful.
</para>
<para>
An example of using <literal>runCommand</literal> is provided below.
</para>
<programlisting>
(import &lt;nixpkgs&gt; {}).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
''
</programlisting>
</listitem>
</varlistentry>
<varlistentry xml:id="trivial-builder-runCommandCC">
<term>
<literal>runCommandCC</literal>
</term>
<listitem>
<para>
This works just like <literal>runCommand</literal>. The only difference is that it also provides a C compiler in <literal>buildCommand</literal>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.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="trivial-builder-runCommandLocal">
<term>
<literal>runCommandLocal</literal>
</term>
<listitem>
<para>
Variant of <literal>runCommand</literal> that forces the derivation to be built locally, it is not substituted. This is intended for very cheap commands (&lt;1s execution time). It saves on the network roundrip and can speed up a build.
</para>
<note><para>
This sets <link xlink:href="https://nixos.org/nix/manual/#adv-attr-allowSubstitutes"><literal>allowSubstitutes</literal> to <literal>false</literal></link>, so only use <literal>runCommandLocal</literal> if you are certain the user will always have a builder for the <literal>system</literal> 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 <literal>system</literal> is usually the same as <literal>builtins.currentSystem</literal>.
</para></note>
</listitem>
</varlistentry>
<varlistentry xml:id="trivial-builder-writeText">
<term>
<literal>writeTextFile</literal>, <literal>writeText</literal>, <literal>writeTextDir</literal>, <literal>writeScript</literal>, <literal>writeScriptBin</literal>
</term>
<listitem>
<para>
These functions write <literal>text</literal> to the Nix store. This is useful for creating scripts from Nix expressions. <literal>writeTextFile</literal> takes an attribute set and expects two arguments, <literal>name</literal> and <literal>text</literal>. <literal>name</literal> corresponds to the name used in the Nix store path. <literal>text</literal> will be the contents of the file. You can also set <literal>executable</literal> to true to make this file have the executable bit set.
</para>
<para>
Many more commands wrap <literal>writeTextFile</literal> including <literal>writeText</literal>, <literal>writeTextDir</literal>, <literal>writeScript</literal>, and <literal>writeScriptBin</literal>. These are convenience functions over <literal>writeTextFile</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="trivial-builder-symlinkJoin">
<term>
<literal>symlinkJoin</literal>
</term>
<listitem>
<para>
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, <literal>name</literal>, and <literal>paths</literal>. <literal>name</literal> is the name used in the Nix store path for the created derivation. <literal>paths</literal> is a list of paths that will be symlinked. These paths can be to Nix store derivations or any other subdirectory contained within.
</para>
</listitem>
</varlistentry>
</variablelist>
</chapter>

View File

@@ -1,4 +0,0 @@
{
outputPath = "share/doc/nixpkgs";
indexPath = "manual.html";
}

View File

@@ -1,10 +0,0 @@
# Contributing to Nixpkgs {#part-contributing}
```{=include=} chapters
contributing/quick-start.chapter.md
contributing/coding-conventions.chapter.md
contributing/submitting-changes.chapter.md
contributing/vulnerability-roundup.chapter.md
contributing/reviewing-contributions.chapter.md
contributing/contributing-to-documentation.chapter.md
```

View File

@@ -1,63 +0,0 @@
# Coding conventions {#chap-conventions}
This section has been moved to [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).
## Syntax {#sec-syntax}
This section has been moved to [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).
## Package naming {#sec-package-naming}
This section has been moved to [pkgs/README.md](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md).
## File naming and organisation {#sec-organisation}
This section has been moved to [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).
### Versioning {#sec-versioning}
This section has been moved to [pkgs/README.md](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md).
## Fetching Sources {#sec-sources}
This section has been moved to [pkgs/README.md](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md).
## Obtaining source hash {#sec-source-hashes}
This section has been moved to [pkgs/README.md](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md).
### Obtaining hashes securely {#sec-source-hashes-security}
This section has been moved to [pkgs/README.md](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md).
## Patches {#sec-patches}
This section has been moved to [pkgs/README.md](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md).
## Package tests {#sec-package-tests}
This section has been moved to [pkgs/README.md](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md).
### Writing inline package tests {#ssec-inline-package-tests-writing}
This section has been moved to [pkgs/README.md](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md).
### Writing larger package tests {#ssec-package-tests-writing}
This section has been moved to [pkgs/README.md](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md).
### Running package tests {#ssec-package-tests-running}
This section has been moved to [pkgs/README.md](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md).
### Examples of package tests {#ssec-package-tests-examples}
This section has been moved to [pkgs/README.md](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md).
### Linking NixOS module tests to a package {#ssec-nixos-tests-linking}
This section has been moved to [pkgs/README.md](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md).
### Import From Derivation {#ssec-import-from-derivation}
This section has been moved to [pkgs/README.md](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md).

View File

@@ -0,0 +1,924 @@
<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>. Note, this rule does not apply to package attribute names, which instead follow the rules in <xref linkend="sec-package-naming"/>.
</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;
};
# Combined
listOfAttrs = [
{
attr1 = 3;
attr2 = "fff";
}
{
attr1 = 5;
attr2 = "ggg";
}
];
</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>
The key words <emphasis>must</emphasis>, <emphasis>must not</emphasis>, <emphasis>required</emphasis>, <emphasis>shall</emphasis>, <emphasis>shall not</emphasis>, <emphasis>should</emphasis>, <emphasis>should not</emphasis>, <emphasis>recommended</emphasis>, <emphasis>may</emphasis>, and <emphasis>optional</emphasis> in this section are to be interpreted as described in <link xlink:href="https://tools.ietf.org/html/rfc2119">RFC 2119</link>. Only <emphasis>emphasized</emphasis> words are to be interpreted in this way.
</para>
<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. Typically this is called the <emphasis>package attribute name</emphasis>. 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>
The <literal>name</literal> attribute <emphasis>should</emphasis> be identical to the upstream package name.
</para>
</listitem>
<listitem>
<para>
The <literal>name</literal> attribute <emphasis>must not</emphasis> contain uppercase letters — 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.1rc2"</literal>.
</para>
</listitem>
<listitem>
<para>
If a package is not a release but a commit from a repository, then the version part of the name <emphasis>must</emphasis> be the date of that (fetched) commit. The date <emphasis>must</emphasis> be in <literal>"YYYY-MM-DD"</literal> format. Also append <literal>"unstable"</literal> to the name - e.g., <literal>"pkgname-unstable-2014-09-23"</literal>.
</para>
</listitem>
<listitem>
<para>
Dashes in the package name <emphasis>should</emphasis> be preserved in new variable names, rather than converted to underscores or camel cased — e.g., <varname>http-parser</varname> instead of <varname>http_parser</varname> or <varname>httpParser</varname>. The hyphenated style is preferred in all three package names.
</para>
</listitem>
<listitem>
<para>
If there are multiple versions of a package, this <emphasis>should</emphasis> 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 intended 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>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 an <emphasis>icon theme</emphasis>:
</term>
<listitem>
<para>
<filename>data/icons</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>
<varlistentry>
<term>
If its a <emphasis>theme</emphasis> for a <emphasis>desktop environment</emphasis>,
a <emphasis>window manager</emphasis> or a <emphasis>display manager</emphasis>:
</term>
<listitem>
<para>
<filename>data/themes</filename>
</para>
</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 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 <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>
Bad: 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>
Better: 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>
Best: Fetches a snapshot archive and you get the rev you want.
<programlisting>
src = fetchFromGitHub {
owner = "NixOS";
repo = "nix";
rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae";
sha256 = "1i2yxndxb6yc9l6c99pypbd92lfq5aac4klq7y2v93c9qvx2cgpc";
}
</programlisting>
Find the value to put as <literal>sha256</literal> by running <literal>nix run -f '&lt;nixpkgs&gt;' nix-prefetch-github -c nix-prefetch-github --rev 1f795f9f44607cc5bec70d1300150bfefcef2aae NixOS nix</literal> or <literal>nix-prefetch-url --unpack https://github.com/NixOS/nix/archive/1f795f9f44607cc5bec70d1300150bfefcef2aae.tar.gz</literal>.
</para>
</listitem>
</itemizedlist>
</para>
</section>
<section xml:id="sec-source-hashes">
<title>Obtaining source hash</title>
<para>
Preferred source hash type is sha256. There are several ways to get it.
</para>
<orderedlist>
<listitem>
<para>
Prefetch URL (with <literal>nix-prefetch-<replaceable>XXX</replaceable> <replaceable>URL</replaceable></literal>, where <replaceable>XXX</replaceable> is one of <literal>url</literal>, <literal>git</literal>, <literal>hg</literal>, <literal>cvs</literal>, <literal>bzr</literal>, <literal>svn</literal>). Hash is printed to stdout.
</para>
</listitem>
<listitem>
<para>
Prefetch by package source (with <literal>nix-prefetch-url '&lt;nixpkgs&gt;' -A <replaceable>PACKAGE</replaceable>.src</literal>, where <replaceable>PACKAGE</replaceable> is package attribute name). Hash is printed to stdout.
</para>
<para>
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 (<literal>.srcs</literal>, architecture-dependent sources, etc).
</para>
</listitem>
<listitem>
<para>
Upstream provided hash: use it when upstream provides <literal>sha256</literal> or <literal>sha512</literal> (when upstream provides <literal>md5</literal>, don't use it, compute <literal>sha256</literal> instead).
</para>
<para>
A little nuance is that <literal>nix-prefetch-*</literal> tools produce hash encoded with <literal>base32</literal>, but upstream usually provides hexadecimal (<literal>base16</literal>) encoding. Fetchers understand both formats. Nixpkgs does not standardize on any one format.
</para>
<para>
You can convert between formats with nix-hash, for example:
<screen>
<prompt>$ </prompt>nix-hash --type sha256 --to-base32 <replaceable>HASH</replaceable>
</screen>
</para>
</listitem>
<listitem>
<para>
Extracting hash from local source tarball can be done with <literal>sha256sum</literal>. Use <literal>nix-prefetch-url file:///path/to/tarball </literal> if you want base32 hash.
</para>
</listitem>
<listitem>
<para>
Fake hash: set fake hash in package expression, perform build and extract correct hash from error Nix prints.
</para>
<para>
For package updates it is enough to change one symbol to make hash fake. For new packages, you can use <literal>lib.fakeSha256</literal>, <literal>lib.fakeSha512</literal> or any other fake hash.
</para>
<para>
This is last resort method when reconstructing source URL is non-trivial and <literal>nix-prefetch-url -A</literal> isn't applicable (for example, <link xlink:href="https://github.com/NixOS/nixpkgs/blob/d2ab091dd308b99e4912b805a5eb088dd536adb9/pkgs/applications/video/kodi/default.nix#L73"> one of <literal>kodi</literal> dependencies</link>). 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.
</para>
<warning>
<para>
This method has security problems. Check below for details.
</para>
</warning>
</listitem>
</orderedlist>
<section xml:id="sec-source-hashes-security">
<title>Obtaining hashes securely</title>
<para>
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:
</para>
<itemizedlist>
<listitem>
<para>
<literal>http://</literal> URLs are not secure to prefetch hash from;
</para>
</listitem>
<listitem>
<para>
hashes from upstream (in method 3) should be obtained via secure protocol;
</para>
</listitem>
<listitem>
<para>
<literal>https://</literal> URLs are secure in methods 1, 2, 3;
</para>
</listitem>
<listitem>
<para>
<literal>https://</literal> URLs are not secure in method 5. When obtaining hashes with fake hash method, TLS checks are disabled. So refetch source hash from several different networks to exclude MITM scenario. Alternatively, use fake hash method to make Nix error, but instead of extracting hash from error, extract <literal>https://</literal> URL and prefetch it with method 1.
</para>
</listitem>
</itemizedlist>
</section>
</section>
<section xml:id="sec-patches">
<title>Patches</title>
<para>
Patches available online should be retrieved using <literal>fetchpatch</literal>.
</para>
<para>
<programlisting>
patches = [
(fetchpatch {
name = "fix-check-for-using-shared-freetype-lib.patch";
url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=8f5d285";
sha256 = "1f0k043rng7f0rfl9hhb89qzvvksqmkrikmm38p61yfx51l325xr";
})
];
</programlisting>
</para>
<para>
Otherwise, you can add a <literal>.patch</literal> file to the <literal>nixpkgs</literal> repository. In the interest of keeping our maintenance burden to a minimum, only patches that are unique to <literal>nixpkgs</literal> should be added in this way.
</para>
<para>
<programlisting>
patches = [ ./0001-changes.patch ];
</programlisting>
</para>
<para>
If you do need to do create this sort of patch file, one way to do so is with git:
<orderedlist>
<listitem>
<para>
Move to the root directory of the source code you're patching.
<screen>
<prompt>$ </prompt>cd the/program/source</screen>
</para>
</listitem>
<listitem>
<para>
If a git repository is not already present, create one and stage all of the source files.
<screen>
<prompt>$ </prompt>git init
<prompt>$ </prompt>git add .</screen>
</para>
</listitem>
<listitem>
<para>
Edit some files to make whatever changes need to be included in the patch.
</para>
</listitem>
<listitem>
<para>
Use git to create a diff, and pipe the output to a patch file:
<screen>
<prompt>$ </prompt>git diff > nixpkgs/pkgs/the/package/0001-changes.patch</screen>
</para>
</listitem>
</orderedlist>
</para>
</section>
</chapter>

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