Compare commits

...

2523 Commits

Author SHA1 Message Date
Robert Hensing
b704c6f066 pkgs: Add _type = "pkgs"
(cherry picked from commit ad1e2500ef)
(cherry picked from commit aec730a0af)
2022-05-02 09:54:44 +02:00
aszlig
c140d9db02 ip2unix: 2.1.3 -> 2.1.4
Upstream changes:

  * Fix ordering between systemd socket file descriptor names and rules.
  * Fix usage of C library path as discovered by Meson.

Signed-off-by: aszlig <aszlig@nix.build>
(cherry picked from commit 8b7f8e2e69)
2021-07-10 02:20:35 +02:00
Rok Garbas
75f4ba05c6 Merge pull request #98645 from raboof/rename-guide-to-nixpkgs-manual-19.09
doc: rename guide to 'Nixpkgs Manual'
2020-09-24 14:55:48 +02:00
Arnout Engelen
1549e1e3ee 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 14:53:59 +02:00
Florian Klink
289466dd6a Merge pull request #91009 from erictapen/19.09-libexif-0.6.22
[19.09] libexif: 0.6.21 -> 0.6.22 for security fixes
2020-06-19 00:10:22 +02:00
Justin Humm
b6558a18e7 libexif: 0.6.21 -> 0.6.22
Also:
- build from git
- enable cross compilation

(cherry picked from commit e761cfe50a)
2020-06-18 14:56:21 +02:00
Jörg Thalheim
8260cd5bc6 Merge pull request #88436 from mweinelt/19.09/dovecot 2020-06-12 19:53:12 +01:00
Cole Helbling
716f393065 gnutls: 3.6.13 -> 3.6.14
Fixes CVE-2020-13777 [1].

Changes: https://lists.gnupg.org/pipermail/gnutls-help/2020-June/004648.html

[1] https://nvd.nist.gov/vuln/detail/CVE-2020-13777

(cherry picked from commit 1dba117541, PR #89884)
19.09 isn't really supported anymore, but this CVE seems very important.
2020-06-12 11:31:21 +02:00
Florian Klink
0a11634a29 Merge pull request #86994 from toonn/release-19.09
wire-desktop: linux 3.17.2924 -> 3.18.2925, mac 3.17.3666 -> 3.18.3728
2020-06-06 12:28:30 +02:00
Vladimír Čunát
d5151a91f3 Merge #89474: thunderbird*: 68.8.0 -> 68.9.0 (security)
(cherry picked from commit 5a8cdcc278)
2020-06-06 09:52:30 +02:00
toonn
44170df29d wire-desktop: mac 3.17.3666 -> 3.18.3728
(cherry picked from commit 9535a4370b)
2020-06-02 20:24:05 +02:00
toonn
5d0d3ef8e6 wire-desktop: linux 3.17.2924 -> 3.18.2925
(cherry picked from commit 3e2b6b99bf)
2020-06-02 20:23:38 +02:00
aszlig
2f9bafaca9 ip2unix: 2.1.2 -> 2.1.3
Upstream fixes:

  - Pass linker version script to the linker instead of the compiler.
  - Compile with `-fPIC` again (regression from version 2.1.2).
  - Out of bounds array access in `globpath`.
  - Handling of `epoll_ctl` calls (they're now replayed after replacing
    socket).
  - GCC 10 build errors and Clang warnings.

While most of these fixes are more relevant for other distros, the
linker script fix is actually a regression existing since a long time
(version 1.x) and caused libip2unix to expose way too many symbols.

Built and tested on i686-linux and x86_64-linux.

Signed-off-by: aszlig <aszlig@nix.build>
(cherry picked from commit 67325b12c6)
2020-06-01 05:52:45 +02:00
aszlig
61421eda48 ip2unix: 2.1.1 -> 2.1.2
This fixes the issues with glibc 2.30, which were caused because glibc
no longer allows to dlopen/LD_PRELOAD a PIE executable.

So this release is essentially just a hotfix release which addresses
this issue by splitting the executable and library.

Signed-off-by: aszlig <aszlig@nix.build>
Reported-by: @zimbatm
(cherry picked from commit b51d39fbe4)
2020-06-01 05:52:23 +02:00
zowoq
d82bae4bed ffmpeg_2_8: 2.8.15 -> 2.8.16
(cherry picked from commit cfaa8035d7)
2020-05-31 09:30:17 +02:00
zowoq
76248ee3d7 ffmpeg-full: 4.2.2 -> 4.2.3
(cherry picked from commit f7c914e96e)
2020-05-31 09:29:21 +02:00
zowoq
7071e7670b ffmpeg_4: 4.2.2 -> 4.2.3
(cherry picked from commit 0e384147f9)
2020-05-31 09:28:50 +02:00
Vladimír Čunát
35eda4aede pdns-recursor: 4.2.0 -> 4.2.2 (security)
https://blog.powerdns.com/2020/05/19/powerdns-recursor-4-3-1-4-2-2-and-4-1-16-released/
$ nix build -f nixos/release.nix tests.pdns-recursor.x86_64-linux
NixPkgs master is on 4.3.x already; /cc that PR #88159

(cherry picked from commit 1a02977427)
2020-05-23 11:15:35 +02:00
Vladimír Čunát
a68908625d bind: 9.14.9 -> 9.14.12 (security, PR #88159)
https://www.isc.org/blogs/bind9-vulnerabilities-2020-05/
$ nix build -f nixos/release.nix tests.bind.x86_64-linux

(cherry picked from commit 13c485d63d)
In BIND case these are quite severe DoS risks, so let me backport to 19.09.
2020-05-23 10:54:00 +02:00
Martin Weinelt
0d49c4a0c9 dovecot: v2.3.10 → v2.3.10.1
Fixes: CVE-2020-10957, CVE-2020-10958, CVE-2020-10967
(cherry picked from commit 6cf48856d2)
2020-05-20 15:55:04 +02:00
R. RyanTM
e6d819a04f dovecot: 2.3.9.3 -> 2.3.10
(cherry picked from commit 8d08f45368)
2020-05-20 15:54:59 +02:00
Linus Heckemann
2efedf8fc7 Merge pull request #88368 from primeos/chromium-eol
[19.09] chromium: Mark as insecure
2020-05-20 15:52:00 +02:00
Michael Weiss
69e4ae56c4 chromium: Mark as insecure
Since M81 won't receive any updates anymore and there are known
vulnerabilities we should mark it as insecure so that users are aware of
the risks.
Updating Chromium to M83 is unfortunately too challenging for
19.09, but as of today we've already covered the one month period of
security updates for "oldstable" and both 20.03 and nixos-unstable
contain recent versions (i.e. users should either update to the current
stable release or install Chromium from a different channel).

nixos-unstable PR for M83: #88206
2020-05-20 13:01:25 +02:00
Andreas Rammhold
31dcaa5eb6 Merge pull request #87772 from andir/19.09/firefox
[19.09] firefox: Add patch to fix AES GCM IV bit size
2020-05-14 22:13:49 +02:00
Andreas Rammhold
810e561e33 firefox: 76.0 -> 76.0.1
(cherry picked from commit b70435e43c)
2020-05-14 13:07:26 +02:00
aszlig
9cefaf916c firefox: Add patch to fix AES GCM IV bit size
Regression introduced by bce5268a21.

The bit size of the initialisation vector for AES GCM has been
introduced in NSS version 3.52 in the CK_GCM_PARMS struct via the
ulIvBits field.

Unfortunately, Firefox 68.8.0 and 76.0 do not set this field and thus it
gets initialised to zero, which in turn causes IV generation to fail.

I found out about this because WebRTC stopped working after updating to
NSS 3.52 and so I started bisecting.

Since there wasn't an obvious error in Firefox hinting towards NSS but
instead just the video stream ended up as a "null" stream, I didn't
suspect the NSS update to be the culprit at first. So I verified a few
times and then also started bisecting the actual commit in NSS that
caused the issue.

This turned out to be the problematic change:

https://phabricator.services.mozilla.com/D63241

> One notable change was caused by an inconsistancy between the spec and
> the released headers in PKCS#11 v2.40. CK_GCM_PARAMS had an extra
> field in the header that was not in the spec. OASIS considers the
> header file to be normative, so PKCS#11 v3.0 resolved the issue in
> favor of the header file definition.

Since the test I've used[1] was a bit flaky, I still didn't believe the
result of the bisect to be accurate, but after running the test several
times leading same results I dug through the above change line by line
to get more clues.

It fortunately didn't take that long to stumble upon the ulIvBits change
(which is actually documented in the NSS 3.52 release notes[4], but I
managed to blatantly ignore it for some reason) and started checking the
Firefox source tree for changes regarding that field.

Initialisation of that new field has been introduced[2] in preparation
for the 76 release, but subsequently got reverted[3] prior to the
release, because Firefox 76 is expected to be shipped with NSS 3.51,
which didn't have the ulIvBits field.

The patch I'm adding here is just a reintroduction of that change,
because we're using NSS 3.52. Not initialising that field will break
WebRTC and WebCrypto, which I think the former seems to gain in
popularity these days ;-)

Tested the change against the mentioned VM test[1] and also by testing
manually using Jitsi Meet and Nextcloud Talk.

[1]: https://github.com/aszlig/avonc/tree/884315838b6f0ebb32b/tests/talk
[2]: https://hg.mozilla.org/mozilla-central/rev/3ed30e6b6de1
[3]: https://hg.mozilla.org/mozilla-central/rev/665137da70ee
[4]: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_3.52_release_notes

Signed-off-by: aszlig <aszlig@nix.build>
(cherry picked from commit 8fb49973ce & moved to packages.nix)
2020-05-14 00:01:26 +02:00
Vojtěch Káně
d858110e35 monero: fix rcp.restricted option
According to https://monerodocs.org/interacting/monerod-reference/#node-rpc-api
the correct option is restricted-rpc, not restrict-rpc.

(cherry picked from commit e7ab236cab)
2020-05-11 12:56:49 +02:00
Vladimír Čunát
596739026b Merge #87066: thunderbird*: 68.7.0 -> 68.8.0 (security)
https://www.thunderbird.net/en-US/thunderbird/68.8.0/releasenotes/
https://www.mozilla.org/en-US/security/advisories/mfsa2020-18/
(cherry picked from commit 10134fc301)
Re-tested both briefly on 19.09.
2020-05-10 07:59:38 +02:00
Michael Weiss
278db005f8 Merge pull request #87078 from primeos/chromium-backport
chromium: 81.0.4044.129 -> 81.0.4044.138
2020-05-06 18:09:08 +02:00
Michael Weiss
b79f64b5eb chromium: 81.0.4044.129 -> 81.0.4044.138
https://chromereleases.googleblog.com/2020/05/stable-channel-update-for-desktop.html

This update includes 3 security fixes.

CVEs: CVE-2020-6831 CVE-2020-6464
(cherry picked from commit dec3d5f39f)
2020-05-06 13:03:58 +02:00
Andreas Rammhold
3f1f251422 Merge pull request #86811 from andir/19.09/firefox76
[19.09] firefox: 75.0 -> 76.0
2020-05-05 19:39:04 +02:00
Andreas Rammhold
8f570a3670 firefox-esr-68: 68.7.0esr -> 68.8.0esr
(cherry picked from commit f3cc8dc6fa)
2020-05-04 19:40:50 +02:00
Andreas Rammhold
26316a28d8 firefox-bin: 75.0 -> 76.0
(cherry picked from commit 3911336cc6)
2020-05-04 19:40:39 +02:00
Andreas Rammhold
72212cba3c firefox: 75.0 -> 76.0
(cherry picked from commit 324e40f0f4)
2020-05-04 19:40:24 +02:00
Andreas Rammhold
0fa8e3c47b nss_3_52: 3.51 -> 3.52 2020-05-04 19:40:11 +02:00
Benjamin Hipple
4f820be628 Merge pull request #86651 from Flakebi/salt-19.09
[19.09] salt: 2019.2.0 -> 2019.2.4
2020-05-03 19:54:32 -04:00
Flakebi
7da8a5a7a4 salt: 2019.2.0 -> 2019.2.4
Fixes CVE-2020-11651 and CVE-2020-11652
2020-05-03 16:03:08 +02:00
Florian Klink
85f3b472ab Merge pull request #86461 from talyz/19.09-gitlab-12.8.10
[19.09] gitlab: 12.8.9 -> 12.8.10
2020-05-01 14:01:21 +02:00
Florian Klink
a73c7cbd58 gitlab: 12.8.9 -> 12.8.10
(cherry picked from commit fdd0d0de1f)
2020-05-01 13:27:21 +02:00
Florian Klink
24d07de7df gitaly: 12.8.9 -> 12.8.10
(cherry picked from commit 9eb6dc762f)
2020-05-01 13:27:14 +02:00
Michael Weiss
322fd89372 Merge pull request #86297 from primeos/chromium-backport
[19.09] chromium: 81.0.4044.122 -> 81.0.4044.129 (backport)
2020-04-30 22:21:31 +02:00
Maximilian Bosch
87819f9521 roundcube: 1.3.10 -> 1.3.11
https://github.com/roundcube/roundcubemail/releases/tag/1.3.11

This contains some important security fixes, hence the package-bump.
2020-04-29 23:57:14 +02:00
Michael Raskin
511766df7a Merge pull request #86340 from 7c6f434c/monotone-no-botan-openssl-19.09
monotone: openssl in botan is not needed, so drop to avoid old openssl
2020-04-29 18:08:51 +00:00
Michael Raskin
e27493e818 monotone: openssl in botan is not needed, so drop to avoid old openssl
(cherry picked from commit 4644776b2e)
2020-04-29 19:35:46 +02:00
Alexey Shmalko
1d06d40fe0 Merge pull request #86271 from mweinelt/19.09/coturn/CVE-2020-6061+6062
[19.09] coturn: apply patch for CVE-2020-6061/6062
2020-04-29 16:50:47 +03:00
Martin Weinelt
ac3ed151f3 coturn: apply patch for CVE-2020-6061/6062
Fixes: CVE-2020-6061, CVE-2020-6062

An exploitable heap overflow vulnerability exists in the way CoTURN
4.5.1.1 web server parses POST requests. A specially crafted HTTP
POST request can lead to information leaks and other misbehavior.
An attacker needs to send an HTTPS request to trigger this vulnerability.

An exploitable denial-of-service vulnerability exists in the way
CoTURN 4.5.1.1 web server parses POST requests. A specially crafted
HTTP POST request can lead to server crash and denial of service.
An attacker needs to send an HTTP request to trigger this vulnerability.

(cherry picked from commit 704a018aae)
2020-04-29 12:55:32 +02:00
Michael Weiss
4b39bb835c chromium: 81.0.4044.122 -> 81.0.4044.129
https://chromereleases.googleblog.com/2020/04/stable-channel-update-for-desktop_27.html

This update includes 2 security fixes.

CVEs: CVE-2020-6462 CVE-2020-6461
(cherry picked from commit db4aece884)
2020-04-29 11:18:30 +02:00
Michael Fellinger
a7ceb2536a gitlab: update.py: invoke bundle lock manually
`bundix -l` doesn't work, as it treats bundler's warning about upgrading
the lockfile version as an error, so invoke `bundle lock` manually.

(cherry picked from commit 4c26ab4198)
2020-04-28 19:12:12 +02:00
Florian Klink
68169a7ffa gitaly: 12.8.8 -> 12.8.9
(cherry picked from commit c86c77be0c)
2020-04-28 19:08:58 +02:00
Florian Klink
767ca3624c gitlab-workhorse: 8.21.1 -> 8.21.2
(cherry picked from commit f7ddd30bef)
2020-04-28 19:08:58 +02:00
Florian Klink
57df0aad15 gitlab: support passing --rev to the update-all script
While it's already possible to invoke `update-data` with the `--rev`
argument, one still needs to run all later phases manually.

Fix this, by having `update-all` also accept a `--rev` argument, and
pass it down to `update-data`.

Also, make the help text a bit more usable, by suggesting the usual
versioning scheme used these times.

(cherry picked from commit 191c2c67a4)
2020-04-28 19:08:34 +02:00
Florian Klink
7b9f3c89f3 gitlab: 12.8.8 -> 12.8.9
See
https://about.gitlab.com/releases/2020/04/14/critical-security-release-gitlab-12-dot-9-dot-3-released/
for details.

(cherry picked from commit d1902923fa)
2020-04-28 18:52:33 +02:00
Kim Lindberger
9ffae2a8d0 Merge pull request #86191 from talyz/release-19.09
nixos/gitlab: Fix services.gitlab.enableStartTLSAuto
2020-04-28 14:09:47 +02:00
talyz
f907dc9056 nixos/gitlab: Fix services.gitlab.enableStartTLSAuto
'toString false' results in an empty string, which, in this context,
is a syntax error. Use boolToString instead.

Fixes #86160

(cherry picked from commit c0a838df38)
2020-04-28 12:03:22 +02:00
Cole Helbling
4a0df0ce26 ninja: fix 404'ing patch
Kyndig on IRC noticed that building `ninja` from source would fail due
to a patch 404'ing (because the repo appears to no longer exist). Fetch
from upstream instead.

(cherry picked from commit 91d4e9aa97)
cc #85742
2020-04-26 17:02:00 -04:00
worldofpeace
e6d222fc0d Merge pull request #85805 from mmilata/qt5-mkDerivation-stdenv-19.09
[19.09] Use qt5's mkDerivation in packages that otherwise crash
2020-04-25 14:12:27 -04:00
worldofpeace
39a1ac5a25 Merge pull request #86001 from mweinelt/19.09/hostapd/cve-2019-16275
[19.09] hostapd: apply patch for CVE-2019-16275
2020-04-25 11:44:24 -04:00
Martin Weinelt
54a3772031 hostapd: apply patch for CVE-2019-16275
AP mode PMF disconnection protection bypass

Published: September 11, 2019
Identifiers:
- CVE-2019-16275
Latest version available from: https://w1.fi/security/2019-7/

Vulnerability

hostapd (and wpa_supplicant when controlling AP mode) did not perform
sufficient source address validation for some received Management frames
and this could result in ending up sending a frame that caused
associated stations to incorrectly believe they were disconnected from
the network even if management frame protection (also known as PMF) was
negotiated for the association. This could be considered to be a denial
of service vulnerability since PMF is supposed to protect from this type
of issues. It should be noted that if PMF is not enabled, there would be
no protocol level protection against this type of denial service
attacks.

An attacker in radio range of the access point could inject a specially
constructed unauthenticated IEEE 802.11 frame to the access point to
cause associated stations to be disconnected and require a reconnection
to the network.

Vulnerable versions/configurations

All hostapd and wpa_supplicants versions with PMF support
(CONFIG_IEEE80211W=y) and a runtime configuration enabled AP mode with
PMF being enabled (optional or required). In addition, this would be
applicable only when using user space based MLME/SME in AP mode, i.e.,
when hostapd (or wpa_supplicant when controlling AP mode) would process
authentication and association management frames. This condition would
be applicable mainly with drivers that use mac80211.

Possible mitigation steps

- Merge the following commit to wpa_supplicant/hostapd and rebuild:

  AP: Silently ignore management frame from unexpected source address

  This patch is available from https://w1.fi/security/2019-7/

- Update to wpa_supplicant/hostapd v2.10 or newer, once available

(cherry picked from commit 3e9f3a3ebd)
2020-04-25 14:38:32 +02:00
worldofpeace
c4799f080b gnome3.mutter328: backports from gnome-3-28
(cherry picked from commit d0419f9c25)
2020-04-24 17:24:19 -07:00
worldofpeace
bfee698bbb gnome3.mutter: fix desktop freezing after ~50 days idle
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/886
2020-04-24 17:24:19 -07:00
Frederik Rietdijk
9642f121eb Merge staging-19.09 into release-19.09
Build security updates on release branch so *-small channel is updated as soon as possible.
2020-04-23 08:59:51 +02:00
Andreas Rammhold
04273c347d Merge pull request #85818 from mweinelt/19.09/openssl/cve-2020-1967
[19.09] openssl: patch CVE-2020-1967
2020-04-23 02:01:46 +02:00
Martin Weinelt
f37435dae9 openssl: patch CVE-2020-1967
eb563247ae
64eef86733
2020-04-23 00:41:51 +02:00
Martin Milata
dacd7f3c12 tensor: use qt5's mkDerivation
(cherry picked from commit d5b14e58c4)
2020-04-22 23:35:04 +02:00
Martin Milata
0b8156d9a2 candle: use qt5's mkDerivation
(cherry picked from commit 1d8ea89504)
2020-04-22 23:35:04 +02:00
Martin Milata
2ebfd55aac colord-kde: use qt5's mkDerivation
(cherry picked from commit 2e8962bb6e)
2020-04-22 23:35:04 +02:00
Martin Milata
8c7b0820e6 firebird-emu: use qt5's mkDerivation
(cherry picked from commit 65050cd7e5)
2020-04-22 23:35:04 +02:00
Martin Milata
7d215ac968 glogg: use qt5's mkDerivation
(cherry picked from commit 7dce1c5202)
2020-04-22 23:35:04 +02:00
Martin Milata
0dd1ea1d4e iannix: use qt5's mkDerivation
(cherry picked from commit 9384f48860)
2020-04-22 23:35:04 +02:00
Martin Milata
641f66450d pro-office-calculator: use qt5's mkDerivation
(cherry picked from commit ec922277e4)
2020-04-22 23:35:04 +02:00
Martin Milata
64301c0f7d rocket: use qt5's mkDerivation
(cherry picked from commit adae9f1260)
2020-04-22 23:35:04 +02:00
Martin Milata
ef7e1874bb qt-box-editor: use qt5's mkDerivation
(cherry picked from commit cc8d12118c)
2020-04-22 23:35:04 +02:00
Martin Milata
1cbdf955d5 aqemu: use qt5's mkDerivation
(cherry picked from commit 4ee9179a11)
2020-04-22 23:35:04 +02:00
Martin Milata
77e281f8d1 awesomebump: use qt5's mkDerivation
Wrap Qt program manually, remove makeWrapper from nativeBuildInputs.

(cherry picked from commit a0a076b857)
2020-04-22 23:35:04 +02:00
Martin Milata
183bb7670d bomi: use qt5's mkDerivation
Wrap Qt program manually, remove makeWrapper from nativeBuildInputs.

(cherry picked from commit 98f126615f)
2020-04-22 23:35:04 +02:00
Martin Milata
7a6c6ba586 dfasma: use qt5's mkDerivation
(cherry picked from commit 21d3ce5887)
2020-04-22 23:35:04 +02:00
Martin Milata
c601b3e661 mindforger: use qt5's mkDerivation
(cherry picked from commit 22af8e8ed7)
2020-04-22 23:35:04 +02:00
Martin Milata
51e470051f okteta: use qt5's mkDerivation
(cherry picked from commit affebc8600)
2020-04-22 23:35:04 +02:00
Martin Milata
02635e3747 openbrf: use qt5's mkDerivation
(cherry picked from commit 9f0dba1302)
2020-04-22 23:35:04 +02:00
Martin Milata
24490a6e4a phototonic: use qt5's mkDerivation
(cherry picked from commit 606a15d9d8)
2020-04-22 23:35:04 +02:00
Martin Milata
9b1849ada6 qcomicbook: use qt5's mkDerivation
(cherry picked from commit 2986699ab0)
2020-04-22 23:35:04 +02:00
Martin Milata
fa24ad0cc2 qmediathekview: use qt5's mkDerivation
(cherry picked from commit 5f70a209da)
2020-04-22 23:35:04 +02:00
Martin Milata
c988766df8 qstopmotion: use qt5's mkDerivation
(cherry picked from commit e036261b15)
2020-04-22 23:35:04 +02:00
Martin Milata
754a796ad7 ricochet: use qt5's mkDerivation
(cherry picked from commit 4b7193b67a)
2020-04-22 23:35:04 +02:00
Martin Milata
8f637574a7 swift-im: use qt5's mkDerivation
(cherry picked from commit 86aab71590)
2020-04-22 23:35:04 +02:00
Martin Milata
163b43414b traverso: use qt5's mkDerivation
(cherry picked from commit 461843af71)
2020-04-22 23:35:03 +02:00
Martin Milata
52ee2d5942 valentina: use qt5's mkDerivation
(cherry picked from commit 01de13ad6f)
2020-04-22 23:35:03 +02:00
Martin Milata
afc608df0e caneda: use qt5's mkDerivation
(cherry picked from commit 7d1c2c05c5)
2020-04-22 21:30:02 +02:00
Martin Milata
640e0d4e11 calaos_installer: use qt5's mkDerivation
(cherry picked from commit 5858162f5e)
2020-04-22 21:30:02 +02:00
Martin Milata
a5086123d2 yabause: use qt5's mkDerivation
(cherry picked from commit f9ef2c194a)
2020-04-22 21:29:59 +02:00
Martin Milata
fef4a36837 httraqt: use qt5's mkDerivation
(cherry picked from commit b98fa7cdb8)
2020-04-22 21:28:51 +02:00
Martin Milata
336ef088dc enyo-doom: use qt5's mkDerivation
(cherry picked from commit 83102fcbae)
2020-04-22 21:28:51 +02:00
Michael Weiss
cae3ac8c30 git: 2.23.2 -> 2.23.3 (security, CVE-2020-11008)
See: https://raw.githubusercontent.com/git/git/master/Documentation/RelNotes/2.17.5.txt
2020-04-22 19:25:33 +02:00
Frederik Rietdijk
a9750dbc45 Merge release-19.09 into staging-19.09 2020-04-22 19:20:51 +02:00
Florian Klink
5a3490df07 Merge pull request #85760 from primeos/chromium-backport
[19.09] chromium: 81.0.4044.113 -> 81.0.4044.122 (backport)
2020-04-22 17:24:26 +02:00
Michael Weiss
e45440a81e chromium: 81.0.4044.113 -> 81.0.4044.122
https://chromereleases.googleblog.com/2020/04/stable-channel-update-for-desktop_21.html

This update includes 8 security fixes.

CVEs: CVE-2020-6459 CVE-2020-6460 CVE-2020-645
(cherry picked from commit a2df9776f0)
2020-04-22 13:34:18 +02:00
Michael Weiss
c0439bad93 chromiumBeta: Mark as broken 2020-04-22 13:34:11 +02:00
Michael Weiss
dff7016c54 chromium{Beta,Dev}: M81 -> M83 -> M84
(cherry picked from commit cb5c0a4bbc)
Note: Only M81 is supported on 19.09. This is mainly to cherry-pick
stable channel updates and avoid an insecure chromiumBeta.
2020-04-22 12:52:45 +02:00
Emery Hemingway
9237a09d8e yggdrasil: backport at 0.3.10
Backport of Yggdrasil, NixOS module, and tests.
2020-04-19 11:10:38 +05:30
Emery Hemingway
fdd75ab3ac maintainers: backport gazally 2020-04-19 11:10:38 +05:30
Markus Wamser
3bd563feb4 maintainers: add wamserma
Signed-off-by: Markus S. Wamser <github-dev@mail2013.wamser.eu>
2020-04-18 10:02:49 -04:00
Maximilian Bosch
fed820b7b8 Merge pull request #85429 from zaninime/backport-nexus
[19.09] nexus: 3.18.1-01 -> 3.22.0-02 (backport)
2020-04-17 23:05:17 +02:00
Tim Steinbach
36586a92d3 linux: 5.4.32 -> 5.4.33
(cherry picked from commit e341107367)
2020-04-17 08:35:43 -04:00
Tim Steinbach
6c9572a38c linux: 4.19.115 -> 4.19.116
(cherry picked from commit d9258d33be)
2020-04-17 08:35:43 -04:00
Michael Weiss
27c9e08039 Merge pull request #85405 from primeos/chromium-backport
[19.09] chromium: 81.0.4044.92 -> 81.0.4044.113 (backport)
2020-04-17 13:30:33 +02:00
Francesco Zanini
648a695c31 nexus: 3.18.1-01 -> 3.22.0-02 2020-04-17 09:30:56 +02:00
Michael Raskin
9eeef58642 Merge pull request #85409 from tollb/flashplayer-32.0.0.363-release-19.09
[19.09] flashplayer: 32.0.0.330 -> 32.0.0.363
2020-04-16 21:59:25 +00:00
Michael Weiss
9cb226cfe2 chromium: 81.0.4044.92 -> 81.0.4044.113
https://chromereleases.googleblog.com/2020/04/stable-channel-update-for-desktop_15.html

This update includes 1 security fix.

CVEs: CVE-2020-6457
(cherry picked from commit ef2c3ab20e)
2020-04-16 22:36:19 +02:00
taku0
6f5b979dd6 [19.09] flashplayer: 32.0.0.330 -> 32.0.0.363
(cherry picked from commit ac374d41c8)

Backported 32.0.0.363 to release 19.09 for important bug fixes.

Also needed because old upstream release is no longer available.
2020-04-16 13:19:22 -04:00
Vladimír Čunát
4f86f06bf9 git: 2.23.1 -> 2.23.2 (CVE-2020-5260)
It's only the security fix, nothing else.  /cc roundup #75974.
https://github.com/git/git/blob/v2.23.2/Documentation/RelNotes/2.23.2.txt
https://github.com/git/git/blob/v2.23.2/Documentation/RelNotes/2.17.4.txt
2020-04-16 16:36:29 +02:00
Vladimír Čunát
dd46307a5f Merge branch 'staging-19.09' into release-19.09 2020-04-16 11:40:08 +02:00
Robert Scott
b67bc34d4e Merge pull request #79772 from wamserma/fix-aspell-CVEs-backport
[19.09] aspell: 0.60.6.1 -> 0.60.8
2020-04-15 22:11:06 +01:00
Dominik Honnef
f6c1d3b113 luminance-hdr: use Qt5's mkDerivation
(cherry picked from commit b233a19fe1)
2020-04-14 08:34:46 -04:00
Tim Steinbach
ee95a68c5e linux: 5.4.31 -> 5.4.32 2020-04-13 08:39:22 -04:00
Tim Steinbach
fec536feab linux: 4.9.218 -> 4.9.219 2020-04-13 08:39:22 -04:00
Tim Steinbach
81ca80ccff linux: 4.19.114 -> 4.19.115 2020-04-13 08:39:22 -04:00
Tim Steinbach
f52196c36a linux: 4.14.175 -> 4.14.176 2020-04-13 08:39:22 -04:00
Tim Steinbach
f35e61dcee linux: 4.4.218 -> 4.4.219 2020-04-13 08:39:22 -04:00
Mario Rodas
5fa2612ca2 Merge pull request #84536 from JeffLabonte/19.09-brave_1.5.115_to_1.5.123
brave: 1.5.115 -> 1.5.123
2020-04-12 04:33:13 -05:00
Vladimír Čunát
839cd8d03a Merge #83022: simutrans: 120.2.2 -> 120.4.1 (unbreak)
(cherry picked from commit e7ca19f7cb)
2020-04-12 10:31:20 +02:00
Vladimír Čunát
99a27f4caf Merge #84773: thunderbird*: 68.6.0 -> 68.7.0 (security)
https://www.thunderbird.net/en-US/thunderbird/68.7.0/releasenotes/
https://www.mozilla.org/en-US/security/advisories/mfsa2020-14/

(cherry picked from commit f719350bac)
2020-04-11 19:42:06 +02:00
Joachim F
02f2241354 Merge pull request #84892 from andriokha/tor-browser-bundle-bin-9.0.9-release-19.09
[19.09] tor-browser-bundle-bin: 9.0.7 -> 9.0.9
2020-04-10 14:56:34 +00:00
Andy Fowlston
ebf64eac52 tor-browser-bundle-bin: 9.0.7 -> 9.0.9
https://blog.torproject.org/new-release-tor-browser-909
https://blog.torproject.org/new-release-tor-browser-908
(cherry picked from commit 85e4f2d554)
2020-04-10 10:33:32 +01:00
David Terry
60c4ddb97f linuxPackagesFor: wireguard: noop for kernel >= 5.6
(cherry picked from commit 27ca6c2939)

Rationale for backport: it's explicitly supported to build a kernel with
a custom tree. When using a 5.6 tree in a system configuration, eval
will break since `wireguard` is still evaluated and throws an
assertion-error on 5.6 or greater.
2020-04-09 15:18:53 +02:00
Aaron Andersen
52577bac4a Merge pull request #84294 from aanderse/httpd-19.09
apacheHttpd: 2.4.41 -> 2.4.43 [19.09]
2020-04-09 08:42:57 -04:00
Jörg Thalheim
77b9000858 vocal: add missing glib-networking
otherwise https is disabled

(cherry picked from commit b9b8388e4a)
2020-04-08 13:24:54 -04:00
Michael Weiss
7770f3a877 Merge pull request #84709 from primeos/chromium-backport
[19.09] chromium: 80.0.3987.163 -> 81.0.4044.92 (backport)
2020-04-08 17:54:41 +02:00
Tim Steinbach
6a8c4f7be2 linux: 5.4.30 -> 5.4.31 2020-04-08 08:51:41 -04:00
Michael Weiss
35cfc19b23 Merge pull request #84708 from primeos/signal-desktop-backport
[19.09] signal-desktop: 1.32.3 -> 1.33.0 (backport)
2020-04-08 13:33:11 +02:00
Michael Weiss
7c60e5c6ae chromium: 80.0.3987.163 -> 81.0.4044.92
https://chromereleases.googleblog.com/2020/04/stable-channel-update-for-desktop_7.html

This update includes 32 security fixes.

CVEs:
CVE-2020-6454 CVE-2020-6423 CVE-2020-6455 CVE-2020-6430 CVE-2020-6456
CVE-2020-6431 CVE-2020-6432 CVE-2020-6433 CVE-2020-6434 CVE-2020-6435
CVE-2020-6436 CVE-2020-6437 CVE-2020-6438 CVE-2020-6439 CVE-2020-6440
CVE-2020-6441 CVE-2020-6442 CVE-2020-6443 CVE-2020-6444 CVE-2020-6445
CVE-2020-6446 CVE-2020-6447 CVE-2020-6448

(cherry picked from commit da832dd7d4)
2020-04-08 13:22:52 +02:00
Michael Weiss
dd0d0e6ece chromiumBeta: Fix the build
This patch was also backported to M81 [0][1].

[0]: https://chromium-review.googlesource.com/c/chromium/src/+/2091896
[1]: bbf0fad592

(cherry picked from commit ff3bc51d2b)
2020-04-08 13:21:46 +02:00
Michael Weiss
631a5ef15a chromiumDev: Remove a patch that is already applied
This fixes the patch phase.
I missed this problem in #83956.

(cherry picked from commit 36c7123709)
2020-04-08 13:20:31 +02:00
Michael Weiss
82de063d2d chromium: Ignore unknown warning options
This can e.g. save around 150k lines of unnecessary log messages which
take up around 66% of the total lines (based on a log of 80.0.3987.100):
29527 warning: unknown warning option '-Wno-bitwise-conditional-parentheses'; did you mean '-Wno-bitwise-op-parentheses'? [-Wunknown-warning-option]
29527 warning: unknown warning option '-Wno-builtin-assume-aligned-alignment' [-Wunknown-warning-option]
29527 warning: unknown warning option '-Wno-deprecated-copy'; did you mean '-Wno-deprecated'? [-Wunknown-warning-option]
29527 warning: unknown warning option '-Wno-final-dtor-non-final-class'; did you mean '-Wno-abstract-final-class'? [-Wunknown-warning-option]
29527 warning: unknown warning option '-Wno-implicit-int-float-conversion'; did you mean '-Wno-implicit-float-conversion'? [-Wunknown-warning-option]

(cherry picked from commit 9f3914824d)
2020-04-08 13:15:52 +02:00
Michael Weiss
be180f6034 signal-desktop: 1.32.3 -> 1.33.0
(cherry picked from commit fdedc5d16c)
2020-04-08 13:08:44 +02:00
Andreas Rammhold
16d0add2fd Merge pull request #84590 from andir/19.09/firefox
[19.09] firefox: 74.0.1 -> 75.0
2020-04-07 22:40:17 +02:00
Andreas Rammhold
aaffe07a66 firefox-devedition-bin: 75.0b12 -> 76.0b1
(cherry picked from commit 79fb58973f)
2020-04-07 13:38:30 +02:00
Andreas Rammhold
08a7e09e5b firefox-beta-bin: 75.0b11 -> 76.0b1
(cherry picked from commit 9d6a7fdaad)
2020-04-07 13:38:30 +02:00
Andreas Rammhold
9dda51b12b firefox-bin: 74.0.1 -> 75.0
(cherry picked from commit bab82e78b2)
2020-04-07 13:38:29 +02:00
Andreas Rammhold
0280d88327 firefox-esr-68: 68.6.1esr -> 68.7.0esr
(cherry picked from commit f56ea6cdd7)
2020-04-07 13:38:29 +02:00
Andreas Rammhold
5f4b02f395 firefox: 74.0.1 -> 75.0
(cherry picked from commit 4a41fd7a1e)
2020-04-07 13:38:29 +02:00
Andreas Rammhold
0ffd59abd8 firefox: use nodejs-12_x for firefox >= 75 2020-04-07 13:38:29 +02:00
Andreas Rammhold
70bca493f1 firefox: prepare for version 75
(cherry picked from commit 9de3c9749c)
2020-04-07 13:38:29 +02:00
Andreas Rammhold
832d4e998e libvpx_1_8: init at 1.8.2
Adding this as a new attribute as software is likely going to break when
we switch the default from the 1.7 branch to 1.8.

(cherry picked from commit 1859b5a5ae)
2020-04-07 13:38:27 +02:00
Jeff Labonte
528b5b689a brave: 1.5.115 -> 1.5.123
Update the checksum and the version of Brave package.

(cherry picked from commit 7a80ead781)
Reason: Browsers must be kept up-to-date
2020-04-06 22:26:05 -04:00
Florian Klink
f86271a3fe Merge pull request #84496 from toonn/release-19.09
[19.09] wire-desktop: mac 3.15.3621 -> 3.16.3630
2020-04-06 22:13:16 +02:00
toonn
30b05e1a04 wire-desktop: mac 3.15.3621 -> 3.16.3630
(cherry picked from commit 39c5e1c723)
2020-04-06 19:00:28 +02:00
Vladimír Čunát
c1ef04e681 Merge #84273: gnutls: 3.6.11.1 -> 3.6.13 [security]
... into staging.  Fixes CVE-2020-11501.

(cherry picked from commit f91b34e53e)
These bumps combined still seem quite safe in terms of regression
likelihood.
2020-04-05 18:00:00 +02:00
Andreas Rammhold
e10c65cdb3 Merge pull request #84251 from andir/19.09/firefox
[19.09] firefox{,-bin}: 74.0 -> 74.0.1, firefox-esr: 68.6.0esr  -> 68.6.1esr
2020-04-05 01:34:21 +02:00
R. RyanTM
b3e1b81420 apacheHttpd: 2.4.41 -> 2.4.43
(cherry picked from commit f26b2afb93)
2020-04-04 19:31:34 -04:00
Andreas Rammhold
2d0be776b7 firefox-devedition-bin: 75.0b1 -> 75.0b12 2020-04-04 14:29:59 +02:00
Andreas Rammhold
ca1ee17738 firefox-bin: 74.0 -> 74.0.1 2020-04-04 14:29:15 +02:00
Andreas Rammhold
3c0b770523 firefox-beta-bin: 75.0b1 -> 75.0b11 2020-04-04 14:28:54 +02:00
Andreas Rammhold
a90f68bdec firefox-esr: 68.6.0esr -> 68.6.1esr 2020-04-04 14:27:16 +02:00
Andreas Rammhold
f7f1d5325f firefox: 74.0 -> 74.0.1 2020-04-04 13:48:46 +02:00
Maximilian Bosch
7a429e731e linuxPackages.wireguard: 0.0.20200318 -> 1.0.20200401
https://lists.zx2c4.com/pipermail/wireguard/2020-April/005237.html

Resolves #84009

(cherry picked from commit b503b2c75f)
2020-04-04 11:24:35 +02:00
Michael Weiss
6ce362acb5 Merge pull request #84107 from primeos/chromium-backport
[19.09] chromium: 80.0.3987.149 -> 80.0.3987.163 (backport)
2020-04-03 17:56:02 +02:00
Michael Weiss
1ca8a06e65 chromium: 80.0.3987.162 -> 80.0.3987.163
https://chromereleases.googleblog.com/2020/04/stable-channel-update-for-desktop.html

Note: This update contains only two fixes [0]. The fix that reverts a
feature which caused a crash spike on 80.0.3987.162 [1] seems important
for us (though the commit doesn't provide any data on the crash spike).

[0]: https://chromium.googlesource.com/chromium/src/+log/80.0.3987.162..80.0.3987.163?pretty=fuller
[1]: fc11c43603

(cherry picked from commit cbd13f3c55)
2020-04-03 12:33:47 +02:00
Tim Steinbach
0ee9ceff38 linux: 4.9.217 -> 4.9.218 2020-04-02 14:05:36 -04:00
Tim Steinbach
c95a98e4a9 linux: 4.4.217 -> 4.4.218 2020-04-02 14:05:36 -04:00
Tim Steinbach
7d82b77e6a linux: 4.14.174 -> 4.14.175 2020-04-02 14:05:36 -04:00
Tim Steinbach
c5ad5d07d7 linux: 5.4.29 -> 5.4.30 2020-04-02 10:25:19 -04:00
Tim Steinbach
c221bb232e linux: 4.19.113 -> 4.19.114 2020-04-02 10:25:19 -04:00
Michael Weiss
96614c2bcb chromium: 80.0.3987.149 -> 80.0.3987.162
https://chromereleases.googleblog.com/2020/03/stable-channel-update-for-desktop_31.html

This update includes 8 security fixes.

CVEs:
CVE-2020-6450 CVE-2020-6451 CVE-2020-6452

(cherry picked from commit 6b7528c940)
2020-04-02 15:22:57 +02:00
Peter Simons
5ae092f824 chromium: I accidentally added the webrtc patch into the wrong section
(cherry picked from commit b3c2908825)
2020-04-02 15:21:32 +02:00
Peter Simons
190fbfd3d1 chromium: fix webrtc interaction with pulseaudio
The webrtc code suffered from a race condition when used
with Pulseaudio. This lead to audio input breaking every
couple of minutes during a webrtc session.

(cherry picked from commit 81b18c3711)
2020-04-02 15:21:04 +02:00
Tim Steinbach
926c763806 linux: 5.4.28 -> 5.4.29 2020-04-01 10:56:12 -04:00
Mario Rodas
deb8fd1136 ruby_2_6: 2.6.5 -> 2.6.6
Changelog: https://www.ruby-lang.org/en/news/2020/03/31/ruby-2-6-6-released/
(cherry picked from commit b312ecf34e)
2020-04-01 12:28:01 +00:00
Mario Rodas
6011c05885 ruby_2_5: 2.5.7 -> 2.5.8
Changelog: https://www.ruby-lang.org/en/news/2020/03/31/ruby-2-5-8-released/
(cherry picked from commit 99b09d6b8f)
2020-04-01 12:28:00 +00:00
Linus Heckemann
d011e47494 Merge pull request #83516 from Ma27/synapse-19.09
[19.09] matrix-synapse: 1.11.1 -> 1.12.0
2020-04-01 09:34:32 +02:00
Maximilian Bosch
85d879e513 grafana: 6.7.1 -> 6.6.2
This reverts commit 36cbcdc6af.
This reverts commit c3a9111e3a.

Rationale for revert: 6.7.0-beta1 introduced a breaking change[1]
which seems to break at least one popular grafana integration.

[1] https://github.com/grafana/grafana/blob/master/CHANGELOG.md#670-beta1-2020-03-12
2020-03-31 19:39:06 +02:00
Evils
6d445f8398 mattermost-desktop: version 4.2.3 -> 4.3.1
(cherry picked from commit f41b8aa67c)
2020-03-30 15:51:38 -04:00
Evils
58dec78e90 mattermost-desktop: fix filechooser causing crash
(cherry picked from commit 645a6fd739)
2020-03-30 15:51:38 -04:00
Wout Mertens
ce73818c3f Merge pull request #83026 from wmertens/nodejs-backport
Nodejs 12 backport from master
2020-03-30 17:37:05 +02:00
Joachim Breitner
856dbd1a5c ghc-8.4.4.nix: Do not use git.haskell.org
which was deprecated in 2018 and is now gone for good. I guess many
won’t notice because the nix-cache kept the files around?

(cherry picked from commit
b872b8a200 and 29ca177c68)
2020-03-30 09:19:20 +02:00
Maximilian Bosch
a8639dff97 python3Packages.pysaml2: fix tests 2020-03-29 21:57:58 +02:00
Maximilian Bosch
2015db31ae python3Packages.twisted: fix CVE-2020-10109
Co-authored-by: worldofpeace <worldofpeace@protonmail.ch>
2020-03-29 21:57:31 +02:00
Eelco Dolstra
c7363c2b97 make-tarball.nix: Strip source directory from packages.json
https://github.com/NixOS/nixos-homepage/issues/372
(cherry picked from commit 4e554ad1bc)
2020-03-29 20:04:14 +02:00
Jeff Labonte
e7ad715b8b brave: 1.5.112 -> 1.5.115
Update the checkum and the version

(cherry picked from commit fa5fc4993e)
Reason: Browser must be kept up-to-date
2020-03-29 14:07:33 +02:00
Vladimír Čunát
1bf263773d Merge #83013: exiv2: patch CVE-2019-20421
(cherry picked from commit 6d28c1893d)
2020-03-29 09:46:10 +02:00
Vladimír Čunát
e8f5908efe Merge branch 'staging-19.09' into release-19.09 2020-03-29 09:45:52 +02:00
Vladimír Čunát
ac678d9f01 Merge branch 'release-19.09' into staging-19.09 2020-03-29 09:45:50 +02:00
Maximilian Bosch
ace3bb36fe Merge pull request #83602 from scaredmushroom/tor-browser-bundle-bin_release-19.09
[19.09] tor-browser-bundle-bin: 9.0.5 -> 9.0.7
2020-03-29 01:08:22 +01:00
worldofpeace
54e89941c3 riot-desktop: fix StartupWMClass
It seems the quoting breaks it just like in da587daae5

(cherry picked from commit e50bb280cbf5339ed671b0a7208e6aba4002c713)
(cherry picked from commit f8ccef5edb)
2020-03-28 18:39:06 -04:00
Vladimír Čunát
95d75517ad Merge branch 'release-19.09' into staging-19.09 2020-03-28 20:43:41 +01:00
cap
28dd9c33ac tor-browser-bundle-bin: 9.0.5 -> 9.0.7 2020-03-28 16:10:23 +01:00
aszlig
598a9cbed6 nginx: Fix ETag patch to ignore realpath(3) error
While our ETag patch works pretty fine if it comes to serving data off
store paths, it unfortunately broke something that might be a bit more
common, namely when using regexes to extract path components of
location directives for example.

Recently, @devhell has reported a bug with a nginx location directive
like this:

  location ~^/\~([a-z0-9_]+)(/.*)?$" {
    alias /home/$1/public_html$2;
  }

While this might look harmless at first glance, it does however cause
issues with our ETag patch. The alias directive gets broken up by nginx
like this:

  *2 http script copy: "/home/"
  *2 http script capture: "foo"
  *2 http script copy: "/public_html/"
  *2 http script capture: "bar.txt"

In our patch however, we use realpath(3) to get the canonicalised path
from ngx_http_core_loc_conf_s.root, which returns the *configured* value
from the root or alias directive. So in the example above, realpath(3)
boils down to the following syscalls:

  lstat("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
  lstat("/home/$1", 0x7ffd08da6f60) = -1 ENOENT (No such file or directory)

During my review[1] of the initial patch, I didn't actually notice that
what we're doing here is returning NGX_ERROR if the realpath(3) call
fails, which in turn causes an HTTP 500 error.

Since our patch actually made the canonicalisation (and thus additional
syscalls) necessary, we really shouldn't introduce an additional error
so let's - at least for now - silently skip return value if realpath(3)
has failed.

However since we're using the unaltered root from the config we have
another issue, consider this root:

  /nix/store/...-abcde/$1

Calling realpath(3) on this path will fail (except if there's a file
called "$1" of course), so even this fix is not enough because it
results in the ETag not being set to the store path hash.

While this is very ugly and we should fix this very soon, it's not as
serious as getting HTTP 500 errors for serving static files.

I added a small NixOS VM test, which uses the example above as a
regression test.

It seems that my memory is failing these days, since apparently I *knew*
about this issue since digging for existing issues in nixpkgs, I found
this similar pull request which I even reviewed:

https://github.com/NixOS/nixpkgs/pull/66532

However, since the comments weren't addressed and the author hasn't
responded to the pull request, I decided to keep this very commit and do
a follow-up pull request.

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

Signed-off-by: aszlig <aszlig@nix.build>
Reported-by: @devhell
Acked-by: @7c6f434c
Acked-by: @yorickvP
Merges: https://github.com/NixOS/nixpkgs/pull/80671
Fixes: https://github.com/NixOS/nixpkgs/pull/66532
(cherry picked from commit e1d63ada02)
2020-03-28 03:06:32 +01:00
Benjamin Hipple
939178c480 bluez: apply patches for CVE-2020-0556 2020-03-27 12:00:58 -07:00
Graham Christensen
64a3ccb852 Merge pull request #82831 from danderson/tailscale-19.09
tailscale: init at 0.97-0 [backport 19.09]
2020-03-27 14:13:11 -04:00
ajs124
1881b34462 matrix-synapse: 1.11.1 -> 1.12.0
(cherry picked from commit 425efa54ef)
2020-03-27 18:58:01 +01:00
Florian Klink
fbdb1aea9b gitlab: 12.8.7 -> 12.8.8
(cherry picked from commit 8ab04fd87b)
2020-03-27 15:42:18 +01:00
Michael Weiss
3be8b459e0 Merge pull request #83450 from primeos/signal-desktop-backport
[19.09] signal-desktop: 1.32.2 -> 1.32.3 (backport)
2020-03-26 22:28:49 +01:00
Michael Weiss
a932b1c4f4 signal-desktop: 1.32.2 -> 1.32.3
(cherry picked from commit 38aa1cad7f)
2020-03-26 22:17:51 +01:00
Arian van Putten
df07596d20 wire-desktop: Fix StartupWMClass
With quotes it doesn't match the Wire's screen, causing the window to not be grouped under its icon in Gnome.

(cherry picked from commit da587daae5)
2020-03-26 10:58:00 -04:00
Tor Hedin Brønner
008fc89da3 nix-bash-completions: 0.6.7 -> 0.6.8 (#81019)
(cherry picked from commit 0e5d4573d4)
2020-03-26 15:12:52 +01:00
Michael Weiss
59c3b5f932 Merge pull request #83417 from primeos/signal-desktop-backport
[19.09] signal-desktop: 1.32.1 -> 1.32.2 (backport)
2020-03-26 13:23:37 +01:00
Michael Weiss
d5895b9598 signal-desktop: 1.32.1 -> 1.32.2
(cherry picked from commit 5c4735947d)
2020-03-26 12:19:32 +01:00
Benjamin Hipple
ae48415e8b Merge pull request #83328 from JeffLabonte/update_protonvpn_ng_2.2.0-with_fix
[19.09] protonvpn ng 2.2.0 to 2.2.2
2020-03-26 00:59:05 -04:00
Tim Steinbach
6f11edab63 linux: 5.4.27 -> 5.4.28 2020-03-25 13:10:31 -04:00
Tim Steinbach
67643b0582 linux: 4.19.112 -> 4.19.113 2020-03-25 13:10:31 -04:00
Kim Lindberger
da19ebcc77 gitlab: 12.8.6 -> 12.8.7 (#82838) (#83354)
https://about.gitlab.com/releases/2020/03/16/gitlab-12-8-7-released/
(cherry picked from commit 3a173c1d75)
2020-03-25 13:23:33 +01:00
Jeff Labonte
c0ce6d0d02 protonvpn-cli-ng: 2.2.0 -> 2.2.2
Some changes were made after final review of the package. There was a
missing runtime dependency that was discovered after merge of the
backport

(cherry picked from commit 9fe4a634c1)
Reason: The dependency can make the package work or not
2020-03-24 20:54:52 -04:00
Eelco Dolstra
1a547435d1 nixos/release-small.nix: Export options job
(cherry picked from commit e51c7f60cb)
2020-03-24 23:39:09 +01:00
Eelco Dolstra
0ce53c49cd Compress optionsJSON using brotli
(cherry picked from commit 4052f9b849)
2020-03-24 23:39:02 +01:00
Eelco Dolstra
96c404590d Add packages.json to the tarball job
Moved from nixos-homepage.

(cherry picked from commit d6ec410a47)
2020-03-24 23:38:51 +01:00
David Anderson
609a3da59e tailscale: build using Go 1.13 explicitly.
Tailscale does not support Go 1.12.

Signed-off-by: David Anderson <dave@natulte.net>
2020-03-23 12:55:57 -07:00
David Anderson
75569aa6e4 tailscale: switch version and git ref to use a tag.
The tag points to the same commit hash, so the binary
is unchanged.

Signed-off-by: David Anderson <dave@natulte.net>
(cherry picked from commit 3fa813e820)
2020-03-23 12:55:57 -07:00
Tim Steinbach
216cd6c5a3 linux: 5.4.25 -> 5.4.27 2020-03-22 12:15:58 -04:00
Tim Steinbach
7dfe28c467 linux: 4.9.216 -> 4.9.217 2020-03-22 12:15:58 -04:00
Tim Steinbach
dbea1f6570 linux: 4.4.216 -> 4.4.217 2020-03-22 12:15:58 -04:00
Tim Steinbach
5801ac4c81 linux: 4.19.109 -> 4.19.112 2020-03-22 12:15:58 -04:00
Tim Steinbach
fb2dcecdd1 linux: 4.14.173 -> 4.14.174 2020-03-22 12:15:58 -04:00
Tim Steinbach
534e341391 linux: 5.4.24 -> 5.4.25
(cherry picked from commit f9fcf29ef2)
2020-03-22 12:15:50 -04:00
Maximilian Bosch
8b8e73a83a Merge pull request #83109 from helsinki-systems/bp-drop-frostman
[19.09 unblock] grafana: Drop Frostman from maintainers
2020-03-22 01:36:48 +01:00
Janne Heß
4aac2c3c26 grafana: Drop Frostman from maintainers
@Frostman is not in maintainers-list.nix on 19.09.
This fails the build of the `channel` and `tarball` jobs on the small
jobset.

Follow-up of #83102
2020-03-22 01:05:27 +01:00
Sergey Lukjanov
85600b725c grafana: add Frostman to maintainers
(cherry picked from commit 9e98d47fb2)
2020-03-21 22:14:58 +01:00
Sergey Lukjanov
c3a9111e3a grafana: 6.7.0 -> 6.7.1
(cherry picked from commit bf453da8e8)
2020-03-21 22:14:30 +01:00
Sergey Lukjanov
36cbcdc6af grafana: 6.6.2 -> 6.7.0
(cherry picked from commit 913e6b5c7b)
2020-03-21 22:14:29 +01:00
Vladimír Čunát
b2d71b411d Merge openssl(_1_1) downgrade (into release-19.09)
This fixes the regressed python3Packages.pyopenssl build
and should unblock both channels.
2020-03-21 09:20:11 +01:00
Vladimír Čunát
2071e3be28 openssl(_1_1): patch CVE-2019-1551
fetchpatch can't be used here and fetchurl from GitHub
like in PR #82928 has the risk of breaking the hash later;
fortunately the patches aren't too large.
2020-03-21 09:02:25 +01:00
Mario Rodas
8e4776792b nodejs-12_x: 12.16.0 -> 12.16.1
Changelog: https://github.com/nodejs/node/releases/tag/v12.16.1
2020-03-20 21:46:49 +01:00
Mario Rodas
9b2a26d9a8 nodejs-12_x: 12.15.0 -> 12.16.0
Changelog: https://github.com/nodejs/node/releases/tag/v12.16.0
2020-03-20 21:46:38 +01:00
Mario Rodas
2cc4474fee nodejs-12_x: 12.14.1 -> 12.15.0
Changelog: https://github.com/nodejs/node/releases/tag/v12.15.0
2020-03-20 21:46:05 +01:00
Michael Weiss
db12da3abc Merge pull request #82958 from primeos/chromium-backport
[19.09] chromium: 80.0.3987.132 -> 80.0.3987.149 (backport)
2020-03-20 14:51:45 +01:00
Maximilian Bosch
490d066490 wireguard-tools: 1.0.20200206 -> 1.0.20200319
https://lists.zx2c4.com/pipermail/wireguard/2020-March/005191.html
(cherry picked from commit 19ceeb6de0)
2020-03-20 01:01:05 +01:00
Michael Weiss
359de6ba1b chromium: 80.0.3987.132 -> 80.0.3987.149
https://chromereleases.googleblog.com/2020/03/stable-channel-update-for-desktop_18.html

This update includes 13 security fixes.

CVEs:
CVE-2020-6422 CVE-2020-6424 CVE-2020-6425 CVE-2020-6426 CVE-2020-6427
CVE-2020-6428 CVE-2020-6429 CVE-2019-20503 CVE-2020-6449

Note: The release of version 81 is currently on pause:
https://chromereleases.googleblog.com/2020/03/upcoming-chrome-and-chrome-os-releases.html
(cherry picked from commit fe60ff7a99)
2020-03-19 20:26:08 +01:00
Konrad Borowski
49eed3ad62 Revert "openssl: 1.1.1d -> 1.1.1e"
This reverts commit 41f148415f.

openssl 1.1.1e introduces breaking changes in its EOF handling.
2020-03-19 09:42:44 +01:00
Maximilian Bosch
5d89c0be3d linuxPackages.wireguard: 0.0.20200215 -> 0.0.20200318
https://lists.zx2c4.com/pipermail/wireguard/2020-March/005188.html
(cherry picked from commit e758e95c1d)
2020-03-19 09:23:12 +01:00
Maximilian Bosch
493a837461 riot-web: 1.5.10 -> 1.5.13
(cherry picked from commit 09f55f8f17)
2020-03-19 09:22:51 +01:00
Graham Christensen
8963012192 Merge pull request #81789 from JeffLabonte/19_09-brave_1.4.95_to_1.4.96
[19 09] brave 1.4.95 to 1.5.112
2020-03-18 20:11:42 -04:00
Jeff Labonte
0e01f4f0b4 brave: 1.4.96 -> 1.5.112
keep brave up-to-date

(cherry picked from commit 418e3e41cf)
Reason: Browsers should be kept up-to-date for security reasons
2020-03-18 20:02:01 -04:00
Vladimír Čunát
b0055f4907 Merge branch 'staging-19.09' into release-19.09 2020-03-18 11:17:25 +01:00
Andreas Rammhold
87834cbd99 Merge pull request #82791 from andir/19.09/openssl
[19.09] openssl: 1.1.1d -> 1.1.1e
2020-03-18 11:08:42 +01:00
David Anderson
65ff63723e tailscale: 0.96-33 -> 0.97-0.
Fixes a severe bug with subnet routing.

Signed-off-by: David Anderson <dave@natulte.net>
(cherry picked from commit f61f686dfe)
2020-03-18 00:30:33 -07:00
Martin Baillie
dd9a49399e tailscale: init at 0.96-33
Signed-off-by: Martin Baillie <martin@baillie.email>
(cherry picked from commit 6e055c9f4a)
2020-03-18 00:30:33 -07:00
Mario Rodas
0e1cf19043 buildGoModule: disable consult the checksum database on build
Since Go 1.13, `GOSUMDB` defaults to "sum.golang.org", to consult the
checksum database of the main module's go.sum.

We already use the default behavior when building `go-modules`, but Go
tries to consult the checksum database again when building the module,
and fails because since it requires `cacert` and `git` which are not
propagated when building the package.

(cherry picked from commit c5733e7a09)
2020-03-18 00:30:33 -07:00
Dmitry Kalinkin
30fdf95684 Merge remote-tracking branch 'origin/release-19.09' into staging-19.09 2020-03-17 17:18:24 -04:00
Andreas Rammhold
41f148415f openssl: 1.1.1d -> 1.1.1e
a "Low severity" [0] security issue:

> Fixed an overflow bug in the x64_64 Montgomery squaring procedure used
> in exponentiation with 512-bit moduli (CVE-2019-1551)

[0] https://www.openssl.org/news/vulnerabilities.html#y2019

(cherry picked from commit abecf82e22)
2020-03-17 18:08:41 +01:00
obadz
bf7c0f0461 Merge pull request #82775 from Mic92/opensmtpd-backport
opensmtpd: 6.4.2p1 -> 6.6.4p1 [backport 19.09]
2020-03-17 13:04:05 +00:00
Jörg Thalheim
29431a0dd4 opensmtpd: build against openssl
build fails against our local libressl version
2020-03-17 12:09:35 +00:00
Jörg Thalheim
fe67f42e29 Revert "opensmtpd: apply patch for CVE-2020-7247.patch"
This reverts commit f5c74e62dc.

Already included in the opensmtpd version.
2020-03-17 12:07:52 +00:00
Jörg Thalheim
ce282f027e Revert "opensmtpd: mark as insecure due to CVE-2020-8794 / #80978"
This reverts commit 4f69f2c9af.

We backported the latest opensmtpd version.
2020-03-17 12:05:31 +00:00
Andreas Rammhold
521c676521 opensmtpd: 6.6.3p1 -> 6.6.4p1
Release notes aren't available at this time [1] it is likely to be
related to a recent mail to oss-security (either [2] or [3]).

[1] https://www.mail-archive.com/misc@opensmtpd.org/msg04888.html
[2] https://www.openwall.com/lists/oss-security/2020/02/24/5
[3] https://www.openwall.com/lists/oss-security/2020/02/24/4

(cherry picked from commit 09725e5f9e)
2020-03-17 12:04:48 +00:00
R. RyanTM
7a106bd0a3 opensmtpd: 6.6.2p1 -> 6.6.3p1
(cherry picked from commit 77da4954da)
2020-03-17 12:04:47 +00:00
Franz Pletz
3ecd571fe6 opensmtpd: 6.6.1p1 -> 6.6.2p1
Fixes critical vulnerability:
  https://www.mail-archive.com/misc@opensmtpd.org/msg04850.html

(cherry picked from commit 7b9bd595cd)
2020-03-17 12:04:47 +00:00
Florian Klink
7db6a853c3 opensmtpd: 6.4.2p1 -> 6.6.1p1
The substitition in smtpd/parse.y isn't necessary anymore.
The hardcoded /usr/libexec/ has been replaced by a PATH_LIBEXEC #define,
which will be set properly by the build system.

(cherry picked from commit 96588508bb)
2020-03-17 12:04:47 +00:00
obadz
4f69f2c9af opensmtpd: mark as insecure due to CVE-2020-8794 / #80978 2020-03-17 11:28:28 +00:00
Florian Klink
8d7fd7e3f4 Merge pull request #82697 from flokli/19.09-nextcloud-16.0.9
[19.09] nextcloud: 16.0.8 -> 16.0.9
2020-03-17 00:25:05 +01:00
Florian Klink
311c3fdcbe nextcloud: 16.0.8 -> 16.0.9
includes fix for nC-SA-2020-015.

See https://github.com/nextcloud/server/issues/19976, the SA currently
has a typo - adressed in
https://github.com/nextcloud/security-advisories/pull/21.
2020-03-16 22:31:51 +01:00
Martin Milata
9a808dd877 libxml2: add patch for CVE-2019-20388
(cherry picked from commit 291c73568a)
/cc roundup #79725
2020-03-16 19:42:25 +01:00
Vladimír Čunát
107ffbb22a Merge branch 'staging-19.09' into release-19.09
x86_64-linux rebuilds have finished, so let's merge
to get the security fixes early.
2020-03-16 19:40:37 +01:00
Maximilian Bosch
dce33f1a2d matrix-synapse: 1.9.1 -> 1.11.1
Contains only the version update from 8be61f7a36,
the module-changes are not needed on 19.09 since the database is always
configured properly here.
2020-03-16 11:54:43 +01:00
Maximilian Bosch
a9d474652f python3Packages.signedjson: 1.0.0 -> 1.1.0
(cherry picked from commit 500375e338)
2020-03-16 11:53:01 +01:00
Vladimír Čunát
7d27cc859f samba4: patch all remaining security issues
https://www.samba.org/samba/history/security.html
Tested: $ nix build -f nixos/release.nix tests.samba.x86_64-linux
2020-03-15 11:10:10 +01:00
Martin Milata
cdd33cb14d lz4: 1.9.1 -> 1.9.2 (PR #82437)
Fixes: https://nvd.nist.gov/vuln/detail/CVE-2019-17543
Release notes: https://github.com/lz4/lz4/releases/tag/v1.9.2

(cherry picked from commit 18ac6ba903)
2020-03-15 09:54:38 +01:00
Martin Milata
45f415ab5b libssh: 0.8.7 -> 0.8.8
Fixes CVE-2019-14889, issue #77264.
Release notes: https://www.libssh.org/2019/12/10/libssh-0-9-3-and-libssh-0-8-8-security-release/

(cherry picked from commit 7ef8a42ab2)
2020-03-15 09:35:00 +01:00
Vladimír Čunát
0c2b73400d Merge branch 'release-19.09' into staging-19.09 2020-03-15 09:29:38 +01:00
Vladimír Čunát
686362c9f3 Merge branch 'staging-19.09' into release-19.09
(Older version finished on Hydra.)
2020-03-15 09:29:36 +01:00
Vladimír Čunát
021b296435 Merge branch 'staging-19.09' into release-19.09
(Older version finished on Hydra.)
2020-03-15 09:27:51 +01:00
Vladimír Čunát
c26a26de5f Merge #78736: cpio: 2.12 -> 2.13 (into staging-19.09)
fix CVE-2019-14866, backport
2020-03-15 09:25:07 +01:00
Martin Milata
3b9b10e49b openjpeg: add patch for CVE-2020-8112
(cherry picked from commit 41d8bb133e)
2020-03-14 16:57:31 +00:00
Martin Milata
1524ffc890 openjpeg: add patch for CVE-2020-6851
(cherry picked from commit 773462c3aa)
2020-03-14 16:57:31 +00:00
R. RyanTM
68ad45f954 skypeforlinux: 8.51.0.92 -> 8.56.0.103
cherry-picked 4665c94d0c

Closes #81868
2020-03-14 14:48:43 +01:00
taku0
64565f9d8f thunderbird-bin: 68.5.0 -> 68.6.0
(cherry picked from commit 833031704d)
2020-03-14 03:42:41 +00:00
taku0
d0bdce3b29 thunderbird: 68.5.0 -> 68.6.0
(cherry picked from commit 243cd9f754)
2020-03-14 03:42:41 +00:00
Florian Klink
68d2f8325c Merge pull request #82354 from flokli/19.09-systemd-243.7
[19.09] systemd: 243.3 -> 243.7
2020-03-12 06:06:31 -07:00
Florian Klink
71b727e87f Merge pull request #82376 from flokli/19.09-gitlab-12.8.6
[19.09] gitlab 12.8.5 -> 12.8.6
2020-03-12 06:02:09 -07:00
Florian Klink
d4148a7bfe gitaly: 12.8.5 -> 12.8.6
(cherry picked from commit 281bd03242)
2020-03-12 12:55:34 +01:00
Frederik Rietdijk
8d27ad5f77 Merge release-19.09 into staging-19.09 2020-03-12 11:22:33 +01:00
Tim Steinbach
d4acdf5a1f linux: 4.9.215 -> 4.9.216 2020-03-12 05:58:27 -04:00
Tim Steinbach
4f40468d2b linux: 4.4.215 -> 4.4.216 2020-03-12 05:58:26 -04:00
Tim Steinbach
6e679105d8 linux: 4.19.108 -> 4.19.109 2020-03-12 05:58:25 -04:00
Tim Steinbach
be93c175c9 linux: 4.14.172 -> 4.14.173 2020-03-12 05:58:23 -04:00
Florian Klink
a3c8911bd2 gitlab: 12.8.5 -> 12.8.6
https://about.gitlab.com/releases/2020/03/11/critical-security-release-gitlab-12-dot-8-dot-6-released/
(cherry picked from commit ab3b836350)
2020-03-12 03:06:53 +01:00
Florian Klink
f030d5ece0 gitlab: update script: unset GOROOT
or vgo2nix might not be able to resolve some dependencies.

(cherry picked from commit d2061f024c)
2020-03-12 03:06:53 +01:00
devhell
84af403f54 tests: Fix signal-desktop
This test fails due to OOM on the VM. Setting the memory of the VM to
1024 lets the test succeed.

Cc: @flokli
(cherry picked from commit 534f1337c1)
2020-03-12 01:54:12 +01:00
Florian Klink
0d87f69e60 systemd: 243.4 -> 243.7
This bumps to the latest state of the systemd 242 stable, published at
https://github.com/systemd/systemd-stable/tree/v243-stable.

Should cover CVE-2020-1712.

Git Log:

f8dd0f2f15 (tag: v243.7, systemd-stable/v243-stable) Revert "Support Plugable UD-PRO8 dock"
1a5428c2ab hibernate-resume-generator: wait "infinitely" for the resume device
eb3148c468 (tag: v243.6) hwdb: update to v245-rc1
f14fa558ae Fix typo in function name
fb21e13e8e polkit: when authorizing via PK let's re-resolve callback/userdata instead of caching it
2e504c92d1 sd-bus: introduce API for re-enqueuing incoming messages
4d80c8f158 polkit: use structured initialization
54791aff01 polkit: on async pk requests, re-validate action/details
81532beddc polkit: reuse some common bus message appending code
4441844d58 bus-polkit: rename return error parameter to ret_error
31a1d569db shared: split out polkit stuff from bus-util.c → bus-polkit.c
560eb5babf test: adapt to the new capsh format
275b266bde meson: update efi path detection to gnu-efi-3.0.11
9239154545 presets: "disable" all passive targets by default
a827c41851 shared/sysctl-util: normalize repeated slashes or dots to a single value
fb1bfd6804 dhcp6: do not use T1 and T2 longer than one provided by the lease
ca43a515c6 network: fix implicit type conversion warning by GCC-10
421eca7edf bootspec: parse random-seed-mode line in loader.conf
34e21fc6de sd-boot: fix typo
df7b3a05c9 test: Synchronize journal before reading from it
9326efee71 sd-bus: fix introspection bug in signal parameter names
7bbdc56aaf efi: fix build.
486f8ca365 generator: order growfs for the root fs after systemd-remount-fs
56d442e29d loginctl: use /org/freedesktop/login1/session/auto when "lock-session" is called without argument
6ed1152282 Documentation update for x-systemd.{before,after}
dba3efa34a man: fix typo in systemd.netdev Xfrm example
6f9a8621d8 timesyncd: log louder when we refuse a server due to root distance
0637255d3b resolved: drop DNSSEC root key that is not valid anymore
9a135baa40 journal: don't use startswith() on something that is not a NUL-terminated string
1ff3972a0f test: add test for https://github.com/systemd/systemd/issues/14560
cac79b606b core: make sure StandardInput=file: doesn't get dup'ed to stdout/stderr by default
906ba9a67d pkgconf: add full generator paths
01b93e2c68 tree-wide: we forgot to destroy some bus errors
5c9455657e mount: make checks on perpetual mount units more lax
28c58beca1 core: never allow perpetual units to be masked
d3b044b3e7 typo: "May modify to" -> "May modify"
fd378d3d3c sysctl: downgrade message when we have no permission
db4fbf5c61 Clarify journald.conf MaxLevelStore documentation
c8365f71c0 logind: refuse overriding idle hint on tty sessions
cd91f567b6 cgroup: update only siblings that got realized once
c672dcd212 mount: mark an existing "mounting" unit from /proc/self/mountinfo as "just_mounted"
a592a40564 journalctl: Correctly handle combination of --reverse and --lines (fixes #1596)
0aa144ab1d journalctl: Correctly handle --show-cursor in combination with --until or --since and --reverse
3b803a5e66 core: fix re-realization of cgroup siblings
7549dd40fc core: propagate service state to socket in more load states
af6df343b2 man: describe "symlink" and "systemctl link" explicitly in UNIT FILE LOAD PATH
a3c1ce25a7 core: be more restrictive on the dependency types we allow to be created transiently
2b9ec8384c udev: don't import parent ID_FS_ data on partitions
ecd95c507c man: fix option name
0d4f06156b Support Plugable UD-PRO8 dock
7fba869abd gpt-auto: don't assume XBOOTLDR is vfat
494c281b67 man: fix documentation of IBM VIO device naming
7271fb056a man: slightly extend documentation on difference between ID_NET_NAME_ONBOARD and ID_NET_LABEL_ONBOARD
852ae28e68 boot: fix osrel parser
2613200370 udev: do not use exact match of file permission
46477397c1 network: lower the log-level of harmless message
7163b1fe86 hwdb: ignore keys added in kernel 5.5
92f90837dc systemctl: skip non-existent units in the 'cat' verb
a67227cc99 systemd.exec: document the file system for EnvironmentFile paths
cfb4c0aca5 systemd-analyze: fixed typo in documentation
017fddd998 test-condition: fix group check condition
9d5e3cb774 umount: show correct error message
252f1a5277 Revert "Drop dbus activation stub service"
20bbfac95e man: add section about user manager units
c93ef60212 man: add remote-*.targets to the bootup sequence
55e0f99689 time-util: also use 32bit hack on EOVERFLOW
7afe2ecb02 [man] note which UID ranges will get user journals
a43b67a4c9 [man] fix URL
dedb26a8d6 analyze: badness if neither of RootImage and RootDirectory exists
714c93862a initrd: make udev cleanup service confict trigger and settle too
8932407ae1 man: we support growing xfs too these days
19af11dc07 time-util: deal with systems where userspace has 64bit time_t but kernel does not
c90229d81d [import] fix stdin/stdout pipe behavior in import/export tar/raw
39910328da cryptsetup-generator: unconfuse writing of the device timeout
fc5e6c87a4 shared/install: log syntax error for invalid DefaultInstance=
409c94a407 shared/install: provide a nicer error message for invalid WantedBy=/Required= values
70e8c1978a seccomp: real syscall numbers are >= 0
a0a1977d9a seccomp: more comprehensive protection against libseccomp's __NR_xyz namespace invasion
7f936c60d5 network: set ipv6 mtu after link-up or device mtu change
b59d88cc62 man: fix typo in net-naming-scheme man page
c5e5ac0958 man: fix typos (#14304)
9a2f26564d ipv4ll: do not reset conflict counter on restart
bc9e1ebfdd Fix typo (duplicate "or")
c6cb71b7e7 network: if /sys is rw, then udev should be around
67dcdfd956 nspawn: do not fail if udev is not running
a7938a1bc6 Create parent directories when creating systemd-private subdirs
53aa44f873 network: do not return error but return UINT64_MAX if speed meter is disabled
65abf12674 core: swap priority can be negative
b1cf452ff5 systemctl: enhance message about kexec missing kernel
07a0e5b425 man: use mkswap@ instead of makeswap@
57dc017c6b journald: don't ask for the machine ID if we don't need it
ac392a57c0 journalctl: pager_close() calls fflush(stdout) anyway as first thing
ee7dfadc82 journald: remove unused field
471073f1b5 journalctl: return EOPNOTSUPP if pcre is not enabled
002ededb61 man: drop reference to machined, add one for journald instead
fd3bd4be3b pid1: make TimeoutAbortSec settable for transient units
eb2ef4d664 pid1: fix setting of DefaultTimeoutAbortSec
1d75e29b23 shared/ask-password-api: modify keyctl break value
a16b1ee7e5 cryptsetup: reduce the chance that we will be OOM killed
4836fb010a core: write out correct field name when creating transient service units
3e2c547f6d udevd: don't use monitor after manager_exit()
d42f7d45a8 Revert "udevd: fix crash when workers time out after exit is signal caught"
c9a287eee8 man/systemd.link: Add missing verb *be*
a67a3ae04b man: document all pager variables for systemctl and systemd
3a8fce3f38 core.timer: fix "systemd-analyze dump" and docs syntax inconsistencies wrt OnTimezoneChange=
fdffd284b6 core/service: downgrade "scheduling restart" message to debug
733e7f19d3 travis: add missing closing quote sign
0d7b7817fc systemd-tmpfiles: don't install timer when service isn't installed either
0e7f83cd2b pam_systemd: prolong method call timeout when allocating session

(cherry picked from commit 53488b27be)
2020-03-11 23:59:00 +01:00
Will Dietz
794870af5b systemd: fix version after update to 243.4 (#76134)
(cherry picked from commit 2fa60a6565)
2020-03-11 23:59:00 +01:00
Florian Klink
7f41f29ef5 systemd: v243.3 -> v243.4
(cherry picked from commit fef59ca3a8)
2020-03-11 23:58:59 +01:00
Elis Hirwing
00108868bb php72: 7.2.27 -> 7.2.28
Changelog: https://www.php.net/ChangeLog-7.php#7.2.28
(cherry picked from commit 5bf47ab9bb)
2020-03-11 21:30:58 +01:00
Elis Hirwing
ae21ac7636 php73: 7.3.14 -> 7.3.15
Changelog: https://www.php.net/ChangeLog-7.php#7.3.15
(cherry picked from commit 8f4cb37116)
2020-03-11 21:30:19 +01:00
Andreas Rammhold
03314fdd3a Merge pull request #82280 from andir/19.09/firefox-68.6.0esr
[19.09] firefox: 73.0.1 -> 74.0, firefox-esr-68: 68.5.0esr -> 68.6.0esr, -bin updates
2020-03-11 20:36:15 +01:00
Andreas Rammhold
b0d7aa565e firefox-esr-68: 68.5.0esr -> 68.6.0esr
(cherry picked from commit 9727da29b0)
2020-03-10 23:19:07 +01:00
Andreas Rammhold
4fc43bcaa8 firefox-bin: 73.0 -> 74.0 2020-03-10 23:18:22 +01:00
Andreas Rammhold
8a10370703 firefox-devedition-bin: 73.0b1 -> 75.0b1 2020-03-10 23:18:05 +01:00
Andreas Rammhold
ee6db2f08f firefox-beta-bin: 73.0b1 -> 75.0b1 2020-03-10 23:17:41 +01:00
Daniel Frank
87c85e3ab2 firefox: 73.0.1 -> 74.0
(cherry picked from commit 167ed0efd5b55b22e796e3877cf25dacbd594a75)
2020-03-10 22:15:35 +01:00
Andreas Rammhold
9067204b48 sqlite_3_31_1: 3.30.1 -> 3.31.1 2020-03-10 22:15:35 +01:00
Andreas Rammhold
109995b728 nss_3_51: 3.49.2 -> 3.51 2020-03-10 22:15:35 +01:00
Andreas Rammhold
4db18e168e nspr_4_25: 4.24 -> 4.25 2020-03-10 22:15:35 +01:00
Michael Weiss
e7ebb218f7 Merge pull request #82014 from primeos/signal-desktop-backport
[19.09] signal-desktop: 1.32.0 -> 1.32.1 (backport)
2020-03-10 16:14:38 +01:00
Andreas Rammhold
d7843c8add Merge pull request #82049 from tokudan/19.09/fetchmail642
fetchmail: 6.3.26 to 6.4.2 [19.09] [security]
2020-03-10 13:48:22 +01:00
Michael Weiss
25bef07886 chromium: Update the VA-API patch (fix #81909)
(cherry picked from commit 735707ef0c)
2020-03-10 11:29:11 +01:00
Vladimír Čunát
84bf463781 Merge #82191: doc: improve grammar in nixpkgs GNOME manual
(cherry picked from commit 5ea0258458)
2020-03-10 10:14:13 +01:00
Samuel Dionne-Riel
8d3ff5bf4e Merge pull request #82171 from samueldr/19.09/aarch64/firefox
[19.09] firefox: Fix AArch64 build
2020-03-09 16:06:06 -04:00
Samuel Dionne-Riel
23d18e2404 firefox: Fix AArch64 build
This is the equivalent change to d4446c563d

That particular change could not be backported as-is due to refactors in
the firefox derivation.
2020-03-09 14:43:36 -04:00
Milan
58b019cc3c gitlab: 12.8.2 -> 12.8.5 (#82142)
https://about.gitlab.com/releases/2020/03/09/gitlab-12-8-5-released/
(cherry-picked from commit f391999026)
2020-03-09 17:33:22 +01:00
Frederik Rietdijk
bcc922cea1 python3Packages.acoustics: 0.2.3 -> 0.2.4
(cherry picked from commit 634ab6fc5d)
2020-03-09 14:11:03 +01:00
zowoq
c97be69399 rkt: add CVEs
https://www.twistlock.com/labs-blog/breaking-out-of-coresos-rkt-3-new-cves/
(cherry picked from commit c4c936f2f7)
(cherry picked from commit 58fa229c1e)
2020-03-09 10:13:29 +00:00
Florian Klink
92231f4f32 Merge pull request #82055 from mweinelt/pr/19.09/borgbackup/1.1.11
[19.09] borgbackup: 1.1.10 → 1.1.11
2020-03-08 16:28:15 -07:00
Martin Weinelt
055bc68ad1 borgbackup: 1.1.10 → 1.1.11
Version 1.1.11 (2020-03-08)

Compatibility notes:

    When upgrading from borg 1.0.x to 1.1.x, please note:
        read all the compatibility notes for 1.1.0*, starting from 1.1.0b1.
        borg upgrade: you do not need to and you also should not run it.
        borg might ask some security-related questions once after upgrading. You can answer them either manually or via environment variable. One known case is if you use unencrypted repositories, then it will ask about a unknown unencrypted repository one time.
        your first backup with 1.1.x might be significantly slower (it might completely read, chunk, hash a lot files) - this is due to the --files-cache mode change (and happens every time you change mode). You can avoid the one-time slowdown by using the pre-1.1.0rc4-compatible mode (but that is less safe for detecting changed files than the default). See the --files-cache docs for details.
    1.1.11 removes WSL autodetection (Windows 10 Subsystem for Linux). If WSL still has a problem with sync_file_range, you need to set BORG_WORKAROUNDS=basesyncfile in the borg process environment to work around the WSL issue.

Fixes:

    fixed potential index corruption / data loss issue due to bug in hashindex_set, #4829 Please read and follow the more detailled notes close to the top of this document.
    upgrade bundled xxhash to 0.7.3, #4891 0.7.2 is the minimum requirement for correct operations on ARMv6 in non-fixup mode, where unaligned memory accesses cause bus errors. 0.7.3 adds some speedups and libxxhash 0.7.3 even has a pkg-config file now.
    upgrade bundled lz4 to 1.9.2
    upgrade bundled zstd to 1.4.4
    fix crash when upgrading erroneous hints file, #4922
    extract:
        fix KeyError for "partial" extraction, #4607
        fix "partial" extract for hardlinked contentless file types, #4725
        fix preloading for old (0.xx) remote servers, #4652
        fix confusing output of borg extract --list --strip-components, #4934
    delete: after double-force delete, warn about necessary repair, #4704
    create: give invalid repo error msg if repo config not found, #4411
    mount: fix FUSE mount missing st_birthtime, #4763 #4767
    check: do not stumble over invalid item key, #4845
    info: if the archive doesn't exist, print a pretty message, #4793
    SecurityManager.known(): check all files, #4614
    Repository.open: use stat() to check for repo dir, #4695
    Repository.check_can_create_repository: use stat() to check, #4695
    fix invalid archive error message
    fix optional/non-optional location arg, #4541
    commit-time free space calc: ignore bad compact map entries, #4796
    ignore EACCES (errno 13) when hardlinking the old config, #4730
    --prefix / -P: fix processing, avoid argparse issue, #4769

New features:

    enable placeholder usage in all extra archive arguments
    new BORG_WORKAROUNDS mechanism, basesyncfile, #4710
    recreate: support --timestamp option, #4745
    support platforms without os.link (e.g. Android with Termux), #4901 if we don't have os.link, we just extract another copy instead of making a hardlink.
    support linux platforms without sync_file_range (e.g. Android 7 with Termux), #4905

Other:

    ignore --stats when given with --dry-run, but continue, #4373
    add some ProgressIndicator msgids to code / fix docs, #4935
    elaborate on "Calculating size" message
    argparser: always use REPOSITORY in metavar, also use more consistent help phrasing.
    check: improve error output for matching index size, see #4829
    docs:
        changelog: add advisory about hashindex_set bug #4829
        better describe BORG_SECURITY_DIR, BORG_CACHE_DIR, #4919
        infos about cache security assumptions, #4900
        add FAQ describing difference between a local repo vs. repo on a server.
        document how to test exclusion patterns without performing an actual backup
        timestamps in the files cache are now usually ctime, #4583
        fix bad reference to borg compact (does not exist in 1.1), #4660
        create: borg 1.1 is not future any more
        extract: document limitation "needs empty destination", #4598
        how to supply a passphrase, use crypto devices, #4549
        fix osxfuse github link in installation docs
        add example of exclude-norecurse rule in help patterns
        update macOS Brew link
        add note about software for automating backups, #4581
        AUTHORS: mention copyright+license for bundled msgpack
        fix various code blocks in the docs, #4708
        updated docs to cover use of temp directory on remote, #4545
        add restore docs, #4670
        add a pull backup / push restore how-to, #1552
        add FAQ how to retain original paths, #4532
        explain difference between --exclude and --pattern, #4118
        add FAQs for SSH connection issues, #3866
        improve password FAQ, #4591
        reiterate that 'file cache names are absolute' in FAQ
    tests:
        cope with ANY error when importing pytest into borg.testsuite, #4652
        fix broken test that relied on improper zlib assumptions
        test_fuse: filter out selinux xattrs, #4574
    travis / vagrant:
        misc python versions removed / changed (due to openssl 1.1 compatibility) or added (3.7 and 3.8, for better borg compatibility testing)
        binary building is on python 3.5.9 now
    vagrant:
        add new boxes: ubuntu 18.04 and 20.04, debian 10
        update boxes: openindiana, darwin, netbsd
        remove old boxes: centos 6
        darwin: updated osxfuse to 3.10.4
        use debian/ubuntu pip/virtualenv packages
        rather use python 3.6.2 than 3.6.0, fixes coverage/sqlite3 issue
        use requirements.d/development.lock.txt to avoid compat issues
    travis:
        darwin: backport some install code / order from master
        remove deprecated keyword "sudo" from travis config
        allow osx builds to fail, #4955 this is due to travis-ci frequently being so slow that the OS X builds just fail because they exceed 50 minutes and get killed by travis.

(cherry picked from commit dbff9b5479)
2020-03-08 14:38:06 +01:00
Peter Simons
f34595397a fetchmail: update from version 6.3.26 to 6.4.2
The new version supports OpenSSL 1.x. Should be back-ported to
release-20.03.

See https://sourceforge.net/projects/fetchmail/files/branch_6.4/
for the changelog.

(cherry picked from commit 85befe90b0)
2020-03-08 13:12:47 +01:00
Michael Weiss
942befbdfd signal-desktop: 1.32.0 -> 1.32.1
(cherry picked from commit 01db31c4d7)
2020-03-07 21:07:27 +01:00
Jeff Labonte
a81842b699 protonvpn-cli-ng: 2.2.0 -> 2.2.2
Simply keep up to date the cli since it is used to connect to a VPN.

(cherry picked from commit eb96574e9df3aba387c4abe902b154398271becf)
Reason: A tool to communicate with a VPN provider should be kept
up-to-date
2020-03-07 09:04:39 +01:00
Julien Coolen
9156ed9b93 protonvpn-cli-ng: init at 2.2.0
Take the supported version of protonvpn

(cherry picked from commit b45c4d2d88)
Reason: protonvpn-cli is not supported anymore, it has been replaced by
this package
2020-03-07 09:04:39 +01:00
Frederik Rietdijk
9216a1f23f python: pythondialog: 3.5.0 -> 3.5.1
Take it to the latest version!

(cherry picked from commit f41e2ca96f)
Reason: Keep the latest version for protonvpn-cli-ng
2020-03-07 09:04:39 +01:00
R. RyanTM
1cf51252c2 python38Packages.pythondialog: 3.4.0 -> 3.5.0
Keep the version of pythondialog up-to-date

(cherry picked from commit 875524df3d)
Reason: Required for the supported version of protonvpn-cli-ng
2020-03-07 09:04:39 +01:00
Marius Bergmann
53f0addfa3 pythondialog: init at 3.4.0
This is required to install protonvpn-cli-ng

(cherry picked from commit ebaedb0e11)
Reason: The supported version of protonvpn-cli-ng requires this
dependency
2020-03-07 09:04:39 +01:00
Michael Weiss
71c6a1c4a8 Merge pull request #81818 from primeos/signal-desktop-backport
[19.09] signal-desktop: 1.31.0 -> 1.32.0 (backport)
2020-03-06 21:32:00 +01:00
Tim Steinbach
815dd784b6 linux: 5.4.23 -> 5.4.24 2020-03-06 07:54:08 -05:00
Tim Steinbach
87ef3aeec0 linux: 4.19.107 -> 4.19.108 2020-03-06 07:54:08 -05:00
adisbladis
dca7ec628e create-amis: Add eu-north-1
(cherry picked from commit 4e5b0571ed)
2020-03-05 18:01:21 +00:00
Milan
3f97de182f gitlab: 12.8.1 -> 12.8.2 (#81803)
Includes multiple security fixes mentioned in
https://about.gitlab.com/releases/2020/03/04/gitlab-12-dot-8-dot-2-released/
(unfortunately, no CVE numbers as of yet)

 - Directory Traversal to Arbitrary File Read
 - Account Takeover Through Expired Link
 - Server Side Request Forgery Through Deprecated Service
 - Group Two-Factor Authentication Requirement Bypass
 - Stored XSS in Merge Request Pages
 - Stored XSS in Merge Request Submission Form
 - Stored XSS in File View
 - Stored XSS in Grafana Integration
 - Contribution Analytics Exposed to Non-members
 - Incorrect Access Control in Docker Registry via Deploy Tokens
 - Denial of Service via Permission Checks
 - Denial of Service in Design For Public Issue
 - GitHub Tokens Displayed in Plaintext on Integrations Page
 - Incorrect Access Control via LFS Import
 - Unescaped HTML in Header
 - Private Merge Request Titles Leaked via Widget
 - Project Namespace Exposed via Vulnerability Feedback Endpoint
 - Denial of Service Through Recursive Requests
 - Project Authorization Not Being Updated
 - Incorrect Permission Level For Group Invites
 - Disclosure of Private Group Epic Information
 - User IP Address Exposed via Badge images
 - Update postgresql (GitLab Omnibus)

(cherry-picked from commit c25756f91c)
2020-03-05 16:50:30 +01:00
talyz
1b2ab5d609 gitaly: Copy gem files into bundler env instead of symlinking
This fixes issue #79374, where gitaly prints warning messages on the
client side when running push or fetch.

(cherry-picked from commit 74769b6799)
2020-03-05 16:50:20 +01:00
talyz
00a06a7eb9 bundlerEnv: Add option to copy gem files instead of symlinking
The way ruby loads gems and keeps track of their paths seems to not
always work very well when the gems are accessed through
symlinks. Ruby will then complain that the same files are loaded
multiple times; it relies on the file's full path to determine whether
the file is loaded or not.

This adds an option to simply copy all gem files into the environment
instead, which gets rid of this issue, but may instead result in major
file duplication.

(cherry-picked from commit affcf9ba1e)
2020-03-05 16:50:03 +01:00
talyz
7537484f8a gitlab-shell: Change name from gitlab-shell-go to gitlab-shell
This is left over from when gitlab-shell had a ruby part and a go
part. The ruby part is now gone, so let's call the go part
gitlab-shell.

(cherry-picked from commit a3b2828de3)
2020-03-05 16:49:51 +01:00
talyz
802ff699e8 gitlab-workhorse: 8.20.0 -> 8.21.0
(cherry-picked from commit f2bb5238aa)
2020-03-05 16:49:42 +01:00
talyz
e72a27e15e gitaly: 1.83.0 -> 12.8.1
(cherry-picked from commit facef28665)
2020-03-05 16:49:33 +01:00
talyz
cf3cc7a17f gitlab: 12.7.6 -> 12.8.1
https://about.gitlab.com/releases/2020/02/22/gitlab-12-8-released/
https://about.gitlab.com/releases/2020/02/24/gitlab-12-8-1-released/

(cherry-picked from commit 7d8a2004cf)
2020-03-05 16:48:17 +01:00
Michael Weiss
9a377b6970 signal-desktop: 1.31.0 -> 1.32.0
(cherry picked from commit 05e6cc4944)
2020-03-05 12:06:32 +01:00
Michael Weiss
7d31bbceaa Merge pull request #81753 from primeos/chromium-backport
[19.09] chromium: 80.0.3987.122 -> 80.0.3987.132 (backport)
2020-03-05 11:45:58 +01:00
Jeff Labonte
edbe456223 brave: 1.4.95 -> 1.4.96
Update brave from the version 1.4.95 to 1.4.96.

(cherry picked from commit 3f6d356654)
Reason: Keep the browser to the latest stable version
2020-03-04 21:26:58 -05:00
Michael Weiss
b1199c5723 chromium: 80.0.3987.122 -> 80.0.3987.132
https://chromereleases.googleblog.com/2020/03/stable-channel-update-for-desktop.html

This update includes 4 security fixes.

CVEs:
CVE-2020-6420

(cherry picked from commit 51b6f9c6ae)
2020-03-04 20:23:54 +01:00
Domen Kožar
d1918bb0d9 vscode: specify runtimeDependencies instead of LD_LIBRARY_PATH
This avoids glibc verions mismatches in vscode terminal, as
LD_LIBRARY_PATH leaks into terminal and break with user installed
executables.

(cherry picked from commit 40d7ce7828)
Signed-off-by: Domen Kožar <domen@dev.si>
2020-03-04 11:56:55 +01:00
worldofpeace
8121ff2548 Merge pull request #74289 from worldofpeace/fix-zoom-19.09
zoom-us: use latest qt
2020-03-04 03:10:56 +00:00
worldofpeace
00115f2f9c Merge pull request #81078 from JeffLabonte/release/19.09
[19.09] brave: 1.3.118 -> 1.4.95
2020-03-04 01:31:23 +00:00
Jeff Labonte
a9b1721b2c brave: 1.3.118 -> 1.4.95
Update brave from 0.69.128 to 1.4.95

(cherry picked from commit fa166b77d1)
Reason: Browser should be kept up-to-date for security reasons.
2020-03-03 20:18:32 -05:00
Jeff Labonte
9e3996fb9a brave: add jefflabonte to maintainer list
Add new maintainer to brave

(cherry picked from commit 9a4a2eb1d2)
Reason: Previous commit add jefflabonte to list of the maintainer, he
should be added to the package he tries to maintain
2020-03-03 20:18:07 -05:00
Jeff Labonte
55c518c4eb maintainers: add jefflabonte
New maintainer for brave

(cherry picked from commit d5e52ad230)
Reason: my name is part of the maintainer list of brave
2020-03-03 20:17:38 -05:00
obadz
416a23d218 Merge pull request #81668 from obadz/backport-1909-zerotier-mac-fix
[19.09] nixos/zerotierone: prevent systemd from changing MAC address
2020-03-04 01:07:46 +00:00
Daniel Fullmer
009d2d64cd nixos/zerotierone: prevent systemd from changing MAC address
(cherry picked from commit 27b8253655)
2020-03-04 01:02:31 +00:00
Jörg Thalheim
84f47bfe9a Merge pull request #80008 from Mic92/fpu-backport
[backport-19.09] zfs: 0.8.2 -> 0.8.3
2020-03-02 16:45:50 +00:00
ngerstle
52c112597c traefik: 1.7.14 -> 1.7.21 2020-03-02 16:57:53 +01:00
Michele Guerini Rocco
fadb703ae8 Merge pull request #81470 from pacien/riot-web-conf-attr-str-19.09
[19.09] riot-web: accept conf override as attrset and str
2020-03-01 23:49:22 +01:00
pacien
ad55e6e427 riot-web: accept conf override as attrset and str
f18d4e3 changed the type from str to attrset, which broke some people's config.

GitHub: closes #81416
2020-03-01 23:16:49 +01:00
Sander van der Burg
5c32423330 titaniumenv: add Titanium SDK 8.3
(cherry picked from commit c5a6a2ae5ead4249486c78d758c123ed8acfd8a9)
2020-03-01 19:39:12 +01:00
Sander van der Burg
7ecf10b9be androidenv: add platform SDK 29
(cherry picked from commit f5d8e5d92bd4edd2873d0c116ce8db372287a3cf)
2020-03-01 19:38:52 +01:00
worldofpeace
0252dfb268 Merge pull request #80278 from Frostman/stable-go-bump
[19.09] go_1_13: 1.13.7 -> 1.13.8, go_1_12: 1.12.16 -> 1.12.17 (backport)
2020-03-01 15:23:18 +00:00
Bas van Dijk
d195a68f87 Merge pull request #81401 from basvandijk/qemu-release-19.09-fix-patch-url
release-19.09: qemu: fix URL for the patch for CVE-2019-13164
2020-02-29 19:07:00 +01:00
Bas van Dijk
6e3b4fbbec qemu: fix URL for the patch for CVE-2019-13164
The previous URL now results in a 404.
2020-02-29 19:03:18 +01:00
Mario Rodas
dfbfd575f4 Merge pull request #81370 from pvgoran/bup-0.29.3
bup: 0.29.2 -> 0.29.3
2020-02-29 11:41:06 -05:00
rnhmjoj
c0db75f880 bup: 0.29.2 -> 0.29.3
(cherry picked from commit 219ddc54e4)
2020-02-29 12:51:24 +00:00
Yegor Timoshenko
57f92a2384 Merge pull request #79681 from emilazy/fix-gdouros-font-licenses-19.09
fonts/gdouros: correct license to unfree [19.09]
2020-02-29 04:02:58 +03:00
Emily
d7ba172336 fonts/gdouros: correct license to unfree
(cherry picked from commit 05a9b7fe2a)
2020-02-29 04:01:04 +03:00
Tim Steinbach
f79b6cc7fb linux: 5.4.22 -> 5.4.23 2020-02-28 15:45:03 -05:00
Tim Steinbach
560bc036a4 linux: 4.9.214 -> 4.9.215 2020-02-28 11:10:31 -05:00
Tim Steinbach
e06e0dc1a9 linux: 4.4.214 -> 4.4.215 2020-02-28 11:10:31 -05:00
Tim Steinbach
734ae8b122 linux: 4.19.106 -> 4.19.107 2020-02-28 11:10:31 -05:00
Tim Steinbach
39f5ffb1e7 linux: 4.14.171 -> 4.14.172 2020-02-28 11:10:31 -05:00
Michael Weiss
ce9f1aaa39 Merge pull request #81166 from primeos/chromium-backport
[19.09] chromium: 80.0.3987.116 -> 80.0.3987.122 (backport)
2020-02-27 20:22:41 +01:00
Michael Weiss
b8b0b39808 chromiumDev: Mark as broken
The build of Chromium 82 requires LLVM 10 (see 1d961a4c6d) which is
unlikely to be backported to 19.09. We could do it but since 20.03 will
be released soon it doesn't seem that important.
2020-02-27 10:28:09 +01:00
Michael Weiss
85b99194c3 chromium: 80.0.3987.116 -> 80.0.3987.122
https://chromereleases.googleblog.com/2020/02/stable-channel-update-for-desktop_24.html

This update includes 3 security fixes.

CVEs:
CVE-2020-6407 CVE-2020-6418

(cherry picked from commit 8be566d288)
2020-02-27 10:18:45 +01:00
Michael Weiss
d0b3ab3b24 gns3-gui: Add the missing setuptools dependency
Fixes #81048.
Note: This commit is not cherry-picked, but required to fix:
ImportError: No module named pkg_resources
2020-02-26 19:47:40 +01:00
Alexei Robyn
b7bbc6d378 pythonPackages.isort: Add explicit setuptools dep and bin test
(cherry picked from commit 94a80621ac)
2020-02-26 11:51:29 +01:00
worldofpeace
7213a44717 tikzit: use qt5's mkDerivation
(cherry picked from commit ffe40094ab)
2020-02-25 20:22:56 -05:00
worldofpeace
d8ef510fad qgo: use qt5's mkDerivation
(cherry picked from commit f8da067a2a)
2020-02-25 20:22:55 -05:00
worldofpeace
edaeeb2db6 qview: use qt5's mkDerivation
(cherry picked from commit a8eba26d2c)
2020-02-25 20:22:39 -05:00
Jonathan Ringer
d8652430c5 discord-canary: 0.0.98 -> 0.0.102
(cherry picked from commit da5e340f74)
2020-02-25 16:40:28 -08:00
Jonathan Ringer
8051b2ffb7 discord-ptb: 0.0.16 -> 0.0.18
(cherry picked from commit e1d05e30f8)
2020-02-25 16:40:28 -08:00
kraem
6b5b1f7230 discord: 0.0.9 -> 0.0.10
(cherry picked from commit 3ec9925f21)
2020-02-25 16:40:28 -08:00
R. RyanTM
57a4956bc2 python27Packages.django-gravatar2: 1.4.2 -> 1.4.4
(cherry picked from commit e648441eef)
Signed-off-by: Lancelot SIX <lsix@lancelotsix.com>
2020-02-24 15:59:38 +01:00
Tim Steinbach
e13ec4a275 linux: 5.4.21 -> 5.4.22 2020-02-24 08:23:03 -05:00
Tim Steinbach
346c0085bb linux: 4.19.105 -> 4.19.106 2020-02-24 08:23:03 -05:00
Eelco Dolstra
790970f6b1 nix-fallback-paths.nix: Fix x86_64-linux path
https://github.com/NixOS/nix/issues/3370
(cherry picked from commit 21a3b141c3)
2020-02-24 11:02:13 +01:00
Eelco Dolstra
82e13465fa nix: 2.3.2 -> 2.3.3
(cherry picked from commit 3c47f78e82)
2020-02-24 11:02:04 +01:00
Eelco Dolstra
7a17c1aa17 nixFlakes: 2.4pre20200207_d2032ed -> 2.4pre20200220_4a4521f
(cherry picked from commit 39892985b0)
2020-02-24 11:00:35 +01:00
Samuel Dionne-Riel
58a9acf75a runInLinuxVM: Ensure tools requiring /etc/passwd work
This includes, but is not limited to:

 * whoami
 * nix >= 2.3.1

See

 * https://github.com/NixOS/nixpkgs/issues/71157
 * https://github.com/NixOS/nixops/issues/1216
 * https://github.com/nix-community/nixops-libvirtd/issues/5

(cherry picked from commit 687e2195d8)
2020-02-23 16:07:55 -05:00
worldofpeace
ee9e9a615f maintainers: correct my name stylization
Out of many variations, it's almost never like that.

(cherry picked from commit c0c1f11889)
2020-02-23 09:28:33 -05:00
Michael Weiss
c5bb386bab Merge pull request #80786 from primeos/chromium-backport
[19.09] chromium: 80.0.3987.106 -> 80.0.3987.116 (backport)
2020-02-23 13:19:40 +01:00
Michael Weiss
54f167918c chromium: 80.0.3987.106 -> 80.0.3987.116
(cherry picked from commit 3e9d2f80a4)
2020-02-22 11:53:06 +01:00
Dmitry Kalinkin
c2c5dcc00b lhapdf.pdf_sets: fix download url
(cherry picked from commit b83257ca5f)
2020-02-21 19:38:19 -05:00
Sergey Lukjanov
85548f2a13 grafana: 6.6.1 -> 6.6.2
(cherry picked from commit 5b80220d53)
2020-02-21 18:38:17 +01:00
Andreas Rammhold
b23f2112f5 Merge pull request #80675 from mweinelt/pr/19.09/weechat/2.7.1
[19.09] weechat: 2.6 -> 2.7.1
2020-02-21 00:34:20 +01:00
Dmitry Kalinkin
b6ef10f6a8 Merge pull request #80571 from veprbl/pr/mariadb_darwin_fix_19.09
[19.09] mariadb: fix darwin build
2020-02-20 17:46:19 -05:00
Martin Weinelt
10babe3868 weechat: 2.7 -> 2.7.1
Release notes:

irc: fix crash when receiving a malformed message 352 (who)
irc: fix crash when a new message 005 is received with longer nick prefixes
irc: fix crash when receiving a malformed message 324 (channel mode) (CVE-2020-8955)
(cherry picked from commit 2d77fc3053)
2020-02-20 23:29:45 +01:00
Martin Weinelt
4bbadcfe99 weechat: 2.6 -> 2.7
Disables support for Javascript and PHP:
- Javascript requires an old version of v8
- PHP requires a larger number of dependencies in addition to php-embed

Changelog [1]:

  New features
    - core: add option weechat.look.nick_color_hash_salt to shuffle nick colors (issue #635)
    - core: add different icons sizes (16x16 to 512x512) (issue #1347)
    - core: add file weechat.desktop
    - core: add reverse of string for screen in evaluation of expressions with "revscr:"
    - core: add length of string (number of chars and on screen) in evaluation of expressions with "length:xxx" and "lengthscr:xxx"
    - core: add calculation of expression in evaluation of expressions with "calc:xxx" (issue #997)
    - core: add optional default path (evaluated) in completion "filename"
    - core: add support of modifiers in evaluation of expressions with "modifier:name,data,string"
    - api: add modifier "color_encode_ansi" (issue #528)
    - api: add modifier "eval_path_home"
    - irc: add filters on raw buffer (issue #1000)
    - irc: add option irc.look.display_pv_warning_address to display a warning in private buffer if the remote nick address has changed (issue #892)
    - irc: add server option "ssl_password" (issue #115, issue #1416)
    - irc: add "user" in output of irc_message_parse (issue #136)
    - irc: add options irc.color.message_kick and irc.color.reason_kick (issue #683, issue #684)
    - logger: add option logger.file.color_lines (issue #528, issue #621)
    - script: add options "-ol" and "-il" in command "/script list" to send translated string with list of scripts loaded, display "No scripts loaded" if no scripts are loaded
    - xfer: add option xfer.file.download_temporary_suffix with default value ".part" (issue #1237)

  Bug fixes
    - core: set buffer name, short name and title only if the value has changed
    - core: fix scrolling up in bare mode when switched to bare mode at the top of the buffer (issue #899, issue #978)
    - core: optimize load of configuration files
    - core: fix window separators not respecting window splits (issue #630)
    - core: fix cursor mode info when prefix_align is none and with words split across lines (issue #610, issue #617, issue #619)
    - core: add support of reverse video in ANSI color codes
    - core: fixed segfault during excessive evaluation in function string_repeat (issue #1400)
    - buflist: fix extra spaces between buffers when conditions are used to hide buffers (regression introduced in version 2.6) (issue #1403)
    - irc: do not automatically open a channel with name "0" (issue #1429)
    - irc: remove option irc.network.channel_encode, add server option "charset_message" to control which part of the IRC message is decoded/encoded to the target charset (issue #832)
    - irc: use path from option xfer.file.upload_path to complete filename in command "/dcc send" (issue #60)
    - logger: fix write in log file if it has been deleted or renamed (issue #123)
    - python: send "bytes" instead of "str" to callbacks in Python 3 when the string is not UTF-8 valid (issue #1389)
    - relay: send message "_buffer_title_changed" to clients only when the title is changed
    - xfer: fix memory leak when a xfer is freed and when the plugin is unloaded

  Tests
    - unit: add tests on GUI color functions

  Build
    - core: fix build on Haiku (issue #1420)
    - core: fix build on Alpine
    - core: remove file FindTCL.cmake
    - core: display an error on missing dependency in CMake (issue #916, issue #956)
    - debian: disable Javascript plugin on Debian Sid and Ubuntu Eoan
    - debian: build with Guile 2.2
    - guile: add support of Guile 2.2, disable /guile eval (issue #1098)
    - python: add detection of Python 3.8

[1] https://weechat.org/files/changelog/ChangeLog-2.7.html

(cherry picked from commit d1cb8bfc8d)
2020-02-20 23:29:37 +01:00
Eelco Dolstra
271528b934 nixos/release-{combined,small}.nix: Fix some job names 2020-02-20 14:45:28 +01:00
Eelco Dolstra
9a0f407ad5 nixos/release.nix: Import './..' instead of nixpkgs
'nixpkgs' is a result of a call to cleanSource, which is very
expensive and fails in --dry-run mode.

(cherry picked from commit 3182fbdeaa)
2020-02-20 14:45:28 +01:00
Tim Steinbach
0d2288f929 linux: 5.4.20 -> 5.4.21 2020-02-20 08:23:56 -05:00
Tim Steinbach
4fdaba1369 linux: 4.19.104 -> 4.19.105 2020-02-20 08:23:56 -05:00
Eelco Dolstra
102471fa20 nixos/release-small.nix: Remove hydraJob
hydra-eval-jobs's derivation-patching logic cannot handle hydraJob.
2020-02-20 13:55:00 +01:00
Eelco Dolstra
7d5d07fdff Merge pull request #80454 from andir/19.09/tested
[19.09] nixos/release-combined; migrate constituents list to strings
2020-02-20 13:47:52 +01:00
Eelco Dolstra
883bd18b64 nixUnstable, nixFlakes: Update to latest
Note that we need to build from a tarball now to get the vendored
crates. A bit ugly to fetch tarballs from Hydra...

(cherry picked from commit dd7f6b0c6b)
2020-02-20 10:45:48 +01:00
Maximilian Bosch
9fef2ce7cf riot-web: 1.5.6 -> 1.5.10
https://github.com/vector-im/riot-web/releases/tag/v1.5.10
(cherry picked from commit da45483b35)
2020-02-20 02:40:37 +01:00
Franz Pletz
483f61d150 Merge pull request #80393 from worldofpeace/backport-19.09-80364
[19.09] riot-web: add config overrides for privacy
2020-02-20 01:26:37 +00:00
Dan Callahan
1ddda1ca8d mariadb: fix darwin build
We want to disable `PLUGIN_AUTH_PAM` when building:

1. `mariadb` on macOS.
2. `mariadb-client` on any platform

Unfortunately, the interaction of these two commits
  6c97b0486c
  7e43b4d0ae
created a situation where we disable it *twice* when building on macOS.
Once in a darwin-specific `prePatch` script, and again in the `patches`
section for client builds.

This removes the redundant `prePatch` script and conditionally applies
the patch to `mariadb` server builds on darwin.

Fixes #70835

(cherry picked from commit b0b0bb7e0b)
2020-02-19 16:37:49 -05:00
worldofpeace
c4ab092733 Merge pull request #80383 from hax404/19.09_tor-browser-bundle-bin
[19.09] tor-browser-bundle-bin: 9.0.4 -> 9.0.5 (backport)
2020-02-19 16:20:37 -05:00
Franz Pletz
bf0936728f php73: 7.3.13 -> 7.3.14
https://www.php.net/ChangeLog-7.php#7.3.14
(cherry picked from commit b55ded5d8b)
2020-02-19 17:00:35 +01:00
Franz Pletz
99e8e72e94 php72: 7.2.26 -> 7.2.27
https://www.php.net/ChangeLog-7.php#7.2.27
(cherry picked from commit ed8df1d98e)
2020-02-19 17:00:35 +01:00
R. RyanTM
8044c259c7 nixpkgs-review: 2.1.1 -> 2.2.0
(cherry picked from commit 301c706f77)
2020-02-19 14:19:34 +00:00
Andreas Rammhold
9bf3de0b4e nixos/release-small: migrate constituents list to strings
As of a few days ago hydra has a different GC configuration that leads
to eval failures when the tested job has a direct dependency on all the
tests. This is an attempt at migrating the old list of jobs to the new
format while keeping the logic and the tests the same.
2020-02-19 09:35:44 +01:00
Andreas Rammhold
9947f99698 nixos/release-combined: migrate constituents list to strings
As of a few days ago hydra has a different GC configuration that leads
to eval failures when the tested job has a direct dependency on all the
tests. This is an attempt at migrating the old list of jobs to the new
format while keeping the logic and the tests the same.
2020-02-19 09:35:33 +01:00
worldofpeace
ad952ac771 Merge pull request #80137 from worldofpeace/backport-79844-19.09
[19.09] xfce4-14.xfce4-pulseaudio-plugin: 0.4.1 -> 0.4.2, fix volume
2020-02-18 12:05:46 -05:00
Andreas Rammhold
14cecf426b Merge pull request #80432 from andir/19.09/firefox73.0.1
[19.09] firefox: 73.0 -> 73.0.1
2020-02-18 16:01:30 +01:00
Andreas Rammhold
a1920ba9c0 firefox: 73.0 -> 73.0.1
(cherry picked from commit 52920a6b2c)
2020-02-18 13:28:21 +01:00
Andreas Rammhold
bdc9e2b9c9 Merge pull request #80327 from andir/19.09/firefox
[19.09] firefox 73
2020-02-18 12:58:15 +01:00
Georg Haas
c4a54b6a15 tor-browser-bundle-bin: 9.0.4 -> 9.0.5
(cherry picked from commit ec3daae1fc)
2020-02-18 10:56:06 +01:00
Mario Rodas
847bf0b8f1 postgresql_11: 11.5 -> 11.7
Release notes: https://www.postgresql.org/docs/11/release-11-7.html
2020-02-18 09:17:22 +02:00
Mario Rodas
7294b289c3 postgresql_10: 10.10 -> 10.12
Release notes: https://www.postgresql.org/docs/10/release-10-12.html
2020-02-18 09:17:18 +02:00
Mario Rodas
170f305510 postgresql_9_6: 9.6.15 -> 9.6.17
Release notes: https://www.postgresql.org/docs/9.6/release-9-6-17.html
2020-02-18 09:17:14 +02:00
Mario Rodas
34becef1e2 postgresql_9_5: 9.5.19 -> 9.5.21
Release notes: https://www.postgresql.org/docs/9.5/release-9-5-21.html
2020-02-18 09:17:07 +02:00
Thomas Tuegel
06c59c14d7 kinit: Increase environment size limit
start_kdeinit reads its environment over a pipe from start_kdeinit_wrapper. For
security, each environment entry must be smaller than 4kb by default. Qt-based
applications in Nixpkgs may have larger environments, and the recent upgrade to
Plasma 5.17 pushed start_kdeinit_wrapper over the limit. The limit is now
extended to 16kb.

This problem was not detected during testing because the failure is silent:
start_kdeinit will continue with an empty environment. In other circumstances,
this strategy might work, but it does not work on NixOS. This failure is now
treated as a fatal error.

Fixes: #79707
(cherry picked from commit c75860918f)
2020-02-17 20:06:40 -06:00
worldofpeace
81bddc68d7 Merge pull request #79916 from taku0/flashplayer-32.0.0.330-release-19.09
flashplayer: 32.0.0.314 -> 32.0.0.330 [Critical security fixes][19.09]
2020-02-17 20:05:23 -05:00
pacien
f18d4e36a9 riot-web: add config overrides for privacy
Preventing the app from phoning home by default.

GitHub: closes https://github.com/NixOS/nixpkgs/issues/80358
(cherry picked from commit c9e5cca071)
2020-02-17 20:00:31 -05:00
Franz Pletz
f1f5247103 dovecot: 2.3.9.2 -> 2.3.9.3
Fixes CVE-2020-7046 & CVE-2020-7957:

  https://dovecot.org/pipermail/dovecot-news/2020-February/000429.html

(cherry picked from commit f9a34082e6)
2020-02-17 15:28:56 +01:00
Jörg Thalheim
fd3068bdd7 clang-tools: fix substitution in wrapper
(cherry picked from commit 1caddbe258)
2020-02-17 10:37:38 +00:00
Benjamin Hipple
bf36ec63c0 doomseeker: add qt wrapper, cleanup (#79794)
This avoids using NIX_CFLAGS_COMPILE by switching to hardeningDisable.
The hack is also only needed for darwin sources and is not specific to
clang.

Co-authored-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>

(cherry picked from commit 5ef4af7afc)
cc #79794
2020-02-17 04:55:41 -05:00
Dmitry Kalinkin
4c45b7c701 soundfont-fluid: fix src url
(cherry picked from commit e019371ab4)
cc #80174
2020-02-16 23:53:40 -05:00
PanAeon
4f4b9da2c4 conkeror: pin to firefox-esr-52 (#72090)
(cherry picked from commit eee784a1bb)
cc #72090
2020-02-16 21:38:36 -05:00
Andreas Rammhold
1e8947c11d firefox-bin: 72.0.3 -> 73.0
(cherry picked from commit 11920736e8)
2020-02-17 02:22:18 +01:00
Andreas Rammhold
4e62685fe9 firefox-esr: 68.4.2esr -> 68.5.0esr
(cherry picked from commit f43fdd1151)
2020-02-17 02:21:40 +01:00
Andreas Rammhold
f814b797dc firefox: 72.0.2 -> 73.0
(cherry picked from commit 8019df98f8)
2020-02-17 02:21:40 +01:00
Andreas Rammhold
dfa2bb079a firefox: prepare for 73.0
(cherry picked from commit 187d6912a8)
2020-02-17 02:21:39 +01:00
Andreas Rammhold
7420ce3799 nss_3_49_2: init at 3.49.2 2020-02-17 02:21:39 +01:00
Andreas Rammhold
884967c7a8 rust-cbindgen_0_1_13: init at 0.1.13 2020-02-17 02:21:39 +01:00
Andreas Rammhold
d06ec64dc2 rust_1_41: init at 1.41.0
This is a backport to be able to build firefox 73.0 on nixos-19.09.
2020-02-17 02:21:30 +01:00
Maximilian Bosch
ed12778184 youtube-dl: 2020.01.24 -> 2020.02.16
https://github.com/ytdl-org/youtube-dl/releases/tag/2020.02.16
(cherry picked from commit 7957f43b6a)
2020-02-17 00:32:44 +01:00
Michael Weiss
a1832b2413 Merge pull request #80194 from primeos/chromium-backport
[19.09] chromium: 80.0.3987.87 -> 80.0.3987.106 (backport)
2020-02-16 20:52:09 +01:00
Sergey Lukjanov
ac62b2dc6f go_1_13: 1.13.7 -> 1.13.8
(cherry picked from commit f703142a73)
2020-02-16 09:25:56 -08:00
Sergey Lukjanov
bb95650944 go_1_12: 1.12.16 -> 1.12.17
(cherry picked from commit bca1fa2bf2)
2020-02-16 09:25:56 -08:00
Gabor Greif
3df38d3838 ghc: 8.8.2-rc1 -> 8.8.2
https://www.haskell.org/ghc/blog/20200116-ghc-8.8.2-released.html
(cherry picked from commit 42fd1d0727)
Signed-off-by: Domen Kožar <domen@dev.si>
2020-02-16 04:24:30 +01:00
Peter Simons
9d835b2e18 ghc: add 8.8.2-rc1
(cherry picked from commit 56f1127a42)
Signed-off-by: Domen Kožar <domen@dev.si>
2020-02-16 04:23:24 +01:00
Tim Steinbach
18a02718da linux: 5.4.19 -> 5.4.20 2020-02-15 15:44:23 -05:00
Tim Steinbach
81f5c9a28a linux: 4.9.213 -> 4.9.214 2020-02-15 15:44:22 -05:00
Tim Steinbach
e04640699b linux: 4.4.213 -> 4.4.214 2020-02-15 15:44:21 -05:00
Tim Steinbach
8912943c76 linux: 4.19.103 -> 4.19.104 2020-02-15 15:44:20 -05:00
Tim Steinbach
d7200a38ca linux: 4.14.170 -> 4.14.171 2020-02-15 15:44:18 -05:00
Michael Weiss
1502590c62 google-chrome*: Add the newly required dependencies
See 3fadc45499. Since the beta channel is now also on 81 and the stable
channel will be on 81 soon, it makes sense to already add this
unconditionally for all channels.

(cherry picked from commit 67f349d224)
2020-02-15 20:11:43 +01:00
Michael Weiss
8452d631e2 chromium: 80.0.3987.100 -> 80.0.3987.106
https://chromereleases.googleblog.com/2020/02/stable-channel-update-for-desktop_13.html
(cherry picked from commit 574a57a67f)
2020-02-15 20:11:29 +01:00
Michael Weiss
628fcb61ae google-chrome-dev: Add the newly required dependencies
google-chrome-unstable won't launch without the following shared object
files: libdrm.so.2 and libgbm.so.1.

(cherry picked from commit 3fadc45499)
2020-02-15 20:11:11 +01:00
Michael Weiss
147fa01ecd chromium: 80.0.3987.87 -> 80.0.3987.100
https://chromereleases.googleblog.com/2020/02/stable-channel-update-for-desktop_11.html
(cherry picked from commit e61b8d99c2)
2020-02-15 20:10:50 +01:00
Michael Weiss
823d02ab16 chromium: Add myself (@primeos) as provisional maintainer
I don't really have the hardware resources nor time to do this properly,
but I'll try to keep a watch on Chromium (updates, PRs, and issues)
until we've found a new team [0].
Testing will be performed on a best effort basis (no guarantees :o).

I've also briefly documented the current maintainer
roles/responsibilities and added `meta.longDescription`.

[0]: https://github.com/NixOS/nixpkgs/issues/78450

(cherry picked from commit 4ad78e64ff)
This also includes b29e3582ac.
2020-02-15 20:08:32 +01:00
David Terry
6b47f71542 linuxPackages.wireguard: 0.0.20200214 -> 0.0.20200215
(cherry picked from commit b76dab8fc8)
2020-02-15 12:39:36 +01:00
taku0
edc35ff5e5 flashplayer: 32.0.0.314 -> 32.0.0.330
(cherry picked from commit 87d9d9a374)
2020-02-15 11:12:00 +09:00
worldofpeace
c5c9ef110c xfce4-14.xfce4-pulseaudio-plugin: 0.4.1 -> 0.4.2, fix volume
A port of 8e5ed7cfbb.
2020-02-14 14:56:27 -05:00
Samuel Leathers
492d1a2145 python3Packages.openapi-spec-validator: add setuptools
(cherry picked from commit a721edfabb)
2020-02-14 12:58:08 -05:00
Vladimír Čunát
c17aeb0c1a Merge #62890: libclc: 2017-11-29 -> 2019-06-09 (unbreak)
(cherry picked from commit ed77cf1c56)
2020-02-14 18:03:50 +01:00
Maximilian Bosch
2c013a68f8 linuxPackages.wireguard: 0.0.20200205 -> 0.0.20200214
https://lists.zx2c4.com/pipermail/wireguard/2020-February/005013.html
(cherry picked from commit 7666bf47c7)
2020-02-14 17:24:49 +01:00
Georg Haas
8731aaaf8b bino3d: use mkDerivation from qt
adopted solution from commit 7e0dd3833d

(cherry picked from commit c9ca90af51)
2020-02-14 00:20:25 +01:00
Florian Klink
62e87b1eb0 gitlab: 12.7.5 -> 12.7.6
(cherry picked from commit 0a87568b03)
2020-02-13 23:43:31 +01:00
Puck Meerburg
e02fb6eaf7 signal-desktop: fix notifications
(cherry picked from commit 0b3e5db5d3)
Reason: Backport of #79949 to fix the notifications.
2020-02-13 14:55:24 +01:00
taku0
aba37cd50b thunderbird: 68.4.2 -> 68.5.0
(cherry picked from commit 64fe2b7260)
2020-02-13 14:03:08 +01:00
taku0
bd0c99c396 thunderbird-bin: 68.4.2 -> 68.5.0
(cherry picked from commit eaf12cc4d1)
2020-02-13 14:02:55 +01:00
sjau
e5d2585097 zfs: 0.8.2 -> 0.8.3
(cherry picked from commit 88de34b160)
2020-02-13 11:15:06 +00:00
Frank Doepper
502654d37d zfs: fix PATH for zpool.d scripts
(cherry picked from commit 17f76a906e)
2020-02-13 11:15:06 +00:00
Jörg Thalheim
a59e29c97e zfsUnstable: drop build patches
(cherry picked from commit 539e66c429)
2020-02-13 11:15:05 +00:00
Jörg Thalheim
451e31956c linux: update fpu patches for 5.3
At the moment we experience bad instabilities with linux 5.3:

https://github.com/zfsonlinux/zfs/issues/9346

as the zfs-native method of disabling the FPU is buggy.

(cherry picked from commit 96097ab665)
2020-02-13 11:12:05 +00:00
Tim Steinbach
2633e93f3e linux: 5.4.18 -> 5.4.19 2020-02-11 14:49:08 -05:00
Tim Steinbach
29b98a631f linux: 4.19.102 -> 4.19.103 2020-02-11 14:49:08 -05:00
Jörg Thalheim
1694601320 Merge pull request #79820 from Mic92/locate
[backport-19.09]: nixos/locate: only create output directory if != /var/cache
2020-02-11 14:22:11 +00:00
Jörg Thalheim
8e8ad8054e nixos/locate: only create output directory if != /var/cache
We already create /var/cache as part of systemd default rules.

Continuation of:
c9d6dee9e4

Reported in:
https://github.com/NixOS/nixpkgs/pull/79022#issuecomment-584497397
2020-02-11 11:34:55 +00:00
Dmitry Kalinkin
b9cb3b2fb2 mesos: switch to https for maven
Fixes: #78702
Closes: #79260
(cherry picked from commit 157f392f57)
2020-02-10 19:08:23 -05:00
Michael Weiss
7dd37455a7 Merge pull request #79774 from primeos/signal-desktop-backport
[19.09] signal-desktop: 1.30.1 -> 1.31.0 (backport)
2020-02-11 00:15:51 +01:00
Michael Weiss
3b8deb14a9 signal-desktop: 1.30.1 -> 1.31.0
Changelog: https://github.com/signalapp/Signal-Desktop/releases/tag/v1.31.0
(cherry picked from commit 7d927677f4)
2020-02-10 23:35:05 +01:00
Lancelot SIX
24ad80200f aspell: 0.60.6.1 -> 0.60.8
See http://aspell.net/aspell-0.60.8.txt for release information.
(#71242)

The fix for CVE-2019-20433 may break compatibility for some
applications, hence a version bump instead of adding a patch.

Also: backport of 648678f6e1
2020-02-10 23:31:54 +01:00
Vladimír Čunát
d9f1f8ce93 Merge #79740: libssh2: patch CVE-2019-17498 (into staging)
(cherry picked from commit 4ff2a1641c)
2020-02-10 17:50:06 +01:00
Vladimír Čunát
5e8966d73a nixpkgs manual: fix a typo in cross-compilation
I can't say I really understand that much about our cross stuff,
but this seems very clear.

(cherry picked from commit 79210713e6)
Let's fix the online manual immediately.
2020-02-10 16:59:27 +01:00
Tim Steinbach
52a4fd27ad linux: 5.4.17 -> 5.4.18 2020-02-10 07:23:47 -05:00
Tim Steinbach
dbe1298499 linux: 4.19.101 -> 4.19.102 2020-02-10 07:23:47 -05:00
Tim Steinbach
bf5dafd093 linux: 4.14.169 -> 4.14.170 2020-02-10 07:23:47 -05:00
Florian Klink
3b5d08f5b8 Merge pull request #79657 from risicle/ris-feedgen-0.9.0-r19.09
[r19.09] pythonPackages.feedgen: 0.7.0 -> 0.9.0, addressing CVE-2020-5227
2020-02-10 00:20:17 +01:00
Florian Klink
b628807f61 Merge pull request #79645 from risicle/ris-libexif-CVE-2019-9278-r19.09
[r19.09] libexif: add patch for CVE-2019-9278
2020-02-10 00:18:44 +01:00
Hernawan Faïz Abdillah
2e3c162df5 librepcb: Fix platform plugin xcb not found
(cherry picked from commit 2d4ee40176)
2020-02-09 16:20:46 -05:00
Robert Scott
81970b598f pythonPackages.feedgen: 0.7.0 -> 0.9.0 (security)
addressing CVE-2020-5227
2020-02-09 20:59:25 +00:00
Robert Scott
19053055e2 libexif: add patch for CVE-2019-9278
no upstream release with this yet

(cherry picked from commit db8434a694)
2020-02-09 18:28:41 +00:00
Wael Nasreddine
018a6fd8b5 Merge pull request #79513 from Frostman/stable-go-bump
[19.09] go_1_13: 1.13.1 -> 1.13.7, go_1_12: 1.12.9 -> 1.12.16 (backport)
2020-02-09 09:34:58 -08:00
Vladimír Čunát
41597810a1 Merge branch 'staging-19.09' into release-19.09 2020-02-09 09:23:54 +01:00
Michael Weiss
ee5de7e032 Merge pull request #79458 from primeos/chromium-backport
[19.09] chromium: 79.0.3945.130 -> 80.0.3987.87 (backport)
2020-02-08 23:03:27 +01:00
Sergey Lukjanov
6a9e8e61da go_1_13: 1.13.6 -> 1.13.7
(cherry picked from commit 1092ba6d1a)
2020-02-08 11:45:39 -08:00
Sergey Lukjanov
8a335c6cae go_1_12: 1.12.15 -> 1.12.16
(cherry picked from commit 60bb60bab7)
2020-02-08 11:45:27 -08:00
zowoq
5496ad17df go_1_12: 1.12.10 -> 1.12.15
(cherry picked from commit 3e30f5610f)
2020-02-08 11:45:04 -08:00
zowoq
3ab3ddca53 go: 1.13.5 -> 1.13.6
(cherry picked from commit 116b5c5d56)
2020-02-08 11:44:55 -08:00
Andrew Childs
3ca1c936d9 go_1_12, go_1_13: skip TestExtraFiles on 32-bit arm (#76944)
The test is known to be flaky in some environments, and I'm seeing it
consistently in an armv7l-linux vm.

(cherry picked from commit ffd68f21e8)
2020-02-08 11:44:45 -08:00
R. RyanTM
a02d497730 go: 1.13.4 -> 1.13.5 (#75236)
(cherry picked from commit 85a369d427)
2020-02-08 11:44:31 -08:00
Diego Medina
71d15fa0f3 go: do not replace path to mime.types
(cherry picked from commit 051bc353d0)
2020-02-08 11:44:18 -08:00
Diego Medina
29cfe27c96 go: do not replace path to zoneinfo.zip
Prepend the nix path to the zoneinfo.zip file and keep the original alternatives
to allow go programs built using nix to run on non nix servers.

see https://github.com/NixOS/nixpkgs/issues/54603

(cherry picked from commit 5a0be78562)
2020-02-08 11:44:11 -08:00
R. RyanTM
35ff7a5c29 go: 1.13.3 -> 1.13.4
(cherry picked from commit eb87a73fe0)
2020-02-08 11:44:03 -08:00
R. RyanTM
ef02b4b9f4 go: 1.13.1 -> 1.13.3
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/go/versions

(cherry picked from commit c307ed8170)
2020-02-08 11:43:33 -08:00
Dima
60f61ee416 go_1_12: 1.12.9 -> 1.12.10
GO 1.12.10 has been released 5 days ago, so
bumping it in the hope that it also fixes some
flakey GC tests.

Also see https://github.com/NixOS/nixpkgs/pull/69359

(cherry picked from commit aa467810a5)
2020-02-08 11:42:53 -08:00
Daniel Frank
cae7840b76 doc: Add documentation for the new option to the Automatic Upgrades section
(cherry picked from commit 73220589e0)
2020-02-08 09:57:41 -05:00
Michael Weiss
81359c3ec1 chromium: 79.0.3945.130 -> 80.0.3987.87
https://chromereleases.googleblog.com/2020/02/stable-channel-update-for-desktop.html

This update includes 56 security fixes.

CVEs:
CVE-2020-6381 CVE-2020-6382 CVE-2019-18197 CVE-2019-19926 CVE-2020-6385
CVE-2019-19880 CVE-2019-19925 CVE-2020-6387 CVE-2020-6388 CVE-2020-6389
CVE-2020-6390 CVE-2020-6391 CVE-2020-6392 CVE-2020-6393 CVE-2020-6394
CVE-2020-6395 CVE-2020-6396 CVE-2020-6397 CVE-2020-6398 CVE-2020-6399
CVE-2020-6400 CVE-2020-6401 CVE-2020-6402 CVE-2020-6403 CVE-2020-6404
CVE-2020-6405 CVE-2020-6406 CVE-2019-19923 CVE-2020-6408 CVE-2020-6409
CVE-2020-6410 CVE-2020-6411 CVE-2020-6412 CVE-2020-6413 CVE-2020-6414
CVE-2020-6415 CVE-2020-6416 CVE-2020-6417

(cherry picked from commit 272041b85a)
2020-02-07 15:16:44 +01:00
Lancelot SIX
c49da6435f pythonPackages.django_2_2: 2.2.9 -> 2.2.10
See https://docs.djangoproject.com/en/2.2/releases/2.2.10/ for release
information

(cherry picked from commit 2c7f99a799)
2020-02-07 12:52:16 +01:00
Lancelot SIX
095f578c79 pythonPackages.django_1_11: 1.11.24 -> 1.11.28
See https://docs.djangoproject.com/en/1.11/releases/1.11.28/ for release
information

(cherry picked from commit 4fa2193cd6)
2020-02-07 12:51:40 +01:00
Bas van Dijk
2b688edc6a Merge pull request #79433 from basvandijk/fix-servant-docs-sha256-release-19.09
haskellPackages.servant: fix sha256 (release-19.09)
2020-02-07 10:24:48 +01:00
Bas van Dijk
5b906e1d99 haskellPackages.servant: fix sha256
My build server which isn't using cache.nixos.org discovered an
outdated hash in servant:

```
trying https://github.com/haskell-servant/servant/archive/v0.16.2.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   132    0   132    0     0    616      0 --:--:-- --:--:-- --:--:--   616
100  295k    0  295k    0     0   269k      0 --:--:--  0:00:01 --:--:--  384k
unpacking source archive /build/v0.16.2.tar.gz
hash mismatch in fixed-output derivation '/nix/store/i6qgxlqf599wl11rd44jasgmwb78wr6c-source':
  wanted: sha256:0kqglih3rv12nmkzxvalhfaaafk4b2irvv9x5xmc48i1ns71y23l
  got:    sha256:0xk3czk3jhqjxhy0g8r2248m8yxgvmqhgn955k92z0h7p02lfs89
```

(cherry picked from commit 1cbb793ec8)
2020-02-07 10:17:58 +01:00
Bas van Dijk
bcb79e4376 Merge pull request #79383 from basvandijk/libuv-1.34.2-staging-19.09
libuv: 1.32.0 -> 1.34.2 (cherry-pick on staging-19.09)
2020-02-07 08:28:06 +01:00
Bas van Dijk
54e54d60a7 libuv: 1.34.1 -> 1.34.2
(cherry picked from commit 21ad5c123b)
2020-02-06 22:14:22 +01:00
WilliButz
2de9367299 grafana: 6.6.0 -> 6.6.1
(cherry picked from commit 13305343f5)
2020-02-06 22:07:05 +01:00
R. RyanTM
a977e8a215 libuv: 1.34.0 -> 1.34.1
(cherry picked from commit 6a6ba8fbf9)
2020-02-06 20:49:06 +01:00
R. RyanTM
3937c7c0a1 libuv: 1.33.1 -> 1.34.0
(cherry picked from commit ef135db301)
2020-02-06 20:49:06 +01:00
R. RyanTM
72456e84a2 libuv: 1.32.0 -> 1.33.1
(cherry picked from commit 5728d7d0ae)
2020-02-06 20:49:05 +01:00
Frederik Rietdijk
217b773646 pythonPackages.pyopenssl: fix build, fixes #76879
(cherry picked from commit e279676f48)
2020-02-06 19:52:07 +01:00
Maximilian Bosch
0f5a37602d wireguard-tools: 1.0.20200121 -> 1.0.20200206
https://lists.zx2c4.com/pipermail/wireguard/2020-February/004963.html
(cherry picked from commit 92d6ffcb64)
2020-02-06 18:32:42 +01:00
Lancelot SIX
9af8512172 Merge pull request #79315 from Moredread/gogs-0.11.91-stable
(19.09) gogs: 0.11.86 -> 0.11.91, fixes CVE-2019-14544
2020-02-06 13:43:31 +01:00
André-Patrick Bubel
fe97c2bc29 gogs: 0.11.86 -> 0.11.91, fixes CVE-2019-14544
(cherry picked from commit 3cd72fbd76)
2020-02-06 08:24:02 +01:00
Maximilian Bosch
46347794a9 linuxPackages.wireguard: 0.0.20200128 -> 0.0.20200205
https://lists.zx2c4.com/pipermail/wireguard/2020-February/004962.html
(cherry picked from commit f8a0576f6c)
2020-02-05 16:58:32 +01:00
Graham Christensen
4ed88670c1 Merge pull request #79265 from tilpner/sudo-update-backport-19.09
[19.09] sudo: 1.8.30 -> 1.8.31
2020-02-05 09:37:40 -05:00
tilpner
3cac4ba382 sudo: 1.8.30 -> 1.8.31
(cherry picked from commit f58c90fa8d)
2020-02-05 15:09:47 +01:00
Lancelot SIX
8e46ed8cce Merge pull request #79257 from das-g/release-19.09_gdal-3.0.3
[19.09] gdal: 3.0.1 -> 3.0.3
2020-02-05 15:08:42 +01:00
Tim Steinbach
5ee0221ca9 linux: 4.9.212 -> 4.9.213 2020-02-05 08:37:11 -05:00
Tim Steinbach
69e5728611 linux: 4.4.212 -> 4.4.213 2020-02-05 08:37:11 -05:00
Graham Christensen
34b08ff838 Merge pull request #79261 from curiousleo/lorri-1.0-backport
lorri: unstable-2020-01-09 -> 1.0 (backport to release-19.09)
2020-02-05 08:34:18 -05:00
Leonhard Markert
f375592f36 lorri: unstable-2020-01-09 -> 1.0
(cherry picked from commit 42a2668eb0)
2020-02-05 13:04:03 +01:00
Raphael Das Gupta
931c6103f1 gdal: 3.0.1 -> 3.0.3
GDAL/OGR 3.0.3 contains bugfixes to be shipped with QGIS 3.10.2
(https://github.com/NixOS/nixpkgs/issues/78755)

See https://lists.osgeo.org/pipermail/qgis-developer/2020-January/060056.html
and https://blog.qgis.org/2020/01/24/public-service-announcement-update-to-the-latest-point-release-now/

(cherry picked from commit e8aa909fa7)
2020-02-05 01:18:17 +01:00
Michael Weiss
4e3aa3de41 Merge pull request #79225 from primeos/signal-desktop-backport
[19.09] signal-desktop: 1.30.0 -> 1.30.1 (backport)
2020-02-04 15:47:49 +01:00
Michael Weiss
841cc985f8 signal-desktop: 1.30.0 -> 1.30.1
Changelog: https://github.com/signalapp/Signal-Desktop/releases/tag/v1.30.1
(cherry picked from commit 6fd230f144)
2020-02-04 14:17:01 +01:00
Anders Kaseorg
14a7b01bbe openafs_1_8: 1.8.3 -> 1.8.5 (#75104)
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
(cherry picked from commit b661db12e8)
2020-02-03 23:32:04 -05:00
Vladimír Čunát
a7d55dd3b7 Merge branch 'staging-19.09' into release-19.09
x86_64-linux has rebuilt on Hydra; we probably don't need to wait
with this merge for others.
2020-02-03 15:06:00 +01:00
Mario Rodas
c544d8a3fc Merge pull request #79094 from NixOS/nodejs-stable-12.14.1
nodejs: v12.13.1 -> v12.14.1
2020-02-02 21:22:13 -05:00
Wout Mertens
1ada877ab9 nodejs-12_x: 12.13.1 -> 12.14.1
Copied hashes from master
2020-02-02 20:06:27 -05:00
Yannis Koutras
ea553d8c67 Merge pull request #79044 from tokudan/nextcloud-1608
nextcloud: 16.0.7 -> 16.0.8 [19.09]
2020-02-02 15:39:15 +01:00
Vladimír Čunát
6cff34d2c1 Merge branch 'release-19.09' into staging-19.09 2020-02-02 10:31:25 +01:00
Vladimír Čunát
876f6991a6 Merge #79052: libxml2: patch for CVE-2020-7595
(cherry picked from commit 3c46f9d63b)
2020-02-02 10:28:38 +01:00
Florian Klink
8b76b12520 gitlab: 12.7.4 -> 12.7.5
https://about.gitlab.com/releases/2020/01/31/gitlab-12-7-5-released/
(cherry picked from commit 0142bd49cc)
2020-02-02 09:57:18 +01:00
Franz Pletz
ae350f4452 Merge pull request #78972 from mweinelt/19.09/bird2.0.7
[19.09] bird2: 2.0.6 -> 2.0.7
2020-02-02 08:26:58 +00:00
worldofpeace
10e175a275 Merge pull request #73547 from ahiaao/qarte+fix-qt-platform-backport
quarte: use qt5’s mkDerivation and an other fix 19.09 backport
2020-02-01 21:20:06 -05:00
Vincent Laporte
723af8ffe5 qarte: use pyqt5_with_qtmultimedia
Otherwise, qarte fails at run-time with:

>     from PyQt5.QtMultimedia import QMediaPlayer
> ModuleNotFoundError: No module named 'PyQt5.QtMultimedia'

(cherry picked from commit ef15478313)
2020-02-01 17:35:45 -08:00
Vincent Laporte
090748277a qarte: use qt5’s mkDerivation
See #65399

(cherry picked from commit e063d084de)
2020-02-01 17:35:32 -08:00
Daniel Frank
dfc7cd88ea nextcloud: 16.0.7 -> 16.0.8 [19.09] 2020-02-01 22:13:54 +01:00
Tim Steinbach
7e1f60dfbb linux: 5.4.16 -> 5.4.17 2020-02-01 09:20:37 -05:00
Tim Steinbach
a67d5971dc linux: 4.19.100 -> 4.19.101 2020-02-01 09:20:37 -05:00
Florian Klink
11edc69ecd gitlab: 12.6.4 -> 12.7.4
- CVE-2020-7966
 - CVE-2020-8114
 - CVE-2020-7973
 - CVE-2020-6833
 - CVE-2020-7971
 - CVE-2020-7967
 - CVE-2020-7972
 - CVE-2020-7968
 - CVE-2020-7979
 - CVE-2020-7969
 - CVE-2020-7978
 - CVE-2020-7974
 - CVE-2020-7977
 - CVE-2020-7976
 - CVE-2019-16779
 - CVE-2019-18978
 - CVE-2019-16892

(cherry picked from commit cb02372211)
2020-02-01 13:56:07 +01:00
Florian Klink
2fa8395634 gitaly: 1.77.1 -> 1.83.0
(cherry picked from commit 968f7c2890)
2020-02-01 13:56:06 +01:00
Florian Klink
4cc414d3ac gitlab-workhorse: 8.18.0 -> 8.20.0
(cherry picked from commit d2e149584f)
2020-02-01 13:56:05 +01:00
Florian Klink
100bf0129d gitlab-shell: 10.3.0 -> 11.0.0
(cherry picked from commit 3f4d3dbc5f)
2020-02-01 13:56:05 +01:00
Vladimír Čunát
148632d172 Merge #78978: lua5: Fix src URLs
The rebuilds happen because changing the end-part of URL
changes the name of the resulting file as placed into nix store
(those names were wrong/confusing before this change)

(cherry picked from commit 31ab6fdec5)
2020-02-01 09:53:58 +01:00
worldofpeace
d3d2de8b99 Merge pull request #74711 from ahiaao/fix/irony-server-backport
irony-server: Fix build with 1.4.0 cmake files 19.09 backport
2020-02-01 02:01:40 -05:00
R. RyanTM
9a7b7d58fc bird2: 2.0.6 -> 2.0.7
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/bird/versions

(cherry picked from commit fd28a0abb0)
2020-01-31 23:43:11 +01:00
Michael Weiss
48e29aa8d8 Merge pull request #78603 from primeos/chromium-backport
[19.09] chromium: 79.0.3945.88 -> 79.0.3945.130 (backport)
2020-01-31 19:53:37 +01:00
Mario Rodas
6f61113415 Merge pull request #78727 from DavHau/nixos-19.09-bugfix-gunicorn
python3Packages.gunicorn: add setuptools
2020-01-31 06:40:15 -05:00
Tim Steinbach
f618cfbf45 jenkins: 2.204.1 -> 2.204.2 2020-01-30 16:42:25 -05:00
Tim Steinbach
8787a6a694 linux: 5.4.15 -> 5.4.16 2020-01-30 16:42:24 -05:00
Tim Steinbach
de04f24679 linux: 4.9.211 -> 4.9.212 2020-01-30 16:42:23 -05:00
Tim Steinbach
1f92916985 linux: 4.4.211 -> 4.4.212 2020-01-30 16:42:22 -05:00
Tim Steinbach
35c855ae12 linux: 4.19.98 -> 4.19.100 2020-01-30 16:42:21 -05:00
Tim Steinbach
85f843b2d7 linux: 4.14.167 -> 4.14.169 2020-01-30 16:42:20 -05:00
Jonathan Ringer
24a0d1d2cb python3Packages.gunicorn: add setuptools
(cherry picked from commit 353c83adde)
2020-01-30 16:40:00 +00:00
Maximilian Bosch
b1a1ada26d linuxPackages.wireguard: 0.0.20200121 -> 0.0.20200128
https://lists.zx2c4.com/pipermail/wireguard/2020-January/004905.html
(cherry picked from commit 0ab53979bc)
2020-01-30 16:28:33 +01:00
Maximilian Bosch
2ed9833451 matrix-synapse: 1.9.0 -> 1.9.1
https://github.com/matrix-org/synapse/releases/tag/v1.9.1
(cherry picked from commit 1f828b8e24)
2020-01-30 12:57:18 +01:00
Lancelot SIX
16ff9f62e7 cpio: 2.12 -> 2.13
See https://lists.gnu.org/archive/html/info-gnu/2019-11/msg00002.html
for release information.

Fixes CVE-2019-14866
2020-01-30 09:01:59 +01:00
Anders Kaseorg
1dadefec57 muse: Use wrapQtAppsHook.
Fixes this error:

qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could
be initialized. Reinstalling the application may fix this problem.

Aborted (core dumped)

Also, remove the unnecessary build input `gitFull`, and enable
parallel building.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
(cherry picked from commit 1bcb6fb027)
2020-01-29 18:46:52 -05:00
WilliButz
4fb1fd69e8 grafana: 6.5.3 -> 6.6.0
(cherry picked from commit c24688e787)
2020-01-29 14:10:12 +01:00
WilliButz
98d3f3c1ae grafana: 6.5.2 -> 6.5.3
(cherry picked from commit e0f9743c89)
2020-01-29 14:10:08 +01:00
Bas van Dijk
96af51f325 Merge pull request #78757 from knl/fix-timedate-tests-that-fail-as-of-2020
perlPackages.TimeDate: fix tests that fail as of 2020
2020-01-29 12:31:53 +01:00
Will Dietz
a9db788440 perlPackages.TimeDate: fix tests that fail as of 2020
(cherry picked from commit 336155cf3f)
2020-01-29 10:38:06 +01:00
obadz
e4105b542a Merge pull request #78752 from flokli/opensmtpd-CVE-2020-7247
[19.09] opensmtpd: apply patch for CVE-2020-7247.patch
2020-01-29 09:26:25 +00:00
Florian Klink
f5c74e62dc opensmtpd: apply patch for CVE-2020-7247.patch
Backport the fix included in the bump from 6.6.1p1 -> 6.6.2p1.

Master PR: https://github.com/NixOS/nixpkgs/pull/78741
2020-01-29 09:30:12 +01:00
Vladimír Čunát
6d9a4a615e Merge #75437: kramdown-rfc2629: init at 1.2.13
(cherry picked from commit b47ec9a6b3)
Re-tested it creates html on 19.09 as well.
2020-01-28 14:21:49 +01:00
Maximilian Bosch
c811124411 citrix_workspace_19_8_0: fix url
When a new version of the Citrix workspace app is released, there's no
versioned URL available. This means that as soon as a new version is
released, the homepage needs to be altered to ensure that the error
message from `requireFile` points to the proper download URL.

(cherry picked from commit 518b5ef0c9)
2020-01-28 10:52:40 +01:00
Niklas Hambüchen
845b911ac2 Merge pull request #78605 from nh2/19.09-youtube-dl-2020-01-24
[19.09] youtube-dl: 2019.11.05 -> 2020.01.24
2020-01-27 21:13:49 +01:00
Andrew Childs
cf669a884c ldc: fix build and skip impure test
Fixes #76973

This moves the path configuration to a separate derivation and skips
an impure test that depends on the current year.

(cherry picked from commit 4b102f0f07)

cc #78552

 Conflicts:
	pkgs/development/compilers/ldc/default.nix
2020-01-27 12:44:12 -05:00
Silvan Mosberger
274e095f76 Merge pull request #78025 from wamserma/minidlna-interval-backport
minidlna: provide configuration option for announce interval (backport)
2020-01-27 18:19:50 +01:00
Andrew Childs
1f9158a47a chromium: fix aarch64 build
The skia patch no longer applies, and is no longer necessary.

The current version of chromium doesn't build with gcc. This has been
fixed upstream[1] and could be backported, but switching aarch64 to
clang/llvm and making the build the same on all platforms is simpler.

[1] 9662ec8440

(cherry picked from commit 6ec5e745dc)
2020-01-27 14:29:49 +01:00
arcnmx
b53ed87091 youtube-dl: 2019.11.05 -> 2020.01.24
Fixes downloading from YouTube, see #78433.

(cherry picked from commit e0e2fd849a)
2020-01-27 14:20:45 +01:00
Michael Weiss
e7c07cc6a6 chromium: 79.0.3945.117 -> 79.0.3945.130
https://chromereleases.googleblog.com/2020/01/stable-channel-update-for-desktop_16.html

This update includes 11 security fixes.

CVEs: CVE-2020-6378 CVE-2020-6379 CVE-2020-6380 CVE-2020-0601
(cherry picked from commit cccfd1092f)
2020-01-27 14:09:52 +01:00
Ivan Kozik
330781f750 chromium: 79.0.3945.88 -> 79.0.3945.117
CVE-TBD: Use after free in audio

https://chromereleases.googleblog.com/2020/01/stable-channel-update-for-desktop.html
(cherry picked from commit b8fa6dd0ac)
2020-01-27 14:07:03 +01:00
Fabian Möller
299fbcbb8b snowman: use Qt mkDerivation
Fixes #78382
For #65399

(cherry picked from commit 82fbe42206)
2020-01-26 17:57:39 -05:00
Niklas Hambüchen
5e97c6f6f7 Merge pull request #78479 from veprbl/pr/CVE-2019-18218_url_fix
[19.09] file: fix download url for CVE-2019-18218
2020-01-26 21:35:12 +01:00
Symphorien Gibol
399c6ca77a heaptrack: wrap with wrapQtAppsHook
(cherry picked from commit 30c2ac9efa)
2020-01-26 19:00:27 +01:00
Dmitry Kalinkin
5c39e8c8ad file: fix download url for CVE-2019-18218 2020-01-26 11:20:13 -05:00
Tim Steinbach
53181ab49d linux: 5.4.14 -> 5.4.15
(cherry picked from commit 8250469517)
2020-01-26 10:24:25 -05:00
Vladimír Čunát
06a8388d16 Merge #78452: thunderbird*: 68.4.1 -> 68.4.2
(cherry picked from commit b200b6bea4)
Re-tested both on 19.09.
2020-01-26 11:49:13 +01:00
Mario Rodas
57c35c6300 Merge pull request #78099 from johanot/kubernetes-1.15.8
kubernetes: 1.15.6 -> 1.15.8
2020-01-25 03:27:40 -05:00
Florian Klink
17f02b52e6 Merge pull request #78428 from primeos/signal-desktop-backport
[19.09] signal-desktop: 1.29.6 -> 1.30.0 (backport)
2020-01-24 23:48:42 +01:00
Michael Weiss
770bc9fa43 signal-desktop: 1.29.6 -> 1.30.0
Changelog: https://github.com/signalapp/Signal-Desktop/releases/tag/v1.30.0
(cherry picked from commit 9cf50fa55c)
Reason: Avoid an expired (unusable) build in the stable release
(Signal-Desktop builds expire after 90 days).
2020-01-24 19:54:31 +01:00
worldofpeace
ff8a94790b signal-desktop: use autoPatchelfHook, wrap properly (#77850)
Most prominently we don't use `phases` because of https://github.com/NixOS/nixpkgs/issues/28910.
This is also problematic when using wrapGAppsHook.
In order to use wrapGAppsHook's automatic wrapping
(this was done manually before because there was no fixupPhase)
we need to install signal at lib/Signal instead of just into libexec.
That's because it would try to wrap .so files.

(cherry picked from commit 15e0b23f48)
2020-01-24 19:53:46 +01:00
Matthew O'Gorman
1baefff581 signal-desktop: add libappindicator-gtk3
(cherry picked from commit 17da09c2fa)
2020-01-24 19:53:12 +01:00
Tim Steinbach
554ab637bf linux: 5.4.13 -> 5.4.14 2020-01-24 11:43:49 -05:00
Tim Steinbach
874ce9ba0c linux: 4.9.210 -> 4.9.211 2020-01-24 11:43:48 -05:00
Tim Steinbach
9dc4d65b5e linux: 4.4.210 -> 4.4.211 2020-01-24 11:43:47 -05:00
Tim Steinbach
9ea39e7c84 linux: 4.19.97 -> 4.19.98 2020-01-24 11:43:46 -05:00
Tim Steinbach
e2aadcb30b linux: 4.14.166 -> 4.14.167 2020-01-24 11:43:42 -05:00
ahiaao
6b0212ae38 urweb: fix mysql include path 2020-01-24 15:31:48 +01:00
ahiaao
ceea5c2244 qt3: fix mysql include path 2020-01-24 15:31:48 +01:00
ahiaao
0b5e772a2e gerbil: fix mysql include path 2020-01-24 15:31:48 +01:00
ahiaao
3e8f1eea6b postfix: fix mysql include path 2020-01-24 15:31:48 +01:00
ahiaao
ad4d4d92ec exim: fix mysql include path 2020-01-24 15:31:48 +01:00
ahiaao
2ffe2a7539 tora: fix mysql include path 2020-01-24 15:31:48 +01:00
ahiaao
7a5e7b2005 clsql: fix mysql include path 2020-01-24 15:31:48 +01:00
ahiaao
c3c90b6374 poco: fix mysql include path 2020-01-24 15:31:48 +01:00
ahiaao
8d775aad7f cppdb: fix mysql include path 2020-01-24 15:31:48 +01:00
ahiaao
a6ed23589a grass: fix mysql include path 2020-01-24 15:31:48 +01:00
Dmitry Kalinkin
e6391b4389 cernlib: add src mirror url
(cherry picked from commit f4131d260d)
2020-01-23 15:06:51 -05:00
Maximilian Bosch
b11d3c1d04 matrix-synapse: 1.8.0 -> 1.9.0
https://github.com/matrix-org/synapse/releases/tag/v1.9.0
(cherry picked from commit 6930a1602c)
2020-01-23 18:07:51 +01:00
Maximilian Bosch
a0fedb1107 grafana-loki: build w/go113 2020-01-23 00:39:59 +01:00
WilliButz
49314897be grafana-loki: 1.2.0 -> 1.3.0, patch distributor test
Only include the loopback interface "lo" in the lifecycler configuration
of the distributor test.

(cherry picked from commit 96de24cfdb)
2020-01-23 00:31:24 +01:00
Andrew Childs
ffa8d53e54 chatterino2: use mkDerivation from qt
(cherry picked from commit 7e0dd3833d)
2020-01-22 17:14:01 -05:00
Maximilian Bosch
ada97121b7 linuxPackages.wireguard: 0.0.20200105 -> 0.0.20200121
https://lists.zx2c4.com/pipermail/wireguard/2020-January/004870.html
(cherry picked from commit 5a8e936da8)
2020-01-22 22:01:55 +01:00
Maximilian Bosch
d3c483940a wireguard-tools: 1.0.20200102 -> 1.0.20200121
https://lists.zx2c4.com/pipermail/wireguard/2020-January/004869.html
(cherry picked from commit dea2f98262)
2020-01-22 22:01:55 +01:00
Florian Klink
0d3b157898 Merge pull request #78245 from srhb/ceph-volume-1909
Backport [19.09]: ceph: Bring back ceph-volume
2020-01-22 18:00:26 +01:00
Sarah Brofeldt
6396114f58 ceph: Bring back ceph-volume
(cherry picked from commit 585ac580df)
2020-01-22 12:27:26 +01:00
Jonathan Ringer
0fe895ae11 pythonPackages.pycurl: disable flakey memory tests
(cherry picked from commit 95e3e3e0a8)
2020-01-22 01:03:21 -08:00
Andreas Rammhold
5d6da42cf7 Merge pull request #78162 from andir/19.09/firefox
[19.09] firefox, firefox-bin: 72.0.1 -> 72.0.2, firefox-esr: 68.4.1esr -> 68.4.2esr
2020-01-21 15:20:48 +01:00
taku0
3e48a08ee6 firefox-bin: 72.0.1 -> 72.0.2
(cherry picked from commit 7187891a17)
2020-01-21 14:55:55 +01:00
taku0
f387f7c785 firefox: 72.0.1 -> 72.0.2
(cherry picked from commit 57aed520d8)
2020-01-21 14:55:55 +01:00
taku0
4c138778e0 firefox-esr: 68.4.1esr -> 68.4.2esr
(cherry picked from commit 249e3d0ef3)
2020-01-21 14:55:55 +01:00
Eduardo Quiros
333c287a4f Add myself to maintainers list.
This fixes eval that 7cb915305d broke.

(cherry picked from commit 4f8e9b2d13)
2020-01-21 14:55:14 +01:00
Mario Rodas
4efac13c00 matomo: 3.13.0 -> 3.13.1
backport of 26c3e67ea4
2020-01-20 19:58:08 -05:00
Eduardo Quiros
7cb915305d vim: 8.1.2407 -> 8.2.0013
(cherry picked from commit 3e50d4a6f3)
2020-01-20 14:16:53 -05:00
R. RyanTM
d50c6b36bc vimHugeX: 8.1.2237 -> 8.1.2407
(cherry picked from commit f45df9cd47)
2020-01-20 14:16:52 -05:00
R. RyanTM
7d3a3b0662 vim: 8.1.2188 -> 8.1.2237
(cherry picked from commit 02c3bcee61)
2020-01-20 14:16:51 -05:00
R. RyanTM
31077dac78 vim: 8.1.1967 -> 8.1.2188
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/vim/versions

(cherry picked from commit bacc6dcd56)
2020-01-20 14:16:44 -05:00
worldofpeace
383ad0933a Merge pull request #78028 from ivan/unmaintain-some-19.09
[19.09] Remove myself from maintainers on some packages
2020-01-20 13:50:05 -05:00
Johan Thomsen
390425f147 kubernetes: 1.15.6 -> 1.15.8 2020-01-20 12:45:49 +01:00
Florian Klink
66098b5662 Merge pull request #77998 from flokli/19.09-e2fsprogs-1.45.4
[19.09] e2fsprogs: 1.45.3 -> 1.45.4
2020-01-19 21:59:55 +01:00
worldofpeace
45931aa395 Merge branch 'release-19.09' into staging-19.09 2020-01-19 15:46:23 -05:00
Jan Tojnar
d14cea0dec Merge pull request #73276 from wamserma/r19.09-guake-add-setuptools
Merge pull request #73250 from wamserma/guake-add-setuptools
2020-01-19 15:37:33 +01:00
Ivan Kozik
14361f7b68 Remove myself from maintainers on some packages 2020-01-19 14:04:49 +00:00
Markus S. Wamser
587b451bcf minidlna: provide configuration option for announce interval
Signed-off-by: Markus S. Wamser <github-dev@mail2013.wamser.eu>
2020-01-19 14:09:57 +01:00
R. RyanTM
2a65776d10 e2fsprogs: 1.45.3 -> 1.45.4
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/e2fsprogs/versions

(cherry picked from commit eff7a160c2)
2020-01-19 00:29:51 +01:00
Tim Steinbach
5b9eee22ac linux: 5.4.12 -> 5.4.13 2020-01-18 11:56:25 -05:00
Tim Steinbach
9ab96fc863 linux: 4.19.96 -> 4.19.97 2020-01-18 11:56:24 -05:00
Tim Steinbach
9b8db97459 linux: 4.14.165 -> 4.14.166 2020-01-18 11:56:23 -05:00
Jan Tojnar
d1265562b4 doc: Make callout marks in code unselectable
To make example copying easier.

(cherry picked from commit 1e6265afe9)
2020-01-18 03:03:15 +01:00
Jan Tojnar
273f15c08e doc: Make prompt unselectable
Weirdly, no-one seems to have noticed this was broken.

(cherry picked from commit 8334b83595)
2020-01-18 03:03:13 +01:00
Niklas Hambüchen
63a3564987 Merge pull request #77605 from srhb/ceph-backport-14.2.6
Backport: Ceph 14.2.6
2020-01-18 02:14:57 +01:00
Gabriel Ebner
09aa1b23bb fish: fix systemctl completion 2020-01-17 21:21:46 +01:00
worldofpeace
b7e1cdd95a skanlite: don't set enableParallelBuilding
it's default on

(cherry picked from commit ac96ba0270)
2020-01-17 13:59:37 -05:00
worldofpeace
ed422d8513 skanlite: use qt5's mkDerivaiton
(cherry picked from commit 4b20959f99)
2020-01-17 13:59:36 -05:00
Michael Weiss
aa1151c0d9 Merge pull request #77949 from primeos/signal-desktop-backport
[19.09] signal-desktop: 1.29.5 -> 1.29.6 (backport)
2020-01-17 17:11:55 +01:00
rht
6a4a10ff78 signal-desktop: 1.29.5 -> 1.29.6
(cherry picked from commit e6ed469c09)
Reason: Avoid an expired (unusable) build in the stable release
(Signal-Desktop builds expire after 90 days).
2020-01-17 16:21:34 +01:00
Michael Weiss
d7292e785e Merge pull request #77849 from primeos/signal-desktop-backport
[19.09] signal-desktop: 1.29.4 -> 1.29.5 (backport)
2020-01-17 11:07:36 +01:00
Michael Raskin
e2b3f8b87e Merge pull request #77821 from taku0/flashplayer-32.0.0.314-release-19.09
[19.09] flashplayer: 32.0.0.293 -> 32.0.0.314
2020-01-17 06:50:21 +00:00
taku0
1cadf63aef flashplayer: 32.0.0.303 -> 32.0.0.314 2020-01-17 09:28:44 +09:00
Sergey Lukjanov
692a8cabbc iperf3: fix compilation to support authentication creds
Service iperf3 defines authorizedUsersFile and rsaPrivateKey to
enable authenticated iperf server. It requires iperf to be compiled
with openssl.

https://nixos.org/nixos/options.html#services.iperf3.authorizedusersfile
(cherry picked from commit eabc138cb9)
2020-01-17 01:00:19 +01:00
Michael Weiss
fdf7e83206 signal-desktop: 1.29.4 -> 1.29.5
Changelog: https://github.com/signalapp/Signal-Desktop/releases/tag/v1.29.5
(cherry picked from commit 8d5ec33939)
Reason: Avoid an expired (unusable) build in the stable release
(Signal-Desktop builds expire after 90 days).
2020-01-16 23:16:25 +01:00
Robin Gloster
5abac3c431 gitlab: fix asset building for CE
We have to specify if we're building CE or EE otherwise at least some JS
building was broken, resulting in e.g. broken "boards" pages.

(cherry picked from commit 6bf0ed8e02)
2020-01-16 20:24:07 +01:00
Thomas Tuegel
a3191211f8 Merge pull request #70738 from ttuegel/feature--release-19.09--breeze-plymouth-custom-logo
breeze-plymouth: allow custom logo (backport)
2020-01-16 09:58:08 -06:00
Silva Alejandro Ismael
31e6910042 nixos/zsh-syntax-highlighting: Fix highlighting when ohMyZsh is enabled
From https://github.com/zsh-users/zsh-syntax-highlighting#faq:

"It must be sourced after all custom widgets have been created
(i.e., after all zle -N calls and after running compinit)."

zsh-syntax-highlighting must be sourced to the end.

(cherry picked from commit 35ae47e44b)
2020-01-16 16:44:40 +01:00
x123
f69a5b291c use wrapQtAppsHook in xygrib
(cherry picked from commit 1ab7f242c5)
2020-01-15 15:40:26 +00:00
Tim Steinbach
70b2127c37 linux: 5.4.11 -> 5.4.12 2020-01-15 09:47:48 -05:00
Tim Steinbach
39bb20492d linux: 4.9.209 -> 4.9.210 2020-01-15 09:47:47 -05:00
Tim Steinbach
96b2c13b1e linux: 4.4.209 -> 4.4.210 2020-01-15 09:47:46 -05:00
Tim Steinbach
9b32c0943a linux: 4.19.95 -> 4.19.96 2020-01-15 09:47:45 -05:00
Tim Steinbach
a8dd89c9fc linux: 4.14.164 -> 4.14.165 2020-01-15 09:47:41 -05:00
Michael Weiss
ab2d845a86 Merge pull request #77754 from primeos/signal-desktop-backport
[19.09] signal-desktop: 1.29.3 -> 1.29.4 (backport)
2020-01-15 13:56:58 +01:00
Michael Weiss
ad7e2d6862 signal-desktop: 1.29.3 -> 1.29.4
Changelog: https://github.com/signalapp/Signal-Desktop/releases/tag/v1.29.4
(cherry picked from commit 0e817dacd8)
Reason: Avoid an expired (unusable) release in the stable release
(Signal-Desktop releases expire after 90 days).
2020-01-15 13:15:18 +01:00
Jörg Thalheim
e5874d024a nmapsi4: fix startup by adding wrapQtAppsHook
(cherry picked from commit 4d7da1d72d)
2020-01-15 10:59:17 +00:00
Florian Klink
f79f998f31 gitlab: 12.6.2 -> 12.6.4
(cherry picked from commit 57560cc028)
2020-01-15 01:01:37 +01:00
Florian Klink
644e25f752 gitaly: a4b6c71d4b7c1588587345e2dfe0c6bd7cc63a83 -> 1.77.1
(cherry picked from commit e1e61f31a3)
2020-01-15 01:01:37 +01:00
Daniel Kuehn
87c5282f7a nixos/ceph: Rename old ceph test and add new multi-node test to all-tests.nix
(cherry picked from commit 5fbf0cf5ce)
2020-01-14 19:16:19 +01:00
Martin Weinelt
644045de8b piper: 0.2.903 -> 0.2.905 (#77551)
Piper is a frontend for libratbag and their versions need to be kept
in sync for piper to work.

Fixes #76695
2020-01-14 18:09:57 +01:00
Sarah Brofeldt
73475e9664 nixos/tests/ceph: Perl test fixup for 3 osds 2020-01-13 21:01:32 +01:00
Daniel Kuehn
9fdba84c07 nixos/ceph: Rewrite old single-node test with new framework
(cherry picked from commit 6ac9d1fbdc)
2020-01-13 20:34:28 +01:00
Daniel Kuehn
e4c2df3cee nixos/ceph: Rename old ceph test and add new multi-node test
Rename the old ceph test to ceph-single-node and add a new test
ceph-multi-node. The ceph-single-node represents a dev cluster whereas
ceph-multi-node is closer to a prod cluster.

(cherry picked from commit 916520151e)
2020-01-13 20:32:50 +01:00
Vladimír Čunát
d8d882e997 Merge branch 'staging-19.09' into release-19.09 2020-01-13 20:10:30 +01:00
Vladimír Čunát
fb6a164d8f Merge #77528: chromium: 79.0.3945.79 -> 79.0.3945.88
...into release-19.09
2020-01-13 20:05:33 +01:00
Trolli Schmittlauch
1f0b057f86 cawbird: 1.0.2 -> 1.0.4
fixes a crash caused by invalid Twitter API data

(cherry picked from commit e86c767ee1)
2020-01-13 10:05:17 -08:00
Robin Gloster
81101ce9d1 Merge pull request #77556 from lheckemann/fix-wpa-multiple
[19.09] nixos/wpa_supplicant: fix use with multiple interfaces
2020-01-13 12:08:09 +01:00
Dmitry Kalinkin
eb65d1dae6 rivet: fix patch url
The old url is now broken. The new patch uses the new git repository.

(cherry picked from commit 592e750e2e)
2020-01-13 10:34:45 +00:00
Jörg Thalheim
02aa8f8c0a Merge pull request #77603 from c0deaddict/fix/gitea-typo-release-19.09
nixos/gitea: fix typo
2020-01-13 10:01:44 +00:00
WilliButz
ad1d9e6cb1 grafana: 6.5.1 -> 6.5.2
(cherry picked from commit 95553b2cfd)
2020-01-13 10:35:56 +01:00
Jos van Bakel
f9ab4936ec nixos/gitea: fix typo 2020-01-13 10:09:45 +01:00
Sarah Brofeldt
938da23f97 ceph: 14.2.5 -> 14.2.6
(cherry picked from commit fe4d213091)
2020-01-13 08:57:34 +01:00
Sarah Brofeldt
543f12cb34 ceph: 14.2.4 -> 14.2.5
(cherry picked from commit c373fc3b80)
2020-01-13 08:30:45 +01:00
Florian Klink
23a6575e23 ceph: fix build and cleanup expression
correct platforms. ceph currently doesn't build on aarch64-linux. So
let's not lie in meta.platforms.

ceph: fix multiple output
We currently just move $out/share/ceph/mgr to
$lib/lib/ceph, and then remove all references to $out with a find
command.

I checked $out, the only reference to $out is in
$lib/lib/ceph/libceph-common.so.0, coming from src/common/options.cc:
https://github.com/ceph/ceph/blob/master/src/common/options.cc#L5050:

>  Option("mgr_module_path", Option::TYPE_STR, Option::LEVEL_ADVANCED)
>  .set_default(CEPH_DATADIR "/mgr")
>  .add_service("mgr")
>  .set_description("Filesystem path to manager modules."),

Just removing the reference might break some behaviour - it should point
to $lib/ceph/mgr instead.

We can fix this in a much more elegant fashion by just passing a custom
CMAKE_INSTALL_DATADIR to the build system.

ceph: fix outdated Boost::python substitutions

Instead of substituting in CMakeLists.txt files, one now needs to set
MGR_PYTHON_VERSION.

ceph: clean up PYTHONPATH wrapping

Set `pythonPath` instead of exporting PYTHONPATH.

Use `toPythonPath` to construct the PYTHONPATH where we need manual
wrapping. There's no ceph-volume, only ceph-mgr.

ceph: set doCheck = false explicitly

and describe why.

ceph: patch more shebangs

ceph: use system-provided gtest and rocksdb
(cherry picked from commit 05590b3efd)
2020-01-13 08:30:45 +01:00
Florian Klink
0f48aae695 rocksdb: enable USE_RTTI=1
This is required for programs using rocksdb and and typeinfo.

Otherwise, linking them fails with errors like this (that's ceph):

/nix/store/cg0k49h66nkdqx6ccwnqr0i4q0fnfznc-binutils-2.31.1/bin/ld: ../../lib/libos.a(RocksDBStore.cc.o):(.data.rel.ro._ZTIN12RocksDBStore14RocksWBHandlerE[_ZTIN12RocksDBStore14RocksWBHandlerE]+0x10): undefined reference to `typeinfo for rocksdb::WriteBatch::Handler'
/nix/store/cg0k49h66nkdqx6ccwnqr0i4q0fnfznc-binutils-2.31.1/bin/ld: ../../lib/libos.a(RocksDBStore.cc.o):(.data.rel.ro._ZTIN12RocksDBStore19MergeOperatorRouterE[_ZTIN12RocksDBStore19MergeOperatorRouterE]+0x10): undefined reference to `typeinfo for rocksdb::AssociativeMergeOperator'
/nix/store/cg0k49h66nkdqx6ccwnqr0i4q0fnfznc-binutils-2.31.1/bin/ld: ../../lib/libos.a(RocksDBStore.cc.o):(.data.rel.ro._ZTIN12RocksDBStore19MergeOperatorLinkerE[_ZTIN12RocksDBStore19MergeOperatorLinkerE]+0x10): undefined reference to `typeinfo for rocksdb::AssociativeMergeOperator'
/nix/store/cg0k49h66nkdqx6ccwnqr0i4q0fnfznc-binutils-2.31.1/bin/ld: ../../lib/libos.a(RocksDBStore.cc.o):(.data.rel.ro._ZTI17CephRocksdbLogger[_ZTI17CephRocksdbLogger]+0x10): undefined reference to `typeinfo for rocksdb::Logger'
/nix/store/cg0k49h66nkdqx6ccwnqr0i4q0fnfznc-binutils-2.31.1/bin/ld: ../../lib/libos.a(BlueRocksEnv.cc.o):(.data.rel.ro._ZTI12BlueRocksEnv[_ZTI12BlueRocksEnv]+0x10): undefined reference to `typeinfo for rocksdb::EnvWrapper'
/nix/store/cg0k49h66nkdqx6ccwnqr0i4q0fnfznc-binutils-2.31.1/bin/ld: ../../lib/libos.a(BlueRocksEnv.cc.o):(.data.rel.ro._ZTI23BlueRocksSequentialFile[_ZTI23BlueRocksSequentialFile]+0x10): undefined reference to `typeinfo for rocksdb::SequentialFile'
/nix/store/cg0k49h66nkdqx6ccwnqr0i4q0fnfznc-binutils-2.31.1/bin/ld: ../../lib/libos.a(BlueRocksEnv.cc.o):(.data.rel.ro._ZTI25BlueRocksRandomAccessFile[_ZTI25BlueRocksRandomAccessFile]+0x10): undefined reference to `typeinfo for rocksdb::RandomAccessFile'
/nix/store/cg0k49h66nkdqx6ccwnqr0i4q0fnfznc-binutils-2.31.1/bin/ld: ../../lib/libos.a(BlueRocksEnv.cc.o):(.data.rel.ro._ZTI21BlueRocksWritableFile[_ZTI21BlueRocksWritableFile]+0x10): undefined reference to `typeinfo for rocksdb::WritableFile'
/nix/store/cg0k49h66nkdqx6ccwnqr0i4q0fnfznc-binutils-2.31.1/bin/ld: ../../lib/libos.a(BlueRocksEnv.cc.o):(.data.rel.ro._ZTI17BlueRocksFileLock[_ZTI17BlueRocksFileLock]+0x10): undefined reference to `typeinfo for rocksdb::FileLock'

(cherry picked from commit 781d85c69a)
2020-01-13 08:30:45 +01:00
Tim Steinbach
4ef769efa8 linux: 5.4.10 -> 5.4.11 2020-01-12 16:46:35 -05:00
Tim Steinbach
2a5b46aff9 linux: 4.9.208 -> 4.9.209 2020-01-12 16:46:34 -05:00
Tim Steinbach
1125f823fe linux: 4.4.208 -> 4.4.209 2020-01-12 16:46:33 -05:00
Tim Steinbach
66f350da5e linux: 4.19.94 -> 4.19.95 2020-01-12 16:46:32 -05:00
Tim Steinbach
d8ec434f6e linux: 4.14.163 -> 4.14.164 2020-01-12 16:46:31 -05:00
Franz Pletz
95361984e6 Merge pull request #77547 from scaredmushroom/minetest_release-19.09
backport: minetest 5.0.1 -> 5.1.0
2020-01-12 16:32:00 +00:00
Linus Heckemann
47e03159da nixos/wpa_supplicant: fix #61391 2020-01-12 13:54:12 +01:00
MicrosoftTakeover
3c85582be2 minetest 5.0.1 -> 5.1.0
(cherry picked from commit 8479d2b54d)
2020-01-12 10:56:19 +01:00
Daiderd Jordan
101fa7988d darwin.CF: fix retry condition (close PR #75528)
Using a function in an if condition when set -e is set doesn't seem to
break out or return false which means the workaround from 41ca86129f
never gets triggered.

(cherry picked from commit d5d8b3514d)
2020-01-12 10:19:36 +01:00
Andreas Rammhold
5dc4d071ff Merge pull request #77531 from mweinelt/powercap-19.09
[19.09] kernel: set POWERCAP and INTEL_RAPL
2020-01-12 03:06:03 +01:00
Michael Peyton Jones
a347f0fa9c kernel: set POWERCAP and INTEL_RAPL
These enable some power management settings. They are needed for [s-tui
to show power readings](https://github.com/amanusk/s-tui/issues/105).

The values chosen here match what Arch Linux has. In particular
the Intel specific code is loadable as a module rather than compiled in.

(cherry picked from commit 299e6f07d2)
2020-01-11 23:34:48 +01:00
Vladimír Čunát
0e7a9f7370 Merge #77499: thunderbird*: 68.3.0 -> 68.4.1 (security)
https://www.thunderbird.net/en-US/thunderbird/68.4.1/releasenotes/
https://www.mozilla.org/en-US/security/advisories/mfsa2020-04/

(cherry picked from commit a1d4878723)
Re-tested both briefly on 19.09
2020-01-11 23:05:29 +01:00
Ivan Kozik
f6047ce64e chromium: 79.0.3945.79 -> 79.0.3945.88
https://chromereleases.googleblog.com/2019/12/stable-channel-update-for-desktop_17.html

CVE-2019-13767
2020-01-11 22:17:17 +01:00
Graham Christensen
7d6f054cbc Merge pull request #75713 from ivan/chromium-79.0.3945.79-for-19.09
[19.09] chromium: 78.0.3904.108 -> 79.0.3945.79
2020-01-11 16:02:23 -05:00
Matthew Bauer
0e7f6819f5 Merge branch 'revert-add-doc-to-ghc-wrapper' into release-19.09 2020-01-11 14:32:58 -05:00
Matthew Bauer
2395ac641b Revert "add doc to ghc wrapper"
This reverts commit 93aabab760.
This reverts commit e915608618.

Based on change in master at d1bd0fbfcc
opened in https://github.com/NixOS/nixpkgs/pull/77442
2020-01-11 14:30:09 -05:00
Vladimír Čunát
8c96cdf8e8 Merge #77366: libxml2: patch CVE-2019-19956
... into staging-19.09
2020-01-11 11:03:30 +01:00
Vladimír Čunát
2040145e56 Merge branch 'release-19.09' into staging-19.09 2020-01-11 11:03:22 +01:00
Vladimír Čunát
f7d050ed4e openssl_1_0_2: 1.0.2t -> 1.0.2u (low-severity security)
Fixes #77266: CVE-2019-1551
https://www.openssl.org/news/secadv/20191206.txt
2020-01-11 10:24:58 +01:00
R. RyanTM
c16dd6d9ce wolfssl: 4.2.0 -> 4.3.0
(cherry picked from commit 0d9600f2df)
2020-01-10 20:20:49 -05:00
R. RyanTM
c961094d91 joker: 0.12.7 -> 0.14.0
(cherry picked from commit 174190dae1)
2020-01-10 20:13:55 -05:00
Andreas Rammhold
01423cbae4 Merge pull request #71271 from danderson/release-19.09
[19.09] nixos/pppd: init
2020-01-10 23:07:23 +01:00
Florian Klink
d5d1126c42 Merge pull request #77432 from curiousleo/nixos-19.09-update-lorri
lorri: unstable-2019-10-30 -> unstable-2020-01-09 (backport to release-19.09)
2020-01-10 21:13:11 +01:00
Andreas Rammhold
aecd49c2c7 Merge pull request #77464 from flokli/19.09-icecat-mark-insecure
[19.09] firefoxPackages.icecat: mark as insecure
2020-01-10 20:27:03 +01:00
Florian Klink
7b5a1c9e48 firefoxPackages.icecat: mark as insecure
It's based on 60.3.0, whose support ended around October 2019.

(cherry picked from commit 0e75514442)
2020-01-10 20:23:30 +01:00
Emily
a4e4824e75 tor-browser-bundle-bin: 9.0.3 -> 9.0.4
(cherry picked from commit 05c0695c6b)
2020-01-10 19:02:31 +00:00
Florian Klink
dfb4495f63 Merge pull request #77456 from flokli/19.09-tor-mark-insecure
[19.09] firefoxPackages.tor-browser*: mark as vulnerable
2020-01-10 20:00:36 +01:00
Florian Klink
86199366b7 firefoxPackages.tor-browser*: mark as vulnerable
They both base on firefox versions where support has ended some time
ago. With CVE-2019-17026 (and other vulnerabilities) out and exploited
in the wild, these should not be used anymore. tor-browser-bundle-bin is
a better alternative.
2020-01-10 19:37:28 +01:00
Leonhard Markert
80d1b7de16 lorri: unstable-2019-10-30 -> unstable-2020-01-09
`rustfmt` is now a compile time dependency because the varlink generated
code is formatted with it.

(cherry picked from commit c976dc165b)
2020-01-10 17:16:12 +01:00
Vladimír Čunát
2fab43b409 firefox-esr-60: mark as vulnerable
The last release was in September, so it's surely "vulnerable" now.
https://www.mozilla.org/en-US/firefox/60.9.0/releasenotes/

This is the same appproach we've taken for esr-52.

(cherry picked from commit f703a3a04a)
2020-01-10 17:09:21 +01:00
Denys Pavlov
b9d8057840 nixos/powertop: wait for hardware to initialize
We should wait until after `multi-user.target` is triggered to allow
hardware to finish initializing, such as network devices and USB drives.
This ensures `powertop --auto-tune` sets more tunables to "Good".

Fixes #66820
2020-01-10 15:26:53 +00:00
Franz Pletz
f0bcd0da1c Merge pull request #77345 from markuskowa/upd-bind-19.09
[19.09] bind: 9.14.8 -> 9.14.9
2020-01-10 14:09:51 +00:00
adisbladis
9f453eb97f Merge pull request #77420 from endgame/melpa-2020-01-08
melpa-packages: 2020-01-08
2020-01-10 09:04:32 +00:00
adisbladis
4c3e119fca melpa-packages: 2020-01-08 2020-01-10 14:20:29 +10:00
Tim Steinbach
0a8cd31256 linux: 5.4.8 -> 5.4.10 2020-01-09 20:58:57 -05:00
Tim Steinbach
35adb190d2 linux: 4.19.93 -> 4.19.94 2020-01-09 20:58:56 -05:00
Tim Steinbach
7fcd7aace7 linux: 4.14.162 -> 4.14.163 2020-01-09 20:58:55 -05:00
Vladimír Čunát
7fa2160f73 ppp: remove falsifian from meta.maintainers
(cherry picked from commit 9e0c8f0cbe)
I think it's better to reflect the status quo in 19.09 as well.
2020-01-09 22:56:30 +01:00
Frederik Rietdijk
caad1a78c4 pythonPackages.odo: disable tests, fix build 2020-01-09 17:49:36 +01:00
Frederik Rietdijk
2cb57497de pythonPackages.blaze: fix build 2020-01-09 17:49:36 +01:00
Florian Klink
fe6cd5a9e0 Merge pull request #77374 from tokudan/1909-ffbin7201
firefox-bin: 72.0 -> 72.0.1 [security] CVE-2019-17026 [19.09]
2020-01-09 17:48:52 +01:00
Maximilian Bosch
f2b2cad927 matrix-synapse: 1.7.3 -> 1.8.0
https://github.com/matrix-org/synapse/releases/tag/v1.8.0
(cherry picked from commit 9d845d41c3)
2020-01-09 17:06:00 +01:00
Daniel Frank
af4d6c235f firefox-bin: 72.0 -> 72.0.1 [security] CVE-2019-17026
(cherry picked from commit 0271b2c9a0)
2020-01-09 15:15:12 +01:00
Markus Kowalewski
4bbd82f1ad libxml: add patch for CVE-2019-19956
See https://nvd.nist.gov/vuln/detail/CVE-2019-19956
2020-01-09 13:33:33 +01:00
Eelco Dolstra
9175907322 Merge pull request #77349 from andir/19.09-firefox72
[19.09] firefox: 72.0 -> 72.0.1
2020-01-09 09:40:05 +01:00
Domen Kožar
b047b7315d duplicati: 2.0.4.5 -> 2.0.4.23
(cherry picked from commit 6cd31dd525)
Signed-off-by: Domen Kožar <domen@dev.si>
2020-01-09 07:41:04 +01:00
Silvan Mosberger
86bbfc0f43 lib/types: Fix path type check
Previously when this function was called without a value coercible to a
string it would throw an error instead of returning false. Now it does.

As a result this now allows the use of a type like `either path attrs`
without it erroring out when a definition is an attribute set.

The warning about there not being a isPath primop was removed because
this is not the case anymore, there is builtins.isPath. But also there
always was `builtins.typeOf x == "path"` that could've been used
instead. However the path type now stands for more than just path types,
but absolute paths in general.

(cherry picked from commit d7a109b59f)

See https://github.com/NixOS/nixpkgs/pull/76861#issuecomment-571643864
for why this is cherry-picked
2020-01-09 00:03:39 +01:00
Andreas Rammhold
8141b69dca firefox: fix build of >=72 on aarch64
(cherry picked from commit b4983fe20b)
2020-01-08 23:51:20 +01:00
Andreas Rammhold
1cedf06c09 firefox-esr-68: 68.4.0esr -> 68.4.1esr
(cherry picked from commit 204d32a746)
2020-01-08 23:51:14 +01:00
Andreas Rammhold
71b2829106 firefox: 72.0 -> 72.0.1
(cherry picked from commit aab1f2dfe2)
2020-01-08 23:51:05 +01:00
R. RyanTM
90b5bae0a2 bind: 9.14.8 -> 9.14.9
(cherry picked from commit 603e3b1345)
2020-01-08 23:32:20 +01:00
Sander van der Burg
0f01a77f87 disnix: 0.9 -> 0.9.1
(cherry picked from commit 3f0fee752d)
2020-01-08 22:14:05 +01:00
Andreas Rammhold
db5273ce2a Merge pull request #77292 from andir/19.09-firefox72
[19.09] firefox: 71.0 -> 72.0
2020-01-08 20:24:39 +01:00
Andreas Rammhold
18e4675e85 firefox-esr-68: 68.3.0esr -> 68.4.0esr
(cherry picked from commit 2ad59bdf8c)
2020-01-08 19:53:22 +01:00
Eelco Dolstra
543b12a47b nix: 2.3.1 -> 2.3.2
(cherry picked from commit 3b15451291)
2020-01-08 19:25:36 +01:00
worldofpeace
df19be8baf swiftclient: add setuptools
Traceback (most recent call last):
  File "/nix/store/8qkdlyv2ckrimvi50qvl0anzv66jcp2j-python-swiftclient-3.6.0/bin/.swift-wrapped", line 7, in <module>
    from swiftclient.shell import main
  File "/nix/store/8qkdlyv2ckrimvi50qvl0anzv66jcp2j-python-swiftclient-3.6.0/lib/python3.7/site-packages/swiftclient/__init__.py", line 20, in <module>
    from .client import *  # noqa
  File "/nix/store/8qkdlyv2ckrimvi50qvl0anzv66jcp2j-python-swiftclient-3.6.0/lib/python3.7/site-packages/swiftclient/client.py", line 33, in <module>
    from swiftclient import version as swiftclient_version
  File "/nix/store/8qkdlyv2ckrimvi50qvl0anzv66jcp2j-python-swiftclient-3.6.0/lib/python3.7/site-packages/swiftclient/version.py", line 15, in <module>
    import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'

(cherry picked from commit dfd115a116)
2020-01-08 11:08:11 -05:00
Vladimír Čunát
3ad0990bee gdk-pixbuf: upstream patch to fix the nixos test
(cherry picked from commit 754d02df72)
It's safe: it just installs a new file into otherwise unused output.
Tested nixos.tests.gdk-pixbuf.x86_64-linux
2020-01-08 16:58:11 +01:00
adisbladis
ac218438bd python: Add support for installing Python eggs
(cherry picked from commit 2d6f1ff4dd)
2020-01-08 14:25:34 +00:00
Sarah Brofeldt
9f958a0b1b Merge pull request #77313 from srhb/backport-kafka-fix
apache-kafka.nix: Add missing quote inside tmpfiles rule
2020-01-08 14:45:52 +01:00
Clemens Fruhwirth
7645de25c2 apache-kafka.nix: Add missing quote inside tmpfiles rule
(cherry picked from commit 39cd4574aa)
Backport of #75182
2020-01-08 13:59:04 +01:00
Vladimír Čunát
67584243c8 Merge branch 'staging-19.09' into release-19.09 2020-01-08 12:47:29 +01:00
Andrew Valencik
904494c443 photoqt: use qt5's mkDerivation
(cherry picked from commit 787a7f6456)
2020-01-07 19:52:48 -05:00
Andreas Rammhold
b3b1248507 firefox-devedition-bin: 72.0b1 -> 73.0b1 2020-01-08 01:51:38 +01:00
Andreas Rammhold
7e9ecd74c3 firefox-beta-bin: 72.0b1 -> 73.0b1 2020-01-08 01:51:38 +01:00
Andreas Rammhold
cb0bbcd314 firefox-bin: 71.0 -> 72.0 2020-01-08 01:51:37 +01:00
Andreas Rammhold
658999d2fa firefox: 71.0 -> 72.0 2020-01-08 01:51:37 +01:00
Andreas Rammhold
11ed3aed4e firefox: prepare for firefox 72 2020-01-08 01:51:37 +01:00
Andreas Rammhold
8cab8e3aa1 nss_3_48: 3.47.1 -> 3.48 2020-01-08 01:51:37 +01:00
Andreas Rammhold
57f79dbd55 nspr: 4.23 -> 4.24 2020-01-08 01:51:36 +01:00
Andreas Rammhold
a013506910 sqlite: 3.30 -> 3.30.1 2020-01-08 01:51:36 +01:00
Matthew Bauer
fd4ccdbe3a Merge branch 'fix-doc-in-ghc-wrapper' into release-19.09 2020-01-07 00:27:13 -05:00
Matthew Bauer
93aabab760 haskell/with-packages-wrapper.nix: remove /bin symlink if it exists
The wrapper need a writable directory to work, so remove the symlink
to a read-only one if it occurs.
2020-01-06 18:25:50 -05:00
David Terry
d245ff1bb9 wireguard: 0.0.20191226 -> 0.0.20200105
https://lists.zx2c4.com/pipermail/wireguard/2020-January/004844.html
(cherry picked from commit ed72b90dd6)
2020-01-06 18:30:04 +01:00
WilliButz
8cc2b31514 nixos/oxidized: add missing slash to PIDFile path
(cherry picked from commit 482b39a7e5)
2020-01-06 17:02:32 +01:00
WilliButz
1f76a9b103 nixos/oxidized: specify PID file in service
(cherry picked from commit 727f2e9a3e)
2020-01-06 17:02:31 +01:00
Tim Steinbach
db3e8325a9 linux: 5.4.7 -> 5.4.8
(cherry picked from commit af5f1eb6c6)
2020-01-05 16:22:09 -05:00
Tim Steinbach
2634921844 linux: 4.19.92 -> 4.19.93
(cherry picked from commit 0afc8450fd)
2020-01-05 16:22:09 -05:00
nek0
b926503738 texstudio: fix missing xcb platform plugin error
(cherry picked from commit 8c42dbad30)
2020-01-05 08:15:50 +01:00
Alexandre Joannou
f99bc99a17 texstudio: fix qt wrapping and explicitly receive qt attributes (#73298)
(cherry picked from commit 4f9fae2e32)
2020-01-05 08:15:44 +01:00
markuskowa
5df05cbeeb Merge pull request #76836 from risicle/ris-cyrus-sasl-CVE-2019-19906-r19.09
[r19.09] cyrus_sasl: add patch for CVE-2019-19906
2020-01-04 21:24:45 +01:00
Wael Nasreddine
a3070689ae vim-plugins: direnv-vim: hardcode the default path to direnv (#76926) (#76951)
(cherry picked from commit 2f22e67c99)
2020-01-04 11:41:45 -08:00
Wael Nasreddine
559dfe485d vim-plugins: hashivim/vim-terraform: fix the filetypedetect autocmd (#76845) (#76950)
(cherry picked from commit fa92f00dc3)
2020-01-04 11:41:06 -08:00
Markus Kowalewski
54c9e1f53a wordpress: 5.2.4 -> 5.2.5 2020-01-04 18:32:54 +01:00
Tim Steinbach
ca8ea9c1a9 linux: 4.9.207 -> 4.9.208
(cherry picked from commit 30dd839181)
2020-01-04 10:21:47 -05:00
Tim Steinbach
9a5b52d7a9 linux: 4.4.207 -> 4.4.208
(cherry picked from commit 1b22badc24)
2020-01-04 10:21:46 -05:00
Tim Steinbach
e9b7412c24 linux: 4.14.161 -> 4.14.162
(cherry picked from commit bfb4661982)
2020-01-04 10:21:46 -05:00
zowoq
2bd5a20984 ffmpeg_2_8: 2.8.14 -> 2.8.15
(cherry picked from commit c13f1a508d)
2020-01-04 12:26:48 +00:00
zowoq
8d8ca8577a ffmpeg-full: 4.2.1 -> 4.2.2
(cherry picked from commit 4a70ef8e27)
2020-01-04 12:26:47 +00:00
zowoq
e48b064f50 ffmpeg_4: 4.2.1 -> 4.2.2
(cherry picked from commit 115791b9ab)
2020-01-04 12:26:45 +00:00
Alyssa Ross
a438028a27 airwave: mark VST SDK as unfree
Airwave itself is free software, but the VST SDK it depends on is not.
This means that trying to build airwave fails with an error about
manually adding VST SDK to the store, rather than the expected error
that non-free software has been requested.

(cherry picked from commit dfc27a8430)
2020-01-04 12:10:01 +00:00
Matthew Bauer
2d9454702e Merge pull request #76070 from matthewbauer/ios-with-xcode-11-cherry-pick-for-1909
iOS with xcode 11 cherry pick for 19.09
2020-01-03 15:36:44 -05:00
Matthew Bauer
036cef9473 ghc: always use llvm with iOS
Even when building for the simulator.
2020-01-03 15:19:37 -05:00
Matthew Bauer
3432b1baa8 xcode: don’t use libstdc++ on iOS
Apple no longer ships with it, so best to avoid forcing it into use.
2020-01-03 15:19:34 -05:00
John Ericson
28c37155d7 xcode: Add more hashes, and fix some old ones 2020-01-03 15:19:08 -05:00
Sebastien Bourdeauducq
e8c7d31c32 libbladerf: 2.2.0 -> 2.2.1
(cherry picked from commit 0a65d1c52d)
2020-01-03 21:04:12 +01:00
Florian Klink
7201d23920 gitlab: 12.6.1 -> 12.6.2
- CVE-2019-20146
 - CVE-2019-20143
 - CVE-2019-20147
 - CVE-2019-20145
 - CVE-2019-20142
 - CVE-2019-20148
 - CVE-2020-5197

(cherry picked from commit d075e33bf5)
2020-01-03 18:48:41 +01:00
talyz
fd7ce831d4 gitlab: 12.6.0 -> 12.6.1
(cherry picked from commit 0825e382c0)
2020-01-03 18:48:41 +01:00
talyz
c93501dc78 gitlab: 12.5.5 -> 12.6.0
(cherry picked from commit ff28cfa6d3)
2020-01-03 18:48:41 +01:00
talyz
7ce433cf06 gitlab: update.py: Get go deps for gitlab-shell from the root dir
GitLab Shell now has the go.mod and go.sum files in the root of the
repo; the go subdirectory has been removed and all the code in it has
been moved up to the root.

(cherry picked from commit a3c72e66a6)
2020-01-03 18:48:40 +01:00
talyz
18469aca5a gitaly: 1.72.1 -> a4b6c71d4b7c1588587345e2dfe0c6bd7cc63a83
For some reason this untagged commit is the one referred to in the
main repository; this might be a mistake, but we'll have to package it
for now to follow upstream.

(cherry picked from commit 445bc1494c)
2020-01-03 18:48:40 +01:00
talyz
9fc0570071 gitlab-workhorse: 8.14.1 -> 8.18.0
(cherry picked from commit 2f614714ed)
2020-01-03 18:48:40 +01:00
talyz
dbc79093be gitlab-shell: 10.2.0 -> 10.3.0
(cherry picked from commit 6972aec884)
2020-01-03 18:48:39 +01:00
zowoq
7572786449 docker: 19.03.4 -> 19.03.5
(cherry picked from commit 31d2d5a382)
2020-01-03 13:25:06 +00:00
Maximilian Bosch
4e3a453ad4 wireguard-tools: 1.0.20191226 -> 1.0.20200102
(cherry picked from commit fad24a7f9c)
2020-01-03 14:14:35 +01:00
Matthew Bauer
e915608618 haskell/with-packages-wrapper.nix: install "doc" outputs
We were previously just installing the "out" output which broke when
we recently changed to generating multiple outputs.

Fixes #76837
2020-01-02 16:12:46 -05:00
aszlig
f7bc9886f9 nginx: Clear Last-Modified if ETag is from store
This is what I've suspected a while ago[1]:

> Heads-up everyone: After testing this in a few production instances,
> it seems that some browsers still get cache hits for new store paths
> (and changed contents) for some reason. I highly suspect that it might
> be due to the last-modified header (as mentioned in [2]).
>
> Going to test this with last-modified disabled for a little while and
> if this is the case I think we should improve that patch by disabling
> last-modified if serving from a store path.

Much earlier[2] when I reviewed the patch, I wrote this:

> Other than that, it looks good to me.
>
> However, I'm not sure what we should do with Last-Modified header.
> From RFC 2616, section 13.3.4:
>
> - If both an entity tag and a Last-Modified value have been
>   provided by the origin server, SHOULD use both validators in
>   cache-conditional requests. This allows both HTTP/1.0 and
>   HTTP/1.1 caches to respond appropriately.
>
> I'm a bit nervous about the SHOULD here, as user agents in the wild
> could possibly just use Last-Modified and use the cached content
> instead.

Unfortunately, I didn't pursue this any further back then because
@pbogdan noted[3] the following:

> Hmm, could they (assuming they are conforming):
>
>  * If an entity tag has been provided by the origin server, MUST
>    use that entity tag in any cache-conditional request (using If-
>    Match or If-None-Match).

Since running with this patch in some deployments, I found that both
Firefox and Chrome/Chromium do NOT re-validate against the ETag if the
Last-Modified header is still the same.

So I wrote a small NixOS VM test with Geckodriver to have a test case
which is closer to the real world and I indeed was able to reproduce
this.

Whether this is actually a bug in Chrome or Firefox is an entirely
different issue and even IF it is the fault of the browsers and it is
fixed at some point, we'd still need to handle this for older browser
versions.

Apart from clearing the header, I also recreated the patch by using a
plain "git diff" with a small description on top. This should make it
easier for future authors to work on that patch.

[1]: https://github.com/NixOS/nixpkgs/pull/48337#issuecomment-495072764
[2]: https://github.com/NixOS/nixpkgs/pull/48337#issuecomment-451644084
[3]: https://github.com/NixOS/nixpkgs/pull/48337#issuecomment-451646135

Signed-off-by: aszlig <aszlig@nix.build>
(cherry picked from commit ccf55bead1)
Reason: The issue breaks setups that serve static content via Nix store
        paths. I've also backported the NixOS VM test from Python to
        Perl.
2020-01-02 22:03:16 +01:00
Robert Scott
c3f2b7799a cyrus_sasl: add patch for CVE-2019-19906
sourced from debian as patch isn't even in upstream master yet.

(cherry picked from commit 302a77a02c)
2020-01-02 18:49:01 +00:00
Maximilian Bosch
0b5c6267bb matrix-synapse: 1.7.2 -> 1.7.3
https://github.com/matrix-org/synapse/releases/tag/v1.7.3
(cherry picked from commit a5689a2ff1)
2020-01-02 17:45:14 +01:00
Jonathan Ringer
ad1e1af5ad pythonPackages.pyjwt: fix tests
Rationale for this backport: not entirely sure why this starts to fail
now, but this change fixes the build on 19.09: https://hydra.nixos.org/build/109120376

(cherry picked from commit 5cc8fdb5d7)
2020-01-02 10:30:12 +01:00
Frederik Rietdijk
b563ba0b4f nixos/pppd: add description for peers, unbreaks metrics job and channel
services.pppd.peers was lacking a description, causing a trace warning
resulting in a parse error in the metrics job.

(cherry picked from commit 0256080d11)
2020-01-01 19:27:39 -08:00
David Anderson
40b18600ab nixos/tests/pppd: init
This test creates a PPPoE link between two machines, and verifies
that the machines can ping each other.

(cherry picked from commit ae02b3dd1f)
2020-01-01 19:27:39 -08:00
David Anderson
b485113291 nixos/pppd: init
(cherry picked from commit 997a6f6f1e)
2020-01-01 19:27:39 -08:00
David Anderson
e7536956ee maintainers: add danderson
(cherry picked from commit c5c5baf5af)
2020-01-01 19:27:39 -08:00
Florian Klink
cc52180b3f Merge pull request #76785 from flokli/nix-2.3.1
[19.09] nix: 2.3 -> 2.3.1
2020-01-01 22:07:54 +01:00
Eelco Dolstra
e4ce88802b nix-daemon.nix: Shut up warning
(cherry picked from commit 9d0de0dc57)
2020-01-01 16:43:46 +01:00
Eelco Dolstra
13b4d10331 nix-daemon.nix: Use 'nix ping-store' to initialize directories
(cherry picked from commit 27d2857a99)
2020-01-01 16:43:46 +01:00
Eelco Dolstra
487288f6be Don't create /nix/var/nix/{gcroots,per-user}/per-user with 1777 permission
In fact, don't create them at all because Nix does that automatically.

Also remove modules/programs/shell.nix because everything it did is
now done automatically by Nix.

(cherry picked from commit 4e0d6a5ff8)
2020-01-01 16:43:46 +01:00
Eelco Dolstra
88ed1af714 nix: 2.3 -> 2.3.1
(cherry picked from commit 3ab3614e2b)
2020-01-01 16:43:22 +01:00
zimbatm
dce9dfaa98 Revert "nix: 2.3 -> 2.3.1"
This reverts commit 2ce54ed35c.
2020-01-01 11:22:22 +01:00
Vladimír Čunát
a7191d0996 knot-dns: 2.8.4 -> 2.8.5
Bugfixes; master has 2.9.x already.
https://gitlab.labs.nic.cz/knot/knot-dns/tags/v2.8.5
2020-01-01 10:44:38 +01:00
Tim Steinbach
02fa0e01fa linux: 5.4.6 -> 5.4.7
(cherry picked from commit aa74012d32)
2019-12-31 13:33:32 -05:00
Tim Steinbach
7fabfc2972 linux: 4.19.91 -> 4.19.92
(cherry picked from commit f9eae42640)
2019-12-31 13:33:32 -05:00
Tim Steinbach
d29f193944 linux: 4.14.160 -> 4.14.161
(cherry picked from commit 62100c3b92)
2019-12-31 13:33:32 -05:00
Florian Klink
cf17d0e033 Merge pull request #76736 from zimbatm/release-19.09-nix-2.3.1
nix: 2.3 -> 2.3.1
2019-12-31 19:16:44 +01:00
Eelco Dolstra
2ce54ed35c nix: 2.3 -> 2.3.1
(cherry picked from commit 3ab3614e2b)
2019-12-31 14:38:40 +01:00
Justin Humm
2f3bbb55fc opensc: 0.19.0 -> 0.20.0 (#76666)
(cherry picked from commit a4366042c2)
2019-12-30 22:17:42 -05:00
John Ericson
e3e26c9d3c Merge pull request #76545 from obsidiansystems/ghcjs-cross-without-cc-19.09
stdenv, haskell: bonafied GHCJS cross compilation without stdenv.cc  for 19.09
2019-12-30 16:41:37 -08:00
John Ericson
d0c26962e2 Merge remote-tracking branch 'obsidian/ghcjs-cross-without-cc-common' into ghcjs-cross-without-cc-19.09 2019-12-30 18:16:35 -05:00
John Ericson
6078f094c6 pkgs/stdenv/booter.nix: Add comment explaining hasCC trickery 2019-12-30 18:09:45 -05:00
Jonathan Ringer
5bbcc17ec1 steam.chroot: add at-spi2-core
Needed by CrossCode

(cherry picked from commit 21958c0603)
2019-12-30 17:13:53 +01:00
R. RyanTM
2314fb1bbf screenfetch: 3.9.0 -> 3.9.1
(cherry picked from commit 706f9e8118)
2019-12-30 14:24:24 +01:00
R. RyanTM
b27cd74689 screenfetch: 3.8.0 -> 3.9.0 (#70783)
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/screenfetch/versions

(cherry picked from commit 23e417f218)
2019-12-30 14:24:21 +01:00
David Terry
3fdb468b47 wireguard-tools: 0.0.20191219 -> 1.0.20191226
the userspace wireguard tools have been pulled out into their own repo as
announced in this mailing list post:

https://lists.zx2c4.com/pipermail/wireguard/2019-December/004787.html
(cherry picked from commit d6be252921)
2019-12-30 12:30:35 +01:00
David Terry
143b2ff8c4 wireguard: 0.0.20191219 -> 0.0.20191226
the wireguard kernel module has been pulled out into it's own repo as
announced in this mailing list post:

https://lists.zx2c4.com/pipermail/wireguard/2019-December/004796.html
(cherry picked from commit 9681bc7147)
2019-12-30 12:30:35 +01:00
Frederik Rietdijk
5ff4ee5b6c python: ecdsa: 0.13.2 -> 0.13.3
Resolving CVE-2019-14853 & CVE-2019-14859

(cherry picked from commit 6b125ada80)
2019-12-30 09:35:57 +01:00
Franz Pletz
979b8410db Merge pull request #76660 from tokudan/1909-nextcloud1607
Nextcloud: 16.0.6 -> 16.0.7 [19.09]
2019-12-30 06:37:02 +00:00
Matthew Bauer
0449a653eb john: use proper configure flags
- need --disable-native-tests not --disable-native-macro
- --with-systemwide is better than -DJOHN_SYSTEMWIDE=1

Fixes #74918

(cherry picked from commit 73cf5d961b)
2019-12-30 00:20:12 +01:00
Daniël de Kok
e04700a944 resilio-sync: 2.6.3 -> 2.6.4
This release is a hotfix for a WebUI security issue:
https://forum.resilio.com/topic/71647-latest-desktop-build-264/

(cherry picked from commit a8686037c4)
2019-12-29 15:46:58 -06:00
Daniel Frank
f77ffbf366 nextcloud: 16.0.6 -> 16.0.7 2019-12-29 22:30:52 +01:00
Vladimír Čunát
14133ec124 Merge branch 'staging-19.09' into release-19.09 2019-12-29 20:08:15 +01:00
pacien
eab4ee0c27 riot-web: 1.5.5 -> 1.5.6
(cherry picked from commit 0a05392468)
2019-12-29 15:23:42 +01:00
Janne Heß
8104ea38eb riot-web: Run install hooks
(cherry picked from commit 9e710b29fd)
2019-12-29 15:23:41 +01:00
pacien
2c9f673967 riot-web: 1.5.0 -> 1.5.5
(cherry picked from commit 7395dea94e)
2019-12-29 15:23:35 +01:00
Vladimír Čunát
4351df6b05 ffmpeg: 3.4.6 -> 3.4.7 (security)
Fixes #73628 (many CVEs).
https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/289a79d545e83a:/Changelog

(cherry picked from commit 37e1da2874)
2019-12-29 10:41:17 +01:00
R. RyanTM
1d2b6d2323 bind: 9.14.7 -> 9.14.8 (security, PR #74109)
(cherry picked from commit b470220a0b)
Fixes #75955: CVE-2019-6477.  Overall it's almost exclusively bugfixes:
https://gitlab.isc.org/isc-projects/bind9/blob/v9_14_8/CHANGES
2019-12-29 10:17:09 +01:00
Vladimír Čunát
f31e1bcb62 libtiff: patch CVE-2019-17546
Fixes #73663.
2019-12-29 10:06:50 +01:00
R. RyanTM
83735fde36 unbound: 1.9.4 -> 1.9.5
(cherry picked from commit 335e62b6f3)
Fixes #75504: CVE-2019-18934.  There is no other change between these
two versions.  Well, the *default* build wouldn't be affected, as it
does not pass `--enable-ipsecmod`, but why not take this bump anyway...

https://lists.nlnetlabs.nl/pipermail/unbound-users/2019-November/006510.html
2019-12-29 09:40:03 +01:00
Vladimír Čunát
456a04ac11 Merge branch 'release-19.09' into staging-19.09 2019-12-29 09:25:14 +01:00
Will Dietz
c4537f867a gnutls: 3.6.9 -> 3.6.11 (PR #75025)
(cherry picked from commit c555684c6d)
I do believe that likelihood of improvements is much larger than
likelihood of breakage.
2019-12-29 09:23:15 +01:00
Florian Klink
0d9055a2ac nixos/tinydns: order service after network.target
In cases where you boot up really quickly (like in the VM test on a
non-busy host), tinydns might want to bind before the loopback interface
is fully up. Order tinydns after network.target to fix that.

(cherry picked from commit cbd9e9e01f)
2019-12-28 21:00:23 +01:00
Michael Raskin
2f6a9e477f Merge pull request #76622 from rissson/release-19.09
flashplayer: 32.0.0.293 -> 32.0.0.303
2019-12-28 19:43:08 +00:00
taku0
a52835507d flashplayer: 32.0.0.293 -> 32.0.0.303 2019-12-28 20:29:26 +01:00
Dmitry Kalinkin
c5d5561f77 root: wrap python executables
In normal use of ROOT the PYTHONPATH is intended to be set when user
sources the thisroot.{,s}sh. We do that in the setupHook. This covers
the case when thisroot.sh was not sourced.

(cherry picked from commit 0b28198f23)

cc #76541
2019-12-26 16:07:24 -05:00
Markus Kowalewski
69ed29f5f4 mediawiki: 1.33.1 -> 1.33.2 2019-12-25 19:45:11 +00:00
John Ericson
49550f29cd Merge branch 'ghcjs-cross-without-cc-common' into ghcjs-cross-without-cc-19.09 2019-12-25 14:35:55 -05:00
John Ericson
d8dd301412 haskell generic-builder: Hack so CPP without a CC works 2019-12-25 14:34:40 -05:00
John Ericson
bb7690320e Merge branch 'ghcjs-cross-without-cc-common' into ghcjs-cross-without-cc-19.09 2019-12-25 13:17:13 -05:00
John Ericson
6a23c9ddbe haskell generic-builder: Fix --with-ghc flag for GHCJS as cross
Otherwise it passes `--with-ghc=ghc`, and we do the wrong thing.
2019-12-25 13:14:48 -05:00
John Ericson
6253af9316 Merge branch 'ghcjs-cross-without-cc-common' into ghcjs-cross-without-cc-19.09 2019-12-25 12:17:31 -05:00
Alyssa Ross
ed6c877f14 symlinkJoin: fix cross
(cherry picked from commit 59dbb00555)
2019-12-25 12:17:09 -05:00
John Cotton Ericson
37290dd044 arrow-cpp: Check stdenv.isi686 before stdenv.cc.isGNU 2019-12-25 01:24:34 -05:00
John Cotton Ericson
c432f3401d Merge branch 'ghcjs-cross-without-cc-common' into ghcjs-cross-without-cc-19.09 2019-12-25 01:24:19 -05:00
John Cotton Ericson
95464f6ad3 treewide: Check stdenv.isi686 before checking stdenv.cc.isGNU
This makes us a bit more robust to various splicing nastiness. May splicing
someday go so we don't have to resort to such hacks.
2019-12-25 01:23:42 -05:00
John Ericson
4528f07696 Merge branch 'ghcjs-cross-without-cc-common' into ghcjs-cross-without-cc-19.09 2019-12-24 20:20:12 -05:00
John Ericson
c3c245dcda ghcjs: get socket.io from pkgsHostHost
This is a bit dubvious, but the alternative of making nodejs a
nativeBuildInput for node packages is worse. In general the cross story
for interpreted languages is murky, and this fits that pattern.
2019-12-24 19:52:36 -05:00
John Ericson
46feec08b7 Merge branch 'ghcjs-cross-without-cc-common' into ghcjs-cross-without-cc-19.09 2019-12-24 18:20:18 -05:00
John Ericson
ad93663a48 ghcWithHoogle: Fix for cross
Use `buildPackages.stdenv.mkDerivation` because we are making a shell
script to start hoogle on the build platform.
2019-12-24 18:17:41 -05:00
John Ericson
2411aa5537 Merge commit '2ed8568d837ac7aaa5c802fa87f4aa9b8c7a4ea6' into ghcjs-cross-without-cc-19.09 2019-12-24 17:56:26 -05:00
John Ericson
d3ecd5bde5 release-cross.nix: Add GHCJS-built hello 2019-12-24 17:54:04 -05:00
Jörg Thalheim
e9ef090eb5 nixpkgs-review: 2.1.0 -> 2.1.1 [19.09] (#76242)
nixpkgs-review: 2.1.0 -> 2.1.1 [19.09]
2019-12-24 10:30:30 +00:00
Jörg Thalheim
03ca46659c nixpkgs-review: 2.1.0 -> 2.1.1
changelog: https://github.com/Mic92/nixpkgs-review/releases/tag/2.1.1
2019-12-23 09:56:43 +00:00
Jörg Thalheim
41dbb53b6f nix-review: 2.0.1 -> 2.1.0 2019-12-23 09:56:07 +00:00
Domen Kožar
bfdae0860e datadog-agent: enable secrets and allow extending tags
(cherry picked from commit 2004784aa4)
Signed-off-by: Domen Kožar <domen@dev.si>
2019-12-23 10:43:33 +01:00
Tim Steinbach
c8b97ab534 linux: 5.4.5 -> 5.4.6 2019-12-22 20:12:27 -05:00
Tim Steinbach
27249290bd linux: 4.9.206 -> 4.9.207 2019-12-22 20:12:26 -05:00
Tim Steinbach
d47e0236c4 linux: 4.4.206 -> 4.4.207 2019-12-22 20:12:25 -05:00
Tim Steinbach
0ea96d3b26 linux: 4.19.90 -> 4.19.91 2019-12-22 20:12:25 -05:00
Tim Steinbach
a7bc24ac66 linux: 4.14.159 -> 4.14.160 2019-12-22 20:12:24 -05:00
danbst
fdc37b6021 zoom-us: 3.0.287250.0828 -> 3.5.336627.1216 2019-12-22 19:26:57 +00:00
danbst
33bacd39b9 zoom-us: fix web login, and provide Qt wrapping for binaries
(but don't pollute environment)
2019-12-22 21:17:23 +02:00
Domen Kožar
bc2fc0b896 nixpart: ignore useNixUdev as it's now required by hetzner
(cherry picked from commit c49ca3e505)
Signed-off-by: Domen Kožar <domen@dev.si>
2019-12-22 19:28:34 +01:00
Jörg Thalheim
9bcf114814 clang-tools: teach about nix's include path [19.09] (#73546)
clang-tools: teach about nix's include path [19.09]
2019-12-22 09:33:43 +00:00
Florian Klink
a5503e0b0e diffpdf: fix qt wrapping
We were using stdenv.mkDerivation instead of the qt-provided
mkDerivation, so qt wrapping didn't happen.

(cherry picked from commit 2054a083fb)
2019-12-21 23:16:21 -05:00
Renaud
36aa728f2c Merge pull request #76136 from aanderse/redmine-19.09
redmine: 4.0.5 -> 4.0.6, 3.4.12 -> 3.4.13 [19.09]
2019-12-22 01:40:27 +01:00
Aaron Andersen
afa2536953 Merge pull request #76133 from markuskowa/upd-php-19.09
[19.09] php: 7.2.24 -> 7.2.26, 7.3.11 -> 7.3.13
2019-12-21 19:03:01 -05:00
Aaron Andersen
b431fa035b redmine: 3.4.12 -> 3.4.13 2019-12-21 10:14:18 -05:00
Aaron Andersen
723547406a redmine: 4.0.5 -> 4.0.6 2019-12-21 10:13:54 -05:00
R. RyanTM
6e0dda161b oniguruma: 6.9.3 -> 6.9.4
(cherry picked from commit 19dd3f9476)
2019-12-21 15:30:41 +01:00
Markus Kowalewski
38675a6135 php: 7.3.11 -> 7.3.13 2019-12-21 14:31:21 +01:00
Markus Kowalewski
d7ac1a258f php: 7.2.24 -> 7.2.26 2019-12-21 14:31:02 +01:00
Maximilian Bosch
968381812b matrix-synapse: 1.7.1 -> 1.7.2
https://github.com/matrix-org/synapse/releases/tag/1.7.2

Building for now with Python 3.7 as Python 3.8.1 changed it's behavior
regarding URL parsing[1] which broke one of its dependencies[2].

[1] https://bugs.python.org/issue27657
[2] https://hydra.nixos.org/build/108652790 / https://github.com/mozilla/bleach/issues/503

(cherry picked from commit 880e098a9f)
2019-12-21 13:33:33 +01:00
Dmitry Kalinkin
233da30ce2 pythia: 8.243 -> 8.244
(cherry picked from commit 4544107ed1)

cc #76105
2019-12-20 19:52:39 -05:00
Tim Steinbach
8e4c9d1545 jenkins: 2.190.3 -> 2.204.1
(cherry picked from commit bbf9c5ed29)
2019-12-20 11:43:46 -05:00
Tim Steinbach
8837403942 jenkins: 2.190.2 -> 2.190.3
(cherry picked from commit bb9da1323e)
2019-12-20 11:43:45 -05:00
Michael Weiss
9cd63d068f Merge pull request #76101 from primeos/signal-desktop-backport
[19.09] signal-desktop: 1.29.2 -> 1.29.3 (backport)
2019-12-20 15:36:41 +01:00
worldofpeace
faffc2266c Revert "nixos/libinput: apply options to all device types"
This reverts commit ea83c792ff.
2019-12-20 09:06:57 -05:00
Michael Weiss
762a552775 signal-desktop: 1.29.2 -> 1.29.3
(cherry picked from commit 313eba4451)
Reason: Avoid an expired (unusable) release in the stable release
(Signal-Desktop releases expire after 90 days).
2019-12-20 14:46:39 +01:00
Lancelot SIX
2514f095c5 python3Packages.django_2_2: 2.2.8 -> 2.2.9
See https://docs.djangoproject.com/en/2.2/releases/2.2.9/ fer release
information.

(cherry picked from commit b7e6b417f5)
2019-12-20 14:34:45 +01:00
Lancelot SIX
30926cd571 pytthonPackages.django_2_2: 2.2.7 -> 2.2.8
See https://docs.djangoproject.com/en/2.2/releases/2.2.8/

(cherry picked from commit 40e0bf33fc)
2019-12-20 14:34:32 +01:00
Lancelot SIX
a4db341bd6 qgis: 3.10.0 -> 3.10.1
(cherry picked from commit 90ebbaa86a)
2019-12-20 14:32:39 +01:00
talyz
dd26550fda gitlab: 12.5.4 -> 12.5.5
(cherry picked from commit 7d602d3d36)
2019-12-19 21:17:06 +01:00
Michael Weiss
a673cfb6f3 Merge pull request #76053 from primeos/security-backports-for-19.09
[19.09] Ruby security backports for my packages
2019-12-19 21:14:51 +01:00
Michael Weiss
6a177132c6 gollum: Update the dependencies (security, CVE-2019-16782)
This updates rack to 1.6.12 for CVE-2019-16782 [0].

[0]: https://github.com/rack/rack/security/advisories/GHSA-hrqr-hxpp-chr3

(cherry picked from commit 03beaedc77)
2019-12-19 19:11:28 +01:00
Michael Weiss
4130d33475 gollum: Update the dependencies (security)
This updates Nokogiri to 1.10.5 for CVE-2019-13117, CVE-2019-13118, and
CVE-2019-18197 [0].

[0]: https://github.com/sparklemotion/nokogiri/issues/1943

(cherry picked from commit 55f4feb618)
2019-12-19 19:11:28 +01:00
Michael Weiss
b68d73275e jekyll: Update the dependencies (security)
This updates Nokogiri to 1.10.5 for CVE-2019-13117, CVE-2019-13118, and
CVE-2019-18197 [0].

[0]: https://github.com/sparklemotion/nokogiri/issues/1943

(cherry picked from commit ad13058a1f)
2019-12-19 19:11:28 +01:00
Michael Weiss
b0f8cbf2da html-proofer: 3.13.0 -> 3.14.0 (security)
This also updates Nokogiri to 1.10.5 for CVE-2019-13117, CVE-2019-13118,
and CVE-2019-18197 [0].

[0]: https://github.com/sparklemotion/nokogiri/issues/1943

(cherry picked from commit 46ed8ed243)
2019-12-19 19:11:28 +01:00
Michael Weiss
b29074f861 html-proofer: 3.12.2 -> 3.13.0
(cherry picked from commit e6b93257b0)
2019-12-19 19:11:28 +01:00
Lancelot SIX
2e73f72c87 Revert "pytthonPackages.django_2_2: 2.2.7 -> 2.2.8"
This reverts commit 7434f581a4.

2.2.8 introduced a vulnerability (CVE-2019-19844)

Bump will go directly to 2.2.9.
2019-12-19 18:05:24 +01:00
Lancelot SIX
ee3ba08822 Revert "pythonPackages.django: 1.11.24 -> 1.11.26"
This reverts commit 0003d3a1ee.

1.11.26 introduced a security vulnerability (CVE-2019-19844)

Bump will go directly to 1.11.27.
2019-12-19 18:03:58 +01:00
Lancelot SIX
7434f581a4 pytthonPackages.django_2_2: 2.2.7 -> 2.2.8
See https://docs.djangoproject.com/en/2.2/releases/2.2.8/

(cherry picked from commit 40e0bf33fc)
2019-12-19 17:51:26 +01:00
Lancelot SIX
0003d3a1ee pythonPackages.django: 1.11.24 -> 1.11.26
See

- https://docs.djangoproject.com/en/1.11/releases/1.11.26/
- https://docs.djangoproject.com/en/1.11/releases/1.11.25/

(cherry picked from commit d453ee2065)
2019-12-19 17:49:41 +01:00
Michael Weiss
281cf62724 Merge pull request #75936 from primeos/signal-desktop-backport
[19.09] signal-desktop: 1.29.1 -> 1.29.2 (backport)
2019-12-19 14:33:07 +01:00
Michael Weiss
a9956724f0 signal-desktop: 1.29.1 -> 1.29.2
(cherry picked from commit 096c2b4a4b)
Reason: Avoid an expired (unusable) release in the stable release
(Signal-Desktop releases expire after 90 days).
2019-12-19 12:52:55 +01:00
Ivan Kozik
7cb5ccd7fa wireguard-tools: 0.0.20191212 -> 0.0.20191219
(cherry picked from commit cbd67719fd)
2019-12-19 10:16:22 +01:00
David Terry
f80c916efb wireguard-tools: 0.0.20191127 -> 0.0.20191212
(cherry picked from commit bbb9f053b4)
2019-12-19 10:16:22 +01:00
Frederik Rietdijk
5fef0975f4 nixpkgs manual: document staging-next branch
(cherry picked from commit 62193ec416)
2019-12-19 10:04:24 +01:00
WilliButz
6655a13a56 atlassian-confluence: 7.1.0 -> 7.2.0
(cherry picked from commit a53c73d9c8)
2019-12-19 04:51:32 +01:00
Robin Gloster
6a0c1155be atlassian-confluence: 7.0.3 -> 7.1.0
(cherry picked from commit 15db4fcd51)
2019-12-19 04:51:31 +01:00
R. RyanTM
c27fb88a12 atlassian-confluence: 7.0.2 -> 7.0.3
(cherry picked from commit a8b985da99)
2019-12-19 04:51:27 +01:00
Maximilian Bosch
5c4059dd75 matrix-synapse: 1.7.0 -> 1.7.1
https://github.com/matrix-org/synapse/releases/tag/v1.7.1
(cherry picked from commit f1acc6e70e)
2019-12-19 01:00:15 +01:00
Maximilian Bosch
7695df5ca4 matrix-synapse: 1.6.1 -> 1.7.0
https://github.com/matrix-org/synapse/releases/tag/v1.7.0
(cherry picked from commit 73322737a3)
2019-12-19 01:00:15 +01:00
Maximilian Bosch
71738bf97d matrix-synapse.ldap3: 0.1.3 -> 0.1.4
https://github.com/matrix-org/matrix-synapse-ldap3/releases/tag/v0.1.4
(cherry picked from commit e533a8c565)
2019-12-19 01:00:14 +01:00
WilliButz
f60352728b Merge pull request #75717 from andir/19.09/apt
[19.09] apt: 1.4.6 -> 1.4.9 (CVE-2019-3462)
2019-12-19 00:42:13 +01:00
Tim Steinbach
a3ef555c77 linux_latest-libre: 17117 -> 17119
(cherry picked from commit 9b5b7220d8)
2019-12-18 16:14:29 -05:00
Tim Steinbach
ce54d9601e linux_latest-libre: 17112 -> 17117 2019-12-18 11:41:55 -05:00
Tim Steinbach
dbdbd0e2fe linux: 4.19.89 -> 4.19.90 2019-12-18 11:41:38 -05:00
Tim Steinbach
a43e384dcc linux: 4.14.158 -> 4.14.159 2019-12-18 11:41:37 -05:00
Tim Steinbach
7c47d4bf3d linux: 5.4.3 -> 5.4.5 2019-12-18 11:41:29 -05:00
Milan Pässler
0dc46b0e1c dovecot_pigeonhole: 0.5.8 -> 0.5.9
Fixes build with dovecot 2.3.9+.

(cherry picked from commit a77524e2e3)
2019-12-18 01:25:42 +01:00
Michael Weiss
c2f1d026c9 Merge pull request #75842 from primeos/signal-desktop-backport
[19.09] signal-desktop: 1.29.0 -> 1.29.1 (backport)
2019-12-18 00:20:58 +01:00
Michael Weiss
dc48d808e3 signal-desktop: 1.29.0 -> 1.29.1
(cherry picked from commit 8d5f5e7e3e)
Reason: Avoid an expired (unusable) release in the stable release
(Signal-Desktop releases expire after 90 days).
2019-12-17 23:41:25 +01:00
Jörg Thalheim
004b8a197f [r19.09] dpdk: 17.11.2 -> 17.11.9, addressing CVE-2019-14818 (#75829)
[r19.09] dpdk: 17.11.2 -> 17.11.9, addressing CVE-2019-14818
2019-12-17 19:44:39 +00:00
Frederik Rietdijk
d40f024a3b python: acoustics: 0.2.2 -> 0.2.3
(cherry picked from commit 10db10b5d7)
2019-12-17 11:46:52 +01:00
Robert Scott
a55900621b dpdk: 17.11.2 -> 17.11.9 (security)
addressing CVE-2019-14818
2019-12-16 23:10:39 +00:00
Alyssa Ross
c337a7423b linux-libre_latest: 16794 -> 17112
The original commit didn't have a comment, causing a conflict.  I
removed the comment here so future backports apply cleanly.

(cherry picked from commit 987a59e295)
2019-12-16 16:43:02 +00:00
Andreas Rammhold
c2ef0cee28 Merge pull request #74498 from WilliButz/grafana-go-backports
go_1_13, grafana-6.5.1: backport to 19.09
2019-12-16 10:13:39 +01:00
Andreas Rammhold
91a412e411 Merge pull request #75711 from andir/19.09/spamassassin
[19.09] spamassassin: 3.4.2 -> 3.4.3
2019-12-16 10:12:48 +01:00
Dmitry Kalinkin
cfc23a2904 herwig: 7.1.5 -> 7.1.6
thepeg: 2.1.5 -> 2.1.6

(cherry picked from commit 2f79be40d6)
2019-12-15 20:01:19 -05:00
Franz Pletz
c5f385d7ee Merge pull request #75699 from scaredmushroom/aircrack-ng_release-19.09
backport: aircrack-ng: fixed missing dependency for airmon-ng
2019-12-15 23:36:27 +00:00
cap
6d44cb6e9d aircrack-ng: fixed missing dependency for airmon-ng
(cherry picked from commit 2978ca2180)
2019-12-16 00:35:13 +01:00
Franz Pletz
931a430dfa Merge pull request #75685 from scaredmushroom/tor-browser-bundle-bin_release-19.09
backport: tor-browser-bundle-bin: 9.0.1 -> 9.0.2
2019-12-15 23:33:51 +00:00
cap
337e008e34 tor-browser-bundle-bin: 9.0.1 -> 9.0.2
(cherry picked from commit fca98ea5be)
2019-12-16 00:29:22 +01:00
Michael Raskin
cdd5a99515 Merge pull request #75724 from andir/19.09/advancecomp
[19.09] advancecomp: fix CVE-2019-9210
2019-12-15 22:54:36 +00:00
Franz Pletz
dfceeb0f2d Merge pull request #75716 from andir/19.09/ansible
[19.09] ansible fixes for CVE-2019-10156 CVE-2019-10206 CVE-2019-14846 CVE-2019-14856 CVE-2019-14858 CVE-2019-14864
2019-12-15 22:48:09 +00:00
Franz Pletz
168ab93a73 Merge pull request #75709 from andir/19.09/thunderbird-bin
[19.09] thunderbird-bin: 68.2.2 -> 68.3.0
2019-12-15 22:43:01 +00:00
Andreas Rammhold
8fe113b10a advancecomp: fix CVE-2019-9210
(cherry picked from commit f23627cb12)
2019-12-15 23:18:46 +01:00
Franz Pletz
a1a0702589 Merge pull request #75707 from andir/19.09/dovecot
[19.09] dovecot: 2.3.8 -> 2.3.9.2
2019-12-15 22:08:45 +00:00
Robert Djubek
9436766949 wire-desktop: fix desktop icon
Update the Name attribute in the wire-desktop.desktop applications file
and add StartupWMClass key. This fixes the icons on plasma5 and gnome3
which, in certain places, showed a generic X.org icon instead of the Wire
icon.

(cherry picked from commit 4a73fbc367)
2019-12-15 16:55:05 -05:00
Andreas Rammhold
86df5c31a4 apt: 1.4.6 -> 1.4.9
Fixes on remote content injection issue (CVE-2019-3462).

Complete changelog:

 > apt (1.4.9) stretch-security; urgency=medium
 >
 >   * SECURITY UPDATE: content injection in http method (CVE-2019-3462)
 >     (LP: #1812353)
 >
 >  -- Julian Andres Klode <jak@debian.org>  Fri, 18 Jan 2019 11:42:07 +0100
 >
 > apt (1.4.8) stretch; urgency=medium
 >
 >   [ Balint Reczey ]
 >   * Gracefully terminate process when stopping apt-daily-upgrade (LP: #1690980)
 >
 >   [ David Kalnischkies ]
 >   * don't ask an uninit _system for supported archs, this
 >     crashes the mirror method (LP: #1613184)
 >
 >   [ Julian Andres Klode ]
 >   * Do not warn about duplicate "legacy" targets (Closes: #839259)
 >     (LP: #1697120)
 >   * apt-daily: Pull in network-online.target in service, not timer
 >     - this can cause a severe boot performance regression / hang
 >     (LP: #1716973)
 >
 >  -- Julian Andres Klode <jak@debian.org>  Wed, 13 Sep 2017 18:47:33 +0200
 >
 > apt (1.4.7) stretch; urgency=medium
 >
 >   * New release with important fixes up to 1.5~beta1; also see LP: #1702326
 >
 >   [ Robert Luberda ]
 >   * fix a "critical" typo in old changelog entry (Closes: 866358)
 >
 >   [ David Kalnischkies ]
 >   * test suite/travis CI: ignore profiling warning in progress lines
 >   * use port from SRV record instead of initial port
 >
 >   [ Julian Andres Klode ]
 >   * Reset failure reason when connection was successful, so later errors are
 >     reported as such and not as "connection failure" warnings.
 >   * debian/gbp.conf: Set debian-branch to 1.4.y
 >   * http: A response with Content-Length: 0 has no content, so don't try to
 >     read it - it will either timeout or the server closes the connection.
 >   * travis CI: Migrate to Docker
 >
 >  -- Julian Andres Klode <jak@debian.org>  Thu, 13 Jul 2017 23:45:39 +0200
2019-12-15 21:46:53 +01:00
Andreas Rammhold
6d01dd8b31 ansible_2_6: 2.6.17 -> 2.6.20
This addresses the following security issues:

  * CVE-2019-14846 - Several Ansible plugins could disclose aws
    credentials in log files. inventory/aws_ec2.py, inventory/aws_rds.py,
    lookup/aws_account_attribute.py, and lookup/aws_secret.py,
    lookup/aws_ssm.py use the boto3 library from the Ansible process. The
    boto3 library logs credentials at log level DEBUG. If Ansible's
    logging was enabled (by setting LOG_PATH to a value) Ansible would set
    the global log level to DEBUG. This was inherited by boto and would
    then log boto credentials to the file specified by LOG_PATH. This did
    not affect aws ansible modules as those are executed in a separate
    process. This has been fixed by switching to log level INFO
  * Convert CLI provided passwords to text initially, to prevent unsafe
    context being lost when converting from bytes->text during post
    processing of PlayContext. This prevents CLI provided passwords from
    being incorrectly templated (CVE-2019-14856)
  * properly hide parameters marked with no_log in suboptions when
    invalid parameters are passed to the module (CVE-2019-14858)
  * resolves CVE-2019-10206, by avoiding templating passwords from
    prompt as it is probable they have special characters.
  * Handle improper variable substitution that was happening in
    safe_eval, it was always meant to just do 'type enforcement' and have
    Jinja2 deal with all variable interpolation. Also see CVE-2019-10156

Changelog: 9bdb89f740/changelogs/CHANGELOG-v2.6.rst
(cherry picked from commit b21b92947e)
2019-12-15 21:35:57 +01:00
Andreas Rammhold
b1ee58be77 ansible_2_8: 2.8.4 -> 2.8.7
This addresses the following security issues:

  * Ansible: Splunk and Sumologic callback plugins leak sensitive data in logs (CVE-2019-14864)
  * CVE-2019-14846 - Several Ansible plugins could disclose aws
    credentials in log files. inventory/aws_ec2.py, inventory/aws_rds.py,
    lookup/aws_account_attribute.py, and lookup/aws_secret.py,
    lookup/aws_ssm.py use the boto3 library from the Ansible process. The
    boto3 library logs credentials at log level DEBUG. If Ansible's
    logging was enabled (by setting LOG_PATH to a value) Ansible would set
    the global log level to DEBUG. This was inherited by boto and would
    then log boto credentials to the file specified by LOG_PATH. This did
    not affect aws ansible modules as those are executed in a separate
    process. This has been fixed by switching to log level INFO
  * Convert CLI provided passwords to text initially, to prevent unsafe
    context being lost when converting from bytes->text during post
    processing of PlayContext. This prevents CLI provided passwords from
    being incorrectly templated (CVE-2019-14856)
  * properly hide parameters marked with no_log in suboptions when
    invalid parameters are passed to the module (CVE-2019-14858)

Changelog: 24220a618a/changelogs/CHANGELOG-v2.8.rst
(cherry picked from commit 71cde971c7)
2019-12-15 21:35:55 +01:00
Andreas Rammhold
706c10b1bc ansible_2_7: 2.7.11 -> 2.7.15
This fixes the following security issues:
  * Ansible: Splunk and Sumologic callback plugins leak sensitive data
    in logs (CVE-2019-14864)
  * CVE-2019-14846 - Several Ansible plugins could disclose aws
    credentials in log files. inventory/aws_ec2.py, inventory/aws_rds.py,
    lookup/aws_account_attribute.py, and lookup/aws_secret.py,
    lookup/aws_ssm.py use the boto3 library from the Ansible process. The
    boto3 library logs credentials at log level DEBUG. If Ansible's
    logging was enabled (by setting LOG_PATH to a value) Ansible would set
    the global log level to DEBUG. This was inherited by boto and would
    then log boto credentials to the file specified by LOG_PATH. This did
    not affect aws ansible modules as those are executed in a separate
    process. This has been fixed by switching to log level INFO
  * Convert CLI provided passwords to text initially, to prevent unsafe
    context being lost when converting from bytes->text during post
    processing of PlayContext. This prevents CLI provided passwords from
    being incorrectly templated (CVE-2019-14856)
  * properly hide parameters marked with no_log in suboptions when invalid
    parameters are passed to the module (CVE-2019-14858)
  * resolves CVE-2019-10206, by avoiding templating passwords from
    prompt as it is probable they have special characters.
  * Handle improper variable substitution that was happening in
    safe_eval, it was always meant to just do 'type enforcement' and have
    Jinja2 deal with all variable interpolation. Also see CVE-2019-10156

Changelog: 0623dedf2d/changelogs/CHANGELOG-v2.7.rst (v2-7-15)
(cherry picked from commit 64e2791092)
2019-12-15 21:35:54 +01:00
Ivan Kozik
b648527497 chromium: fix enableWideVine for v79 which needs the manifest.json in WidevineCdm/
(cherry picked from commit af006f9ff3)
2019-12-15 20:07:54 +00:00
Ivan Kozik
95eca1725f chromium: explain enable_widevine = true
(cherry picked from commit 3d71db8abb)
2019-12-15 20:07:40 +00:00
Ivan Kozik
b457cc6c83 chromium: fix GL support by not using the ANGLE GL implementation
(cherry picked from commit 46d252f1f1)
2019-12-15 20:07:06 +00:00
Ivan Kozik
3e9a78241d chromium: 78.0.3904.108 -> 79.0.3945.79
https://chromereleases.googleblog.com/2019/12/stable-channel-update-for-desktop.html

CVE-2019-13725 CVE-2019-13726 CVE-2019-13727 CVE-2019-13728
CVE-2019-13729 CVE-2019-13730 CVE-2019-13732 CVE-2019-13734
CVE-2019-13735 CVE-2019-13764 CVE-2019-13736 CVE-2019-13737
CVE-2019-13738 CVE-2019-13739 CVE-2019-13740 CVE-2019-13741
CVE-2019-13742 CVE-2019-13743 CVE-2019-13744 CVE-2019-13745
CVE-2019-13746 CVE-2019-13747 CVE-2019-13748 CVE-2019-13749
CVE-2019-13750 CVE-2019-13751 CVE-2019-13752 CVE-2019-13753
CVE-2019-13754 CVE-2019-13755 CVE-2019-13756 CVE-2019-13757
CVE-2019-13758 CVE-2019-13759 CVE-2019-13761 CVE-2019-13762
CVE-2019-13763

The new widevine patch was taken from
https://git.archlinux.org/svntogit/packages.git/plain/trunk/chromium-widevine.patch?h=packages/chromium

(cherry picked from commit 14b40e291d)
2019-12-15 20:06:57 +00:00
Andreas Rammhold
bd6d9d7e1e spamassassin: 3.4.2 -> 3.4.3
Two security issues have been fixed in this release:
  * CVE-2019-12420 for Multipart Denial of Service Vulnerability
  * CVE-2018-11805 for nefarious CF files can be configured to
    run system commands without any output or errors.

https://svn.apache.org/repos/asf/spamassassin/branches/3.4/build/announcements/3.4.3.txt
(cherry picked from commit 5d3607b2da)
2019-12-15 20:52:17 +01:00
Andreas Rammhold
943560f540 thunderbird-bin: 68.2.2 -> 68.3.0
(cherry picked from commit e1699e3c71)
2019-12-15 20:38:27 +01:00
Andreas Rammhold
6d237b7f2b dovecot: 2.3.8 -> 2.3.9.2
Update to latest version & updated the patch file to match with the
lastest verison.

Fixes the following security issue:
  * CVE-2019-19722: Mails with group addresses in From or To fields
    caused crash in push notification drivers.

(cherry picked from commit cd394340d8)
2019-12-15 20:14:52 +01:00
Tim Steinbach
fbe321e666 linux: Add CRYPTO_AEGIS128_SIMD for aarch64
See comments: 9b67ea9106

(cherry picked from commit 0e670a2e67)
Fixes #75650.
2019-12-15 14:36:18 +01:00
Fabian Möller
4329065c43 fixup! virtualbox: 6.0.12 -> 6.0.14
use fetchpatch in guest additions

(cherry picked from commit 837dbc809e)
2019-12-15 11:01:24 +01:00
Fabian Möller
e6f5296e66 fixup! virtualbox: 6.0.12 -> 6.0.14
(cherry picked from commit 63969f5821)
2019-12-15 11:01:17 +01:00
Fabian Möller
ba44d6337b virtualbox: 6.0.12 -> 6.0.14
(cherry picked from commit 041680d936)
2019-12-15 11:01:10 +01:00
Florian Klink
d85e435b7b exa: apply patch to not panic on broken symlinks
Currently, exa fails when being executed in a git repository with
symlinks pointing to a non-existing location.

This can happen quite often with garbage-collected result links, or in
bazel repositories.

A fix was PR'ed in September at https://github.com/ogham/exa/pull/584,
but upstream seems to be not responding.

Let's apply this patch until there's a release containing the fixes.

(cherry picked from commit d41dca2f5f)
2019-12-15 02:29:01 +01:00
Renaud
57b7b01981 Merge pull request #75654 from c0bw3b/sec/stable/chicken
[19.09] update chickenPackages_4
2019-12-14 17:29:12 +01:00
David McFarland
54130b90e0 chicken: update eggs to latest
Fixes #73650

(cherry picked from commit 02930180be)
2019-12-14 16:31:54 +01:00
David McFarland
64537d2ac7 chicken: remove parseDrvName from chicken-5
(cherry picked from commit ac08635414)
2019-12-14 16:31:44 +01:00
David McFarland
fa836d791a chicken: fix chicken-4 set -u regression
(cherry picked from commit 2723d16a0f)
2019-12-14 16:31:34 +01:00
David McFarland
bc989c0d06 chicken: fix chicken-4 evaluation
broken by: 9b090ccbca

(cherry picked from commit 6850842719)
2019-12-14 16:31:23 +01:00
Andreas Rammhold
7351aa52ac Merge branch staging-19.09 into release-19.09 2019-12-13 18:09:58 +01:00
Patrick Hilhorst
cac8a972ad vscodium: 1.40.1 -> 1.41.0
(cherry picked from commit a552a7d5cf)
2019-12-13 11:05:23 -05:00
Patrick Hilhorst
6ef6bd753a vscodium: 1.40.0 -> 1.40.1
(cherry picked from commit 7b3cf4c4e3)
2019-12-13 11:05:22 -05:00
Patrick Hilhorst
f8b7b15603 vscodium: 1.39.2 -> 1.40.0
(cherry picked from commit 065dc03fc5)
2019-12-13 11:05:22 -05:00
Edmund Wu
77b02cc2b1 vscodium: 1.39.1 -> 1.39.2
(cherry picked from commit 445dd73304)
2019-12-13 11:05:22 -05:00
Domen Kožar
0817bb1a95 vscode: 1.40.1 -> 1.41.0
(cherry picked from commit 8d5e90bdb3)
2019-12-13 10:53:58 -05:00
Dmitry Olyenyov
9862792542 vscode 1.40.0 -> 1.40.1 (#73610)
(cherry picked from commit a6934e3653)
2019-12-13 10:53:57 -05:00
Domen Kožar
89d4136e02 vscode: 1.39.2 -> 1.40.0
(cherry picked from commit a2f62bc8fe)
2019-12-13 10:53:57 -05:00
Edmund Wu
8cea6d2ea7 vscode: 1.39.1 -> 1.39.2
(cherry picked from commit 9fadd8e2bd)
2019-12-13 10:53:57 -05:00
Tim Steinbach
d570b98ddc linux: 5.4.2 -> 5.4.3
(cherry picked from commit 4974c6fd23)
2019-12-13 08:37:12 -05:00
Tim Steinbach
8cd353048a linux: 4.19.88 -> 4.19.89
(cherry picked from commit 00875c0735)
2019-12-13 08:37:12 -05:00
Andreas Rammhold
a5d5fc1439 Merge pull request #75159 from risicle/ris-libofx-CVE-2019-9656-r19.09
[r19.09] libofx: add patch for CVE-2019-9656
2019-12-13 13:51:35 +01:00
Andreas Rammhold
18ca17f6c3 Merge pull request #75577 from risicle/ris-boolector-CVE-2019-7560-r19.09
[r19.09] boolector: add patch for CVE-2019-7560
2019-12-13 13:26:38 +01:00
Andreas Rammhold
36f766f310 Merge pull request #74751 from risicle/ris-libvpx-CVEs-r19.09
[r19.09] libvpx: add patches for CVE-2019-9232, CVE-2019-9325, CVE-2019-9371, CVE-2019-9433
2019-12-13 13:14:50 +01:00
Tobias Pflug
842d499ce8 Fix manylinux packages
Make sure lib outputs are used where applicable.

(cherry picked from commit 418ad571c3)
2019-12-13 10:46:02 +00:00
Stig Palmquist
e6deb2955c arp-scan: 1.9.5 -> 1.9.7
- 1.9.5 -> 1.9.7
- Fixes perl shebang and PERL5LIB for get-{oui,iab} scripts
- Quoted meta.homepage

(cherry picked from commit 5f19aab912)
2019-12-13 08:05:16 +01:00
Andreas Rammhold
23902ce7dd Merge pull request #75178 from wamserma/nixos-19.09
modules-shrunk: preserve module priorities from build
2019-12-12 23:21:24 +01:00
Robert Scott
78ac8fcb66 btor2tools: correct meta information
(cherry picked from commit c676063047)
2019-12-12 21:35:32 +00:00
Robert Scott
ce35c56c77 boolector: add patch for CVE-2019-7560
(cherry picked from commit b9185a96be)
2019-12-12 21:35:17 +00:00
Bernardo Meurer
71b278c26f thunderbird: 68.2.2 -> 68.3.0 ("high" security)
(cherry picked from commit 3d81015ac4 from #75328)

https://www.thunderbird.net/en-US/thunderbird/68.3.0/releasenotes/
https://www.mozilla.org/en-US/security/advisories/mfsa2019-38/
I've been using also this commit for yet another few hours.
2019-12-12 16:52:08 +01:00
Frederik Rietdijk
7b71b506e2 manylinux packages for Python
This adds three lists with manylinux dependencies as well as three
packages that include all the manylinux dependencies.

(cherry picked from commit 6530535b20)
2019-12-12 14:42:11 +00:00
Frederik Rietdijk
51f15cd9d8 pythonPackages.intreehooks: init at 1.0
(cherry picked from commit eb98b1d1d2)
2019-12-12 14:40:04 +00:00
Andreas Rammhold
a365ce3eb3 Merge pull request #75374 from thefloweringash/nftables-docs-19.09
[19.09] nftables: build documentation
2019-12-12 11:46:50 +01:00
Andreas Rammhold
137247f7a6 Merge branch release-19.09 into staging-19.09 2019-12-12 10:47:18 +01:00
Andreas Rammhold
72e8683b4e Merge pull request #75529 from risicle/ris-glibc-CVE-2019-19126-r19.09
[r19.09] glibc: add patch for CVE-2019-19126
2019-12-12 10:46:09 +01:00
Robert Scott
ef57504576 glibc: add patch for CVE-2019-19126
including patch in-repo as it needs modification to remove the changes to
NEWS but fetchpatch doesn't work here

(cherry picked from commit 9234d1d6db)
2019-12-11 19:26:28 +00:00
florianjacob
0635464783 matomo: 3.11 -> 3.13
backport of #74319 without the file consistency checks.
3.12 was rated a major security update but was broken for NixOS, therefore jump to 3.13 which incorporates the necessary fix.
2019-12-11 19:56:55 +01:00
Florian Klink
4651952c95 gitlab: 12.5.3 -> 12.5.4
https://about.gitlab.com/blog/2019/12/10/critical-security-release-gitlab-12-5-4-released/

Insufficient parameter sanitization for Maven package registry could lead to privilege escalation and remote code execution vulnerabilities under certain conditions. The issue is now mitigated in the latest release and is assigned CVE-2019-19628.

When transferring a public project to a private group, private code would be disclosed via the Group Search API provided by Elasticsearch integration. The issue is now mitigated in the latest release and is assigned CVE-2019-19629.

The Git dependency has been upgraded to 2.22.2 in order to apply security fixes detailed here.

CVE-2019-19604 was identified by the GitLab Security Research team. For more information on that issue, please visit the GitLab Security Research Advisory

closes #75506.

(cherry picked from commit 5bf07d665f)
2019-12-11 19:07:12 +01:00
WilliButz
2248d1339b grafana: 6.5.0 -> 6.5.1
(cherry picked from commit b8227da4c9)
2019-12-11 17:08:40 +01:00
WilliButz
8091183e02 grafana: 6.4.5 -> 6.5.0, build with go 1.13
(cherry picked from commit ce74c85ce7)
2019-12-11 17:08:40 +01:00
Roman Volosatovs
aae81a44f2 go_1_13: add kalbasit to maintainers
(cherry picked from commit f93ea5abe1)
2019-12-11 17:08:40 +01:00
WilliButz
82f4f690b1 go: add buildGo113Package and buildGo113Module 2019-12-11 17:08:40 +01:00
Roman Volosatovs
2817e90de2 go_1_13: init at 1.13.1
(cherry picked from commit bd023200a9)
2019-12-11 17:08:39 +01:00
Markus Wamser
ffe35783f5 samba: 4.10.10 -> 4.10.11 (#75458)
Security fix: CVE-2019-14861, CVE-2019-14870

This update is only a security fix. See
https://www.samba.org/samba/history/samba-4.10.11.html

(cherry picked from commit f4a88ed0a6)
2019-12-11 14:32:30 +01:00
Graham Christensen
a546edcac4 Merge pull request #75469 from edef1c/git-2.23.1
git: 2.23.0 -> 2.23.1
2019-12-10 20:50:50 -05:00
edef
b25de0437c git: 2.23.0 -> 2.23.1
CVE-2019-1348, CVE-2019-1349, CVE-2019-1350, CVE-2019-1351,
CVE-2019-1352, CVE-2019-1353, CVE-2019-1354, CVE-2019-1387,
CVE-2019-19604

Link: https://lore.kernel.org/git/xmqqr21cqcn9.fsf@gitster-ct.c.googlers.com/
2019-12-11 00:09:53 +00:00
Vladimír Čunát
45ea609220 knot-resolver: 4.2.2 -> 4.3.0 (security)
Fixes CVE-2019-19331 (DoS), but other changes as well:
https://gitlab.labs.nic.cz/knot/knot-resolver/tags/v4.3.0

(cherry picked from commit 24a4f45319)
There are basically no known incompatibilities.
2019-12-10 12:38:05 +01:00
Andrew Childs
7c0e997dc8 nftables: build documentation
(cherry picked from commit 3823edaee4)
2019-12-10 01:18:49 +09:00
R. RyanTM
3a1861fcab python3Packages.uncompyle6: 3.3.3 -> 3.5.1
python37Packages.uncompyle6: 3.3.3 -> 3.4.0

Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/python3.7-uncompyle6/versions

(cherry picked from commit df1800b7c9)

python: uncompyle6: 3.4.0 -> 3.4.1

(cherry picked from commit 84754b7c0a)

python: uncompyle6: 3.4.1 -> 3.5.0

(cherry picked from commit b3fbc1db52)

python: uncompyle6: 3.5.0 -> 3.5.1

(cherry picked from commit b9af475684)
2019-12-08 20:07:04 -05:00
R. RyanTM
8e6bf260a7 python3Packages.xdis: 4.0.3 -> 4.1.3
python37Packages.xdis: 4.0.3 -> 4.0.4

Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/python3.7-xdis/versions

(cherry picked from commit 60f6daee26)

pythonPackages.xdis: disable python2

(cherry picked from commit 27654139b5)

python38Packages.xdis: 4.0.4 -> 4.1.2

(cherry picked from commit b1b776b11c)

python38Packages.xdis: 4.1.2 -> 4.1.3

(cherry picked from commit f137d2d75b)
2019-12-08 20:05:37 -05:00
Dennis Gosnell
7fc22c7393 Merge pull request #75248 from rycee/fix-niv-in-19.09
haskellPackages.niv: 0.1.1 -> 0.2.6 (fix build under 19,09)
2019-12-09 08:59:47 +09:00
wucke13
2258326f26 [WIP] Add autochanger support to bacula-sd
+ Fixing interrupted descriptions
+ Added more verbose descriptions
+ Addded <literal> to the descriptions
+ uniformly reformated descriptions to break at 80 chars
2019-12-08 17:17:19 +01:00
Robert Helgesson
bbd032720b haskellPackages.niv: 0.1.1 -> 0.2.6
Fixes broken build in Nixpkgs 19.09.
2019-12-08 14:02:33 +01:00
Izorkin
4c9e6f80ef grass: fix mysql_config query
(cherry picked from commit 154f6f1e43)
2019-12-08 11:11:45 +01:00
Maximilian Bosch
2adf2d615c Merge pull request #75184 from andir/ff71-fix
[19.09] firefox: fix indexedDB for 71.0
2019-12-08 02:48:48 +01:00
Luflosi
8f3c63bd12 kitty: remove unused GLFW dependency
kitty has its own heavily modified fork of GLFW embedded in the source code. Therefore it doesn't need GLFW as an external dependency.

(cherry picked from commit 079d57fa20)
2019-12-07 20:25:23 -05:00
Franz Pletz
6c793254da firefox: fix indexedDB for 71.0
Adapted original patch[0] to also fix dom localstorage.

[0]: https://bugzilla.mozilla.org/show_bug.cgi?id=1601707#c6

(cherry picked from commit a1e4ee6d4f)
2019-12-08 00:48:23 +01:00
Andreas Rammhold
d7876ad85c Revert "Revert "firefox: 70.0.1 -> 71.0""
This reverts commit 8677b2627b.
2019-12-08 00:47:42 +01:00
Tom Fitzhenry
b15618801e hostapd: use getrandom(2)
Motivation: Devices with few entropy sources on boot hang/block if many services try to
read from /dev/random.

https://w1.fi/cgit/hostap/commit/?id=89a7cdd690b48a0c56380cf4609442ed13527f44
states getrandom() is recommended, but not enabled by default since it
relies on:

* Linux kernel 3.17 (NixOS 19.09 has 4.19; master presumably later)
* glibc 2.25 (NixOS master has 2.27
  https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/glibc/common.nix#L37 )
2019-12-07 23:01:30 +01:00
Markus S. Wamser
8028aa37d6 modules-shrunk: preserve module priorities from build
depmod looks for files modules.order and modules.builtin which are
generated at kernel build time but were previously not passed to
the modules-shrunk derivation
2019-12-07 23:00:14 +01:00
Félix Baylac-Jacqué
c7f71b572b hostapd: 2.8 -> 2.9
Associated release note:
https://w1.fi/security/2019-6/sae-eap-pwd-side-channel-attack-update.txt

Note: we are building hostapd with the CONFIG_EAP_PWD=y flag by
default, we might be impacted by a EAP_PWD side-channel attach on
hostapd 2.8.

(cherry picked from commit abc9b32fc6)
2019-12-07 22:37:02 +01:00
Maximilian Bosch
8bf0f130e0 documize-community: 3.5.1 -> 3.5.2
https://github.com/documize/community/releases/tag/v3.5.2
(cherry picked from commit 219df09327)
2019-12-07 18:18:41 +01:00
Robert Scott
b091d1d3dd libofx: add patch for CVE-2019-9656 2019-12-07 13:52:58 +00:00
Franz Pletz
8677b2627b Revert "firefox: 70.0.1 -> 71.0"
This reverts commit 1f81264134.

Our build of firefox 71 breaks indexedDB. See #74905.
2019-12-07 14:10:19 +01:00
Tim Steinbach
316d4372b7 linux: 5.4.1 -> 5.4.2
(cherry picked from commit 98045e752a)
2019-12-07 07:17:13 -05:00
Tim Steinbach
d310e2e13f linux: 4.9.205 -> 4.9.206
(cherry picked from commit 7e403ffcc2)
2019-12-07 07:17:13 -05:00
Tim Steinbach
281bdbf57c linux: 4.4.205 -> 4.4.206
(cherry picked from commit d90b95f2f6)
2019-12-07 07:17:13 -05:00
Tim Steinbach
c9cbe1076f linux: 4.19.87 -> 4.19.88
(cherry picked from commit 9ad3dbf43c)
2019-12-07 07:17:13 -05:00
Tim Steinbach
57c68e2073 linux: 4.14.157 -> 4.14.158
(cherry picked from commit b80f9b6867)
2019-12-07 07:17:13 -05:00
Vladimír Čunát
808d3c6d12 Merge branch 'staging-19.09' into release-19.09 2019-12-07 12:22:09 +01:00
Franz Pletz
7823b4aed0 Merge pull request #73758 from d-goldin/backport_musl_bump
[r19.09] musl: 1.1.2x -> 1.1.24 (security)
2019-12-07 11:19:03 +00:00
Anders Kaseorg
41896c85bf gnuplot_qt: Use qt mkDerivation
Fixes this error:

gnuplot> plot [-5:5] sin(x)
qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could
be initialized. Reinstalling the application may fix this problem.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
(cherry picked from commit c55f48477a)
2019-12-07 05:52:02 -05:00
Dustin Frisch
131ff6dd9c nixos/networkd: Add more valid values for RequiredForOnline
`RequiredForOnline` allows for a boolean value or operational state.
This adds the values for all valid the operational states.

(cherry picked from commit 0aeaf4dfe0)
2019-12-06 18:06:21 +01:00
Florian Klink
0e4d0ad201 nixos/networkd: add missing "Advertise" option
This is in systemd since v240.

(cherry picked from commit 2c1281eb7a)
2019-12-06 18:00:55 +01:00
Dustin Frisch
76049ce4ef nixos/networkd: add Name as valid option to Link
This has been there since v209 [1]

```
The interface name to use. This option has lower precedence than NamePolicy=, so for this setting to take effect, NamePolicy= must either be unset, empty, disabled, or all policies configured there must fail. Also see the example below with "Name=dmz0".

Note that specifying a name that the kernel might use for another interface (for example "eth0") is dangerous because the name assignment done by udev will race with the assignment done by the kernel, and only one interface may use the name. Depending on the order of operations, either udev or the kernel will win, making the naming unpredictable. It is best to use some different prefix, for example "internal0"/"external0" or "lan0"/"lan1"/"lan3".
```

[1] 43b3a5ef61

(cherry picked from commit 943508a7fa)
2019-12-06 18:00:47 +01:00
Michael Weiss
2ed8568d83 Merge pull request #75048 from primeos/signal-desktop-backport
[19.09] signal-desktop: 1.28.0 -> 1.29.0 (backport)
2019-12-06 13:57:20 +01:00
Dmitry Kalinkin
a7aa5dbb19 rivet: fix bug in make-plots
(cherry picked from commit 5af3071079)
2019-12-05 17:50:53 -05:00
Maximilian Bosch
51f55f323c documize-community: 3.5.0 -> 3.5.1
https://github.com/documize/community/releases/tag/v3.5.1

This patch also switches to a `go.mod`-based build as upstream already
switched to it a while ago[1].

[1] b826852137

(cherry picked from commit 8331ba3550)
2019-12-05 23:45:42 +01:00
Maximilian Bosch
666a7619ce documize-community: 3.4.2 -> 3.5.0
https://github.com/documize/community/releases/tag/v3.5.0
(cherry picked from commit 7889ec6069)
2019-12-05 23:42:48 +01:00
WilliButz
c0298e30db grafana-loki: 1.0.0 -> 1.1.0
(cherry picked from commit f659187525)
2019-12-05 17:38:55 +01:00
Maximilian Bosch
a9ef06bb6d vdirsyncer: apply patch to fix sync with google calendar
See https://github.com/pimutils/vdirsyncer/issues/765 for further
reference.

(cherry picked from commit 2fa839d00b)
2019-12-05 16:30:59 +01:00
Maximilian Bosch
46c4afa674 matrix-synapse: 1.5.1 -> 1.6.1
https://github.com/matrix-org/synapse/releases/tag/v1.6.0
https://github.com/matrix-org/synapse/releases/tag/v1.6.1

(cherry picked from commit 58ccdeb8af)
2019-12-05 15:35:54 +01:00
Michael Weiss
0486273169 signal-desktop: 1.28.0 -> 1.29.0
(cherry picked from commit 8f56c19778)
Reason: Avoid an expired (unusable) release in the stable release
(Signal-Desktop releases expire after 90 days).
2019-12-05 15:09:09 +01:00
Pedro Pombeiro
a1faed7733 androidndkPkgs: fix typo in propagatedBuildInputs (#75045)
(cherry picked from commit ec9fb6275a)
2019-12-05 08:45:23 -05:00
Andreas Rammhold
0322870203 Merge pull request #75006 from andir/19.09/firefox-71
[19.09] firefox 71
2019-12-05 14:27:05 +01:00
Frederik Rietdijk
d3a8243e58 python: Django: 2.2.6 -> 2.2.7
(cherry picked from commit c47d8fc082)
2019-12-05 09:27:19 +01:00
Frederik Rietdijk
61fd5d34c1 python: Django: 2.2.5 -> 2.2.6
(cherry picked from commit ea7d64bab0)
2019-12-05 09:27:11 +01:00
Maximilian Bosch
1be199f059 vagrant: 2.2.5 -> 2.2.6
https://github.com/hashicorp/vagrant/releases/tag/v2.2.6

Generated the `gemset.nix` by converting the `vagrant.gemspec` file to a
different `Gemfile` as described in the previous update PR[1].

[1] https://github.com/NixOS/nixpkgs/pull/64302#issuecomment-516837953

(cherry picked from commit 728f7a7d4b)
2019-12-04 22:47:29 +01:00
Andreas Rammhold
38115b7cb7 firefox-esr-68: 68.2.0esr -> 68.3.0esr
(cherry picked from commit 1993a8bb45)
2019-12-04 22:06:50 +01:00
Andreas Rammhold
3ae048ee90 firefox-devedition-bin: 70.0b2 -> 72.0b1
(Cherry picked from ff0cd023ef)
2019-12-04 22:06:49 +01:00
Andreas Rammhold
336e9964cd firefox-beta-bin: 69.0b16 -> 72.0b1
(cherry picked from commit bbb74cdb3c)
2019-12-04 22:06:48 +01:00
Andreas Rammhold
f85d9ea467 firefox-bin: 70.0.1 -> 71.0
(cherry picked from commit ba1acd2f0c)
2019-12-04 22:06:47 +01:00
Andreas Rammhold
1f81264134 firefox: 70.0.1 -> 71.0
(cherry picked from commit 8eb6c64404)
2019-12-04 22:06:46 +01:00
Andreas Rammhold
a681dab02e firefox: support building version >=70 2019-12-04 22:06:45 +01:00
Andreas Rammhold
b2efcd4b61 nspr_4_23: init at 4.23 2019-12-04 22:06:44 +01:00
Maximilian Bosch
b05a45353d Merge pull request #74960 from mtetreault/mte/nix-prefetch-github
nix-prefetch-github: v.2.3.1 -> v2.3.2
2019-12-04 22:00:55 +01:00
Andreas Rammhold
28656189b1 nss_3_47_1: init at 3.47.1
For the new Firefox 70 release we need a newer NSS version.
2019-12-04 20:40:24 +01:00
Milan Pässler
84586a4514 gitlab: 12.5.2 -> 12.5.3
(cherry picked from commit a43003d633)
2019-12-04 17:08:07 +01:00
Christian Kauhaus
0a606edd92 Merge branch 'release-19.09' into staging-19.09 2019-12-04 10:56:51 +01:00
Christian Kauhaus
02fc78adad Merge pull request #74876 from d-goldin/djvulibre_sec_patches_1909
Closes #74876
2019-12-04 10:50:00 +01:00
Dima
5bf1d43486 [19.09] djvulibre: patching multiple CVEs
Addresses:

https://github.com/NixOS/nixpkgs/issues/73624
https://github.com/NixOS/nixpkgs/issues/70086
(cherry picked from commit be7e51a083)
2019-12-04 10:48:51 +01:00
mtetreault
240f189d03 nix-prefetch-github: v2.3.1 -> v2.3.2 2019-12-03 20:37:28 -05:00
Mario Rodas
093faad968 Merge pull request #74946 from obsidiansystems/bump/chromedriver
chromedriver: 76.0.3809.68 -> 78.0.3904.105
2019-12-03 20:28:01 -05:00
E Cardenas
9bf985deb4 chromedriver: 76.0.3809.68 -> 78.0.3904.105 2019-12-03 17:32:05 -05:00
worldofpeace
f3fa5a101e Merge pull request #74889 from mtetreault/mte/zsh
zsh-powerlevel9k: 2017-11-10 -> v0.6.7
2019-12-03 16:52:39 +00:00
mtetreault
dd662bd146 zsh-powerlevel9k: 2017-11-10 -> v0.6.7 2019-12-03 11:50:54 -05:00
Edmund Wu
559d28d7d6 nvidia_x11: 435.21 -> 440.36
(cherry picked from commit b05e2c0fb9)

Fixes: #74890
Fixes: 63c756db ('linux: 5.3.14 -> 5.4.1')
2019-12-03 10:53:47 -05:00
adisbladis
461d5db523 Merge pull request #74910 from helsinki-systems/backport/spectacle_wayland_fix
spectacle: add new kwayland dependency
2019-12-03 15:02:06 +00:00
nyanloutre
7cf22515b6 spectacle: add new kwayland dependency 2019-12-03 12:39:43 +01:00
worldofpeace
72a2ced252 Merge pull request #73785 from worldofpeace/libinput-options-all-19.09
[19.09] nixos/libinput: apply options to all device types
2019-12-03 02:09:55 +00:00
Jonathan Ringer
ceea7ec7b5 azure-cli: 2.0.76 -> 2.0.77 2019-12-02 16:37:39 -08:00
Jonathan Ringer
4d82b4609a python3Packages.azure-mgmt-appconfiguration: 0.1.0 -> 0.3.0 2019-12-02 16:37:39 -08:00
Jonathan Ringer
5f706eef70 python3Packages.azure-loganalytics: fix python3 namespace 2019-12-02 16:37:39 -08:00
Robert Scott
d387c2dd55 haproxy: 1.9.8 -> 1.9.13 (security) (#74803)
addressing CVE-2019-19330
2019-12-02 14:35:26 +01:00
Thomas Tuegel
5ec872f67f Merge pull request #73172 from edolstra/backport-kde-19.08.2
kde_applications: 19.08.1 -> 19.08.2
2019-12-02 05:31:21 -06:00
Lancelot SIX
6b68f17588 strawberry: 0.6.6 -> 0.6.7
(cherry picked from commit adc9ccdc11)
2019-12-02 10:17:23 +01:00
R. RyanTM
bc5070bdef strawberry: 0.6.5 -> 0.6.6
(cherry picked from commit 06d842e08a)
2019-12-02 10:17:11 +01:00
R. RyanTM
27f0c1973d strawberry: 0.6.3 -> 0.6.5 (#71878)
* strawberry: 0.6.3 -> 0.6.5

Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/strawberry/versions

* strawberry: add meta.homepage and meta.changelog

(cherry picked from commit a701093bd4)
2019-12-02 10:17:00 +01:00
Joachim Fasting
3757f29dd5 lib/versions: expose splitVersion
(cherry picked from commit fd3052901c)
2019-12-01 23:40:29 -08:00
Robert Scott
0fba5b9ed7 ghostscript: add patch for CVE-2019-14869
again, context-adjusted patch cribbed from debian's 9.26a~dfsg-0+deb9u6
2019-12-01 18:33:08 +01:00
Robert Scott
4e28989484 ghostscript: add patches for CVE-2019-3838
again, context-adjusted patches cribbed from debian's 9.26a~dfsg-0+deb9u6
2019-12-01 18:33:08 +01:00
Robert Scott
59ea6fca80 ghostscript: add patches for CVE-2019-3835
context-adjusted patches cribbed from debian's 9.26a~dfsg-0+deb9u6, also
requiring further adjustment of patch for CVE-2019-10216
2019-12-01 18:33:08 +01:00
Frederik Rietdijk
de33cdfdbd Merge release-19.09 into staging-19.09 2019-12-01 18:31:21 +01:00
Tim Steinbach
c37b370364 linux: 4.19.86 -> 4.19.87
(cherry picked from commit c4dc27cfaf)
2019-12-01 07:26:41 -05:00
Tim Steinbach
7232107806 linux: 4.14.156 -> 4.14.157
(cherry picked from commit 9d38dd4a0a)
2019-12-01 07:26:41 -05:00
Robert Scott
9bcc7608f2 libvpx: add patches for CVE-2019-9232, CVE-2019-9325, CVE-2019-9371, CVE-2019-9433
backports sourced from debian package 1.7.0-3+deb10u1, included in-repo
as file is not available on sources.debian.org or salsa.debian.org
2019-11-30 21:25:59 +00:00
Tim Steinbach
63c756db07 linux: 5.3.14 -> 5.4.1
Update latest kernel from 5.3.x to 5.4.x series
2019-11-30 08:20:15 -05:00
Tim Steinbach
46249289d6 linux: 5.3.13 -> 5.3.14
(cherry picked from commit 0e2e1afae8)
2019-11-30 08:16:24 -05:00
Tim Steinbach
dcb79ef07c linux: 4.9.203 -> 4.9.205
(cherry picked from commit 77ce626d10)
2019-11-30 08:16:24 -05:00
Tim Steinbach
22a18d41f7 linux: 4.4.203 -> 4.4.205
(cherry picked from commit 9d07976ab4)
2019-11-30 08:16:24 -05:00
c0bw3b
65ebe52c81 qtpass: scope qrencode
(cherry picked from commit 442670f787)
2019-11-30 12:23:45 +01:00
Will Dietz
dae3575cee nixos/adb: don't make android tools the system-wide mke2fs, lowPrio
(cherry picked from commit 6ee7b4ddd8)
2019-11-30 03:46:41 +01:00
Ben Hipple
0b28c5594f irony-server: Fix build with 1.4.0 cmake files
The irony-server binary package tracks the irony-server elisp package, which was
upgraded to 1.4.0. This is now failing on Hydra because upstream has refactored
the CMake build, and now require CMake files from LLVM.

(cherry picked from commit 33e0ffebc1)
19.09 has the same problem
2019-11-29 16:24:38 -08:00
rnhmjoj
70f58f1857 nixos/pdns-recursor: add option for recursive forward zones
(cherry picked from commit 28c8884e62)
2019-11-29 19:57:18 +01:00
rnhmjoj
6dccb68a71 nixos/dnschain: use forwardZonesRecurse in pdns-recursor
(cherry picked from commit 38d573426a)
2019-11-29 19:57:04 +01:00
Renaud
b333ca4696 libvncserver: 0.9.11 -> 0.9.12
Backport of #74514

Vuln roundup: close #73664 -- r19.09 channel

Version bump from 0.9.11 to 0.9.12 fixes:
* CVE-2018-6307
* CVE-2018-15126
* CVE-2018-15127
* CVE-2018-20019
* CVE-2018-20020
* CVE-2018-20021
* CVE-2018-20022
* CVE-2018-20023
* CVE-2018-20024
* CVE-2018-20748
* CVE-2018-20749

Plus add two upstream patches to fix:
* CVE-2018-20750
* CVE-2019-15681

(cherry picked from commit 3fb4e09812)
2019-11-29 19:45:15 +01:00
Renaud
37208ea6b1 mysql80: define pname and version
version is needed by the mysql service module
Close #68322

(cherry picked from commit e7f7b475d3)
2019-11-29 19:44:19 +01:00
Philipp
04afa992e2 rssguard: add wrapQtAppsHook to run app in all environments
Backport of #70281

(cherry picked from commit fcd0ea3435)
2019-11-29 19:43:45 +01:00
Jean-Baptiste Giraudeau
b2448a9fde haskellPackages: unbreak amazonka (and other packages that use it)
Closes https://github.com/NixOS/nixpkgs/pull/68944.

(cherry picked from commit 6ceb7a1285)
Signed-off-by: Domen Kožar <domen@dev.si>
2019-11-29 14:56:18 +01:00
Mario Rodas
6e966de055 Merge pull request #73603 from ahiaao/fix/blist-python37-backport
python37Packages.blist: fix compatibility for python 3.7 19.09 backport
2019-11-28 19:20:07 -05:00
Mario Rodas
a374ffaec2 Merge pull request #73599 from ahiaao/fix/pyld-python37
python37Packages.PyLD: fix behavior to terminate generators
2019-11-28 18:40:23 -05:00
ahiaao
271da09326 python37Packages.PyLD: fix behavior to terminate generators 2019-11-28 15:09:32 -08:00
ahiaao
1ac7a46b43 python37Packages.blist: fix compatibility for python 3.7 2019-11-28 15:04:15 -08:00
Robin Gloster
00c2b2cabb Merge pull request #73805 from xfix/qtbase-cve
[r19.09] qt512.qtbase: add patch for CVE-2019-18281
2019-11-28 15:23:32 +01:00
adisbladis
7ee5dc0232 pythonPackages.pipBuildHook: Add wheel dependency
And remove missing "options"

(cherry picked from commit 2b2c6e0bc4)
2019-11-28 11:06:45 +00:00
Sorin Iclanzan
9d21383320 Add iptables to wireguard-tools
(cherry picked from commit f555515412)
2019-11-28 09:57:58 +00:00
Florian Klink
73fb59dbb8 gitlab-workhorse: 8.14.0 -> 8.14.1
(cherry picked from commit deb0049ca0)
2019-11-28 00:55:25 +01:00
Florian Klink
839b01b7ff gitaly: 1.72.0 -> 1.72.1
(cherry picked from commit 02eae2c3aa)
2019-11-28 00:55:25 +01:00
Florian Klink
6aaa42746c gitlab: 12.5.0 -> 12.5.2
(cherry picked from commit 00f4760cdc)
2019-11-28 00:55:25 +01:00
talyz
e5820bd73f gitlab: 12.4.3 -> 12.5.0
(cherry picked from commit ce2aa10765)
2019-11-28 00:54:18 +01:00
Denis Redozubov
7ff5bcacf1 apple_sdk: broken link update (#73984)
(cherry picked from commit 7233afc886)
2019-11-27 14:20:24 -05:00
David Terry
1343f339b2 wireguard-tools: 0.0.20191012 -> 0.0.20191127
(cherry picked from commit bdcc0f420c)
2019-11-27 18:39:30 +01:00
Robin Gloster
3e2db1f2ab Merge pull request #74194 from aanderse/solr-CVE
solr: 8.2.0 -> 8.3.0
2019-11-27 18:13:01 +01:00
Elis Hirwing
88a0667a8a chefdk: fix build (#74315)
(cherry picked from commit 30e7d12e1c)
2019-11-27 17:18:51 +01:00
Marek Mahut
f51aa113f9 Merge pull request #74339 from 1000101/release-19.09
[19.09] python3.7-trezor_agent: fix startup error
2019-11-27 17:09:26 +01:00
Will Dietz
ca9f709fd0 microcodeIntel: 20191113 -> 20191115
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20191115
(cherry picked from commit 1f58182f04)
2019-11-27 16:26:59 +01:00
Alan Pearce
8a8de0becb python3.7-trezor_agent: fix startup error 2019-11-27 16:05:54 +01:00
Jörg Thalheim
6ad253588f cntr: 1.2.0 -> 1.2.1
(cherry picked from commit bab9a6f8a8)
2019-11-27 15:01:17 +00:00
worldofpeace
e569ef70f7 zoom-us: use latest qt
Fixes #74273
2019-11-26 15:01:48 -05:00
Dima
9501ac3356 python27Packages.cherrypy: fix build
Due to the recent update of python 2.7 from 2.7.16 to 2.7.17
(see 05dfc50639) the
`StaticTest::test_null_bytes` test case started failing on 2.7
too.

This is because additional validation has been backported to
httplib in PR 13315 in https://github.com/python/cpython to
to address a security issue.
2019-11-26 19:51:58 +01:00
John Ericson
8737963735 Fix lib tests
js-ghcjs didn't fit in an existing categor.
2019-11-26 12:57:16 -05:00
WilliButz
3524ba8e8b nixos/prometheus-exporters: fix nginx exporter startup
When nginx is enabled on the same host the nginx exporter is,
the exporter needs to start after nginx.

(cherry picked from commit adc5ae70bf)
2019-11-26 18:01:17 +01:00
WilliButz
e3eaf19714 grafana: 6.4.4 -> 6.4.5
(cherry picked from commit 12c1f4b785)
2019-11-26 18:01:15 +01:00
worldofpeace
e056ef31e9 Merge pull request #74269 from talyz/backport-getname-fixes
[19.09] Backport lib.getName fixes
2019-11-26 16:39:44 +00:00
talyz
cc8bd613f5 common-updater-scripts: Fix breakage
Fixes a bug introduced by 9b090ccbca
where the script fails to run if $attr.${versionKey} exists.

(cherry picked from commit 809768bb91)
2019-11-26 15:40:51 +01:00
Franz Pletz
b4ede959dd clamav: 0.101.4 -> 0.101.5
Fixes CVE-2019-15961.
2019-11-26 15:40:45 +01:00
worldofpeace
776b456022 update.nix: fix eval
(cherry picked from commit e716e86bed)
2019-11-26 15:40:01 +01:00
Tim Steinbach
93a7c94714 linux: 4.4.202 -> 4.4.203
(cherry picked from commit ba80ebc1b3)
2019-11-26 08:00:43 -05:00
R. RyanTM
8ae889dffb solr: 8.2.0 -> 8.3.0
(cherry picked from commit 84bf78faa4)
2019-11-25 15:43:46 -05:00
Milan Pässler
105e5282b2 gitlab: 12.4.2 -> 12.4.3
(cherry picked from commit f53fe02ff0)
2019-11-25 20:43:01 +01:00
Jonathan Ringer
3bf1d50b27 azure-cli: init at 2.0.76 2019-11-25 09:16:24 -08:00
Jonathan Ringer
643b97291d pythonPackages.portalocker: 1.5.0 -> 1.5.2 2019-11-25 09:16:24 -08:00
Jonathan Ringer
e5c1dbfb98 pythonPackages.azure-mgmt-servicefabric: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
c635193a79 pythonPackages.azure-mgmt-relay: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
5a2a14a4da pythonPackages.azure-mgmt-msi: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
c3933514b6 pythonPackages.azure-mgmt-monitor: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
fb7516ea28 pythonPackages.azure-mgmt-maps: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
2bbbf1a0e0 pythonPackages.azure-mgmt-loganalytics: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
b3c450cb9c pythonPackages.azure-mgmt-keyvault: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
a6759fe650 pythonPackages.azure-mgmt-iothubprovisioningservices: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
0f3e44e7e7 pythonPackages.azure-mgmt-dns: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
a6403f4b51 pythonPackages.azure-mgmt-devtestlabs: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
13dbaabbf9 pythonPackages.azure-mgmt-datamigration: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
7e93a3d948 pythonPackages.azure-mgmt-datalake-store: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
a9265c90ab pythonPackages.azure-mgmt-datalake-analytics: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
db018133fe pythonPackages.azure-mgmt-consumption: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
dd6d578a1d python3Packages.azure-mgmt-billing: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
1d3e8373ed python3Packages.azure-mgmt-batchai: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
926def4476 python3Packages.azure-mgmt-applicationinsight: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
806e48d195 pythonPackages.azure-keyvault: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
4d76024748 python3Packages.azure-cosmos: fix python3 namespace 2019-11-25 09:16:24 -08:00
Jonathan Ringer
77f509789a pythonPackages.javaproperties: init at 0.5.2 2019-11-25 09:16:24 -08:00
Jonathan Ringer
58787a8ce7 python3Packages.vsts-cd-manager: init at 1.0.2 2019-11-25 09:16:24 -08:00
Jonathan Ringer
0d8f97cf50 python3Packages.secure: init at 0.2.1 2019-11-25 09:16:24 -08:00
Jonathan Ringer
3140947487 sshtunnel: init at 0.1.5 2019-11-25 09:16:24 -08:00
Jonathan Ringer
049b31acf6 python3Packages.azure-multiapi-storage: init at 0.2.4 2019-11-25 09:16:24 -08:00
Jonathan Ringer
bc814b92bc python3Packages.azure-mgmt-sqlvirtualmachine: init at 0.4.0 2019-11-25 09:16:24 -08:00
Jonathan Ringer
741eabfbc7 python3Packages.azure-mgmt-security: init at 0.3.0 2019-11-25 09:16:24 -08:00
Jonathan Ringer
2afb0fc7d5 python3Packages.azure-mgmt-privatedns: init at 0.1.0 2019-11-25 09:16:24 -08:00
Jonathan Ringer
20adfb38f5 python3Packages.azure-mgmt-netapp: init at 0.6.0 2019-11-25 09:16:24 -08:00
Jonathan Ringer
880cf8a7de python3Packages.azure-mgmt-managedservices: init at 1.0.0 2019-11-25 09:16:24 -08:00
Jonathan Ringer
d20ddeea58 python3Packages.azure-mgmt-kusto: init at 0.4.0 2019-11-25 09:16:24 -08:00
Jonathan Ringer
860d0ea6a8 python3Packages.azure-mgmt-imagebuilder: init at 0.2.1 2019-11-25 09:16:24 -08:00
Jonathan Ringer
57639e83f5 python3Packages.azure-mgmt-hdinsight: init at 1.2.0 2019-11-25 09:16:24 -08:00
Jonathan Ringer
1e5d21f6ee python3Packages.azure-mgmt-deploymentmanager: init at 0.1.0 2019-11-25 09:16:24 -08:00
Jonathan Ringer
3667ad0522 python3Packages.azure-mgmt-containerregistry: init at 2.8.0 2019-11-25 09:16:24 -08:00
Jonathan Ringer
b51eed0998 python3Packages.azure-mgmt-botservice: init at 0.2.0 2019-11-25 09:16:24 -08:00
Jonathan Ringer
3cbea4491c python3Packages.azure-mgmt-appconfiguration: init at 0.1.0 2019-11-25 09:16:24 -08:00
Jonathan Ringer
7f8eadd48b pythonPackages.azure-mgmt-apimanagement: init at 0.1.0 2019-11-25 09:16:24 -08:00
Jonathan Ringer
58313d3f3f pythonPackages.msrestazure: 0.6.1 -> 0.6.2 2019-11-25 09:16:24 -08:00
Jonathan Ringer
c204a5676f pythonPackages.msrest: 0.6.9 -> 0.6.10 2019-11-25 09:16:24 -08:00
Jonathan Ringer
4e66cd7c5e pythonPackages.azure-functions-devops-build: init at 0.0.22 2019-11-25 09:16:24 -08:00
Tim Steinbach
395f68a721 linux: 5.3.12 -> 5.3.13
(cherry picked from commit 8b93e0c2c4)
2019-11-25 09:17:19 -05:00
Tim Steinbach
38ebe7b382 linux: 4.9.202 -> 4.9.203
(cherry picked from commit e0816be801)
2019-11-25 09:17:19 -05:00
Tim Steinbach
7ba2fd2354 linux: 4.19.85 -> 4.19.86
(cherry picked from commit 7967988054)
2019-11-25 09:17:19 -05:00
Tim Steinbach
17679d7c84 linux: 4.14.155 -> 4.14.156
(cherry picked from commit d65b1c6e97)
2019-11-25 09:17:19 -05:00
Tim Steinbach
f43ce0c5aa linux: 5.3.11 -> 5.3.12
(cherry picked from commit a96f98be6e)
2019-11-25 09:17:19 -05:00
Tim Steinbach
95e9bc8b19 linux: 4.19.84 -> 4.19.85
(cherry picked from commit 9265a8e98d)
2019-11-25 09:17:19 -05:00
Tim Steinbach
c00a4bfcfc linux: 4.14.154 -> 4.14.155
(cherry picked from commit 74b376f252)
2019-11-25 09:17:19 -05:00
John Ericson
765d2608b6 Fix lib tests
js-ghcjs didn't fit in an existing categor.
2019-11-25 14:09:50 +00:00
Enno Lohmeier
2d883471a1 nixos/containers: fix handling of cfg.additionalCapabilities
(cherry picked from commit fc7070d133)
2019-11-25 10:00:47 +00:00
Andreas Rammhold
ed967de49e systemd: v243 -> v243.3
(cherry picked from commit d5914d7d68)
2019-11-25 09:08:33 +01:00
Herwig Hochleitner
1d3c63060b cdemu: 3.2.2 -> 3.2.3
(cherry picked from commit 6e38def213)
2019-11-25 04:33:38 +01:00
Herwig Hochleitner
1c3ca639ba clojure: 1.10.1.469 -> 1.10.1.489
(cherry picked from commit 727740b56e)
2019-11-25 04:33:38 +01:00
John Ericson
ea9a2c5ec2 haskell genenric-builder: Make the C compiler optional
This is GHCJS, and perhaps other obscure targets.
2019-11-25 00:12:39 +00:00
John Ericson
c739c420db Add support for cross compiling to js-ghcjs
This platform doesn't have a C compiler, and so relies and the changes
in the previous commit to work.
2019-11-25 00:12:38 +00:00
John Ericson
63bd851e95 stdenv: Introduce hasCC attribute
Before, we'd always use `cc = null`, and check for that. The problem is
this breaks for cross compilation to platforms that don't support a C
compiler.

It's a very subtle issue. One might think there is no problem because we
have `stdenvNoCC`, and presumably one would only build derivations that
use that. The problem is that one still wants to use tools at build-time
that are themselves built with a C compiler, and those are gotten via
"splicing". The runtime version of those deps will explode, but the
build time / `buildPackages` versions of those deps will be fine, and
splicing attempts to work this by using `builtins.tryEval` to filter out
any broken "higher priority" packages (runtime is the default and
highest priority) so that both `foo` and `foo.nativeDrv` works.

However, `tryEval` only catches certain evaluation failures (e.g.
exceptions), and not arbitrary failures (such as `cc.attr` when `cc` is
null). This means `tryEval` fails to let us use our build time deps, and
everything comes apart.

The right solution is, as usually, to get rid of splicing. Or, baring
that, to make it so `foo` never works and one has to explicitly do
`foo.*`. But that is a much larger change, and certaily one unsuitable
to be backported to stable.

Given that, we instead make an exception-throwing `cc` attribute, and
create a `hasCC` attribute for those derivations which wish to
condtionally use a C compiler: instead of doing `stdenv.cc or null ==
null` or something similar, one does `stdenv.hasCC`. This allows quering
without "tripping" the exception, while also allowing `tryEval` to work.

No platform without a C compiler is yet wired up by default. That will
be done in a following commit.
2019-11-25 00:12:38 +00:00
John Ericson
c31275386a Merge pull request #74088 from Ericson2314/ghcjs-fix-deps
ghcjs-ng: The GHC source should be configured with native build inputs
2019-11-24 18:12:45 -05:00
John Ericson
5858d7229a ghcjs-ng: The GHC source should be configured with native build inputs
This matters once we start treating GHCJS as cross compilation, as we
should be.
2019-11-24 23:08:47 +00:00
Robert Scott
a8b7f4b482 fribidi: add patch for CVE-2019-18397 (#73707)
(adjusted cherry-pick from 55b583d334)
2019-11-24 23:03:09 +01:00
Robert Scott
64414ced39 tightvnc: add patches for four CVEs
Security fixes for:
* CVE-2019-8287
* CVE-2019-15678
* CVE-2019-15679
* CVE-2019-15680

mostly adapted from patches fixing similar issues in the actively
maintained libvnc

(#73970)

(cherry picked from commit 2482f8b8dc)
2019-11-24 20:05:34 +01:00
John Ericson
1d3511851d Merge pull request #74058 from Ericson2314/wrapper-pname-support-19.09
treewide: Purge most parseDrvName preserving compat for 19.09
2019-11-24 13:31:45 -05:00
Herwig Hochleitner
9f40c6625d chromium: update vaapi patch
https://github.com/NixOS/nixpkgs/issues/73878
(cherry picked from commit a52d7674cc)
2019-11-24 19:11:36 +01:00
John Ericson
4a0a297861 bintools-wrapper: Fix version 2019-11-24 17:57:06 +00:00
John Ericson
97baa2e21b doc: Fix and clarify allowInsecurePredicate example
I had made inbalanced parens. Remove unneeded parens for legibility too.
2019-11-24 17:36:17 +00:00
John Ericson
9b090ccbca treewide: Get rid of most parseDrvName without breaking compat
That is because this commit should be merged to both master and
release-19.09.
2019-11-24 17:22:28 +00:00
Craig Hall
99537e994f {cc,bintools}-wrapper: use cc pname/version if set 2019-11-24 16:33:21 +00:00
John Ericson
84a105254d lib: Add getName to mirror getVersion 2019-11-24 16:24:50 +00:00
John Ericson
de2c598831 Merge pull request #74018 from Ericson2314/gcc-fix-cross-name
gcc: Fix cross names for 19.09
2019-11-24 11:03:11 -05:00
Robert Scott
753a1ac801 tnef: 1.4.17 -> 1.4.18 (security)
Backport of #73882

addresses CVE-2019-18849

(cherry picked from commit b9d458d91c)
2019-11-24 16:11:26 +01:00
Marek Mahut
9d8a925da9 kdeFrameworks.kio: moving bin stuff into "out" output
(cherry picked from commit ef76465bc8)
2019-11-24 06:58:00 -05:00
worldofpeace
5861c65cce chessx: use qt5's mkDerivation and latest qt
Fixes #74020

https://github.com/NixOS/nixpkgs/issues/65399
(cherry picked from commit 0f00c2aee2)
2019-11-24 06:30:23 -05:00
edef
8e287326cf iperf3: correct license to bsd3
Backport of #73949

Quoth http://software.es.net/iperf:
> [iperf3] is released under a three-clause BSD license.

(cherry picked from commit 78cb116272)
2019-11-24 12:18:06 +01:00
Robert Scott
7aa75e5150 aspell: add patch for CVE-2019-17544
(#73999)
2019-11-24 11:50:09 +01:00
Renaud
308240791e Merge pull request #74024 from taku0/adoptopenjdk-bin-11.0.4-19.09
[19.09] adoptopenjdk-bin: 11.0.3 -> 11.0.5, 8.0.222 -> 8.0.232 [Security fixes]
2019-11-24 11:46:58 +01:00
Franz Pletz
246bca6fe8 Merge pull request #73973 from nh2/qtpass-1.3.2-19.09
qtpass: 1.3.2 cherry-pick to 19.09
2019-11-24 10:37:23 +00:00
taku0
2b514292f1 adoptopenjdk-bin: 8.0.222 -> 8.0.232 2019-11-24 18:39:21 +09:00
taku0
266c4a65ab adoptopenjdk-bin: 11.0.4 -> 11.0.5 2019-11-24 18:39:21 +09:00
taku0
92fdbbaf7f adoptopenjdk-bin: 11.0.3 -> 11.0.4 2019-11-24 18:39:21 +09:00
John Ericson
d70000a1e9 Revert "Merge pull request #67284 from gloaming/cc-versions"
This PR was meant to go to staging, not 19.09. I was not clear.

This reverts commit ba62f5e810, reversing
changes made to c02134ff3c.
2019-11-24 05:26:33 +00:00
Craig Hall
62d6429793 gcc: Fix cross names
There was an issue with the dashes.

(taken from commit e158e113a6)
2019-11-24 05:18:50 +00:00
John Ericson
ba62f5e810 Merge pull request #67284 from gloaming/cc-versions
(compilers): add version and pname
2019-11-24 00:07:22 -05:00
adisbladis
85ee4273e0 Merge pull request #73978 from ckauhaus/lua-5.3-CVE-2019-6706-r19.09
[19.09] lua-5.3: add patch for CVE-2019-6706
2019-11-23 22:25:37 +00:00
Craig Hall
e158e113a6 gcc: use pname
and fix the dashes
2019-11-23 21:59:02 +00:00
Craig Hall
2b616d2ff0 llvm-manpages: use pname 2019-11-23 21:59:02 +00:00
Craig Hall
9b3f3b89f4 llvm: use pname 2019-11-23 21:59:02 +00:00
Craig Hall
a6c8c28397 clang-manpages: use pname 2019-11-23 21:59:02 +00:00
Craig Hall
b9f4896573 clang: use pname 2019-11-23 21:59:02 +00:00
Craig Hall
b3a1808ea2 cc-wrapper: inherit compiler version 2019-11-23 21:59:02 +00:00
Craig Hall
591034b45a cc-wrapper: use cc pname/version if set 2019-11-23 21:59:02 +00:00
Craig Hall
7808398182 llvm: add version attribute 2019-11-23 21:59:02 +00:00
Craig Hall
c4a81ed5f7 clang: add version attribute 2019-11-23 21:59:02 +00:00
Craig Hall
d7fd7ff6f1 gcc: add version attribute 2019-11-23 21:59:02 +00:00
John Ericson
c02134ff3c Merge pull request #73980 from Ericson2314/mingw-rocksdb-19.09
rocksdb: Build with MinGW for 19.09
2019-11-23 13:37:18 -05:00
Christian Kauhaus
ea61d4874e lua-5.3: add patch for CVE-2019-6706
Fixes #54799
2019-11-23 19:19:28 +01:00
R. RyanTM
b23a4aabe9 qtpass: 1.3.1 -> 1.3.2
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/qtpass/versions

(cherry picked from commit 99b5363ea5)
2019-11-23 17:27:25 +01:00
Will Dietz
0aac7ecd2b qtpass: add pwgen as optional runtime dep
(cherry picked from commit 6362fecff6)
2019-11-23 17:26:45 +01:00
Will Dietz
1564f43ea3 qtpass: install man page
(cherry picked from commit a6ab41fdfe)
2019-11-23 17:24:06 +01:00
Will Dietz
a18b47c893 qtpass: point to lupdate
(cherry picked from commit 7d733bbc86)
2019-11-23 17:24:06 +01:00
Will Dietz
a4f8fbe065 qtpass: 1.3.0 -> 1.3.1
https://github.com/IJHack/QtPass/releases/tag/v1.3.1
(cherry picked from commit a009dcdb27)
2019-11-23 16:55:22 +01:00
Janne Heß
382f0951a9 rainloop-standard: Fix pname and license
- Switched to pname
- Fixed the double dash in pname
- Changed license to unfree (they don't allow redistribution)

Fixes #73956
Backport of #73963

(cherry picked from commit 576a82d6c2)
2019-11-23 15:41:51 +01:00
Renaud
1b9421062d Merge pull request #70979 from tadeokondrak/discord-canary-0.0.97-19.09
discord-canary: 0.0.96 -> 0.0.98 (backport)
2019-11-23 15:08:41 +01:00
Maximilian Bosch
8a7316ed67 nixos/networkd: add missing dhcpv6 and static options to IPv6PrefixDelegation
(cherry picked from commit b451612bd9)
2019-11-23 12:58:59 +01:00
John Ericson
069e9fd449 rocksdb: Fix MinGW Build 2019-11-23 01:25:03 +00:00
mb
c9453387da rocksdb: 6.2.2 -> 6.2.4
(cherry picked from commit 0cd88820b3)
2019-11-23 01:25:03 +00:00
Maximilian Bosch
4ad6f1404a codimd: fix build
This package broke during the update of `nodejs-10_x` to `v10.17.0`[1]
since `node-gyp` got updated from `3.8.0` to `5.0.3` during the NPM
update to `6.10.2`[2] which is bundled in the `nodejs` release tarball.

This `node-gyp`-version is used by the build script for `codimd` to
build several dependencies such as `node-sqlite3`. Older `node-gyp`
versions expected source headers for the compilation in `~/.node-gyp`,
with `node-gyp@5.0.3`, headers are declared by using the `--nodedir`
option.

[1] 7785f49b23
[2] e2291cf805

(cherry picked from commit ba307dd176)
2019-11-23 00:42:36 +01:00
Nikolay Korotkiy
3dd7ed38db xpdf: 4.00 -> 4.02
(cherry picked from commit fb8eaec873)
2019-11-22 09:05:40 -05:00
Frederik Rietdijk
8b5aa55084 Merge staging-19.09 into release-19.09 2019-11-22 08:49:26 +01:00
c0bw3b
c5c326eaa2 mpg321: fix CVE-2018-7263
Close #57154
Close #70105

Backport of #73234
(cherry picked from commit 1289606e02)
2019-11-21 20:06:08 +01:00
c0bw3b
b51f069fb5 libmad: fix three CVE from 2017
* add patch for CVE-2017-8372 and CVE-2017-8373
* add patch for CVE-2017-8374
* add patch for x86_64 platforms
* fetch existing patches from remote sources

Backport of #73234
(cherry picked from commit 92edb06109)
2019-11-21 20:05:23 +01:00
Domen Kožar
1be338cd48 nixpart0: is not broken 2019-11-21 17:46:31 +01:00
IDF31
bef194f53b nixos/qt5: use correct qtstyleplugins attribute
(cherry picked from commit 61cd421c75)
2019-11-21 10:12:45 -05:00
Frederik Rietdijk
d58f5538bb Merge release-19.09 into staging-19.09 2019-11-21 11:05:59 +01:00
Daiderd Jordan
67832195b4 darwin.CF: workaround intermittent CFRuntime.c failures
Based on testing this issue seems to only occur with clang_7, so
we should be able to revert this when the default llvm versions are
updated.

Fixes #66811

(cherry picked from commit 41ca86129f)
2019-11-21 11:05:43 +01:00
Will Dietz
30843efc84 musl: 1.1.2x -> 1.1.24
https://www.openwall.com/lists/musl/2019/10/13/5

Apparently 1.1.23 never made it to nixpkgs proper (?!), see:
https://git.musl-libc.org/cgit/musl/commit/?id=b07d45eb01e900f0176894fdedab62285f5cb8be

(sorry I apparently dropped the ball here)

(cherry picked from commit 1263a712ff)
2019-11-21 02:18:39 +01:00
Ricardo Ardissone
9ed32341c7 hedgewars: 1.0.0-beta2 -> 1.0.0
(cherry picked from commit 4de18778a3)

Fixes #73829.
2019-11-20 23:32:39 +01:00
Vladimír Čunát
cc8e523355 Merge #45957: nixos manual: releases workflow improvements
Let's merge NOW; I'm not doing the same mistake again.

(cherry picked from commit e32d557967)
2019-11-20 13:35:38 +01:00
Ivan Kozik
388810a0b7 chromium: 78.0.3904.97 -> 78.0.3904.108
CVE-2019-13723 CVE-2019-13724

https://chromereleases.googleblog.com/2019/11/stable-channel-update-for-desktop_18.html

(cherry picked from commit 0c8fc2e90e)
2019-11-20 10:44:27 +01:00
Robin Gloster
c738f98c91 nixos/manual: reword installation section
Sounded a bit unprofessional and pessimistic. Was actually called out on
twitter.

(cherry picked from commit 844625708e)
2019-11-20 10:36:42 +01:00
Konrad Borowski
30fc722f76 qt512.qtbase: add patch for CVE-2019-18281 2019-11-20 09:29:30 +01:00
Marcello Sylvester Bauer
ea83c792ff nixos/libinput: apply options to all device types
Instead of assign the libinput options to touchpad devices only, it
should be appied by any device using libinput.
Due to the fact that `40-libinput.conf` already defines libinput as
driver for any detected input device, we can use `MatchDriver` to appy
options.

(cherry picked from commit d6169284c4)
2019-11-19 17:42:34 -05:00
Graham Christensen
08e503bac6 Merge pull request #73775 from d-goldin/skype_archiveorg_mirror_1909
[r19.09]: skypeforlinux: Adding archive.org mirror
2019-11-19 13:20:54 -05:00
Dima
0c0da42e47 skypeforlinux: Adding archive.org mirror
Adding an additional web-archive url to avoid breakage when
old versions disappear from upstream. Still keeping original location
to not needlessly hit archive.org (it's also slower).

(cherry picked from commit ad8c1703ec) and
resolved conflicts.
2019-11-19 18:45:16 +01:00
Graham Christensen
6554f690ce Merge pull request #73761 from d-goldin/backport_samba
[r19.09] samba: 4.10.8 -> 4.10.10 - security
2019-11-19 11:33:17 -05:00
Robert Scott
3bccd389cd libextractor: add patch for CVE-2019-15531
(#73728)
(cherry picked from commit 593def2396)
2019-11-19 16:23:30 +01:00
Christian Kauhaus
725a454e7d ilmbase-2.3.0: CVE-2018-18443, openexr: CVE-2018-18444
(cherry picked from commit 448d8e04c0)
(cherry picked from commit f58ba3c14a)
2019-11-19 15:31:27 +01:00
Will Dietz
0afec75e0c ktorrent: mkDerivation
(cherry picked from commit d6451a796b)
2019-11-19 15:23:26 +01:00
Dima
cad09e9374 samba: 4.10.8 -> 4.10.10 - security
Addresses issue: https://github.com/NixOS/nixpkgs/issues/73682
Samba fixes overview for reference:
https://www.samba.org/samba/history/security.html

(cherry picked from commit 0de2c3011e)
2019-11-19 15:12:00 +01:00
Rob Vermaas
96c9578020 nixpart0: remove broken, fix build for (local) pykickstart dep
(cherry picked from commit 302396fc42)
2019-11-19 11:09:58 +01:00
Jonathan Ringer
40fcdac3cb steam: use 32bit version of libva
(cherry picked from commit 87c674daef)
2019-11-18 20:22:36 -08:00
Aaron Andersen
e1843646b0 Merge pull request #73692 from mmilata/matomo-fix19.09
nixos/matomo: backport module fix (19.09)
2019-11-18 17:59:29 -05:00
Matthew Bauer
fad0a4718d ledger-udev-rules: update to 2019-05-30
Fixes #71201

(cherry picked from commit ff066a107b)
2019-11-18 14:46:05 -05:00
Michael Fellinger
a1355b9b83 nginx: add map_hash_*_size options
(cherry picked from commit 2d0b34aa1c)
2019-11-18 12:29:31 -05:00
Lassulus
02a4b9971f Merge pull request #73183 from rnhmjoj/monero-backport
monero: 0.14.1.0 -> 0.15.0.0 [backport]
2019-11-18 17:09:07 +01:00
Robert Djubek
950d849913 nixos/matomo: fix deprecation warnings
Fixes the phpfpm deprecation warnings about listen and extraConfig by
using fpm.socket and settings. Removes phpfpmProcessManagerConfig.
2019-11-18 16:47:44 +01:00
Martin Milata
e7d376a26b nixos/matomo: add test
cherry-pick: removed matomo-beta test because there's no beta package
2019-11-18 16:47:09 +01:00
Renaud
e6d584f6dd skypeforlinux: 8.51.0.86 -> 8.51.0.92 2019-11-18 10:31:06 +01:00
Jonathan Ringer
240381bc73 pythonPackages.fiona: fix linking issue 2019-11-17 22:36:26 -08:00
Jonathan Ringer
d85d3c8502 pythonPackages.cartopy: fix tests 2019-11-17 22:36:26 -08:00
Lily Ballard
5f506b95f9 macvim: Add -headerpad_max_install_names (#73592)
We were adding this to the compilation of MacVim, but not to the
compilation of the separate Vim binary. We may not actually need it for
MacVim at all, but omitting it for the Vim binary meant our postInstall
phase would fail for some people.

Fixes #73514

(cherry picked from commit 505f913ceb)
2019-11-17 20:19:59 -05:00
Jörg Thalheim
c0c062da7b Merge pull request #73540 from ahiaao/fix/retext-wrap-qt-backport
retext: properly wrap with wrapQtApp 19.09 backport
2019-11-17 10:54:15 +00:00
Jörg Thalheim
78a30dcb08 [19.09] nixos/magnetico: fixes (#73545)
[19.09] nixos/magnetico: fixes
2019-11-17 10:44:52 +00:00
Jörg Thalheim
52c147ebf7 qca2-qta5: Fix build by using correct c++ standard (#73544)
qca2-qta5: Fix build by using correct c++ standard
2019-11-17 10:41:53 +00:00
Jörg Thalheim
649ecdc5d6 clang-tools: teach about nix's include path
By translating NIX_CFLAGS_COMPILE to CPATH,
all tools will now find c headers properly,
when run in a nix-shell.

(cherry picked from commit a10ef1aa4f)
2019-11-17 10:39:47 +00:00
rnhmjoj
728f74ef9c nixos/tests: add magnetico test 2019-11-17 11:12:50 +01:00
ahiaao
2c82214844 qca2-qt5: Fix build by using correct c++ standard 2019-11-17 01:59:54 -08:00
rnhmjoj
c01eda58b0 nixos/magnetico: order after network.target
(cherry picked from commit 8464867242)
2019-11-17 10:55:31 +01:00
rnhmjoj
6c6423ae12 nixos/magnetico: fixes
(cherry picked from commit dda2f6415f)
2019-11-17 10:53:31 +01:00
ahiaao
60830a3ce4 retext: properly wrap with wrapQtApp 2019-11-16 23:45:57 -08:00
ahiaao
fdb3cd2b7a retext: fix chardet override 2019-11-16 23:24:06 -08:00
Franz Pletz
09f5f3a810 Merge pull request #73523 from pacien/imagemagick-6.9.10-71-19.09
[19.09] imagemagick: 6.9.10-69 -> 6.9.10-71
2019-11-17 01:39:35 +00:00
pacien
ca5abe5d38 imagemagick: 6.9.10-69 -> 6.9.10-71
(cherry picked from commit 6a059ee5fe)
2019-11-16 23:15:36 +01:00
Franz Pletz
7227ca7f58 Merge pull request #73508 from pacien/19.09-revert-ncmpc-0.36
[19.09] Revert "ncmpc: 0.35 -> 0.36"
2019-11-16 20:55:23 +00:00
c0bw3b
48449d6e35 electrum-dash: mark as vulnerable
CVE-2018-1000022 in electrum

(cherry picked from commit a50507a6cc)
2019-11-16 19:47:51 +01:00
Tim Steinbach
c3eba36edd linux: 4.9.201 -> 4.9.202 2019-11-16 13:21:52 -05:00
Tim Steinbach
271024c6d5 linux: 4.4.201 -> 4.4.202 2019-11-16 13:21:51 -05:00
Vladimír Čunát
2437bb3943 Merge #72958: libexif: fix CVE-2018-20030
(cherry picked from commit 908f6240d8)
Fixes #70104.
2019-11-16 18:30:57 +01:00
Herwig Hochleitner
ad0b94bcfa flashplayer: 32.0.0.270 -> 32.0.0.293
(cherry picked from commit 8c997725a2)
2019-11-16 17:25:32 +01:00
pacien
7d2b90439d Revert "ncmpc: 0.35 -> 0.36"
ncmpc 0.36 isn't compatible with mpd 0.20 which is the version packaged on
the release-19.09 branch.

See https://github.com/NixOS/nixpkgs/pull/73000#issuecomment-551786649.

This reverts commit 245f5ec322.
2019-11-16 16:40:03 +01:00
Jörg Thalheim
93633bbf48 Merge pull request #73485 from cleverca22/fix-19.09-teamspeak
teamspeak-client: fix stuck build
2019-11-16 14:59:42 +00:00
Joachim F
07e66484e6 Merge pull request #73486 from ahiaao/backport/fix-cl-mysql
lispPackages.cl-mysql: fix build
2019-11-16 11:23:08 +00:00
xrelkd
bc9a9cc03f youtube-dl: 2019.10.29 -> 2019.11.05
(cherry picked from commit a17cda6ddf)
2019-11-16 11:43:35 +01:00
xrelkd
1af15eb91d youtube-dl: 2019.10.22 -> 2019.10.29
(cherry picked from commit 215dbc5253)
2019-11-16 11:43:35 +01:00
ahiaao
02fa463527 lispPackages.cl-mysql: fix build 2019-11-16 00:11:14 -08:00
Fabian Möller
3efadb0728 teamspeak-client: fix stuck build 2019-11-16 03:22:24 -04:00
Herwig Hochleitner
9104be2ee0 nextcloud: 16.0.5 -> 16.0.6 2019-11-16 02:01:10 +01:00
John Ericson
ca76436298 zstd: Fix MinGW build 2019-11-15 23:21:47 +00:00
EEva (JPotier)
1087833d74 vault: fix config when file backend is used
When the option services.vault.storageBackend is set to "file", a
systemd.tmpfiles.rules was added, with extraneous []. These are not
needed and have been removed.

(cherry picked from commit 9b78e5f35d)
2019-11-15 21:03:14 +01:00
Nathan Yong
02380e7841 p4v: explicitly depend on openssl 1.0 series
The 2017.3 version of p4v is linked against `libssl.so.1.0.0`.  Since
the default openssl in NixOS 2019.09 has been changed to openssl 1.1,
the p4v package must now import the openssl_1_0_2 derivation.

(cherry picked from commit 1ced63da76)

cc #71301
Closes: #73456
2019-11-15 12:04:43 -05:00
Linus Heckemann
d76f279a65 pythonPackages.nixpart: unmark broken
(cherry picked from commit 75667c2916)
2019-11-15 18:01:29 +01:00
Florian Klink
78486a86fc nixos/lorri: add to environment.systemPackages
most likely, people enabling the lorri module also want to use it,
without explicitly having to add it to users.users.<username>.packages.

cc @curiousleo @Profpatsch

(cherry picked from commit fd7d88f603)
2019-11-15 17:23:57 +01:00
Leonhard Markert
eda44a6d29 lorri service module: init
(cherry picked from commit e5db97d2b0)
2019-11-15 15:03:58 +01:00
Leonhard Markert
fdad708700 lorri: init at version unstable-2019-10-30
(cherry picked from commit ceccff3439)
2019-11-15 15:03:58 +01:00
Aaron Andersen
851d5bdfb0 Merge pull request #73449 from etu/1909-gitea-1-9-5
[19.09] gitea: 1.9.5 -> 1.9.6
2019-11-15 05:56:00 -05:00
Renaud
074cc1bf30 Merge pull request #73384 from herrwiese/for-19.09/microcodeIntel-20191113
[19.09] microcodeIntel: 20190618 -> 20191113
2019-11-15 11:19:46 +01:00
kolaente
a7ba33139a gitea: 1.9.5 -> 1.9.6
(cherry picked from commit c5939e67cd)
2019-11-15 10:26:07 +01:00
Christian Kauhaus
e1cc8ff074 Merge pull request #72028 from risicle/ris-tcpdump-4.9.3-r19.09
[19.09] libpcap: 1.9.0 -> 1.9.1, tcpdump: 4.9.2 -> 4.9.3 for many security fixes
2019-11-15 09:26:37 +01:00
David Kleuker
259a67ca22 doc/rl-1909: fix language
Backport of #71516

(cherry picked from commit d793d53b0d)
2019-11-15 00:33:35 +01:00
Tadeo Kondrak
4ac29c3b24 discord-canary: 0.0.97 -> 0.0.98
(cherry picked from commit 2e6498332463c435076878be2f9685db22cdb00e)
2019-11-14 14:02:33 -07:00
Tadeo Kondrak
1cb5b33fde maintainers/scripts/update-discord: improve
- add comment specifying file is generated
- remove repetition of version number

(cherry picked from commit ad6e1e4fab)
2019-11-14 14:02:27 -07:00
Tadeo Kondrak
d50afeaea8 discord-canary: 0.0.96 -> 0.0.97
(cherry picked from commit 64ccc04022)
2019-11-14 14:02:17 -07:00
Jan Solanti
872b6a2f50 renderdoc: 1.4 -> 1.5
Backport of #71057
Close #71961

(cherry picked from commit 392b36cc9f)
2019-11-14 21:49:07 +01:00
Nathan van Doorn
83c85b548f intecture-cli: use openssl 1.0.2
(#70614)

(cherry picked from commit 00c866bf62)
2019-11-14 20:20:12 +01:00
Tristan Helmich (omniIT)
9705b6b844 davmail: 5.2.0 -> 5.4.0
(cherry picked from commit 538815313c)

New release contains bug/security fixes.
2019-11-14 10:18:42 -08:00
PsyanticY
791e3871a7 nixos/grafana: fix smtp enable typo
(cherry picked from commit 1f6fbc922f)
2019-11-14 17:50:34 +00:00
Michael Weiss
4df39ef8c5 Merge pull request #73397 from primeos/signal-desktop-backport
[19.09] signal-desktop: 1.27.4 -> 1.28.0 (backport)
2019-11-14 18:37:51 +01:00
Michael Weiss
dd00d0f2ca signal-desktop: 1.27.4 -> 1.28.0
(cherry picked from commit 7b77666eb1)
Reason: Avoid an expired (unusable) release in the stable release
(Signal-Desktop releases expire after 90 days).
2019-11-14 15:32:37 +01:00
Sarah Brofeldt
c8ff042dac Merge pull request #73382 from johanot/kubernetes-1.15.6
kubernetes: 1.15.4 -> 1.15.6
2019-11-14 13:38:40 +01:00
Vladimír Čunát
d5e9573917 Merge branch 'release-19.09' into staging-19.09 2019-11-14 12:56:58 +01:00
Andreas Wiese
c71ea18161 microcodeIntel: 20191112 -> 20191113
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20191113

(cherry picked from commit 9811d579ce)
2019-11-14 10:40:01 +01:00
Will Dietz
9ef879befb microcodeIntel: 20190918 -> 20191112
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20191112

(cherry picked from commit 911fe47772)
2019-11-14 10:39:54 +01:00
Will Dietz
130b6f8fc9 microcodeIntel: 20190618 -> 20190918
(cherry picked from commit d1e1b922fb)
2019-11-14 10:39:10 +01:00
Johan Thomsen
f1a6aa98e4 kubernetes: 1.15.4 -> 1.15.6 2019-11-14 09:55:43 +01:00
Maximilian Bosch
133d836daf vim-vint: fix startup
Ensure that `pkg_resources` is available during runtime.

(cherry picked from commit e2bad17af7)
2019-11-14 01:13:41 +01:00
worldofpeace
d1da904e83 mendeley: use wrapQtApp
(cherry picked from commit 7c8b042723)
2019-11-13 19:04:30 -05:00
Alex Rice
16cb7292d2 mendeley: Use QT mkDerivation
(cherry picked from commit 658bf7fe9b)
2019-11-13 18:59:59 -05:00
Lucas Franceschino
16defc9dd7 ppsspp: use qt5's mkDerivation
(cherry picked from commit 0ac7bb6328)
2019-11-13 18:53:02 -05:00
adisbladis
7cf395938a Merge pull request #73359 from etu/1909-disable-systemwide-pulse-iso
[19.09] profiles/graphical.nix: Drop systemWide pulseaudio in iso
2019-11-13 22:49:08 +00:00
Florian Klink
bf802b938d Merge pull request #73245 from risicle/ris-libxslt-CVE-2019-18197-r19.09
[r19.09] libxslt: add patch for CVE-2019-18197
2019-11-13 22:10:44 +01:00
John Ericson
774e88cd86 lz4: Fix MinGW build 2019-11-13 20:40:15 +00:00
Elis Hirwing
f888fe859c profiles/graphical.nix: Drop systemWide pulseaudio in iso
It's not needed since #66338 and should have been done earlier.

This is based on a follow-up on #56167.

(cherry picked from commit 4403cd16f9)
2019-11-13 19:30:42 +01:00
Ivan Kozik
0be5e24425 chromium: 78.0.3904.87 -> 78.0.3904.97
4 security fixes, no CVEs.

https://chromereleases.googleblog.com/2019/11/stable-channel-update-for-desktop.html

(cherry picked from commit c653c7ade3)
2019-11-13 16:50:41 +01:00
Georg Haas
31aa31514e tor-browser-bundle-bin: 9.0 -> 9.0.1
(cherry picked from commit f5b4e70e0d)
2019-11-13 15:35:41 +00:00
Robert Scott
1d5df6158a opencv4: 4.1.0 -> 4.1.2 (security)
(#72649)
resolving CVE-2019-14491, CVE-2019-14492 & CVE-2019-15939

most internal downloads are unchanged except for "ade" which was bumped
from v0.1.1d to v0.1.1f between these releases

(cherry picked from commit d623837d64)
2019-11-13 16:17:54 +01:00
Aaron Andersen
cb2cdab713 moodle: 3.7.2 -> 3.7.3
(cherry picked from commit afe2883ef5)
2019-11-13 08:06:47 +01:00
John Ericson
ed56d04c8e snappy: Builds with MinGW just fine! 2019-11-13 00:28:59 +00:00
John Ericson
c8cf55215a rocksdb: Improve condition 2019-11-13 00:28:59 +00:00
Lancelot SIX
191dc255dd qscintilla: Fix qt4 build
(#73163)
(cherry picked from commit eb1cd0d27d)
2019-11-13 00:13:21 +01:00
Tim Steinbach
e6a37ef446 linux: 5.3.10 -> 5.3.11 2019-11-12 16:28:11 -05:00
Tim Steinbach
f136dbd542 linux: 4.9.200 -> 4.9.201 2019-11-12 16:27:50 -05:00
Tim Steinbach
c1c96fdfa0 linux: 4.4.200 -> 4.4.201 2019-11-12 16:27:49 -05:00
Tim Steinbach
88af6a7b1a linux: 4.19.83 -> 4.19.84 2019-11-12 16:27:48 -05:00
Tim Steinbach
a27a9b248a linux: 4.14.153 -> 4.14.154 2019-11-12 16:27:47 -05:00
Dmitry Kalinkin
65eafbf443 eagle: use mkDerivation provided by qt5
(cherry picked from commit a84607a0e9)
2019-11-12 12:01:44 -05:00
Matthew Bauer
1b524c210a Merge pull request #73292 from obsidiansystems/fix-gcj
GCC 6: Fix java support for 19.09
2019-11-12 11:10:37 -05:00
John Ericson
903bdf1709 GCC 6: Fix java support
Major version upper bound was one too low.
2019-11-12 09:56:43 -05:00
worldofpeace
975ad807d6 Merge pull request #73281 from baldo/steam
[19.09] steam: Add libva to chrootenv
2019-11-12 14:16:03 +00:00
Andreas Baldeau
4d114d2e60 steam: Add libva to chrootenv
After the newest update Steam itself complained about missing files
and would not start:

* libva.so.2
* libva-x11.so.2

(cherry picked from commit 5a13b856c4)
2019-11-12 15:07:00 +01:00
Domen Kožar
195cbccf3f servant-client-core: patch a security issue leaking authorization header
(cherry picked from commit f1682a7f12)
Signed-off-by: Domen Kožar <domen@dev.si>
2019-11-12 12:55:31 +01:00
Frederik Rietdijk
465e405dc9 pipenv: patch pipenv to point to python that has virtualenv
(cherry picked from commit 1d7e21905c)
2019-11-12 11:29:29 +01:00
Frederik Rietdijk
dac9a0023f pipenv: fix dependencies
- setup_requires belong in nativeBuildInputs
- requests is only for Python 2. We offer only a Python 3 version of
pipenv
- setting PYTHONPATH is not needed because the magical sed expression
injects the dependencies in the executables. Otherwise, we would use
NIX_PYTHONPATH.
- PIP_IGNORE_INSTALLED was needed because of PYTHONPATH, but since we do
not set that anymore we can remove.

(cherry picked from commit 7f63ecfff9)
2019-11-12 11:29:29 +01:00
Jan Tojnar
5ab322490f Merge pull request #73250 from wamserma/guake-add-setuptools
guake: add missing dependency on setuptools
2019-11-12 10:53:00 +01:00
John Ericson
ef8c34c472 Merge pull request #73265 from Ericson2314/mingw-mcfthreads
MinGW: Enable C++ threads with mcfgthreads for 19.09
2019-11-11 20:45:49 -05:00
Robert Scott
87acfb32f1 libxslt: add patch for CVE-2019-18197 2019-11-11 19:50:48 +00:00
John Ericson
63eac67319 nghttp2: Fix MinGW build by skipping some optional deps
I think those deps could be made to build, but I didn't want to get
bogged down investigating further. "Use flags" are always a good thing,
so this is fine for now.
2019-11-11 14:10:02 -05:00
John Ericson
dec8d2c5da openssl: Switch deafult for MinGW
Working around broken build for now.
2019-11-11 14:10:02 -05:00
John Ericson
e00237e790 boehm-gc: Fix build on MinGW with mcfgthreads
CC @lhmouse
2019-11-11 14:10:01 -05:00
Alex Guzman
d493b97b26 trousers: 0.3.13 -> 0.3.14
* Update trousers to latest, use regular openssl (#68338)

trousers: cleanup

* some CFLAGS and LDFLAGS are not needed anymore

* libtool file fixup was a no-op

* license is now BSD-3 since:
0160d229f8/

(cherry picked from commit 82dfacc7fe)
2019-11-11 19:59:46 +01:00
markuskowa
74047c177d Merge pull request #73116 from risicle/ris-gdal-CVE-2019-17545-r19.09
[r19.09] gdal: add patch for CVE-2019-17545
2019-11-11 19:55:01 +01:00
John Ericson
89ec69e25e pcre: Skip winpthread dep
Seems to build just fine without it, maybe it was just using C++ threads
which mcfgthread provides?
2019-11-11 11:02:39 -05:00
John Ericson
04cb05d20c gcc: Build MinGW stage two with threading library
Currently this is set up to be mcfgthreads, but it could be something
else instead.
2019-11-11 11:02:38 -05:00
Jonathan Ringer
79748e53e6 rust-bindgen: 0.51.0 -> 0.51.1
(cherry picked from commit 364ae632c6)
2019-11-11 14:02:50 +00:00
Frederik Rietdijk
2ad400e6eb python: spyder-kernels: 0.5.1 -> 0.5.2
(cherry picked from commit 5531222010)
2019-11-11 12:01:18 +01:00
Frederik Rietdijk
8f19b28917 pythonPackages.spyder: fix package
(cherry picked from commit 6e9743f120)
2019-11-11 12:00:57 +01:00
Dmitry Kalinkin
100ee02305 arrow-cpp: fix on i686-linux
(cherry picked from commit 03e78496b6)
2019-11-11 04:20:27 -05:00
Sander van der Burg
31e45c2fbc titaniumenv: remove 7.1, add 8.2 and make it the default
(cherry picked from commit 173bf3473c)
2019-11-11 08:51:34 +01:00
John Ericson
999ef20129 mingw-w64 libc: Multiple outputs and parallel builds
Also deduplicate more of the GCC derivations.
2019-11-11 00:25:24 -05:00
John Ericson
06c5e811e6 mcfgthreads: Init from git 2019-11-11 00:25:24 -05:00
John Ericson
0a63190c31 windows top-level: Clean up with makeScope 2019-11-11 00:25:24 -05:00
John Ericson
91718534f1 lib: Switch to w64 vendor for MinGW
It is needed for the `-municode` flag, supposedly.
2019-11-11 00:25:24 -05:00
John Ericson
38ebb8ff82 fetchurl: Eliminate pointless cross differences 2019-11-11 00:25:24 -05:00
Sander van der Burg
5d755e916d xcodeenv: bump default Xcode version to 11.1, default iOS SDK to 13.1. Add troubleshooting section to docs
(cherry picked from commit 9b51c5145a)
2019-11-11 00:20:19 +01:00
worldofpeace
688f9ef184 Merge pull request #73160 from maralorn/fix-qrcode-backport
pythonPackages.qrcode: Fix "No module named pkg_resources" error
2019-11-10 23:01:13 +00:00
John Ericson
8ce730db47 Merge pull request #73185 from Ericson2314/gcc-fix-cross-whoops
gcc: Fix cross after I accidentally changed build target for 19.09
2019-11-10 17:50:52 -05:00
John Ericson
3f74a4d066 gcc: Fix cross after I accidentally changed build target
I deleted "bootstrap", but forgot to make the condition
build = host = target.
2019-11-10 17:06:22 -05:00
John Ericson
fecedd4433 Merge pull request #73181 from Ericson2314/gcc-dedup-configure-flags-19.09
gcc: Deduplicate `preConfigure` and `configureFlags`
2019-11-10 16:45:54 -05:00
rnhmjoj
2634153ff9 monero-gui: 0.14.1.2 -> 0.15.0.0
(cherry picked from commit c2402b1d13)
2019-11-10 22:33:00 +01:00
rnhmjoj
90e94cff33 randomx: init at 1.1.6
(cherry picked from commit 8dd85714c0)

This is needed to update monero-gui
2019-11-10 22:33:00 +01:00
rnhmjoj
95799c88d7 monero: add missing deps
(cherry picked from commit 039d299810)
2019-11-10 22:32:59 +01:00
Pavol Rusnak
3ef319a54c monero: 0.14.1.0 -> 0.15.0.0
(cherry picked from commit 6cc03f3418)
2019-11-10 22:30:12 +01:00
John Ericson
5c5ca018c8 gcc: Deduplicate configureFlags
Thanks again to @bgamari who in 1c1207220f
did the cleanup to make this possible. It's been a long time coming!
2019-11-10 15:58:35 -05:00
John Ericson
f666c61d20 gcc: Deduplicate preConfigure 2019-11-10 15:15:04 -05:00
Jaka Hudoklin
32dfdb0b54 facetimehd-firmware: 1.43_4 -> 1.43_5
(cherry picked from commit c115659884)

cc #72804
2019-11-10 15:08:09 -05:00
John Ericson
72a9084411 Merge pull request #73175 from Ericson2314/gcc-cross-cleanup
gcc: Clean up cross configure flags and name prefix for 19.09
2019-11-10 15:05:24 -05:00
John Ericson
ca341c2d5b gcc: Clean up cross configure flags and name prefix 2019-11-10 14:29:11 -05:00
nyanloutre
2469995c13 kde_applications: 19.08.1 -> 19.08.2
(cherry picked from commit a83d96fad5)
2019-11-10 20:21:21 +01:00
Tim Steinbach
daf14e278f linux: 5.3.9 -> 5.3.10 2019-11-10 11:09:55 -05:00
Tim Steinbach
95a0fada39 linux: 4.9.199 -> 4.9.200 2019-11-10 11:09:55 -05:00
Tim Steinbach
1d22c82e72 linux: 4.4.199 -> 4.4.200 2019-11-10 11:09:54 -05:00
Tim Steinbach
bb6fa67654 linux: 4.19.82 -> 4.19.83 2019-11-10 11:09:54 -05:00
Tim Steinbach
14b0bc5c05 linux: 4.14.152 -> 4.14.153 2019-11-10 11:09:53 -05:00
Malte Brandy
0e7c0c7edf pythonPackages.qrcode: Fix "No module named pkg_resources" error
(cherry picked from commit 7fee1c664c)
2019-11-10 16:35:33 +01:00
Vladimír Čunát
2d896998dc Merge branch 'staging-19.09' into release-19.09 2019-11-10 09:06:55 +01:00
worldofpeace
1c53fd6434 cadence: add worldofpeace to maintainers
(cherry picked from commit ab819b668c)
2019-11-10 02:47:52 -05:00
worldofpeace
2256f8d8b6 cadence: preFixup
(cherry picked from commit 37045317de)
2019-11-10 02:47:52 -05:00
worldofpeace
d30c4f39a6 cadence: generate wrap commands, use qt5's mkDerivation
(cherry picked from commit bb428f4226)
2019-11-10 02:43:09 -05:00
worldofpeace
a22b018900 nixos/gnome3: add sound-theme-freedesktop
I've noticed a similar issue in Pantheon, without this
sound theme installed there's no system sounds.
I believe it's because the gnome theme and the pantheon
theme inherit this one.

(cherry picked from commit 4bdbbc1b33)
2019-11-09 16:38:17 -05:00
Milan Pässler
d47cbccd7d qtwebengine: add patch for CVE-2019-13720
(cherry picked from commit 00ac18cdea)

Co-authored-by: Robin Gloster <mail@glob.in>
2019-11-09 20:04:22 +01:00
Robert Scott
0bf9901ba1 perlPackages.libapreq2: add patch for CVE-2019-12412
#72483
(cherry picked from commit 68d4a1ba0b)
2019-11-09 15:26:53 +01:00
Robert Scott
008c3d6f78 gdal_2: add patch for CVE-2019-17545
(cherry picked from commit f82fb81af8)
2019-11-09 12:47:10 +00:00
Robert Scott
857a7aa848 gdal: add patch for CVE-2019-17545
(cherry picked from commit def17695b9)
2019-11-09 12:46:35 +00:00
Will Dietz
2ce3a3d659 tor-browser-bundle-bin: 8.5.5 -> 9.0
https://blog.torproject.org/new-release-tor-browser-90
(cherry picked from commit 773fc558a0)
2019-11-09 13:32:42 +01:00
Henrik Jonsson
6f7dfa32cd tor-browser-bundle-bin: Drop github mirror
The github.com mirror for tor-browser hasn't been updated since
8.0.2, released in Oct 2018 (~11 months ago; currently latest
released version is 8.5.6):

https://github.com/TheTorProject/gettorbrowser/releases/
(cherry picked from commit 154c9a863d)
2019-11-09 13:30:08 +01:00
Robert Scott
bae4d7daa0 keepalived: patch CVE-2018-19115 (PR #72278)
(cherry picked from commit 03d6145cb0)
2019-11-09 10:33:19 +01:00
Arnout Engelen
9fe8f5b656 documentation: drop double 'the' (PR #73099)
(cherry picked from commit 07c84f4de2)
2019-11-09 10:22:44 +01:00
Vladimír Čunát
2c74159d99 Merge #72189: openmpt123: 0.4.1 -> 0.4.9 (security)
into release-19.09.  Fixes CVE-2019-17113.
2019-11-09 10:19:22 +01:00
Daniel Schaefer
01b70efe36 libtiff: Patch CVE-2019-7663 (PR #72092)
(cherry picked from commit 5270c3a03e)
2019-11-09 09:51:02 +01:00
Vladimír Čunát
22256807f2 Merge #72054: gdal: add patch for CVE-2019-17545
(cherry picked from commit 019fcab7f5)
2019-11-09 09:42:19 +01:00
adisbladis
8e3698fee4 Merge pull request #73071 from benley/benley/melpa-packages-2019-10-25-backport
[19.09] melpa-packages: 2019-10-25
2019-11-09 08:11:52 +00:00
Pierre Bourdon
0704d51da9 gst-plugins-base: apply patch for CVE-2019-9928
(cherry-picked from a92c42d19 and 832f46a703)
Fixes #70097, closes PR #70284.
2019-11-09 07:59:33 +01:00
Florian Klink
107e2b7b29 nixos/redis: fix merging
https://github.com/NixOS/nixpkgs/pull/71584 did merging without mkMerge.

cc @jtojnar

(cherry picked from commit 6303131eb9)
2019-11-08 22:14:56 +01:00
Terje Larsen
fe0f2319d9 melpa-packages: 2019-10-25
The previous update included several errors which broke packages. This
one re-fetched and fixed them.

(cherry picked from commit 38dc9cbfc5)
2019-11-08 15:03:31 -05:00
Maximilian Bosch
f074604871 prometheus-wireguard-exporter: 3.2.0 -> 3.2.1
https://github.com/MindFlavor/prometheus_wireguard_exporter/releases/tag/3.2.1
(cherry picked from commit 1683c4087e)
2019-11-08 18:15:12 +01:00
Maximilian Bosch
70fdd74978 documize-community: 3.4.1 -> 3.4.2
https://github.com/documize/community/releases/tag/v3.4.2
(cherry picked from commit 55a2d14e41)
2019-11-08 18:15:11 +01:00
talyz
23af404450 gitlab: 12.4.1 -> 12.4.2
(cherry picked from commit a779d7751e)
2019-11-08 15:26:53 +01:00
talyz
ce24a926ac gitlab: Limit node memory consumption to 2048MB
Hydra fails to build the assets on i686 - it runs out of memory. If we
limit the max consumption to 2048MB the assets still build, and will
hopefully also build on hydra.

(cherry picked from commit 22302ce845)
2019-11-08 15:26:48 +01:00
talyz
84c3cf6b27 gitlab: Don't build any gitlab component outside linux
For some reason hydra seems to have issues downloading the
gitlab-workhorse source on macOS. Since we don't build the rails app
for macOS, the other components seem a bit useless there, so we
limit them to linux for now.

(cherry picked from commit a30facc96e)
2019-11-08 15:26:27 +01:00
Philipp Gesang
bcbb7ec52d ncmpc: 0.35 -> 0.36
New release fixing a crash that affects nixos due to the build without
pcre. https://github.com/MusicPlayerDaemon/ncmpc/releases/tag/v0.36

(cherry picked from commit 245f5ec322)
2019-11-08 14:22:24 +01:00
R. RyanTM
368dbe29ce ncmpc: 0.34 -> 0.35
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/ncmpc/versions

(cherry picked from commit 1506d02857)
2019-11-08 14:22:24 +01:00
Vladimír Čunát
87376e8b92 Merge: thunderbird*: 68.1.1 -> 68.2.2 (security)
...into release-19.09.  Picked from PR #72006.
2019-11-08 14:11:14 +01:00
taku0
10a4989e7c thunderbird: 68.2.1 -> 68.2.2
(cherry picked from commit 1a7dce89c1a7ba7d48a0808318e4cb066480b4a7)
2019-11-08 13:11:24 +01:00
taku0
a295e7ec24 thunderbird: 68.2.0 -> 68.2.1
(cherry picked from commit cd584e24da0f1491ad1001e8a7f5d96e9f5e41c7)
2019-11-08 13:11:16 +01:00
taku0
4d2aa0859b thunderbird: 68.1.1 -> 68.2.0
(cherry picked from commit 743e735937fd44664e43dc29ac32cc007ec8e294)
2019-11-08 13:11:02 +01:00
taku0
fc458c22d2 thunderbird-bin: 68.2.1 -> 68.2.2
(cherry picked from commit 31703c6e1fe2df935f533f8fc72d7c29f222b58b)
2019-11-08 13:07:47 +01:00
taku0
c62f8f0083 thunderbird-bin: 68.2.0 -> 68.2.1
(cherry picked from commit 7611d2432c731bd7f5950714175dc0fc66968790)
2019-11-08 13:07:28 +01:00
taku0
4fa8014afa thunderbird-bin: 68.1.1 -> 68.2.0
(cherry picked from commit f5d751dc7612fa796348361e2d4052885c2979aa)
2019-11-08 13:06:55 +01:00
Andreas Rammhold
2c6c8efb1a Merge branch release-19.09 into staging-19.09 2019-11-08 11:03:18 +01:00
Andreas Rammhold
d9a83d34c8 Merge pull request #73002 from d-goldin/fix_sqlite_replicated
sqlite-replication: fix build + CVE-2019-16168
2019-11-08 11:00:55 +01:00
Andreas Rammhold
1eebd6feb6 Merge pull request #73008 from d-goldin/fix_sqlite_cve_patch_name
sqlite: fixing cve patch name
2019-11-08 10:59:43 +01:00
Dima
40de607953 sqlite: fixing cve patch name
To make vulnix and similar tooling recognize the patch
correctly.
2019-11-08 10:54:05 +01:00
Bas van Dijk
8f333cc9e8 Merge pull request #72993 from risicle/ris-opencv-3.4.8-r19.09
[r19.09] opencv3: 3.4.7 -> 3.4.8, addressing CVE-2019-14491, CVE-2019-14492 & CVE-2019-15939
2019-11-08 08:42:07 +01:00
Dima
3fe3061698 sqlite-replication: fix build + CVE-2019-16168
CVE fix in #71695 broke this package, as it's an older
version and additionaly disables amalgamation.

The supplied patch is modified minimally to fit this version (slight
line number change for analyze.c).

The fix was verified using
https://www.sqlite.org/src/info/e4598ecbdd18bd82945f6029013296690e719a62
as for the previous fix.
2019-11-08 00:10:12 +01:00
rnhmjoj
0d39ec23b6 antimony: 2018-10-20 -> 2019-10-30
(cherry picked from commit 4b62810916)
2019-11-08 00:04:17 +01:00
Matthew Bauer
8b5194ff16 Merge pull request #72236 from kmcopper/r19.09-qemu_4.0.1
[r19.09] qemu: 4.0.0 -> 4.0.1
2019-11-07 17:10:51 -05:00
Matthew Bauer
15409cd772 Merge pull request #70275 from delroth/lua51-cve-19.09
lua5_1: rename patch file to match its CVE id [19.09]
2019-11-07 17:10:15 -05:00
Matthew Bauer
7aa4fcb670 Merge pull request #70279 from delroth/libtiff-cve-19.09
libtiff: patch for CVE-2019-6128, CVE-2019-14973 [19.09]
2019-11-07 17:10:01 -05:00
Vladimír Čunát
d628521d0b expat: fetch the patch from "my private mirror"
Fixes #71075.  I'm really tired of these, so lemme try this approach.
2019-11-07 21:27:20 +01:00
Robert Scott
044abfcdc0 opencv3: 3.4.7 -> 3.4.8 (security)
addressing CVE-2019-14491, CVE-2019-14492 & CVE-2019-15939

all internal downloads are unchanged for this release

(cherry picked from commit a38ee9f002)
2019-11-07 19:04:21 +00:00
Koki Yasuno
efe4afd042 appimageTools: add at-spi2-core to multiPkgs
(cherry picked from commit 968f357f9a)
2019-11-07 16:47:11 +01:00
Maximilian Bosch
abb66c39bf python3Packages.todoist: 7.0.17 -> 8.1.1
Derived from 997bd95b3b
(todoist: 8.1.0 -> 8.1.1). This backport is needed since Todoist changed
several parts of their API, so 7.0.17 is unusable with todoist.com.

For instance, when I do `todoist.sync()`, I get the following response:

```
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>410 Gone</title>
<h1>Gone</h1>
<p>This API endpoint is no longer available. Please refer to our documentation to upgrade your client to use the latest API version: https://developer.todoist.com</p>
```
2019-11-07 11:41:23 +01:00
worldofpeace
5b668388bf Merge pull request #72951 from jtojnar/nm-prope-merge
[19.09] nixos/networkmanager: fix merging options
2019-11-07 00:53:24 +00:00
Tomas Hlavaty
8ed1e7df1f xfburn: 0.5.5 -> 0.6.1 2019-11-06 19:25:01 -05:00
Jan Tojnar
ab7f310079 nixos/networkmanager: fix merging options
Incorrect merging of modules resulted in dhcpcd being enabled causing flaky network connection.

https://github.com/NixOS/nixpkgs/pull/64364

Fixing it uncovered an infinite recursion from the same commit, previously masked by the incorrect merge.

While this is not a problem in 19.09, we can still drop the `mkDefault` for `networking.wireless.enable` as it is already `false` by default.

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

(cherry picked from commit 894fdfaf1f)
2019-11-07 00:25:01 +01:00
Graham Christensen
4023852c3b Merge pull request #72944 from davidak/nlohmann_json_disable_tests_19.09
Backport nlohmann_json: disable tests for now since they timeout
2019-11-07 00:04:03 +01:00
Aaron Andersen
a6513979f7 Merge pull request #72865 from aanderse/skrooge
skrooge: Fix build [19.09 backport]
2019-11-06 18:01:42 -05:00
davidak
9dc6fc39ba nlohmann_json: disable tests for now since they timeout
(cherry picked from commit 7456f19b40)
2019-11-06 22:50:52 +01:00
Tristan Helmich (omniIT)
cbb30f08d3 graylog: 3.1.2 -> 3.1.3
(cherry picked from commit 98b0f8c851)
2019-11-06 21:59:14 +01:00
Bas van Dijk
bc3fcdf3fb Merge pull request #72830 from LumiGuide/backport-ghcjs-fixes
[backport] ghcjs fixes
2019-11-06 21:15:58 +01:00
adisbladis
01dfa03db6 linux: 5.3.8 -> 5.3.9 2019-11-06 13:50:09 -05:00
Tim Steinbach
20005e9b33 linux: 4.9.198 -> 4.9.199 2019-11-06 13:50:00 -05:00
Tim Steinbach
164a77cd76 linux: 4.4.198 -> 4.4.199 2019-11-06 13:49:59 -05:00
Tim Steinbach
4416b2cde2 linux: 4.19.81 -> 4.19.82 2019-11-06 13:49:59 -05:00
Tim Steinbach
03cd0337ca linux: 4.14.151 -> 4.14.152 2019-11-06 13:49:58 -05:00
WilliButz
362c66aa97 grafana: 6.4.3 -> 6.4.4
(cherry picked from commit d4763639e0)
2019-11-06 19:15:37 +01:00
Peter Simons
250fe56c09 Merge pull request #72413 from mm--/fix-rmysql-rmariadb
[19.09] rPackages.RMariaDB, rPackages.RMySQL: Fix builds
2019-11-06 14:33:22 +01:00
Nikolay Amiantov
03be76269b matrix-synapse service: blacklist local IPv6 addresses by default
(cherry picked from commit 2219129888)
2019-11-06 13:16:47 +01:00
Vincent Laporte
7489b6b342 ocamlPackages.reason: 3.5.0 → 3.5.1
Ensure compatibility with OCaml 4.09

(cherry picked from commit 92930b8568)
2019-11-06 11:34:35 +00:00
Timothy DeHerrera
17a75365bf zstd: 1.4.3 -> 1.4.4
(cherry picked from commit cb7e94a6b6)
2019-11-06 11:27:40 +00:00
R. RyanTM
6780988df1 zsh-history-substring-search: 1.0.1 -> 1.0.2
(cherry picked from commit e834edcbdd)
2019-11-06 11:24:30 +00:00
Andreas Rammhold
821c7ed030 Merge staging-19.09 into release-19.09 2019-11-06 09:22:18 +01:00
Flakebi
d5b554c64a skrooge: Fix build
(cherry picked from commit 1d5661cd80)
2019-11-05 18:51:36 -05:00
worldofpeace
baedf07a0d Merge pull request #72363 from worldofpeace/nm-fix-pppd-path-19.09
[staging-19.09] networkmanager: fix PPPD_PATH
2019-11-05 19:21:46 +00:00
worldofpeace
9befcbb660 synthv1: use qt5's mkDerivation
(cherry picked from commit aaaea2ab84)
2019-11-05 14:16:22 -05:00
Lancelot SIX
29ed91be62 skypeforlinux: 8.51.0.72 -> 8.51.0.86
(#72822)
2019-11-05 19:09:15 +01:00
Travis Whitaker
091cd8c667 haskell.compiler.ghcjs86: Bump ghc-8.6 branch, fix build.
(cherry picked from commit 348656cea8)
2019-11-05 20:40:57 +07:00
Yorick van Pelt
8c501b46ee ghcjs: disable profiling by default
(cherry picked from commit 4fd3f72f94)
2019-11-05 20:40:21 +07:00
Philip Kranz
5e0ad55c27 python.pkgs.pyglet: Fix missing libraries
Add the paths for Xext, fontconfig and freetype to the hardcoded library
paths in load_library.

(cherry picked from commit fa2909bf51)
2019-11-05 13:46:35 +01:00
Léo Gaspard
2719e06635 Merge pull request #72793 from risicle/ris-koji-1.14.3-r19.09
[r19.09] pythonPackages.koji: 1.13.0 -> 1.14.3 (security)
2019-11-05 10:11:11 +01:00
Andreas Rammhold
d8cda0d3b5 Merge branch release-19.09 into staging-19.09 2019-11-04 23:16:12 +01:00
R. RyanTM
fdac1c5b46 wolfssl: 4.1.0 -> 4.2.0
(cherry picked from commit 7befcddb33)
2019-11-04 22:18:34 +01:00
Robert Scott
f52497d2fb pythonPackages.koji: 1.13.0 -> 1.14.3 (security)
Addressing CVE-2019-17109

Also added missing description, homepage & license. Re-disabled for py3k
as the kojira executable doesn't seem to be happy with it.

(cherry picked from commit 605a7b31d7)
2019-11-04 20:20:31 +00:00
Anthony Cowley
82efd775e3 [19.09] backport #71851 handbrake: fix missing audio
We build HandBrake with a newer ffmpeg than upstream expects,
triggering a problem where the audio samplerate defaults to zero
because HandBrake was not explicitly setting it.

This has been fixed in HandBrake upstream, but we must cherry pick
this change in order to produce videos with audio until HandBrake
1.3.0 is released.

(cherry picked from commit d51e366ffe)
2019-11-04 19:34:12 +01:00
Christian Kauhaus
d74b5681f4 Merge pull request #70272 from delroth/gnupatch-cve-19.09
gnupatch: rename patch files to match their CVE ids [19.09]
2019-11-04 17:48:22 +01:00
Lancelot SIX
108021d6e1 qgis: 3.8.3 -> 3.10.0
See http://changelog.qgis.org/en/qgis/version/3.10/

(cherry picked from commit c803971bfd)
2019-11-04 02:30:14 -08:00
Lancelot SIX
9f25272eb8 qgis: 3.8.0 -> 3.8.3
(cherry picked from commit 5d8ec9b99b)
2019-11-04 02:30:14 -08:00
Lancelot SIX
0293f226fd python3Packages.qscintilla-qt5: fix build
(cherry picked from commit edc638c4b7)
2019-11-04 02:30:14 -08:00
Benedikt Hunger
60cef0ae4e pythonPackages.qscintilla-qt5: fix build
(cherry picked from commit b27bdf4ec8)
2019-11-04 02:30:14 -08:00
Lancelot SIX
3589326009 qscintilla: Use both .so and _qt5.so suffix
Make sure that the both libqscintilla2_qt5.so and libqscintilla2.so are
present in `$out/lib` so all the dependant packages can find the most
appropriate library (some except the empty suffix, such as
sqlitebrowser, other expect the _qt5 suffix such as
python3Packages.qscintilla-qt5).

The mechanism would also work work for qt4 build, but it is broken at
the moment.

Also make sure python*Packages.qscintilla* are up to date

(cherry picked from commit 4bf49d9417)
2019-11-04 02:30:14 -08:00
Peter Hoeg
653c9e2c06 qscintilla: 2.9.4 -> 2.11.2
We strip the library suffix as we don't need it and it confuses various
downstream consumers.

Also replace calls to sed with substituteInPlace as the latter will complain in
case it doesn't perform a substitution.

(cherry picked from commit 76ad2796be)
2019-11-04 02:30:14 -08:00
Benjamin Andresen
6c2f097e92 calibre: add markdown to inputs
fixes #72724

(cherry picked from commit c4aff4c03a)
2019-11-03 12:52:37 -05:00
toonn
50386055fe wire-desktop: linux 3.10.2904 -> 3.11.2912
(cherry picked from commit 69b5fda4c5)
2019-11-03 12:35:05 -05:00
toonn
a0f48aaddf wire-desktop: mac 3.10.3133 -> 3.10.3215
(cherry picked from commit ad201141a8)
2019-11-03 12:35:04 -05:00
worldofpeace
d343c9d172 Merge pull request #72723 from worldofpeace/accountsservice-fix-19.09
[19.09] accountsservice: fix vendor extensions
2019-11-03 15:55:08 +00:00
worldofpeace
e839313157 networkmanager: fix PPPD_PATH
Fixes #72330 for 19.09.

Upstream MR: https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/323

Fix on master: https://github.com/NixOS/nixpkgs/pull/72362
2019-11-03 10:52:53 -05:00
Renaud
5def3c86d6 shellinabox: fix CVE-2018-16789
(#72620)

(cherry picked from commit 73523e026e)
2019-11-03 16:52:36 +01:00
worldofpeace
e5c558783e accountsservice: fix vendor extensions
Fixes #72396.

The interface org.freedesktop.DisplayManager.AccountsService
should now exist. This also actually fixes #45059.

(cherry picked from commit feda399909)
2019-11-03 10:40:11 -05:00
Robert Scott
5cad3b7e03 jhead: add patches for CVE-2019-1010301, CVE-2019-1010302 (#72393)
(cherry picked from commit 7dacaa056c)
2019-11-03 11:38:57 +00:00
Frederik Rietdijk
5e9f3f9731 python35: 3.5.8 -> 3.5.9
There were no new changes in version 3.5.9; 3.5.9 was released only because of a CDN caching problem,
which resulted in some users downloading a prerelease version of the 3.5.8 .xz source tarball.
Apart from the version number, 3.5.9 is identical to the proper 3.5.8 release.

(cherry picked from commit 7827d3f449)
2019-11-03 11:21:27 +01:00
Niklas Hambüchen
6ca8aa0d37 Merge pull request #70937 from nh2/meshlab-20190129
meshlab: 20180627-beta -> 20190129-beta
2019-11-03 04:27:42 +01:00
Slawomir Gonet
12feda3aff Remove unnecessary sentry-sdk dependencies causing problems in python27 builds
(cherry picked from commit 2ffa30a662)
2019-11-02 23:30:29 +01:00
Andreas Rammhold
80d6183f01 sqlite_3_30: update hash
I managed to push the wrong commit earlier. This is now the correct
version.
2019-11-02 22:58:47 +01:00
Florian Klink
a1b46bd125 Merge pull request #72395 from flokli/19.09-gitlab-12.4.1
[19.09] gitlab backports
2019-11-02 14:50:44 +01:00
Florian Klink
524a5a4dae Merge pull request #72453 from flokli/19.09-imagemagick-bumps
[19.09] imagemagick bumps
2019-11-02 14:45:05 +01:00
Charles Duffy
bb1e9447cc gocryptfs: 1.7 -> 1.7.1
(cherry picked from commit 8f285340f3)
2019-11-02 14:37:40 +01:00
obadz
4c42323d5e Merge pull request #72498 from ivan/chromium-78.0.3904.87-for-19.09
[19.09] chromium: 78.0.3904.70 -> 78.0.3904.87
2019-11-02 11:22:07 +00:00
Andreas Rammhold
e65f4242cc Merge pull request #71714 from andir/19.09/firefox-70-staging
[19.09] firefox 70 (staging)
2019-11-02 12:02:15 +01:00
Maximilian Bosch
f4da5fc75d documize-community: 3.4.0 -> 3.4.1
https://github.com/documize/community/releases/tag/v3.4.1
(cherry picked from commit 83a5ad13b7)
2019-11-02 10:37:03 +01:00
Luflosi
2b2ab75932 kitty: disable update check machanism
kitty has its own update notification mechanism which should probably be disabled when the package is managed by a package manager such as nix. See https://sw.kovidgoyal.net/kitty/build.html#note-for-linux-macos-packagers.

(cherry picked from commit 326583f96a)
2019-11-02 09:22:14 +01:00
obadz
594954fe76 chromium: 78.0.3904.70 -> 78.0.3904.87
Two high severity CVEs: CVE-2019-13721 & CVE-2019-13720
(https://chromereleases.googleblog.com/2019/10/stable-channel-update-for-desktop_31.html)

(cherry picked from commit 3c7e691c9e)
2019-11-02 03:45:06 +01:00
Ivan Kozik
c88dc8d9f3 chromium: 78.0.3904.70 -> 78.0.3904.87
CVE-2019-13721 CVE-2019-13720

https://chromereleases.googleblog.com/2019/10/stable-channel-update-for-desktop_31.html

(cherry picked from commit 648b1c5b97)
2019-11-01 23:16:33 +00:00
taku0
643c8094e8 firefox: 70.0 -> 70.0.1
(cherry picked from commit 0bc5d7fcfe)
2019-11-01 22:34:08 +01:00
taku0
28503618ba firefox-bin: 70.0 -> 70.0.1
(cherry picked from commit 14282e91ef)
2019-11-01 22:33:48 +01:00
taku0
f998cae9e3 firefox-bin: 69.0.2 -> 70.0
(cherry picked from commit dc6ea54007)
2019-11-01 22:21:55 +01:00
taku0
682eafb890 firefox-esr: 68.1.0esr -> 68.2.0esr
(cherry picked from commit 20dae73330)
2019-11-01 22:21:55 +01:00
Andreas Rammhold
e3aca95b8f firefox: 69.0.2 -> 70.0
(cherry picked from commit 1b2b4768f6)
2019-11-01 22:21:55 +01:00
Andreas Rammhold
098dbcd76a sqlite: add 3.30 variant for firefox 2019-11-01 22:21:55 +01:00
Andreas Rammhold
bcdedc8aff nss: 3.46 -> 3.46.1
(cherry picked from commit b4f278a07c)
2019-11-01 22:21:54 +01:00
Andreas Rammhold
088c7c1497 rust-cbdindgen: 0.9.0 -> 0.9.1
(cherry picked from commit f19920f755)
2019-11-01 22:21:54 +01:00
Andreas Rammhold
c8da23bb13 rust-cbindgen: skip expand tests
The expand tests require unstable rust features.

(cherry picked from commit 2deef75624)
2019-11-01 22:21:54 +01:00
Andreas Rammhold
b22fe375ab buildRustPackage: support checkFlags and checkFlagsArray
(cherry picked from commit 7391a7d584)
2019-11-01 22:21:54 +01:00
Tadeo Kondrak
82b699861c vapoursynth-editor: use qt's mkDerivation
(cherry picked from commit d183f7142b)
2019-11-01 14:59:33 -04:00
Maximilian Bosch
9708378251 cargo-xbuild: 0.5.15 -> 0.5.18
https://github.com/rust-osdev/cargo-xbuild/blob/master/CHANGELOG.md#v0518---2019-10-08
(cherry picked from commit d4e516cc82)
2019-11-01 19:02:11 +01:00
Maximilian Bosch
3118b2d9bd xorriso: 1.5.0 -> 1.5.2
(cherry picked from commit eb2284508d)
2019-11-01 19:02:11 +01:00
Robert Scott
0170eb297f imagemagick7: 7.0.8-68 -> 7.0.9-0
(cherry picked from commit 1b44b12c57)
2019-11-01 18:07:40 +01:00
Robert Scott
f496b334d8 imagemagick: 6.9.10-68 -> 6.9.10-69
(cherry picked from commit 11933c37cf)
2019-11-01 18:07:35 +01:00
R. RyanTM
29d1e33e0a imagemagick7: 7.0.8-66 -> 7.0.8-68
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/imagemagick/versions

(cherry picked from commit eb6ad6e959)
2019-11-01 18:07:30 +01:00
R. RyanTM
2f152b7208 imagemagick7: 7.0.8-58 -> 7.0.8-66
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/imagemagick/versions

(cherry picked from commit 5852497f3c)
2019-11-01 18:06:32 +01:00
kolaente
20c3321730 gitea: 1.9.4 -> 1.9.5
(cherry picked from commit 67d0e44dc7)
2019-11-01 12:12:03 +01:00
adisbladis
a43046e1a7 Merge pull request #72177 from rasendubi/melpa-2019-10-24-stable
[19.09] melpa-packages: 2019-10-24
2019-11-01 11:06:34 +00:00
Andreas Rammhold
02ad40a8ff Merge pull request #71695 from d-goldin/backport_sqlite_fix
sqlite: 3.28.0 backport fix for CVE-2019-16168
2019-11-01 10:13:22 +01:00
Josh Moller-Mara
bf9c4ad361 rPackages.RMariaDB: Fix build
Issue #62412 reported that the configure script was not running.
It needed `patchShebangs` as well as the `mariadb.connector-c.dev` library.
2019-11-01 17:00:03 +08:00
Josh Moller-Mara
ff7cd0e91a rPackages.RMySQL: Fix build
RMySQL was not building as `mysql_config` (which the config script
uses to determine C flags) is in pkgs.mysql.connector-c.dev but not
pkgs.mysql.connector-c
2019-11-01 16:54:15 +08:00
Graham Christensen
70f69e3629 Merge pull request #72344 from ivan/chromium-fix-startup-19.09
[19.09] chromium: do not load .so files from current working directory
2019-11-01 08:16:08 +01:00
Niklas Hambüchen
1fd6f4cf0c meshlab: 20180627-beta -> 20190129-beta.
Patches Based on Arch Linux versions:
https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=meshlab-git&id=f7250ea818470f07dc9b86726407091d39c0be6f

Also added more comments.

(cherry picked from commit f50fca7dc7)
Signed-off-by: Niklas Hambüchen <mail@nh2.me>
2019-11-01 02:32:30 +01:00
talyz
ac86816312 gitlab: 12.4.0 -> 12.4.1
(cherry picked from commit 2e8417b52a)
2019-11-01 00:27:38 +01:00
Max Wittig
5f49f971b1 gitlab-runner: 12.4.0 -> 12.4.1
(cherry picked from commit f22dc5216e)
2019-11-01 00:27:38 +01:00
talyz
bac832e4ca nixos/gitlab: Remove the old lib symlink in the state directory
Also, remove the old and unused PermissionsStartOnly definition in the
gitlab-workhorse systemd service.

(cherry picked from commit d5db11ccbd)
2019-11-01 00:27:38 +01:00
talyz
d0d6d8f032 nixos/gitlab: Abort on error and use of unset variables
Default behavior is to continue executing the script even when one or
multiple steps fail. We want to abort early if any part of the
initialization fails to not run with a partially initialized state.

Default behavior also allows dereferencing non-existent variables,
potentially resulting in hard-to-find bugs.

(cherry picked from commit 041cbd860d)
2019-11-01 00:27:38 +01:00
talyz
95d999b3be gitlab: 12.3.5 -> 12.4.0
- gitlab-shell no longer requires ruby for anything else than the
  install script, so the bundlerEnv stuff could be dropped

- gitlab-shell and gitlab-workhorse now report their versions
  correctly

(cherry picked from commit 5081a6cd56)
2019-11-01 00:27:37 +01:00
Maximilian Bosch
c5aabb0d60 matrix-synapse: 1.4.1 -> 1.5.0
https://github.com/matrix-org/synapse/releases/tag/v1.5.0
(cherry picked from commit ec83cda2d5)
2019-10-31 21:10:56 +01:00
Maximilian Bosch
0fbf5237e6 matrix-synapse: 1.4.0 -> 1.4.1
https://github.com/matrix-org/synapse/releases/tag/v1.4.1
(cherry picked from commit d3849871dd)
2019-10-31 21:10:56 +01:00
Graham Bennett
c0b8f5daf8 dropbox: 81.4.195 -> 83.4.152 (#72021)
Upgrading to latest stable version per
https://www.dropboxforum.com/t5/Desktop-client-builds/bd-p/101003016.
With the previous nixpkgs version dropbox complained that the version is
too old at sign-in.

(cherry picked from commit 08884d6a0f)
2019-10-31 20:49:01 +01:00
worldofpeace
8793390185 Revert "gnome3.sushi: fix module loading"
This reverts commit 205691b7cb.
2019-10-31 09:36:56 -04:00
Bas van Dijk
ba8da789d6 Merge pull request #72361 from basvandijk/cargo-audit-in-19.09
Backport cargo-audit to 19.09
2019-10-31 13:41:30 +01:00
Bas van Dijk
fcdc52a7ff cargo-audit: 0.9.3 -> 0.10.0
0.10.0 (2019-10-13)

* Upgrade rustsec to v0.16; new self-audit system (#155)
* Upgrade to Abscissa v0.4; MSRV 1.36 (#154)

(cherry picked from commit e2b084951c)
2019-10-31 13:02:58 +01:00
Ivan Kozik
291469df27 cargo-audit: 0.9.1 -> 0.9.3
(cherry picked from commit f898aae9ca)
2019-10-31 13:02:58 +01:00
Bas van Dijk
77be04e629 cargo-audit: init at 0.9.1
cargo-audit is a subcommand for cargo which audits Cargo.lock files for crates
with security vulnerabilities

(cherry picked from commit 4941a8b8e2)
2019-10-31 13:02:57 +01:00
AmineChikhaoui
d077029647 ec2-amis.nix: add 19.09 amis
replace /home/deploy -> $HOME to allow running the script from outside
the bastion.

(cherry picked from commit dc13a7f26a)
2019-10-31 11:14:09 +01:00
Ivan Kozik
5b879b2a68 chromium: do not load .so files from current working directory
Fixes #67234.

(cherry picked from commit b4f5dc2fb8)
2019-10-31 01:34:32 +00:00
adisbladis
b2f7db8c40 nixos.pulseaudio: Remove bad recommendation to use pulseaudio in system-wide mode
Upstream Pulseaudio has always stated that system-wide is not
recommended and comes with a number of usability and security drawbacks.

(cherry picked from commit 3af4f88acd)
2019-10-30 16:03:52 +00:00
Peter Simons
12f5d47ef2 Merge pull request #72200 from rycee/unbreak-pandoc-emphasize-code-19.09
haskellPackages.pandoc-emphasize-code: mark as not broken
2019-10-30 11:07:06 +01:00
Robert Helgesson
86a4c9b107 haskellPackages.pandoc-emphasize-code: mark as not broken 2019-10-29 22:25:40 +01:00
Izorkin
549132c726 pango: update sha256 hash
(cherry picked from commit 5a08a25b27)
2019-10-29 15:28:37 +01:00
Dima
9b1ecb4bf4 pango: 1.43.0, backport CVE-2019-1010238 fix
There was a previous fix for this in
https://github.com/NixOS/nixpkgs/pull/71571

But some things, most notably pygtk, still rely on deprecated pango
APIs that are not available past 1.43, this backports the CVE
fix to this version.

(cherry picked from commit 9524bf3034)
2019-10-29 15:28:36 +01:00
Tim Steinbach
561636e311 jenkins: 2.190.1 -> 2.190.2 2019-10-29 10:06:30 -04:00
Tim Steinbach
ee34d20f7d jenkins: 2.176.3 -> 2.190.1
(cherry picked from commit 6ab2a81b3e)
2019-10-29 10:06:17 -04:00
Tim Steinbach
41ec645e1c linux: 5.3.7 -> 5.3.8 2019-10-29 09:24:56 -04:00
Tim Steinbach
4bca6f27b6 linux: 4.9.197 -> 4.9.198 2019-10-29 09:24:55 -04:00
Tim Steinbach
9ff263c730 linux: 4.4.197 -> 4.4.198 2019-10-29 09:24:55 -04:00
Tim Steinbach
db8bfeaa72 linux: 4.19.80 -> 4.19.81 2019-10-29 09:24:55 -04:00
Tim Steinbach
fcd40bf1c9 linux: 4.14.150 -> 4.14.151 2019-10-29 09:24:54 -04:00
Frederik Rietdijk
44fb9ec871 python35: 3.5.7 -> 3.5.8
(cherry picked from commit ccf514a61d)
2019-10-29 10:47:28 +01:00
Kyle Marks
67075344d7 [R19.09] qemu: 4.0.0 -> 4.0.1 2019-10-29 02:47:10 -07:00
worldofpeace
63cdd9bd31 Merge pull request #72197 from benley/benley/nixos-auto-upgrade-gzip
NixOS/auto-upgrade: add gzip to service path
2019-10-29 01:01:16 +00:00
Maximilian Bosch
742f0ffa7d nixos/networkd: add ipv4-fallback and fallback as valid options to LinkLocalAddressing
Both options were introduced in systemd v243[1]. Those options can be
used to ensure that LinkLocalAddressing is only configured for a given
interface if DHCPv4 fails. To quote `systemd.network(5)`:

```
If "fallback" or "ipv4-fallback" is specified, then an IPv4
link-local address is configured only when DHCPv4 fails. If "fallback", an IPv6 link-local
address is always configured, and if "ipv4-fallback", the address is not configured. Note
that, the fallback mechanism works only when DHCPv4 client is enabled, that is, it requires
"DHCP=yes" or "DHCP=ipv4".
```

[1] 8bc17bb3f7

(cherry picked from commit 47724fc77c)
2019-10-28 23:18:30 +01:00
Maximilian Bosch
0141bd3bcf Merge pull request #71902 from wmertens/nodejs-backport
19.09: Nodejs backport
2019-10-28 23:16:40 +01:00
Mikhail Klementev
b721337755 NixOS/auto-upgrade: add gzip to service path
Resolves #28527
2019-10-28 17:28:57 -04:00
Vladimír Čunát
2369a6a2b7 Fix link in PULL_REQUEST_TEMPLATE.md (the same link)
(cherry picked from commit 3c5f5b1cde)
2019-10-28 21:44:01 +01:00
David Kleuker
c15f3d8c98 Fix link in CONTRIBUTING.md
(cherry picked from commit bdc3697b8e)
2019-10-28 21:43:38 +01:00
Robert Scott
b85c83be7c openmpt123: 0.4.1 -> 0.4.9 (security?)
addressing CVE-2019-17113

(cherry picked from commit 0086b03be5)
2019-10-28 19:26:59 +00:00
Frederik Rietdijk
e0fad41ddf python.pkgs.acoustics: 0.2.1 -> 0.2.2
(cherry picked from commit 2d8dc891aa)
2019-10-28 20:22:31 +01:00
Marek Mahut
e402ed1666 Merge pull request #72176 from jonringer/backport-minecraft
[19.09] minecraft: 2.1.5965 -> 2.1.7658
2019-10-28 20:19:41 +01:00
c0bw3b
481cff2a69 perlPackages.Po4a: fix build
Backport of #72170
Related issue: #71296 (Po4a build get stuck in a loop)

Term::ReadKey is an optional dependency. From upstream:
> This module is used to retrieve the terminal's line width.
> If it is not present, the line width can be specified with the COLUMN environment variable.
2019-10-28 18:12:55 +01:00
Mario Rodas
fa4ff4d061 nodejs-12_x: 12.10.0 -> 12.13.0
Changelog: https://github.com/nodejs/node/releases/tag/v12.13.0
2019-10-28 17:45:46 +01:00
Mario Rodas
6265fc8b98 nodejs-12_x: 12.5.0 -> 12.10.0 2019-10-28 17:45:46 +01:00
Mario Rodas
3ebf460c31 nodejs-10_x: 10.16.0 -> 10.17.0
Release notes: https://nodejs.org/en/blog/release/v10.17.0/
2019-10-28 17:45:46 +01:00
Will Dietz
81f4c491af libuv: 1.30.1 -> 1.32.0
https://github.com/libuv/libuv/releases/tag/v1.32.0
https://github.com/libuv/libuv/releases/tag/v1.31.0
2019-10-28 17:45:46 +01:00
Jonathan Ringer
c4ad7d3b43 minecraft: 2.1.5965 -> 2.1.7658 2019-10-28 09:19:09 -07:00
Alexey Shmalko
eb0e901723 melpa-packages: 2019-10-24
(cherry picked from commit 8bb70c8722)

emacsPackages.lua-mode fails to build. Update fixes that.
2019-10-28 18:15:34 +02:00
Robert Scott
f25255e3ae file: add patch for CVE-2019-18218
Cherry-picked from https://github.com/NixOS/nixpkgs/pull/72025

upstream patch 46a8443f76.patch
doesn't apply directly, debian have a version which has been adapted for
5.37.
2019-10-28 11:34:11 +01:00
Christian Kauhaus
828d37d034 Merge pull request #71872 from risicle/ris-ghostscript-CVEs-r19.09
[19.09] ghostscript: add patches for CVE-2019-10216, CVE-2019-14811, CVE-2019-14812, CVE-2019-14813 and some of CVE-2019-14817
2019-10-28 11:21:09 +01:00
Franz Pletz
5a0de42919 Merge pull request #72110 from ciil/jira-update-19.09
atlassian-jira: 8.4.2 -> 8.5.0 [release-19.09]
2019-10-28 09:33:46 +00:00
Ruud van Asseldonk
d941f05169 libressl_2_8: remove, not maintained anymore
Stable LibreSSL releases are supported one year after their OpenBSD release.
OpenBSD 6.4 with this branch was released on 2018-10-18.

(cherry picked from commit 671a1182e3)
2019-10-28 10:16:44 +01:00
Ruud van Asseldonk
78c220eff9 libressl_3_0: 3.0.1 -> 3.0.2
(cherry picked from commit 1126db828f)
2019-10-28 10:16:37 +01:00
Mario Rodas
ab486c5984 caddy: disable telemetry
Co-authored-by: Franz Pletz <fpletz@fnordicwalking.de>
(cherry picked from commit b53710e19e)
2019-10-28 10:15:56 +01:00
Mario Rodas
4f6ac375bd caddy: 1.0.0 -> 1.0.3
(cherry picked from commit 4d178d9fd6)
2019-10-28 10:15:45 +01:00
Franz Pletz
1225e6a87f nixos/acme: fix staging endpoint url
fixes #72067

(cherry picked from commit 5d22f7afe1)
2019-10-28 10:13:29 +01:00
Jan Tojnar
205691b7cb gnome3.sushi: fix module loading
(cherry picked from commit 885576c97a)
2019-10-28 02:31:09 -04:00
pacien
6908c4ae87 riot-desktop: 1.4.2 -> 1.5.0
(cherry picked from commit cacd74422a)
2019-10-27 18:36:00 -04:00
pacien
56356237de riot-web: 1.4.2 -> 1.5.0
(cherry picked from commit 050db8db30)
2019-10-27 18:36:00 -04:00
Christian Kauhaus
1475cc7c73 Merge pull request #69925 from risicle/ris-qemu-CVEs-r19.09
[19.09] qemu: add patches for CVE-2019-13164 & CVE-2019-14378
2019-10-27 22:27:28 +01:00
Marek Mahut
c75de8bc12 Merge pull request #72073 from mmahut/70119
opensc: CVE-2019-15945 and CVE-2019-15946
2019-10-27 17:40:06 +01:00
Simon Lackerbauer
674f7fe5ef atlassian-jira: 8.4.2 -> 8.5.0
(cherry picked from commit 3eff8b1ba9)
2019-10-27 17:20:27 +01:00
Marek Mahut
80c90b48c2 opensc: CVE-2019-15946 2019-10-27 11:41:44 +01:00
Marek Mahut
e4258001a1 opensc: CVE-2019-15945 2019-10-27 11:40:21 +01:00
André-Patrick Bubel
da27632fd2 vcv-rack: Fix issues from missing upstream dependency
The revision of the glfw fork that Rack depends on has been removed from
GitHub. This causes cloning of the glfw submodule for the Rack git
repository to fail.

As the glfw fork just adds a function that is only needed on Darwin (and
we don't support that platform at the moment) we remove the function
call from the Rack source. We can then use the upstream version of glfw.

We fetch the rest of the submodules manually as well.

See https://github.com/NixOS/nixpkgs/issues/71189 for the context.

(cherry picked from commit 0347078949)
2019-10-27 10:54:09 +01:00
Maximilian Bosch
3de2a6aace documize-community: 3.3.2 -> 3.4.0
https://github.com/documize/community/releases/tag/v3.4.0
(cherry picked from commit e4da527106)
2019-10-27 07:24:12 +01:00
xrelkd
85c2914ff3 youtube-dl: 2019.10.16 -> 2019.10.22
(cherry picked from commit f34d39d1e2)
2019-10-27 01:19:55 -04:00
xrelkd
a36b4f0ce5 youtube-dl: 2019.09.28 -> 2019.10.16
(cherry picked from commit 8b079c2417)
2019-10-27 01:19:54 -04:00
Robert Helgesson
8aeb45d148 svtplay-dl: mark as not broken
(cherry picked from commit c69ebd2883)
2019-10-26 16:53:35 +02:00
Robert Helgesson
a87d04577f svtplay-dl: 2.2 -> 2.4
(cherry picked from commit 77eef5529f)
2019-10-26 16:53:34 +02:00
Will Dietz
6e02204bac tcpdump: 4.9.2 -> 4.9.3 (security!)
So many CVE's, see:

http://www.tcpdump.org/tcpdump-changes.txt
(cherry picked from commit dd42253a40)
2019-10-26 14:56:00 +01:00
Will Dietz
ae7bd2bacf libpcap: 1.9.0 -> 1.9.1 (security!)
http://www.tcpdump.org/libpcap-changes.txt

> Five CVE-2019-15161, CVE-2019-15162, CVE-2019-15163, CVE-2019-15164, CVE-2019-15165
> Fixes for CVE-2018-16301,

Drop the included patch as well.

(cherry picked from commit 4db088d36a)
2019-10-26 14:55:31 +01:00
geistesk
4067ae8582 cutecom: 0.50.0 -> 0.51.0
(cherry picked from commit 2435d4b961)
2019-10-26 08:07:56 -04:00
WilliButz
12414f837e nixos/i18n: use str instead of string for consoleKeyMap
(cherry picked from commit 509fadd01a)
2019-10-26 11:16:41 +02:00
Eelco Dolstra
98ba74107d nixFlakes: 2.4pre20190922_382aa05 -> 2.4pre20191022_9cac895
(cherry picked from commit fc2592b2d6)
2019-10-26 11:08:56 +02:00
WilliButz
937c07459d grafana-loki: 0.3.0 -> 0.4.0
(cherry picked from commit 3236de7b4d)
2019-10-26 10:14:35 +02:00
Moritz Angermann
2634957be6 openssl: Fix cross to Windows
(cherry picked from commit 2df354fd1e)
2019-10-26 03:41:27 -04:00
Dmitry Kalinkin
a81eee254c cmake: process -iframework in setup-hook
This fixes a regression in #26197

Fixes: f496357585 ('cc-wrapper: use -iframework instead of -F')
(cherry picked from commit c8041d97a5)

cc #70997
2019-10-25 18:16:09 -04:00
Florian Klink
6aab37bf93 Merge pull request #71953 from NinjaTrappeur/nin-backport-acme
Backporting ACME v2 fix (#71291) to 19.09
2019-10-26 00:01:44 +02:00
Robin Gloster
ef1598a6a1 Merge pull request #71995 from etu/php-updates-release-1909
[19.09] php: 7.2.23 -> 7.2.24, 7.3.10 -> 7.3.11
2019-10-25 23:08:50 +02:00
Guillaume Bouchard
81b32ec6f3 epsxe: fix link with openssl
* epsxe: fix link with openssl

Epsxe is hardcoded to build with openssl-1.0 (using libcrypto.so.1.0.0),
but current nixpkgs contains openssl-1.1, which provides
libcrypto.so.1.1.

This patchs just uses the previous version of the library.

* epsxe: use autoPatchelfHook instead of manual rpath overriding

This simplifies the file AND generates failures at build time if a
needed dynamic library is not found during build time.

Backport of #71920

(cherry picked from commit 4a2475c924)
2019-10-25 20:19:37 +02:00
Aaron Andersen
f42d440ccb php: 7.2.23 -> 7.2.24, 7.3.10 -> 7.3.11
(cherry picked from commit a480006281)
2019-10-25 20:04:24 +02:00
Will Dietz
3afeb36fd0 nixos/nextcloud: update config for "urgent security issue"
https://nextcloud.com/blog/urgent-security-issue-in-nginx-php-fpm/
(cherry picked from commit f6c45bff6d)
2019-10-25 19:13:19 +02:00
Eelco Dolstra
d3185b1f31 nix-daemon.nix: Fix checkConfig
(cherry picked from commit 52e739cc58)
2019-10-25 14:35:55 +02:00
R. RyanTM
07508cce16 ibus-engines.typing-booster-unwrapped: 2.6.6 -> 2.6.8
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/ibus-typing-booster/versions

(cherry picked from commit df7ae92095)
2019-10-25 10:38:11 +02:00
Félix Baylac-Jacqué
f4b14cea55 nixos/tests/letsencrypt: use Pebble instead of Boulder
Let's encrypt bumped ACME to V2. We need to update our nixos test to
be compatible with this new protocol version.

We decided to drop the Boulder ACME server in favor of the more
integration test friendly Pebble.

- overriding cacert not necessary
- this avoids rebuilding lots of packages needlessly
- nixos/tests/acme: use pebble's ca for client tests
- pebble always generates its own ca which has to be fetched

(cherry picked from commit 0c0af28cd5)
2019-10-24 23:59:42 +02:00
Félix Baylac-Jacqué
353333ef34 certbot: 0.31.0 -> 0.39.0
Updating:

- nixos module to use the new `account_reg.json` file.
- use nixpkgs pebble for integration tests.

Co-authored-by: Florian Klink <flokli@flokli.de>

Replace certbot-embedded pebble

(cherry picked from commit 38e84151e0)
2019-10-24 23:59:34 +02:00
Félix Baylac-Jacqué
305030f7b0 pebble: init at 2.2.2
(cherry picked from commit 6ac0e34161)
2019-10-24 23:59:25 +02:00
Félix Baylac-Jacqué
71ef17bae6 simp_le: 0.9.0 -> 0.16.0
(cherry picked from commit 071d181e0a)
2019-10-24 23:57:41 +02:00
Graham Christensen
14a9d91f7f Merge pull request #71772 from ivan/chromium-78.0.3904.70-backport-19.09
[19.09] chromium: 77.0.3865.120 -> 78.0.3904.70
2019-10-24 03:55:17 -04:00
Frederik Rietdijk
1b334b8620 Merge release-19.09 into staging-19.09 2019-10-24 08:50:39 +02:00
Matthew Glazar
96c277d2f5 python38: fix build on macOS
Python 3.8 fails to build on macOS for two reasons:

* python-3.x-distutils-C++.patch fails to apply cleanly.
* An #include for <util.h> is missing, causing a build failure:

    ./Modules/posixmodule.c:6586:9: error: implicit declaration of function 'openpty' is invalid in C99
        if (openpty(&master_fd, &slave_fd, NULL, NULL, NULL) != 0)
            ^

Use the correct version of python-3.x-distutils-C++.patch, and add a
patch to #include <util.h>.

(cherry picked from commit 81d15948cc)
2019-10-24 08:39:39 +02:00
Frederik Rietdijk
854222b5ed python38: 3.8.0rc1 -> 3.8.0
(cherry picked from commit 911b053802)
2019-10-24 08:39:39 +02:00
Frederik Rietdijk
89e9ef1176 python38: 3.8.0b3 -> 3.8.0rc1
(cherry picked from commit 1b8f8a65ba)
2019-10-24 08:39:39 +02:00
Frederik Rietdijk
730f69ecf2 Merge staging-19.09 into release-19.09 2019-10-24 08:38:17 +02:00
Robert Scott
bd3f644a90 ghostscript: add patches for CVE-2019-10216, CVE-2019-14811, CVE-2019-14812, CVE-2019-14813 and some of CVE-2019-14817
as with master, not all of the CVE-2019-14817 patch applies cleanly, but
the parts that do should provide some protection
2019-10-24 00:12:15 +01:00
Justin Humm
27a5ddcf74 smokeping: add erictapen as maintainer
(cherry picked from commit b8cd11f347)
2019-10-23 23:56:43 +02:00
Justin Humm
990f5f433f nixos/smokeping: replace smokeping.fcgi with a symlink
This fixes a regression from bb649d96b0.
There were permission problems, when the preStart script tried to copy
the smokeping.fcgi file over the old file.

(cherry picked from commit 9eb067b0d7)
2019-10-23 23:56:26 +02:00
Florian Klink
12abbe5134 Merge pull request #71816 from talyz/gitlab-already-initialized-constant-release-19.09
gitlab: Get rid of most 'already initialized constant'-warnings
2019-10-23 23:34:01 +02:00
Maximilian Bosch
4ddaf40a7d wireguard-tools: 0.0.20190913 -> 0.0.20191012
https://lists.zx2c4.com/pipermail/wireguard/2019-October/004594.html

Also decided to add myself to the maintainers list as I use WireGuard
pretty heavily for private/work-related stuff and I intend to help taking care
of the WireGuard ecosystem in NixOS as well.

(cherry picked from commit 2177639967)
2019-10-23 18:40:21 +02:00
Bjørn Forsman
5b314a19f2 eagle7: unbreak by using openssl 1.0 instead of 1.1
The default openssl version in nixpkgs is too new for eagle7 and it
fails to start:

  eagle: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

(cherry picked from commit 13859d0bda)
2019-10-23 16:54:56 +02:00
talyz
3e297373f6 gitlab: Get rid of most 'already initialized constant'-warnings
On start, unicorn, sidekiq and other parts running ruby code emits
quite a few warnings similar to

/var/gitlab/state/config/application.rb:202: warning: already initialized constant Gitlab::Application::LOOSE_EE_APP_ASSETS
/nix/store/ysb0lgbzxp7a9y4yl8d4f9wrrzy9kafc-gitlab-ee-12.3.5/share/gitlab/config/application.rb:202: warning: previous definition of LOOSE_EE_APP_ASSETS was here
/var/gitlab/state/lib/gitlab.rb:38: warning: already initialized constant Gitlab::COM_URL
/nix/store/ysb0lgbzxp7a9y4yl8d4f9wrrzy9kafc-gitlab-ee-12.3.5/share/gitlab/lib/gitlab.rb:38: warning: previous definition of COM_URL was here

This seems to be caused by the same ruby files being evaluated
multiple times due to the paths being different - sometimes they're
loaded using the direct path and sometimes through a symlink, due to
our split between config and package data. To fix this, we make sure
that the offending files in the state directory always reference the
store path, regardless of that being the real file or a symlink.

(cherry picked from commit ed4a09c6f3)
2019-10-23 15:41:41 +02:00
Robin Gloster
66393625f6 Merge pull request #71477 from das-g/release-19.09_kmymoney
kmymoney: 5.0.5 -> 5.0.7
2019-10-23 14:58:36 +02:00
Frederik Rietdijk
43968da075 doc: backport manual improvements (19.09) (#71779)
* doc: organize chapters into parts, and reduce toc depth

Reorganize the chapters into parts and reduce the TOC depth to make the
TOC useful again. The top-level TOC is very brief, but that is fine
because every part will have its own TOC.

Section titles of languages/frameworks are also simplified to just
the name of the language/framework.

* doc: merge package notes and package-specific notes

Maybe there was an idea behind this separation, but looking at the
contents I don't see any reason for these being separate.

* doc: split packages part into xml file per package

* doc: move fetchers and trivial builders under builders

* doc: move image builders into new images chapter

* doc: move overrides into separate chapter

* doc: move fhs and mkShell under builders/special

In my opinion Functions should only contain pure functions. These are
both meant to provide derivations so I put them under Builders. Don't
know exactly *where* to put them so "special" it is...
2019-10-23 09:33:33 +02:00
Vincent Laporte
37082f631a Merge pull request #71214 from vbgl/coq-8.10.0+release-19.09
[19.09] Coq 8.10.0
2019-10-23 07:24:56 +00:00
Ivan Kozik
1041f98f8b chromium: 77.0.3865.120 -> 78.0.3904.70
CVE-2019-13699 CVE-2019-13700 CVE-2019-13701 CVE-2019-13702
CVE-2019-13703 CVE-2019-13704 CVE-2019-13705 CVE-2019-13706
CVE-2019-13707 CVE-2019-13708 CVE-2019-13709 CVE-2019-13710
CVE-2019-13711 CVE-2019-15903 CVE-2019-13713 CVE-2019-13714
CVE-2019-13715 CVE-2019-13716 CVE-2019-13717 CVE-2019-13718
CVE-2019-13719

https://chromereleases.googleblog.com/2019/10/stable-channel-update-for-desktop_22.html

(cherry picked from commit 908b24ea04)
2019-10-23 06:03:42 +00:00
Timo Kaufmann
8d8277e000 Merge pull request #71706 from timokau/fflas-ffpack-avx-backport
[19.09] fflas-ffpack: disable all avx versions by default
2019-10-22 23:00:56 +02:00
Timo Kaufmann
30987c800e fflas-ffpack: disable all avx versions by default
To fix a transient failure on hydra. See
https://github.com/linbox-team/fflas-ffpack/issues/284 for more details.

(cherry picked from commit 47bdb5f2ee)
2019-10-22 20:39:10 +02:00
Dima
819ea59a86 sqlite: 3.28.0 backport fix for CVE-2019-16168
This is a manually backported patch for a crash induced by a division by
zero. The patch had to be manually adopted to the "amalgamated" source
release.
2019-10-22 19:18:01 +02:00
Christoph Ruegge
56c4063ce6 texmaker: use qt5 mkDerivation
(cherry picked from commit adf81192c6)
2019-10-22 18:39:09 +02:00
Peter Hoeg
c30a7d7c92 Merge pull request #71646 from das-g/release-19.09_fix-qscintilla-qt4
qscintilla: Fix qt4 build
2019-10-22 23:48:37 +08:00
Frederik Rietdijk
1a7c6e6f91 python.pkgs.pip2nix: mark as broken
(cherry picked from commit ac148d40ed)
2019-10-22 13:34:35 +02:00
Robin Gloster
511957a4d4 Merge pull request #71411 from risicle/ris-putty-CVE-2019-17069-r19.09
[r19.09] putty: add patch for CVE-2019-17069
2019-10-22 13:01:16 +02:00
Robin Gloster
88264b3b2f Merge pull request #71595 from aanderse/msodbc
unixODBCDrivers.msodbcsql17: add missing openssl dependency [19.09 backport]
2019-10-22 12:59:33 +02:00
Robin Gloster
a954005e2a Merge pull request #71604 from aanderse/redmine-update
redmine: 3.4.11 -> 3.4.12, 4.0.4 -> 4.0.5 [19.09]
2019-10-22 12:57:10 +02:00
Robin Gloster
e0e7756a18 Merge pull request #71606 from aanderse/wordpress
wordpress: 5.2.3 -> 5.2.4 [19.09 backport]
2019-10-22 12:56:51 +02:00
Raphael Borun Das Gupta
9967d27994 qscintilla: fix qt4-fix patch header
after backporting from master to release-19.09
2019-10-22 10:41:05 +02:00
Lancelot SIX
f64135e423 qscintilla: Fix qt4 build
(cherry picked from commit eb1cd0d27d)
2019-10-22 10:40:59 +02:00
Max Wittig
c43fe70feb gitlab-runner: 12.3.0 -> 12.4.0
(cherry picked from commit 95b324edc7)
2019-10-22 10:14:32 +02:00
worldofpeace
b81dc1d0b2 Merge pull request #71616 from worldofpeace/systemd-logind-fixes-19.09
[19.09] systemd: additional logind fixes
2019-10-22 07:25:51 +00:00
Marek Mahut
02351ddb3a Merge pull request #71600 from aanderse/zabbix
zabbix: init at 4.4.0 [19.09 backport]
2019-10-22 07:30:04 +02:00
worldofpeace
65ab17d63f systemd: additional logind fixes
See: https://github.com/NixOS/systemd/pull/33
(cherry picked from commit 0c05c0a97d)
2019-10-21 23:44:42 -04:00
Aaron Andersen
a18d9fda76 wordpress: 5.2.3 -> 5.2.4
(cherry picked from commit 327d406f03)
2019-10-21 21:19:55 -04:00
Aaron Andersen
7bf4f9fd95 redmine: 3.4.11 -> 3.4.12, 4.0.4 -> 4.0.5 2019-10-21 20:57:11 -04:00
Aaron Andersen
3e3a11e270 zabbix: init at 4.4.0
(cherry picked from commit fdee83d0fb)
2019-10-21 19:20:47 -04:00
Aaron Andersen
51885ec8ca unixODBCDrivers.msodbcsql17: add missing openssl dependency
(cherry picked from commit 18ad0a8028)
2019-10-21 19:13:38 -04:00
Florian Klink
f6dac80838 Merge pull request #71585 from maralorn/release-19.09
nixos/redis: [19.09] Disable hugepages for redis via sysctl and not via a sys…
2019-10-21 23:15:35 +02:00
Malte Brandy
26b4119730 nixos/redis: Disable hugepages for redis via sysctl and not via a systemd-oneshot 2019-10-21 22:36:27 +02:00
Florian Klink
ec20b31cff Merge pull request #71564 from danieldk/mupdf-backport
Backport of mupdf to address various CVEs
2019-10-21 21:07:14 +02:00
Daniel Fullmer
6a17d58961 k2pdfopt: Fix patch for mupdf 1.16.1
(cherry picked from commit 2390e3f97f)
2019-10-21 20:26:49 +02:00
Matthieu Coudron
87779e0976 llpp: 30 -> 31
(cherry picked from commit 4dd698ad18)
2019-10-21 20:26:48 +02:00
Matthieu Coudron
f7e44919fe zathura: 0.3.4 -> 0.3.5
to fix issues with the new mupdf

(cherry picked from commit 5ded5df126)
2019-10-21 20:26:48 +02:00
Matthieu Coudron
74b127a7e9 mupdf: 1.14.0 -> 1.16.1
(cherry picked from commit 737fcfb0e4)
2019-10-21 20:26:48 +02:00
Tim Steinbach
e6163fb53d Merge pull request #71386 from d-goldin/docker_runc_cve
docker-runc: switch to OCI runc 1.0.0-rc8+dev (security)
(cherry picked from commit 2dc7d6197e)
2019-10-21 12:15:09 -04:00
Franz Pletz
69e6d73058 mbedtls: 2.16.0 -> 2.16.3
Fixes CVE-2019-16910. Fixes #71452.

(cherry picked from commit 360e57a567)
2019-10-21 12:51:04 +02:00
Franz Pletz
ffb830ccef Revert "mbedtls: 2.16.0 -> 2.17.0"
This reverts commit ba3b9c0eb8.

cc #60625 #71452

(cherry picked from commit bf2f1c8e00)
2019-10-21 12:51:03 +02:00
Frederik Rietdijk
b8d9a047e6 Merge release-19.09 in staging-19.09 2019-10-21 09:54:20 +02:00
Frederik Rietdijk
8ed475b31e Merge staging-19.09 in release-19.09 2019-10-21 09:53:35 +02:00
R. RyanTM
a25b39f2f2 bind: 9.14.6 -> 9.14.7
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/bind/versions

(cherry picked from commit 0060782d8e)
2019-10-21 09:21:36 +02:00
Will Dietz
58d2c0c389 bind: 9.14.4 -> 9.14.6
9.14.5: https://gitlab.isc.org/isc-projects/bind9/blob/v9_14_5/CHANGES
9.14.6: https://gitlab.isc.org/isc-projects/bind9/blob/v9_14/CHANGES

9.14.6 above links to the 9.14 branch CHANGES, no tag yet.
ISC's website has 9.14.6, which is the authoritative source.

(cherry picked from commit 88aaa57296)
2019-10-21 09:21:36 +02:00
Robin Gloster
97fc74fd34 home-assistant: 20190514.0 -> 20190719.0
Fixes compatibility with current home-assistant.

See #71400
2019-10-21 09:14:23 +02:00
Raphael Borun Das Gupta
5383748616 kmymoney: 5.0.5 -> 5.0.7
and mark as not broken anymore

see PR #69616 for the corresponding change on master
2019-10-21 02:40:16 +02:00
Vladimír Čunát
80b42e630b nixos release notes: interfaces might get renamed
Fixes #71086.

(cherry picked from commit 9a54d17799)
2019-10-20 20:13:02 -04:00
Frederik Rietdijk
05dfc50639 python2: 2.7.16 -> 2.7.17
Co-authored-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
(cherry picked from commit 5b55013aa2)
2019-10-20 19:50:14 +02:00
Tim Steinbach
9ff6916f74 Merge pull request #71397 from d-goldin/kernel_attrs_releasenotes
release-notes 19.09: removal of non-LTS kernel attrs
2019-10-20 09:21:37 -04:00
Florian Klink
59073934d5 Merge pull request #71321 from talyz/gitlab-revert-clear-out-initializers-release-19.09
Revert "nixos/gitlab: properly clear out initializers"
2019-10-20 13:38:18 +02:00
Dima
a64b8c3c19 Removing PR link and expanding a bit 2019-10-20 13:36:12 +02:00
worldofpeace
9200a7fd1f rl-1909: add note for blueman 2019-10-20 00:21:32 -04:00
Shreyansh Khajanchi
8be529f1b9 tor-browser-bundle-bin: fix icons
(cherry picked from commit 0b424ec3cf)
2019-10-20 00:12:44 -04:00
Aaron Andersen
3969e44d00 Merge pull request #71415 from redvers/mediawiki-1.33.1
mediawiki: 1.33.0 -> 1.33.1
2019-10-19 23:24:00 -04:00
Red Davies
39138150d9 mediawiki: 1.33.0 -> 1.33.1 2019-10-19 21:41:34 -04:00
Robert Scott
1a5c8cc495 putty: fix build on darwin 2019-10-20 01:16:54 +01:00
worldofpeace
f63a24b8b7 steam: don't use at-spi2-atk alias
(cherry picked from commit 486a728b94)
2019-10-19 19:29:56 -04:00
rnhmjoj
851b51f5c2 arx-libertatis: 2019-02-16 -> 2019-07-22
(cherry picked from commit 4af7f6321e)
2019-10-19 19:26:41 -04:00
Robert Scott
7370dddd6f putty: add patch for CVE-2019-17069 2019-10-20 00:18:59 +01:00
Martin Weinelt
e97f19a82e steam: add at_spi2_atk to chrootenv
This is required for the new Stellaris 2.4 series launcher

(cherry picked from commit 977828df1f)
2019-10-19 10:57:32 -07:00
Dima
7163d3a9df release-notes 19.09: removal of non-LTS kernel attrs
Even though the release obviously already happened, I think it might
still make sense to add a short note about the attributes not being
supported any longer (and going forward).
2019-10-19 19:33:46 +02:00
ryanfitzsimon
2af038ee02 rrsync: Make perl a run-time dependency (#71344)
perl is a run-time dependency, so it should be in buildInputs rather
than nativeBuildInputs.

This has been preventing patchShebangsAuto() in fixupOutputHooks from
patching the /usr/bin/perl interpreter shebang in $out/bin/rrsync since
61bc03c017.

Resolves #71198

(cherry picked from commit f203d50d09)
2019-10-19 11:36:32 +02:00
Renaud
9ffddd8e68 Merge pull request #71370 from risicle/ris-rsyslog-CVE-2019-17040-r19.09
[r19.09] rsyslog: add patch for CVE-2019-17040
2019-10-19 11:22:31 +02:00
Izorkin
372dd72222 screenfetch: add to path pciutils
(cherry picked from commit ec82baa56c)
2019-10-18 21:05:28 -04:00
worldofpeace
da65d01a5c Merge pull request #71366 from symphorien/nm-fortissl-backport
[19.09] networkmanager-fortisslvpn: create the local state directory
2019-10-18 23:53:32 +00:00
Symphorien Gibol
847fe16776 networkmanager-fortisslvpn: create the local state directory
Otherwise connecting simply fails:
VPN connection: failed to connect: 'La création du fichier « /tmp/lib/NetworkManager-fortisslvpn/0507e3ef-f0e0-4153-af64-b3d9a025877c.config.XSB19Z » a échoué : No such file or directory'
2019-10-18 19:52:55 -04:00
Thorsten Weber
4ba1af2a19 kazam: fix
- work around strictDeps issue wit python packages
- use pr 21 commit instead of debian patch to fix configparser issue

(cherry picked from commit 15953b7728)
2019-10-18 19:47:11 -04:00
worldofpeace
c107ff9e2d Merge pull request #71149 from ivan/ocrmypdf-backport
[19.09] ocrmypdf: 8.2.3 -> 9.0.3
2019-10-18 22:02:44 +00:00
Robert Scott
9cb599a0bb rsyslog: add patch for CVE-2019-17040 2019-10-18 22:26:13 +01:00
Peter Simons
3ef4db43d5 Merge pull request #71361 from vaibhavsagar/ghc-8-8-fixes
configuration-ghc-8.8.nix: fix overrides
2019-10-18 22:42:59 +02:00
Vaibhav Sagar
d0d80125c3 configuration-ghc-8.8.nix: fix overrides 2019-10-18 16:08:20 -04:00
worldofpeace
7cb8176842 pythonPackages.pgsanity: don't mark broken
(cherry picked from commit 625cad31bc)
2019-10-18 16:03:34 -04:00
edef
e5cc98f1fd pythonPackages.pgsanity: add missing postgresql checkInput
(cherry picked from commit a7aa69c8bf)
2019-10-18 16:03:34 -04:00
edef
65d0d80207 pypi2nix: add missing setuptools dependency
Broken by f7e28bf5d8, which removed
setuptools from the default propagatedBuildInputs of Python packages.

(cherry picked from commit 23fd70d694)
2019-10-18 15:59:37 -04:00
Tim Steinbach
df0211056a linux: 5.3.6 -> 5.3.7 2019-10-18 12:35:02 -04:00
Tim Steinbach
e82ef89b51 linux: 4.9.196 -> 4.9.197 2019-10-18 12:35:02 -04:00
Tim Steinbach
4628e1f269 linux: 4.4.196 -> 4.4.197 2019-10-18 12:35:01 -04:00
Tim Steinbach
b125bfc3c5 linux: 4.19.79 -> 4.19.80 2019-10-18 12:35:01 -04:00
Tim Steinbach
7254103af0 linux: 4.14.149 -> 4.14.150 2019-10-18 12:35:00 -04:00
talyz
4d0a45c705 Revert "nixos/gitlab: properly clear out initializers"
This reverts commit 2ee14c34ed.

This caused the initializers directory to be cleaned out while gitlab
was running in some instances. We clean out the directory on the
preStart stage already, so ensuring existance and permissions should
suffice.

(cherry picked from commit 201cca9a04)
2019-10-18 11:04:19 +02:00
Dima
3ddf0b3a72 prometheus-blackbox-exporter: fixing path issue
This fixes an issue with a recent addition of a config file
check in c28ded36ef.

Previously it was possible to supply a path as a string
to `configFile`. Now it will fail checking the config file
during evaluation of the module due to sandboxing.

A toggle to disable the check, more informative log messages
and handling for various configFile values are added.

(cherry picked from commit b788467ec4)
2019-10-18 08:57:27 +02:00
Maximilian Bosch
dbcc393720 Merge pull request #71295 from symphorien/nix-du
[19.09] nix-du: 0.3.0 -> 0.3.1
2019-10-18 01:37:58 +02:00
Symphorien Gibol
65b5fc20d6 nix-du: 0.3.0 -> 0.3.1
(cherry picked from commit 04b2c195f0)
2019-10-17 20:25:04 +02:00
lassulus
15e2aed11e bepasty: add setuptools
(cherry picked from commit 5e73d19040)
2019-10-17 17:37:30 +02:00
worldofpeace
c35f7161aa Merge pull request #71207 from worldofpeace/nm-iwd-19.09
[19.09] nixos/networkmanager: allow iwd as Wi-Fi backend
2019-10-16 23:27:46 +00:00
WilliButz
578fb2c5fa grafana: 6.4.2 -> 6.4.3
(cherry picked from commit 747172ba60)
2019-10-16 21:13:23 +02:00
Matthew Bauer
d3a928f30d Merge pull request #71196 from matthewbauer/avoid-subshells-19-09
Backport pull request #69131 from xzfc/subshells
2019-10-16 14:37:10 -04:00
Frederik Rietdijk
0f9b2d9c86 pwndbg: fix runtime python deps, fixes #71071
pwndbg is a Python module for gdb. The built-in interpreter is used and
pwndbg offers additional routines. Packaging this is tricky because that
interpreter needs to be used. Using `python3.withPackages` won't work.
By setting `NIX_PYTHONPATH`, the interpreter should pick up pwndbg and
its dependencies.

If `NIX_PYTHONPATH` does not function we can fall back to `PYTHONPATH`.
An example of when that won't work is if pwndbg runs a script of itself
in a subshell. `NIX_PYTHONPATH` would be  unset, but `PYTHONPATH` not.

(cherry picked from commit 27a9800e85)
2019-10-16 12:43:28 +01:00
Frederik Rietdijk
57f68f703a pythonPackages.capstone: add missing setuptools dep
(cherry picked from commit 80ac778c06)
2019-10-16 12:43:23 +01:00
Vladimír Čunát
12c10e256a Revert "go: apply upstream patch"
This reverts commit d8218de5c5.
It makes no sense after the parent commit.

(cherry picked from commit 610afbca84)
2019-10-16 10:50:08 +02:00
Dima
70eebec7ab go_1_12: disable flakey TestGcSys test (PR #70368)
In our tests we have experienced failures of this test,
but it was otherwise not reproducible so far. A backported
upstream fix did not alleviate the issue either, so disabling
seems workable for now.

(cherry picked from commit cffba01e12)
2019-10-16 10:50:05 +02:00
Vladimír Čunát
026f99c119 Merge branch 'staging-19.09' into release-19.09 2019-10-16 10:44:16 +02:00
Vladimír Čunát
a1b316ce01 Merge branch 'release-19.09' into staging-19.09 2019-10-16 10:42:33 +02:00
Frederik Rietdijk
38cc9a3025 python37: 3.7.4 -> 3.7.5
(cherry picked from commit 41abe12bb3)
2019-10-16 09:24:51 +02:00
Vincent Laporte
0da40a1f70 coq_8_10: 8.10+β3 → 8.10.0
coqPackages.coq-elpi: master → 1.1.0

(cherry picked from commit b4db381443)
2019-10-16 04:01:32 +00:00
Marco Maggesi
46b2ba1ee5 elpi: 1.6.0 -> 1.7.0
(cherry picked from commit c70d7fa760)
2019-10-16 04:01:32 +00:00
Vincent Laporte
090dccf0de coq_8_10: do not take “camlp5” as input
(cherry picked from commit 1292f49a37)
2019-10-16 04:01:32 +00:00
Vincent Laporte
2e37793cd0 coq_8_10: 8.10+β2 → 8.10+β3
(cherry picked from commit 8288301636)
2019-10-16 04:01:32 +00:00
Vincent Laporte
bb75840f59 coq_8_10: do not build CoqIDE on darwin
See https://gitlab.gnome.org/GNOME/gtk/merge_requests/1004
for details about the GTK3 issue
2019-10-16 04:01:31 +00:00
Robin Gloster
04315358a9 prometheus: fix hash
(cherry picked from commit 2137b0c8f0)
2019-10-16 00:47:16 +02:00
Mario Rodas
a500ee2b0a prometheus: 2.12.0 -> 2.13.0
Changelog: https://github.com/prometheus/prometheus/releases/tag/v2.13.0
(cherry picked from commit aa69f548b7)
2019-10-16 00:33:44 +02:00
worldofpeace
dcc4078492 nixos/networkmanager: allow iwd as Wi-Fi backend
This introduces an option wifi.backend to the networkmanager module.

Version of 86dea5559f for release-19.09.
2019-10-15 17:29:32 -04:00
Robin Gloster
8bf142e001 Merge pull request #71051 from worldofpeace/nm-1.18.4
[19.09] networkmanager: 1.18.2 -> 1.18.4
2019-10-15 23:13:10 +02:00
Mario Rodas
882e1c73dc tengine: 2.3.1 -> 2.3.2 (#70574)
* tengine: 2.3.1 -> 2.3.2

Changelog: https://github.com/alibaba/tengine/releases/tag/2.3.2

* tengine: unbreak

(cherry picked from commit 86df0e335c)
2019-10-15 22:01:33 +02:00
Ricardo M. Correia
681a947585 sysstat: fix source url
(cherry picked from commit 8c3a40344b)
2019-10-15 20:06:34 +02:00
R. RyanTM
a93d0e21bf suricata: 4.1.4 -> 4.1.5 (#70801)
* suricata: 4.1.4 -> 4.1.5

Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/suricata/versions

* suricata: fix Hyperscan includes location

+ add lz4 to build inputs for compressed pcap

(cherry picked from commit 6d847007ad)
2019-10-15 20:06:06 +02:00
taku0
50484500a9 flashplayer: add maintainer
(cherry picked from commit 09ef6dc625)
2019-10-15 20:04:14 +02:00
taku0
6c9f85147f flashplayer: 32.0.0.255 -> 32.0.0.270
(cherry picked from commit 8948290cec)
2019-10-15 20:04:06 +02:00
Matthew Bauer
2d81865cac Backport pull request #69131 from xzfc/subshells
Avoid using subshells

(cherry picked from commit 268d510024)

https://github.com/NixOS/nixpkgs/pull/69131
2019-10-15 12:49:50 -04:00
Lassulus
436cf05dd7 Merge pull request #71098 from wucke13/reliable-epson
[19.09] Reliable epson
2019-10-15 18:49:21 +02:00
John Ericson
496bdc7e33 haskellSrc2nix
Since [1], cabal2nix has been able to parse full platform triples. We
need this for when the system doesn't say enough info (e.g. android).

[1]: 0bb88f0009 (diff-d9172aeec4039eef8cfcc8a2ab6c0677R143)

(cherry picked from commit 66a9f39817)
2019-10-15 15:44:45 +00:00
Florian Klink
e1607586a9 iwd: 0.20 -> 0.22
We need rst2man to build manpages.

I also removed revert-create-dirs-on-install.patch, as it doesn't apply
cleanly anymore, and is purely cosmetic anyway.

(cherry picked from commit 29ba759209)
2019-10-15 15:05:14 +02:00
Florian Klink
76da71f5eb ell: 0.22 -> 0.24
(cherry picked from commit d3c069c50d)
2019-10-15 15:04:27 +02:00
Will Dietz
988c9adbbf ell: 0.21 -> 0.22
(cherry picked from commit f0779e4497)
2019-10-15 15:04:27 +02:00
Mrinal Purohit
95ae53059b rescuetime: 2.14.3.1 -> 2.14.5.2
- Fix for Qt plugin not found

(cherry picked from commit b3f415d898)
2019-10-15 01:45:40 -04:00
Symphorien Gibol
8606e55346 ocamlPackages.llvm: propagate needed libs, fix missing build parameter
The opam patch makes ocaml link dependent executables with
-L${LLVM_OCAML_EXTERNAL_LLVM_LIBDIR}. This variable was previously
undefined and as a result the linker would previously be called with
just -L which makes it ignore the next argument. This would lead strange
linking errors, like missing caml_apply2.

Despite defining this variable correctly, propagating llvm is still
necessary for linking to complete. In case ocaml-llvm is a transitive
dependency only, propagatedBuildInputs is not enough. To avoid having to
guess which version of llvm was used, we provide the right one in
passthrough.

(cherry picked from commit 55ac8ffa43)
2019-10-15 07:40:45 +02:00
Victor SENE
1351dde073 matrix-synapse: 1.3.1 -> 1.4.0
Bumps `matrix-synapse` to version 1.4.0[1]. With this version the
following changes in the matrix-synapse module were needed:

* Removed `trusted_third_party_id_servers`: option is marked as deprecated
  and ignored by matrix-synapse[2].
* Added `account_threepid_delegates` options as replacement for 3rdparty
  server features[3].
* Added `redaction_retention_period` option to configure how long
  redacted options should be kept in the database.
* Added `ma27` as maintainer for `matrix-synapse`.

Co-Authored-By: Notkea <pacien@users.noreply.github.com>
Co-authored-by: Maximilian Bosch <maximilian@mbosch.me>

[1] https://matrix.org/blog/2019/10/03/synapse-1-4-0-released
[2] https://github.com/matrix-org/synapse/pull/5875
[3] https://github.com/matrix-org/synapse/pull/5876

(cherry picked from commit 372422390f)
2019-10-15 01:35:21 +02:00
Arian van Putten
88b859926a Fix typo in 19.09 release notes
(cherry picked from commit 8fb23f6117)
2019-10-14 19:13:22 -04:00
Matthew Bauer
90b13f633e Merge pull request #71145 from delroth/sudo-cve-19.09
sudo: 1.8.27 -> 1.8.28 (CVE-2019-14287) [19.09]
2019-10-14 19:10:04 -04:00
Graham Christensen
fac69b3bce Merge pull request #71018 from wucke13/staging-19.09
utsushi: 3.57.0 -> 3.59.2
2019-10-14 18:56:00 -04:00
Robert Djubek
57a157690d ocrmypdf: 8.2.3 -> 9.0.3
Version bump and bug fix
Fixes runtime dependencies ( #67497 ) and the version bump fixed other issues

(cherry picked from commit 82c4218fe9)
2019-10-14 21:36:43 +00:00
Pierre Bourdon
3b95d33b4f sudo: 1.8.27 -> 1.8.28 (CVE-2019-14287)
(cherry picked from commit 9dbc3029f7)
2019-10-14 23:18:06 +02:00
Florian Klink
92853bda19 wpa_supplicant: apply patch for CVE-2019-16275 [19.09] (#70267)
wpa_supplicant: apply patch for CVE-2019-16275 [19.09]
2019-10-14 23:00:20 +02:00
Michael Raskin
45a25ff41a Merge pull request #69366 from erosennin/gajim-setuptools
gajim: add missing setuptools dependency
(cherry picked from commit aad0efd524)
2019-10-14 18:12:29 +02:00
Maximilian Bosch
0fb21e0617 documize-communitiy: 3.1.1 -> 3.1.2
https://github.com/documize/community/releases/tag/v3.3.2
(cherry picked from commit 2466a5bd88)
2019-10-14 15:36:16 +02:00
Frederik Rietdijk
6c007da4e6 pythonPackages.babelfish: uses pkg_resources
(cherry picked from commit 5344414e33)
2019-10-14 14:08:49 +02:00
Robert Scott
29d40ef735 imagemagick: 6.9.9-34 -> 6.9.10-68 (security)
fixing numerous CVEs

(cherry picked from commit 2a8e53efce)
2019-10-14 13:39:31 +02:00
Franz Pletz
ebd236163f libressl: fix libdir in pkgconfig files
Fix #71107.

(cherry picked from commit da20b8a7f6)
2019-10-14 11:33:11 +02:00
Franz Pletz
004adc34ce libressl_3_0: 3.0.0 -> 3.0.1
(cherry picked from commit a86f16d864)
2019-10-14 11:33:11 +02:00
WilliButz
e0f36e768b pythonPackages.aioesphomeapi: 2.0.1 -> 2.2.0
(cherry picked from commit 7dfd313a3d)
2019-10-14 11:17:43 +02:00
wucke13
1e51fec419 epson-escpr2: added mirror url for src
+ added webarchive source for reliable builds in the future
+ removed `${version}` from url, as it actually adds more hassle to
  have it in there and no benefits whatsoever, since the url keeps
  changing other parts too

(cherry picked from commit 4db74946ac)
2019-10-14 01:20:18 +02:00
wucke13
9fae551f67 epson-escpr: 1.6.16 -> 1.7.3
+ added webarchive source for reliable builds in the future

(cherry picked from commit bbb71bfd76)
2019-10-14 01:20:18 +02:00
wucke13
2be9a0d9a1 utsushi: 3.57.0 -> 3.59.2
+ building from gitlab source
+ reorderd dependencies to be in logical/alphabetical order
+ replaced patches with substituteInPlace, as patches broke the installChecks
  and substituteInPlace may be more robust than making new patches for each
  release. Also the compiled source is now closer to upstream than
  before.
+ added installChecks
+ added all supported devices as listed on epson.net

(cherry picked from commit 9eb00acbbe)
2019-10-14 01:09:14 +02:00
Aaron Andersen
5000b1478a Merge pull request #71078 from aanderse/arcanist/breakfix
arcanist: fix broken package [19.09]
2019-10-13 18:41:59 -04:00
Vladimír Čunát
f64309532f luajit_2_0: fix the platforms/extraMeta
(cherry picked from commit 9e0f698a49)
2019-10-13 22:09:24 +02:00
Peter Hoeg
419abbacbe hedgewars: 1.0.0-beta1 -> 1.0.0-beta2
(cherry picked from commit 751b661a09)
Switched to using qt5`s mkDerivation so the application is now wrapped.
Before it likely would fail with an error at runtime.
2019-10-13 15:46:48 -04:00
Robert Scott
9610d2733e poppler: add patch for CVE-2019-9959
(cherry picked from commit 3fa2864aac)
2019-10-13 20:02:15 +01:00
Shea Levy
b64b88f18d cask: fix cask init 2019-10-13 15:00:29 -04:00
Robert Scott
8b64f71b32 poppler_0_61: 0.61.0 -> 0.61.1
(cherry picked from commit b9593f1a20)
2019-10-13 13:48:18 -05:00
Robert Scott
31c7bef072 poppler: add patch for CVE-2019-9959
(cherry picked from commit 3fa2864aac)
2019-10-13 13:45:38 -05:00
Maximilian Bosch
6bc293fde2 prometheus-wireguard-exporter: 3.1.1 -> 3.2.0
https://github.com/MindFlavor/prometheus_wireguard_exporter/releases/tag/3.2.0

Previously, the exporter used `wg show all dump` by default to retrieve
information about wireguard peers. If a wireguard config is set, the interface is
now extracted automatically and the exporter runs `wg show <interface> dump`[1].

The cargo hash didn't change as no dependency updates were done in this
release.

[1] 4e332cb73f

(cherry picked from commit d08a743156)
2019-10-13 20:16:43 +02:00
Maximilian Bosch
c725b28249 nixos/nextcloud: fix postgresql test
(cherry picked from commit 81414c0a90)
2019-10-13 18:43:22 +02:00
Jonathan Ringer
3fdca398c5 nixos/nextcloud: fix postgresql/redis test
(cherry picked from commit 5e8ae589a4)
2019-10-13 18:43:22 +02:00
R. RyanTM
4bad1f6793 acme-sh: 2.8.2 -> 2.8.3 (#70555)
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/acme.sh/versions

(cherry picked from commit 3ba2580d4c)
2019-10-13 17:54:48 +02:00
wucke13
41380a2381 pivx: 3.2.0 -> 3.4.0
* pivx: 3.2.0 -> 3.2.2

* altcoins.pivx: 3.2.2 -> 3.3.0

Furthermore, this fixes 2542928

* pivx: 3.3.0 -> 3.4.0

Added `test_pivx` as test ran by nixpkgs

* Update pkgs/applications/blockchains/pivx.nix

Thanks to @lassulus for fixing this typo!

Co-Authored-By: Lassulus <github@lassul.us>
(cherry picked from commit e9cd8a2d60)
2019-10-13 17:51:51 +02:00
Aaron Andersen
f29b842d73 arcanist: fix broken package 2019-10-13 07:22:00 -04:00
Dima
b727339726 aws-sdk-cpp: fixing hydra build
Removing debug info to fix hydra build.
The debug symbols alone are around ~1.8GB in size, which
makes the closure combined with the other two outputs
too large.

(cherry picked from commit 0ad35ab3ad)
2019-10-13 13:04:52 +02:00
Maximilian Bosch
5a7e9c1baa nixos/prometheus-wireguard-exporter: remove addr option
This option was added by mistake since `listenAddress` exists by default
for each prometheus-exporter. Using
`services.prometheus.exporters.wireguard.addr` will now cause a warning,
but doesn't break eval.

(cherry picked from commit eeb4726446)
2019-10-13 12:31:30 +02:00
Peter Simons
4774920d7c Merge pull request #70936 from erictapen/hakyll-4.13.0.1-release-19.09
haskellPackages.hakyll: fix build on release-19.09
2019-10-13 10:55:17 +02:00
Vladimír Čunát
51ff964a87 Merge #70499: nixos/steam-hardware: add uinput to boot.kernelModules
(cherry picked from commit 7818f30cc4)
Adding this kernel module seems unlikely to break stuff, and the change
will only affect those specifying hardware.steam-hardware anyway.
2019-10-13 10:24:56 +02:00
Vladimír Čunát
28d2548a03 Merge branch 'staging-19.09' into release-19.09
Only x86_64-linux has really finished rebuilding on
https://hydra.nixos.org/eval/1548288
but I don't want to delay the security updates anymore.
2019-10-13 09:17:50 +02:00
paumr
7952807791 newsboat - unmark as broken
newsboat builds fine on master/19.09
thus this commit should also be backported

https://hydra.nixos.org/job/nixos/trunk-combined/nixpkgs.newsboat.x86_64-linux#tabs-status
(cherry picked from commit fb60d59a51)
2019-10-13 01:14:01 +02:00
Alexei Robyn
c1090cc3e4 qtstyleplugin-kvantum{,-qt4}: 0.11.0 -> 0.11.2
(cherry picked from commit e89f861ec5)
2019-10-12 18:08:41 -04:00
Alexei Robyn
a465b1fa80 qtstyleplugin-kvantum: use wrapQtAppsHook
Shouldn't be needed for the style engine itself to work, but it is
needed for `kvantummanager` and `kvantumpreview`.

(cherry picked from commit 30360cb045)
2019-10-12 18:08:41 -04:00
Edmund Wu
a2b8b19819 vscodium: 1.38.1 -> 1.39.1
(cherry picked from commit 340b252d4b)
2019-10-12 17:40:58 -04:00
worldofpeace
eb8f8180d8 aliases.nix: update jikes message
(cherry picked from commit 2d0056b149)
2019-10-12 16:32:30 -04:00
Christine Koppelt
30ceb51147 jikes: removing
(cherry picked from commit 54e4b13887)
2019-10-12 16:32:27 -04:00
worldofpeace
d7834caeb0 networkmanager: 1.18.2 -> 1.18.4
Patch update is for [0], as they've backported this commit.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/blob/1.18.4/NEWS

[0]: c162dc00e5
2019-10-12 15:28:51 -04:00
Tim Steinbach
322a2732e4 linux: 4.19.78 -> 4.19.79 2019-10-12 11:22:09 -04:00
Tim Steinbach
c525f02b57 linux: 4.14.148 -> 4.14.149 2019-10-12 11:22:09 -04:00
Tim Steinbach
d9f1ab1c3e linux: 5.3.5 -> 5.3.6 2019-10-12 11:22:00 -04:00
Joachim Fasting
b4c2e6b6c5 nixos/containers: explicitly load kernel modules for networking
List all modules that *may* be required depending on individual container
configurations; don't expect that further modules can be loaded after boot.

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

(cherry picked from commit fe3da83b7e)
2019-10-12 16:40:03 +02:00
Joachim Fasting
458445948e graphene-hardened-malloc: constrain platforms to x64 linux
Build error on i686:

> util.h:39:18: error: '__int128' is not supported on this target
  typedef unsigned __int128 u128;

(cherry picked from commit a08851c925)
2019-10-12 16:40:02 +02:00
Joachim F
ce0a54092d Merge #70598: {v8, v8_6_x}: fix log output exceeded w. GCC8
(cherry picked from commit 48724c7b54)
2019-10-12 16:34:19 +02:00
Herwig Hochleitner
e169799ca2 cinelerra: streamline build
(cherry picked from commit f452b45052)
2019-10-12 15:48:20 +02:00
Herwig Hochleitner
f1753f488a cinelerra: 2016-01-12 -> 2018-05-16
fixes SEGV on startup

(cherry picked from commit e5782ca77c)
2019-10-12 15:48:20 +02:00
Herwig Hochleitner
9dcb8beaca cinelerra: use github source
fixes build error due to discontinued repository

(cherry picked from commit 817d23d7e0)
2019-10-12 15:48:20 +02:00
Herwig Hochleitner
4ced634437 atinout: init 0.9.2-alpha
(cherry picked from commit 2c410e25de)
2019-10-12 15:48:20 +02:00
Herwig Hochleitner
6fc67a306d sauerbraten: 5000 -> 5492
fixes https://github.com/NixOS/nixpkgs/issues/45088
cc @raskin

(cherry picked from commit f3366d27f5)
2019-10-12 15:48:20 +02:00
Robin Gloster
abb5a4eda2 treewide: update some homepage URLs
Updated dead or redirecting URLs on packages maintained by me.

(cherry picked from commit 4fb5cdd413)
2019-10-12 14:56:48 +02:00
Robin Gloster
b9829cfa01 atlassian-confluence: 6.15.8 -> 7.0.2
(cherry picked from commit c7788ab7b6)
2019-10-12 14:56:48 +02:00
Robin Gloster
bcea3615a9 atlassian-jira: 8.4.1 -> 8.4.2
(cherry picked from commit 92bd7a7650)
2019-10-12 14:56:48 +02:00
WilliButz
8ed2cba9c1 grafana: 6.4.1 -> 6.4.2
(cherry picked from commit 0b549a7a1e)
2019-10-12 14:56:17 +02:00
Vladimír Čunát
8e39110b85 Merge #71029: libsoup: 2.66.2 -> 2.66.4
...into release-19.09, fixing CVE-2019-17266
2019-10-12 14:51:46 +02:00
Vladimír Čunát
22b5bbf0e9 curl: apply upstream security patches
Fixes #70085.
2019-10-12 14:15:15 +02:00
R. RyanTM
222004e52e copyq: 3.9.0 -> 3.9.2 (#69490)
* copyq: 3.9.0 -> 3.9.2

Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/copyq/versions

* copyq: use mkDerivation from Qt

Backport of #69490 - fixes #70896

(cherry picked from commit 7f8befd4e1)
2019-10-12 14:10:56 +02:00
Robert Scott
c3f0f743e9 libsoup: 2.66.2 -> 2.66.4 (security)
Fixing CVE-2019-17266
2019-10-12 12:51:28 +01:00
Ambroz Bizjak
9ce5780ab7 nvidia-x11: Remove patches from the 390 version. (#69851)
Without those patches it builds and works with kernels 4.19 and 5.2.

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

(cherry picked from commit b1ed9c6d9e)
2019-10-12 13:29:56 +02:00
Vladimír Čunát
d392cf8799 Merge #70560: zziplib: apply patches for CVE-2018-16548
...into release-19.09
2019-10-12 11:29:06 +02:00
Vladimír Čunát
06cdd36659 Merge branch 'release-19.09' into staging-19.09 2019-10-12 11:15:28 +02:00
Vladimír Čunát
234fb5ce5d Merge #70290: glibc: patch CVE-2018-11236, CVE-2018-11237
...into staging-19.09
2019-10-12 11:14:17 +02:00
Vladimír Čunát
92ab741f1c Merge #70464: runc: v1.0.0-rc8 -> v1.0.0-rc9 (security)
(cherry picked from commit 0fa45b865a)
CVE-2019-16884
2019-10-12 10:16:07 +02:00
Vladimír Čunát
642222705f Merge #70576: scylladb: fix build under sandboxing
(cherry picked from commits 3596c4c5, c0d58331, 8ae02b57c)
2019-10-12 09:50:22 +02:00
pacien
661beaa609 riot-desktop: 1.4.1 -> 1.4.2
(cherry picked from commit 28853bc838)
2019-10-12 09:21:25 +02:00
pacien
d908ad4b2d riot-web: 1.4.1 -> 1.4.2
(cherry picked from commit df946258dd)
2019-10-12 09:21:24 +02:00
Ivan Kozik
d548264df9 chromium: 77.0.3865.90 -> 77.0.3865.120
CVE-2019-13693 CVE-2019-13694 CVE-2019-13695 CVE-2019-13696
CVE-2019-13697

Disable jumbo mode because upstream dropped support for it.
(See chromium-dev "We're removing support for the jumbo build")

This makes builds take about 3x as long, but we have no alternative.

(cherry picked from commit f45798e544)
2019-10-11 22:36:34 +02:00
Maximilian Bosch
45e2f83388 python3Packages.diff-match-patch: fix build
Rather than using autodiscovery, the checkPhase should import
`__init__.py` from `diff_match_patch.tests to execute all relevant
tests. Otherwise several python2-related tests are executed in a py3 env
and break the build.

See also: https://hydra.nixos.org/build/102482273

(cherry picked from commit b6237fb589)
2019-10-11 21:50:25 +02:00
Florian Klink
1652591b83 [19.09] dovecot: 2.3.7.2 -> 2.3.8 (#70968)
[19.09] dovecot: 2.3.7.2 -> 2.3.8
2019-10-11 21:26:47 +02:00
Florian Klink
e65ee467bc babeld: 1.9.0 -> 1.9.1 [19.09] (#70657)
babeld: 1.9.0 -> 1.9.1 [19.09]
2019-10-11 21:24:43 +02:00
Konrad Borowski
399e00db00 virtualbox: 6.0.10 -> 6.0.12
(cherry picked from commit 8e2c34c0b0)
2019-10-11 19:24:51 +02:00
Trolli Schmittlauch
5d430d1641 cawbird: 1.0.1 -> 1.0.2
fixes some TLS connection issues

(cherry picked from commit b4c6764334)
2019-10-11 13:06:39 -04:00
talyz
f0ed3dfe9c nixos/gitlab: Don't print sensitive data to log on startup
gitlab:db:configure prints the root user's password to stdout on
successful setup, which means it will be logged to the
journal. Silence this informational output. Errors are printed to
stderr and will thus still be let through.

(cherry picked from commit dc29a45fc9)
2019-10-11 18:10:36 +02:00
Justin Humm
f360d67f14 hakyll: fix build on nixos-19.09
This essentially repeats steps already done on nixos-unstable:
- update to 4.13.0.1
- remove outdatet patch
- unmark as broken
2019-10-11 17:42:55 +02:00
Michael Weiss
a375c4f7de Merge pull request #70964 from primeos/backports
[19.09] android-studio: add new emulator dependencies (#70857)
2019-10-11 13:53:15 +02:00
Michael Weiss
33698c61c2 Merge pull request #70963 from primeos/signal-desktop-backport
[19.09] signal-desktop: 1.27.3 -> 1.27.4 (backport)
2019-10-11 13:52:26 +02:00
Robert Schütz
3641789e42 dovecot_pigeonhole: 0.5.7.2 -> 0.5.8
https://dovecot.org/pipermail/dovecot-news/2019-October/000420.html
(cherry picked from commit 395cdd7d4c)
2019-10-11 13:36:06 +02:00
Robert Schütz
1bd0d91840 dovecot: 2.3.7.2 -> 2.3.8
https://dovecot.org/pipermail/dovecot-news/2019-October/000419.html
(cherry picked from commit 5f03f32fa6)
2019-10-11 13:36:06 +02:00
Alexander Bakker
7aedcacbab android-studio: add new emulator dependencies (#70857)
Fix #70844.

(cherry picked from commit a7e87bcc5b)
Reason: Should be required for newer emulator versions on 19.09 as well.
2019-10-11 13:21:48 +02:00
Michael Weiss
e8603d60e8 signal-desktop: 1.27.3 -> 1.27.4
(cherry picked from commit 64a247a580)
Reason: Avoid an expired (unusable) release in the stable release
(Signal-Desktop releases expire after 90 days).
2019-10-11 13:17:43 +02:00
Jörg Thalheim
ab5877bd26 Revert "Backport Rust 1.38 to 19.09 (#70735)"
This reverts commit d529175648, reversing
changes made to 43dabca49e.

This broke firefox esr and the torbrowser.
2019-10-11 10:29:43 +01:00
Domen Kožar
3800d82d7f vscode: 1.38.1 -> 1.39.1
(cherry picked from commit f4d675b993)
Signed-off-by: Domen Kožar <domen@dev.si>
2019-10-11 11:05:36 +02:00
nyanloutre
b562f709da pythonPackages.block-io: propagate setuptools
Used during runtime

(cherry picked from commit 9cf81e9174)
Signed-off-by: Jonathan Ringer <jonringer117@gmail.com>
2019-10-10 19:00:46 -07:00
Bjørn Forsman
dbad7c7d59 qsynth: use qt5.mkDerivation
Fixes

  $ qsynth
  qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
  This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

  Aborted (core dumped)

(Also, take qt5.* attrs as input instead of the whole qt5 attrset itself.)

(cherry picked from commit 3fc66462de)
2019-10-10 23:59:58 +02:00
Bjørn Forsman
f96003c700 gnome3.accerciser: add missing dependency: setuptools
Fixes "ModuleNotFoundError: No module named 'pkg_resources'" messages in
the GUI.

(cherry picked from commit 0a18e8f311)
2019-10-10 23:49:19 +02:00
Florian Klink
d55192e25a python.pkgs.python-jenkins: propagate setuptools
It is used during runtime.

cc #68314

(cherry picked from commit 06dc7cbd9b)
2019-10-10 11:25:07 -04:00
Graham Christensen
654a95b672 Merge pull request #70912 from grahamc/backport-diceware-fix
diceware: add missing 'setuptools' to propagatedBuildInputs
2019-10-10 10:16:09 -04:00
Jan Hrnko
cb1dbf6a6d diceware: add missing 'setuptools' to propagatedBuildInputs
(cherry picked from commit f641fca688)
2019-10-10 09:45:24 -04:00
R. RyanTM
845dc3f8e5 babeld: 1.9.0 -> 1.9.1
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/babeld/versions

(cherry picked from commit 7d070a3fbe)
2019-10-10 10:44:34 +02:00
Dima
9bbad4c625 qt5.{qtwebengine, qtwebkit}: fix -Wno-class-memaccess warning for clang
With a previous fix for log size issues due to GCC 8
a gcc specific `-W` flag was added that clang does
not know, so it spams the logs.

(cherry picked from commit 3bfe0872b9)
2019-10-09 18:45:58 -04:00
Graham Christensen
8d0dc8d737 Merge pull request #70883 from grahamc/wl-clipboard-backport
wl-clipboard: 1.0.0 -> 2.0. (backport)
2019-10-09 18:04:02 -04:00
worldofpeace
d82663c895 nixos/networkmanager: add compat alias for modem-manager.service
We probably need this as well.
2019-10-09 18:03:26 -04:00
worldofpeace
cc40ae79e1 networkmanager: no network-manager.service symlink
We removed the symlinks for the alias in
* f99bdb2b61

but we also need to move this definition into the module.
Else we get issues like #70301.

Fixes #70301.
2019-10-09 18:03:26 -04:00
Robin Gloster
9d2eec3c59 Merge pull request #70865 from kolaente/update-19.09/gitea-1.9.4
[19.09] gitea: 1.9.3 -> 1.9.4
2019-10-09 23:48:48 +02:00
Tadeo Kondrak
70f0c58b32 wl-clipboard: 1.0.0 -> 2.0.0
(cherry picked from commit 3002522f1c)
2019-10-09 17:18:06 -04:00
Vladimír Čunát
fec43936b4 Merge #70445: firefox*: 69.0.1 -> 69.0.2
(cherry picked from commit 2e70007740)
2019-10-09 21:33:58 +02:00
wodim
f56906ec09 nixos manual: fix typo (#70875)
(cherry picked from commit c5daa2cb3b)
2019-10-09 21:21:44 +02:00
Jonathan Ringer
dd0fac6548 pythonPackages.slither-analyzer: add setuptools
(cherry picked from commit 4ed9036e4b)
2019-10-09 14:19:17 -04:00
worldofpeace
3fdcd76dab rl-1909: brief package version changes
(cherry picked from commit f853bb4369)
2019-10-09 14:15:19 -04:00
Kim Lindberger
4bf21279c8 bundler: 1.17.2 -> 1.17.3 (#70860)
Extracted from https://github.com/NixOS/nixpkgs/pull/70216.

(cherry picked from commit 96a1dbac97)
2019-10-09 16:55:19 +00:00
kolaente
b9e80485f0 gitea: 1.9.3 -> 1.9.4
(cherry picked from commit 7c087faeb8)
2019-10-09 17:37:16 +02:00
Jörg Thalheim
d529175648 Backport Rust 1.38 to 19.09 (#70735)
Backport Rust 1.38 to 19.09
2019-10-09 15:07:06 +01:00
Vladimír Čunát
43dabca49e Merge #68730: opencpn: 5.0.0 -> unstable-2019-05-15
This unbreaks the build.

(cherry picked from commit 3f39ab6d53)
2019-10-09 14:30:29 +02:00
Fabian Möller
88bbb3c809 nixos/systemd: fix broken tmpfiles.d symlinks
(cherry picked from commit 996d846726)
2019-10-09 11:39:27 +02:00
Robert Scott
f7c5e7a73c pythonPackages.pandas: 0.25.0 -> 0.25.1
(cherry picked from commit 8044cf3668)
2019-10-09 10:31:21 +02:00
Jonathan Ringer
b6347cb2ea racerd: 2019-03-20 -> 2019-09-02
(cherry picked from commit 02795b4ed5)
2019-10-09 10:17:03 +02:00
Tor Hedin Brønner
2714c28f1a librsvg: 2.44.14 → 2.46.0
rsvg-view was removed so GTK is not needed anymore

(cherry picked from commit 02585db25b)
2019-10-09 10:11:44 +02:00
Vladimír Čunát
2a5bfda3f4 go: apply upstream patch
This should fix the tests almost always failing on Hydra for i686.

(cherry picked from commit d8218de5c5)
/cc ZHF #68361.
2019-10-09 08:58:46 +02:00
Linus Heckemann
d7f1e21fd9 Merge pull request #70832 from srhb/fixup-kea-from-1909-mariadb-divergence
19.09: Fixup kea for unique 19.09 mariadb changes
2019-10-09 08:58:18 +02:00
Sarah Brofeldt
f1b5bba0e1 kea: Use mysql.connector-c.dev for build bins 2019-10-09 08:27:03 +02:00
talyz
25757b66e1 nixos/gitlab: Only create the database when databaseHost is unset
Make sure that we don't create a database if we're not going to
connect to it. Also, fix the assertion that usernames be equal to only
trig when peer authentication is used (databaseHost == "").

(cherry picked from commit 58a7502421)
2019-10-09 02:17:15 +02:00
talyz
81940044c3 nixos/gitlab: Fix evaluation failure when postgresql is disabled
config.services.postgresql.package is only defined when the postgresql
service is activated, which means we fail to evaluate when
databaseCreateLocally == false. Fix this by using the default
postgresql package when the postgresql service is disabled.

(cherry picked from commit ec958d46ac)
2019-10-09 02:17:12 +02:00
talyz
bdd898b3e0 nixos/gitlab: Clean up the initializers on start
The initializers directory is populated with files from the gitlab
distribution on start, but old files will be left in the state folder
even if they're removed from the distribution, which can lead to
startup failures. Fix this by always purging the directory on start
before populating it.

(cherry picked from commit c6efa9fd2d)
2019-10-09 02:17:04 +02:00
talyz
2af3ede7b7 nixos/gitlab: Fix state directory permissions
Since the preStart script is no longer running in privileged mode, we
reassign the files in the state directory and its config subdirectory
to the user we're running as. This is done by splitting the preStart
script into a privileged and an unprivileged part where the privileged
part does the reassignment.

Also, delete the database.yml symlink if it exists, since we want to
create a real file in its place.

Fixes #68696.

(cherry picked from commit 0f8133d633)
2019-10-09 02:16:59 +02:00
talyz
e6fa97f0e0 gitlab: Add myself to list of maintainers
(cherry picked from commit c115d4df88)
2019-10-09 02:16:46 +02:00
talyz
1babda4c26 gitlab: 12.3.4 -> 12.3.5
(cherry picked from commit 9be76d0b6a)
2019-10-09 02:16:43 +02:00
talyz
fdba7dd399 gitlab: Refactor for new repo structure
GitLab recently restructured their repos; whereas previously they had
one gitlab-ce and one gitlab-ee repo, they're now one and the
same. All proprietary components are put into the ee subdirectory -
removing it gives us the foss / community version of GitLab. For more
info, see
https://about.gitlab.com/2019/02/21/merging-ce-and-ee-codebases/

This gives us the opportunity to simplify things quite a bit, since we
don't have to keep track of two separate versions of either the base
data or rubyEnv.

(cherry picked from commit afa3abf632)
2019-10-09 02:16:37 +02:00
talyz
d7a3aaad56 gitlab: Build frontend assets from source
Instead of extracting prebuilt assets from the debian build, build
them from the source. This should give faster package updates and
reduces the amount of data needed to be downloaded by more than 500MB.

(cherry picked from commit 59324d1fb9)
2019-10-09 02:16:32 +02:00
talyz
cc2ddcd6bc gitlab-shell: Split patch into ruby and go parts
Split the remove-hardcoded-locations patch into two separate patches,
one for the ruby package and one for the go package. This is clearer
and results in fewer rebuilds.

(cherry picked from commit 09e657efea)
2019-10-09 02:16:28 +02:00
talyz
7e65ab142f gitlab: 12.1.6 -> 12.3.4
- Update GitLab to 12.3.4

- Update update.py to cope with the new upstream repository structure

- Refactor gitlab-shell to use buildGoPackage and bundlerEnv for
  dependencies

- Refactor gitlab-workhorse to use buildGoPackage for dependencies

- Make update.py able to update gitlab-shell and gitlab-workhorse
  dependencies

- Various fixes necessary for update to work

(cherry picked from commit f3eb063ecf)
2019-10-09 02:16:24 +02:00
worldofpeace
0e1950c5a7 xfce4-12.xfce4-vala-panel-appmenu-plugin: fix eval
(cherry picked from commit 9acb145da3)
2019-10-08 12:33:42 -04:00
Linus Heckemann
724dbda1e0 multiple packages: fix reference to mysql headers
These broke in ce2bb4de26

cc @ttuegel
2019-10-08 17:35:04 +02:00
Linus Heckemann
4a03ddd08d nixos/tests/{ferm,networking}: fix eval with networkd
The networking.virtual test does not work with networkd yet, for
multiple reasons:

- network-online.target is not reached, because tun0 and tap0 are
  considered as required for online but _not_ brought up or assigned
  the configured addresses
- the commands later in the test rely on some units from the scripted
  network setup

cc @fpletz networkd exper
cc @globin we looked at this together

(cherry picked from commit a3a441cd87)
2019-10-08 17:17:14 +02:00
worldofpeace
8b4fbb8d31 ultastar-manager: use qt5's mkDerivation
(cherry picked from commit ee8032c3c3)
2019-10-08 07:18:12 -04:00
worldofpeace
24d8fb80c0 ultrastar-creator: use qt5's mkDerivation
(cherry picked from commit de3f49275e)
2019-10-08 07:18:08 -04:00
Linus Heckemann
a3e11be675 gdal_2: fix build 2019-10-08 12:57:23 +02:00
Linus Heckemann
e55266f5d0 gdal: fix build 2019-10-08 12:47:02 +02:00
Mathieu A.-Tetreault
35c9bf5ae0 breeze-plymouth: allow usage of custom logo
(cherry picked from commit 001b42db7f)
2019-10-08 05:36:47 -05:00
Jörg Thalheim
fd15379003 thunderbird: fix build with rustc 1.38
(cherry picked from commit fca2e1cb5a)
2019-10-08 12:23:39 +02:00
Jörg Thalheim
0426d8fd51 rustc: remove test related patches/code
Tests have been disabled since over a year and now the
code starts to bit-rot. As it seems unlikely that they
will come back in near future, let's just remove it.

(cherry picked from commit 173d5a4e6e)
2019-10-08 12:23:24 +02:00
Eelco Dolstra
2c0963fabc rustc: 1.37.0 -> 1.38.0
(cherry picked from commit 9c0968fd81)
2019-10-08 12:23:19 +02:00
Eelco Dolstra
962a6c0667 Revert "rustc: Provide compiler-rt sources"
This reverts commit b7a8280312. It's no
longer needed with Rust 1.38.

(cherry picked from commit adb15c3a63)
2019-10-08 12:23:16 +02:00
Eelco Dolstra
5a98192f4f Revive systemd.coredump.enable
(cherry picked from commit 37c22b9d30)
2019-10-08 12:21:12 +02:00
Eelco Dolstra
5d1649a047 Revert "nixos/doc: re-format"
This reverts commit ea6e8775bd. The new
format is not an improvement.

(cherry picked from commit b0ccd6dd16)

(Also synced rl-19.09.xml with master.)
2019-10-08 12:21:12 +02:00
Eelco Dolstra
1475797aa3 awscli: Get rid of runtime -dev dependencies
(cherry picked from commit c8bc18bcc2)
2019-10-08 12:21:12 +02:00
Eelco Dolstra
f0cd4e4464 libotr: Use multiple outputs
(cherry picked from commit 760bcf678e)
2019-10-08 12:21:12 +02:00
Eelco Dolstra
9287221f4e rtl8812au, rtl8821au: Prevent runtime dependency on kernel.dev
(cherry picked from commit 711cbb9117)
2019-10-08 12:21:12 +02:00
Linus Heckemann
f6544d618f pythonPackages.pytaglib,supervisor: unmark broken 2019-10-08 11:51:09 +02:00
Linus Heckemann
c19cf65261 libguestfs: unmark broken 2019-10-08 11:39:56 +02:00
Linus Heckemann
793a2fe1e8 pythonPackages: fix incorrectly broken packages 2019-10-08 11:23:37 +02:00
Linus Heckemann
1e9cc5b984 treewide: undo some incorrect mark-as-brokens 2019-10-08 11:23:15 +02:00
Linus Heckemann
904f14b2be Merge pull request #70384 from mayflower/anonscm-19.09
Anonscm 19.09
2019-10-08 10:54:52 +02:00
Tim Steinbach
c96bd67803 linux: 4.9.195 -> 4.9.196 2019-10-07 18:03:29 -04:00
Tim Steinbach
57dd876cfc linux: 4.4.195 -> 4.4.196 2019-10-07 18:03:28 -04:00
Tim Steinbach
0477e3406a linux: 4.19.77 -> 4.19.78 2019-10-07 18:03:28 -04:00
Tim Steinbach
cbac5e256a linux: 4.14.147 -> 4.14.148 2019-10-07 18:03:28 -04:00
Tim Steinbach
8aeeb87b8e linux: 5.3.4 -> 5.3.5 2019-10-07 18:03:19 -04:00
Alyssa Ross
5b93ae127a linux: drop non-LTS versioned kernel attributes
Quoting the release manual:

> Remove attributes that we know we will not be able to support,
> especially if there is a stable alternative. E.g. Check that our Linux
> kernels' projected end-of-life are after our release projected
> end-of-life
2019-10-07 20:17:35 +00:00
ysander
0b427f5086 solaar: track latest release and set correct repo owner
Update project homepage

Drop 'unstable' package name attribute

(cherry picked from commit 84d4243ccc)
2019-10-07 20:42:18 +02:00
Joachim F
0c488c9d30 Merge pull request #70516 from joachifm/feat/remove-bclr-for-19.09
Remove blcr for 19.09
2019-10-07 18:15:59 +00:00
Linus Heckemann
e675498026 treewide: mark some broken stuff as broken (WIP) 2019-10-07 13:45:19 -04:00
Jonathan Ringer
75ecca47db pythonPackages.supervisor: fix tests
(cherry picked from commit 5d761d985b)
2019-10-07 13:45:19 -04:00
Vladimír Čunát
949395239d Merge branch 'staging-19.09' into release-19.09 2019-10-07 17:56:32 +02:00
Vladimír Čunát
c922d88299 Merge #70618: linuxPackages.virtualBoxGuestAdditions: fix build
(cherry picked from commit b7b8e1f2e7)
2019-10-07 17:51:02 +02:00
Linus Heckemann
e9f56dd979 19.09 notes: document timesyncd issue
See #64922.

(cherry picked from commit 25a36477c8)
2019-10-07 16:51:41 +02:00
Samuel Leathers
325c40739e nixos/manual: update 19.03 -> 19.09 in upgrading section
(cherry picked from commit 4d25ec0caf)
2019-10-07 16:45:09 +02:00
Samuel Leathers
250751b88c README: Update to 19.09
(cherry picked from commit bdf4441d64)
2019-10-07 16:45:09 +02:00
Vladimír Čunát
ca7b676339 knot-resolver: 4.2.1 -> 4.2.2 (tiny bugfix)
https://gitlab.labs.nic.cz/knot/knot-resolver/tags/v4.2.2
(cherry picked from commit 39049dbd37)
2019-10-07 14:54:05 +02:00
Robin Gloster
1cb925e8a1 nixos-generate-config: add useDHCP per interface
This sets networking.useDHCP to false and for all interfaces found the
per-interface useDHCP to true. This replicates the current default
behaviour and prepares for the switch to networkd.

(cherry picked from commit 5ee383ea8c)
2019-10-07 11:35:09 +02:00
Robin Gloster
da9e914b6c networking.useDHCP: add release notes and docs
(cherry picked from commit e862dd6373)
2019-10-07 11:35:09 +02:00
Robin Gloster
907bb84e4b networking.useDHCP: disallow for networkd
This setting will be removed with the switch to systemd-networkd. The
use of per interface config is encouraged instead.

(cherry picked from commit c26c6241ea)
2019-10-07 11:35:09 +02:00
Jonathan Ringer
f364b997a1 pythonPackages.cufflinks: 0.15 -> 0.16
ZHF #68361

(cherry picked from commit 7d297e4591)
Signed-off-by: Jonathan Ringer <jonringer117@gmail.com>
2019-10-07 01:49:47 -07:00
Jonathan Ringer
dbc6baadca pythonPackages.chart-studio: init at 1.0.0
ZHF #68361

(cherry picked from commit ceefed0723)
Signed-off-by: Jonathan Ringer <jonringer117@gmail.com>
2019-10-07 01:49:14 -07:00
geistesk
cc25b7a7bd zncModules.fish: fix build
ZHF #68361

(cherry picked from commit 8c9c942e90)
Signed-off-by: Jonathan Ringer <jonringer117@gmail.com>
2019-10-07 01:24:27 -07:00
Pierre Bourdon
3472f1ac00 zziplib: apply patches for CVE-2018-16548
(cherry picked from commit aa74d076c9)
2019-10-07 04:25:43 +02:00
Thomas Depierre
4c6b739fd7 doc/beam: rebar3-open is now removed (#70523)
(cherry picked from commit 0ce30f8c67)
2019-10-06 22:08:19 -04:00
Dmitry Kalinkin
aded58688e ghc modules: use permanent urls
This is a backport of dbb72303b ('ghc modules: use specific commit ...')

cc #70546
2019-10-06 21:41:41 -04:00
Thomas Tuegel
a8d71d3859 pim-data-exporter: Add missing dependencies
(cherry picked from commit d6bbc18708)
2019-10-06 20:02:31 -04:00
Franz Pletz
a0b69c12e2 Merge pull request #70532 from risicle/ris-varnish-6.2.1-r19.09
[r19.09] varnish6: 6.2.0 -> 6.2.1, fixing CVE-2019-15892
2019-10-06 21:41:26 +00:00
Symphorien Gibol
8244f41f10 nixos/xfce4-14: add xfce4-volumed-pulse when not using the desktop
xfce4-volumed-pulse is not abandoned, but is superseded by a panel
plugin which is not available when not using the desktop.

Fixes: volume up/down keys support
(cherry picked from commit d9cac95878)
2019-10-06 16:50:50 -04:00
Robert Scott
db8676117f varnish6: 6.2.0 -> 6.2.1 (security)
fixes CVE-2019-15892
2019-10-06 16:22:09 +01:00
Renaud
4382a14321 Merge pull request #70307 from srhb/backport-k8s-1909
kubernetes: 1.15.3 -> 1.15.4
2019-10-06 16:23:54 +02:00
Joachim Fasting
f89dbe188a linuxPackages.blcr: remove
blcr is only supported for pre v4 kernels.

(cherry picked from commit 83ffa1457b)
2019-10-06 12:11:59 +02:00
Joachim Fasting
0e7e613f44 nixos/blcr: remove
(cherry picked from commit 923c449e9b)
2019-10-06 12:11:54 +02:00
Vladimír Čunát
3976563ad9 Merge #69463: bird2: 2.0.5 -> 2.0.6 (security)
Fixes CVE-2019-16159.  I haven't tested running it,
but the changes in NEWS seem quite small.

(cherry picked from commit 54acf550fa)
2019-10-06 10:53:23 +02:00
Vladimír Čunát
26cebb4b3d bird, bird6: 1.6.6 -> 1.6.8 (security)
I haven't tested running them, but the bumps are almost exclusively
bugfixes, in particular CVE-2019-16159.

(cherry picked from commit 13886ac10e)
2019-10-06 10:53:14 +02:00
Peter Simons
1326d6432a Merge pull request #70185 from NixOS/revert-67355-19.09
Revert "nixos/desktop-managers/xterm: Disable by default" [19.09]
2019-10-05 21:38:22 +02:00
Albert Safin
26dfb4f86b nixos/doc: fix manpage format
Spaces inside <refname> cause stray double underscore in generated manual pages.

Fixes #70468

(cherry picked from commit 0eaf29433e)
2019-10-05 13:42:49 -04:00
Tim Steinbach
95aa1b3c8b linux: 5.3.2 -> 5.3.4 2019-10-05 10:59:19 -04:00
Tim Steinbach
4aa3504910 linux: 5.2.18 -> 5.2.19 2019-10-05 10:59:18 -04:00
Tim Steinbach
da71a886cd linux: 4.9.194 -> 4.9.195 2019-10-05 10:59:18 -04:00
Tim Steinbach
22c2fa17c5 linux: 4.4.194 -> 4.4.195 2019-10-05 10:59:17 -04:00
Tim Steinbach
3c115d8769 linux: 4.19.76 -> 4.19.77 2019-10-05 10:59:17 -04:00
Tim Steinbach
b9f54b2d23 linux: 4.14.146 -> 4.14.147 2019-10-05 10:59:17 -04:00
Nikolay Amiantov
5f51f818cb cntk: partially unbreak
* Use GCC 7 to unbreak the build;
* Mark CUDA build as broken due to cub incompatibility.

(cherry picked from commit de171ba0c6)
2019-10-05 16:19:08 +03:00
R. RyanTM
72f9bc5d17 signal-cli: 0.6.2 -> 0.6.3
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/signal-cli/versions

(cherry picked from commit b31e2832b5)
2019-10-05 15:11:56 +02:00
R. RyanTM
06df4a79f4 libfilezilla: 0.18.1 -> 0.18.2
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/libfilezilla/versions

(cherry picked from commit 6c55dc2828)
2019-10-05 14:54:00 +02:00
Maximilian Bosch
1735d77242 libcouchbase: fix build
This applies an upstream fix from libcouchbase to fix a timeout issue
with openssl 1.1.

See also https://hydra.nixos.org/build/102495724

ZHF #68361

(cherry picked from commit fd41a333d8)
2019-10-05 08:29:41 -04:00
Elis Hirwing
63b18e7576 php72: 7.2.22 -> 7.2.23
Changelog: https://www.php.net/ChangeLog-7.php#7.2.23
(cherry picked from commit b5f73124e4)
2019-10-05 14:14:03 +02:00
Elis Hirwing
6ae771e8d5 php73: 7.3.9 -> 7.3.10
Changelog: https://www.php.net/ChangeLog-7.php#7.3.10
(cherry picked from commit c1e531bf5e)
2019-10-05 14:14:03 +02:00
Quentin Vaucher
1281668f4a ephemeral: 5.3.0 -> 5.4.0
(cherry picked from commit 5a547851b1)
2019-10-05 07:30:55 -04:00
Quentin Vaucher
cdc37e5d6d timetable: 1.0.8 -> 1.0.9
(cherry picked from commit 2691337a68)
2019-10-05 07:26:22 -04:00
elseym
4bd651df48 documize: introduce state directory
(cherry picked from commit 93fa16f939)
2019-10-05 13:22:03 +02:00
Vladimír Čunát
bd5b390287 Merge #70423: libpng12: 1.2.57 -> 1.2.59 (release-19.09) 2019-10-05 11:37:07 +02:00
worldofpeace
6a35f11361 nixos/gnome3: copy gnome-shell override
Without this these default settings overrides to gnome-shell
don't appear to be used completely.

(cherry picked from commit eb14b000e5)
2019-10-04 22:55:23 -04:00
Martin Milata
358337d609 libpng12: 1.2.57 -> 1.2.59
CVE-2017-12652

(cherry picked from commit 12f31b7366)
2019-10-05 01:50:12 +02:00
Maximilian Bosch
c2fd152c98 nim: build with nodejs v10
As in 8fcbbc94ef we build `nim` with
NodeJS v10 to avoid eval errors since nodejs v11 got removed as it's
been EOLed by upstream.
2019-10-04 21:06:41 +02:00
Maximilian Bosch
973530c8b6 Revert "Revert "nodejs-11_x: remove""
This reverts commit 699e081a60.
2019-10-04 20:37:06 +02:00
Timo Kaufmann
33cf7a8fcd Merge pull request #70412 from timokau/sage-add-pager-19.09
sage: add pager to environment
2019-10-04 18:27:32 +00:00
Timo Kaufmann
28e8f30dae sage: add pager to environment
Temporary fixup while waiting for an upstream fix.

(cherry picked from commit cbe12344ca)
2019-10-04 20:19:58 +02:00
Timo Kaufmann
699e081a60 Revert "nodejs-11_x: remove"
This reverts commit 3a12434b93.

The commit broke eval since the removed attribute is still in use.
2019-10-04 20:19:58 +02:00
Maximilian Bosch
4e3230f719 sourcehut: mark as broken
There were several custom python dependencies broken. I decided to
modify the `sourcehut` expression as it wouldn't even evaluate without
nodejs-11_x I didn't manage to get it building.

(cherry picked from commit 594378ceea)
2019-10-04 18:25:30 +02:00
Maximilian Bosch
3a12434b93 nodejs-11_x: remove
Package is EOLed by upstream: https://github.com/nodejs/Release

Fixes #69008

(cherry picked from commit 334641d112)
2019-10-04 18:25:29 +02:00
Maximilian Bosch
28a0caef8f python3Packages.asyncpg: fix hash
The hash to the patch is broken, even with the original revision
which adds asyncpg (ee2161c5e8). As the
downloaded patch seems fine, I guess that it was generated with
`nix-prefetch-url` (the hashes for `fetchpatch` usually differ) and the
issue wasn't found as the fixed-output-derivation was already in the
contributor's store.

See https://hydra.nixos.org/build/102495795

ZHF #68361

(cherry picked from commit 7c74ebd2a6)
2019-10-04 18:25:29 +02:00
Linus Heckemann
862f05cb00 Revert "grub: 2.02 -> 2.04-rc1"
This reverts commit df4d0fab2f.

See #61718 for rationale.
2019-10-04 15:09:18 +02:00
Linus Heckemann
4eb9725522 Revert "grub2: 2.04-rc1 -> 2.04 (#67622)"
This reverts commit 8ba94a8fe8.

See #61718 for rationale.
2019-10-04 15:09:01 +02:00
worldofpeace
0dc92e096d libmediaart: apply patch to fix gnome-music crash
See https://bugzilla.gnome.org/show_bug.cgi?id=792272

(cherry picked from commit 85b7d89892)
2019-10-04 08:46:19 -04:00
Linus Heckemann
d5639a07de treewide: fix dead anonscm.debian.org links 2019-10-04 12:48:09 +02:00
Linus Heckemann
4b7a1231f1 diffoscope: get source from upstream tarball
anonscm.debian.org is dead
2019-10-04 12:47:32 +02:00
Linus Heckemann
3d81600b6c ipsecTools: ship patch directly
No longer available since anonscm.debian.org is shut
down (#39927). Replacement obtained from OpenSUSE source package
http://download.opensuse.org/repositories/openSUSE:/Factory/standard/src/ipsec-tools-0.8.2-9.6.src.rpm
2019-10-04 12:45:17 +02:00
Linus Heckemann
4b4790f28f desmume: copy debian patches
Obtained from
http://deb.debian.org/debian/pool/main/d/desmume/desmume_0.9.11-3.diff.gz
since desmume never moved to salsa.debian.org (previously on
anonscm.debian.org as a subversion repo)
2019-10-04 12:45:17 +02:00
Jonathan Ringer
5aa46b6bdb python3Packages.lammps-cython: fix tests
ZHF #68361

(cherry picked from commit 2aaea01b2b)
Signed-off-by: Jonathan Ringer <jonringer117@gmail.com>
2019-10-04 01:11:38 -07:00
Jonathan Ringer
4a10b030ce Revert "racerd: 2019-03-20 -> 2019-09-02"
8e1ce32f49 fixes the build for rustc v1.38, but breaks it otherwise

This reverts commit 8e1ce32f49.
2019-10-04 00:43:52 -07:00
Vladimír Čunát
58eac16818 unbound: 1.9.3 -> 1.9.4
This only fixes CVE-2019-16866 (DoS, minor one IMHO)
https://www.nlnetlabs.nl/projects/unbound/security-advisories/#vulnerability-in-parsing-notify-queries

(cherry picked from commit dc322c76d6)
2019-10-04 09:39:18 +02:00
worldofpeace
3ba0d9f75c opera: use autoPatchelfHook, use wrapGAppsHook
Fixes #70322

(cherry picked from commit 68543580f4)
2019-10-03 12:09:39 -04:00
Nikolay Amiantov
7949b4f90e python2.pkgs.mkrose: mark as broken
It supports only Python 3 now.

(cherry picked from commit 2dfb002a9b)
2019-10-03 18:25:32 +03:00
Nikolay Amiantov
b98fdaf535 gnome15: mark as broken
It doesn't support Python 3 and newer versions of libraries are Python 2-only.

(cherry picked from commit 0c02ecaea2)
2019-10-03 18:25:31 +03:00
Jonathan Ringer
8e1ce32f49 racerd: 2019-03-20 -> 2019-09-02
(cherry picked from commit 02795b4ed5)
2019-10-03 08:49:18 -05:00
WilliButz
a7d57a967a grafana: 6.4.0 -> 6.4.1
(cherry picked from commit dbdb787cce)
2019-10-03 14:38:38 +02:00
Domen Kožar
dde4512da9 cachix: fix package 2019-10-03 11:30:32 +02:00
Maximilian Bosch
5d4d45f717 python3Packages.asdf: 2.3.3 -> 2.4.2
Bump to fix the broken build of the package:

* Disable doctest as they're currently broken in our test env
* Loosen version constraint for `semantic_version` as it was only
  introduced to work around some deprecation warnings[1]

See also: https://hydra.nixos.org/build/102480957

ZHF #68361

[1] 3446ae072b

(cherry picked from commit 06041fd174)
2019-10-03 11:08:12 +02:00
Enno Lohmeier
014afee914 pythonPackages.bleach: add implicit setuptools dependency
Fixes error on `python -c "import bleach"`

(cherry picked from commit 31c4f79289)
Signed-off-by: Jonathan Ringer <jonringer117@gmail.com>
2019-10-03 01:14:56 -07:00
Johan Thomsen
73becf99d2 kubernetes: 1.15.3 -> 1.15.4
(cherry picked from commit b21a3356f0)
Backport of #69044
2019-10-03 09:25:38 +02:00
Jonathan Ringer
810a56870b pythonPackages.trackpy: disable plot tests
ZHF #68361

(cherry picked from commit 64205fa108)
Signed-off-by: Jonathan Ringer <jonringer117@gmail.com>
2019-10-02 21:05:33 -07:00
Dmitry Kalinkin
f5b52d2ad8 sourcehut: use recurseIntoAttrs
(cherry picked from commit c83db0cc53)
2019-10-02 23:48:31 -04:00
worldofpeace
77b5a1965f nixos/networkmanager: remove basePackages option
This option in now completely useless.
All the default configs for these packages
already have GNOME features default,

(cherry picked from commit 9bc8169695)
2019-10-02 21:34:36 -04:00
worldofpeace
ae35fe9cb3 nixos/gnome-settings-daemon: drop package option
After some thought, it doesn't make sense for this module to be shared.

(cherry picked from commit 68ab37aa44)
2019-10-02 21:34:36 -04:00
Silvan Mosberger
4f0e6ee518 nixos/nix-daemon: Prevent network warning when checking config
Since version 2.3 (https://github.com/NixOS/nix/pull/2949 which was
cherry-picked to master) Nix issues a warning when --no-net wasn't
passed and there is no network interface. This commit adds the --no-net
flag to the nix.conf check such that no warning is issued.

(cherry picked from commit e463c7cd75)
2019-10-03 01:21:00 +02:00
Trolli Schmittlauch
5e0b687ac0 corebird: move deprecation warning to aliases and release notes
(cherry picked from commit 45a9542a37)
2019-10-02 19:12:05 -04:00
Trolli Schmittlauch
b919677835 corebird: drop package due to discontinuation, recommend cawbird as alternative
(cherry picked from commit f855e588b7)
2019-10-02 19:12:02 -04:00
Trolli Schmittlauch
8349643269 cawbird: init at 1.0.1
Cawbird is a fork of the discontinued Corebird Twitter client.

Co-Authored-By: Jon <jonringer@users.noreply.github.com>
(cherry picked from commit e1c7d20793)
2019-10-02 19:11:58 -04:00
Pierre Bourdon
8808b4a5b7 glibc: patch CVE-2018-11236, CVE-2018-11237
Patches have been imported into nixpkgs and manually edited to avoid
merge conflicts on ChangeLog / NEWS files.

(cherry picked from commit 17be09a1f0)
2019-10-03 00:03:29 +02:00
Silvan Mosberger
482ba41d6e lib.mkRemovedOptionModule: Show replacement for option usage too
Previously mkRemovedOptionModule would only show the replacement
instructions when the removed option was *defined*. With this change, it
also does so when an option is *used*.

This is essential for options that are only intended to be used such as
`security.acme.directory`, whose replacement instructions would never
trigger without this change because almost everybody only uses the
option and isn't defining it.

(cherry picked from commit ebb136da9f)
2019-10-02 23:13:19 +02:00
Pierre Bourdon
172126058b libtiff: patch for CVE-2019-6128, CVE-2019-14973
CVE-2019-14973.patch is a manually backported of the upstream patch to
work around some minor merge conflicts.

(cherry picked from commit a2e1da7367)
2019-10-02 22:49:50 +02:00
Pierre Bourdon
430ce02b28 lua5_1: rename patch file to match its CVE id
(cherry picked from commit 1b7783072c)
2019-10-02 22:18:19 +02:00
Pierre Bourdon
3490327320 gnupatch: rename patch files to match their CVE ids.
This should be a behavior no-op, but it helps vulnix figure out that we
are up to date regarding security patches.

(cherry picked from commit 2242bb86d1)
2019-10-02 22:01:23 +02:00
R. RyanTM
1f65fe630b xterm: 348 -> 349
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/xterm/versions

(cherry picked from commit 3062ec7f3e)
2019-10-02 21:55:51 +02:00
Pierre Bourdon
6bebaa40b2 wpa_supplicant: apply patch for CVE-2019-16275
(cherry picked from commit 559687498b)
2019-10-02 21:25:08 +02:00
Pierre Bourdon
e0a544ccfc vulnix: add missing setuptools dependency
More #68314 related breakage.

(cherry picked from commit 01aa4bb7cb)
2019-10-02 08:57:55 -04:00
Mario Rodas
85289edbd9 ruby_2_6: 2.6.4 -> 2.6.5
Changelog: https://www.ruby-lang.org/en/news/2019/10/01/ruby-2-6-5-released/
(cherry picked from commit 4ee22f3a9c)
2019-10-02 10:43:54 +00:00
Mario Rodas
cb9cea0e96 ruby_2_5: 2.5.6 -> 2.5.7
Changelog: https://www.ruby-lang.org/en/news/2019/10/01/ruby-2-5-7-released/
(cherry picked from commit 5e76e7b430)
2019-10-02 10:43:53 +00:00
Mario Rodas
0c02d01479 ruby_2_4: 2.4.7 -> 2.4.9
Changelog:
- https://www.ruby-lang.org/en/news/2019/10/01/ruby-2-4-8-released/
- https://www.ruby-lang.org/en/news/2019/10/02/ruby-2-4-9-released/

(cherry picked from commit 5ed9d8b8aa)
2019-10-02 10:43:49 +00:00
Nikolay Amiantov
bb7c495f2e tensorflow: add OpenGL path to find libcudart
(cherry picked from commit 1c429acbff)
2019-10-02 10:34:43 +03:00
Nikolay Amiantov
433022f307 libtensorflow: add meta
(cherry picked from commit 4947ddf347)
2019-10-02 10:34:43 +03:00
Nikolay Amiantov
be0688dba4 tensorflow: fix CUDA build using wrong GCC
(cherry picked from commit 46b7933d9a)
2019-10-02 10:34:43 +03:00
pacien
59211d576a exim: 4.92.2 -> 4.92.3
security update: CVE-2019-16928

(cherry picked from commit aaa1ba3700)

cc #70074
2019-10-02 09:32:47 +02:00
Ambroz Bizjak
8aac337d71 nvidia-x11: Make vulkan library path absolute for >= 435.
The original file contains just a library name, which does not work when LD_LIBRARY_PATH does not contain /run/opengl-driver/lib, as is the case in unstable NixOS.

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

(cherry picked from commit d156b2b619)
2019-10-02 10:10:55 +03:00
adisbladis
20e214bd23 pythonPackages.pyrsistent: 0.15.2 -> 0.15.4
ZHF #68361

(cherry picked from commit 0f8d1129b1)
Signed-off-by: Jonathan Ringer <jonringer117@gmail.com>
2019-10-01 23:11:06 -07:00
Jonathan Ringer
15bc013a10 pythonPackage.cli-helpers: disable python2 tests
ZHF #68361

(cherry picked from commit 7eed92a7ac)
Signed-off-by: Jonathan Ringer <jonringer117@gmail.com>
2019-10-01 22:53:48 -07:00
Matthew Bauer
d079834907 kwallet-pam: wrap pam_kwallet_init
This needs a compatible env as kwalletd daemon. Need to wrap it to
correct this.

Fixes #68316

(cherry picked from commit a296cc254f)
2019-10-01 22:05:58 -04:00
worldofpeace
584181e4c7 Merge pull request #70183 from etu/1909-transifex-client-setuptools
[19.09] transifex-client: Add missing setuptools dependency
2019-10-02 01:12:42 +00:00
Tobias Bora
9d4759dda0 owncloud-client: Use qt5's own mkDerivation (#70187)
(cherry picked from commit e120e00d54)

cc #70187
2019-10-01 17:50:03 -04:00
Nikolay Amiantov
e97e6ae183 buildBazelPackage: remove rules_cc
It's a new builtin dependency from Bazel 0.29.

(cherry picked from commit 280f17c893)
2019-10-02 00:48:39 +03:00
WilliButz
d1ab8913ac grafana: 6.3.6 -> 6.4.0
(cherry picked from commit 79b99099cf)
2019-10-01 23:17:27 +02:00
pacien
445ea37ef7 riot-desktop: 1.4.0 -> 1.4.1
(cherry picked from commit 7a82c74afe)
2019-10-01 22:30:16 +02:00
pacien
e326c4f603 riot-web: 1.4.0 -> 1.4.1
(cherry picked from commit bdd869352f)
2019-10-01 22:30:16 +02:00
Matthew Bauer
c6de3b05e3 Merge pull request #70195 from obsidiansystems/lib-more-arm
lib: Add armv7a-linux to doubles.nix
2019-10-01 13:34:29 -04:00
Maximilian Bosch
2fc4fabd6c svgbob: fix build
See https://hydra.nixos.org/build/102480738

Bumping to latest version (which is 0.4.2 according to Cargo.lock) fixes
the build error. As no dependency changes happened, cargoSha256 doesn't
need to be updated.

ZHF #68361

(cherry picked from commit b5204d9f5f)
2019-10-01 19:15:58 +02:00
John Ericson
3098d65210 lib: Add armv7a-linux to doubles.nix
This is needed for android.
2019-10-01 12:51:57 -04:00
Matthew Bauer
eafcb18d73 Revert "nixos/desktop-managers/xterm: Disable by default"
This reverts commit f140dfb161.
This reverts commit cf56cefd95.
This reverts commit 456c42c3e8.
2019-10-01 11:39:27 -04:00
Victor SENE
000a9108ae nexcloud: 16.0.4 -> 16.0.5
(cherry picked from commit 70d08871da)
2019-10-01 17:36:31 +02:00
Elis Hirwing
d7c9be97ea transifex-client: Add missing setuptools dependency
(cherry picked from commit d1a8006b89)
2019-10-01 17:33:52 +02:00
Tim Steinbach
1e3be238f6 linux: 5.3.1 -> 5.3.2 2019-10-01 08:06:02 -04:00
Tim Steinbach
2a66f189cd linux: 5.2.17 -> 5.2.18 2019-10-01 08:06:02 -04:00
Tim Steinbach
4c50dc3cee linux: 4.19.75 -> 4.19.76 2019-10-01 08:06:02 -04:00
Maximilian Bosch
e61638d768 python3Packages.pytaglib: fix build
Applied several patches to fix the test suite on python 2.7 and to
properly install the `pyprinttags` executable. Also switched to the
GitHub source for now as the PyPI tarball was wrongly packaged and
didn't contain the `pyprinttags.py` script (see the last two patches for
further reference).

See also https://hydra.nixos.org/build/102493330

ZHF #68361

(cherry picked from commit c7164ea3c4)
2019-10-01 13:56:06 +02:00
Maximilian Bosch
c0fcb53d9b python3Packages.scikit-build: fix build
Build broke as it's attempted to run the cmake configure-phase which
won't work as this package uses cmake, but builds via a `setup.py`
rather than a `CMakeLists.txt`.

ZHF #68361

(cherry picked from commit f8c6b826d4)
2019-10-01 11:12:15 +02:00
Jonathan Ringer
8d7f2c7f3e pythonPackages.premailer: fix build
(cherry picked from commit 17287938ab)
2019-10-01 09:24:36 +02:00
Dima
8ef6192d2a epson-escpr2: 1.0.29 -> 1.1.1
The build was failing because the source rpm does not exist
on epsons servers anymore.

Thus bumping it to an existing version
https://hydra.nixos.org/build/101990975/nixlog/5

(cherry picked from commit e33810594d)
2019-10-01 01:36:49 -04:00
worldofpeace
aaa1739e0a blueman: no optional networkmanager
blueman declares NetworkManager gi bindings
as a required runtime dependency [0]

Fixes #69555

[0]: 531da47b06/Dependencies.md

(cherry picked from commit fcb84c5534)
2019-10-01 01:29:07 -04:00
Samuel Dionne-Riel
0fc13aad1f quassel: Fix use of mkDerivation
The `with stdenv;` would override the `mkDerivation` to be the regular
one, instead of the libsForQt5 one.

This simply removes the dangerous use of the all-encompassing `with`,
and prefers using a more precise inherit for `lib`.

See #65399

Co-authored-by: worldofpeace <worldofpeace@protonmail.ch>
(cherry picked from commit c52b5b8a5d)
2019-10-01 01:25:08 -04:00
worldofpeace
2ed7dfe245 Merge pull request #70065 from worldofpeace/libproxy-19.09/fixbuild
[19.09] libproxy: build with spidermonkey_60
2019-10-01 04:44:40 +00:00
R. RyanTM
6bce1acd26 roundcube: 1.3.9 -> 1.3.10
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/roundcube/versions

(cherry picked from commit ad166725f1)
2019-09-30 20:56:02 +02:00
worldofpeace
44f8f39734 libproxy: build with spidermonkey_60 2019-09-30 11:18:39 -04:00
Robin Gloster
00f495f973 mkRemovedOptionModule: assert on removed options
We don't want to ignore config that can mess up machines. In general
this should always fail evaluation, as you think you are changing
behaviour and don't, which can easily create run-time errors we can
catch early.

(cherry picked from commit b08b0bcbbe)
2019-09-30 16:54:46 +02:00
Thomas Tuegel
9e8e87fa9b Merge pull request #70025 from ttuegel/closure-size--staging-19.09
More closure size improvements for NixOS 19.09
2019-09-30 08:52:20 -05:00
Vladimír Čunát
89509ca9e4 Merge branch 'staging-19.09' into release-19.09
Almost all is rebuilt now, no mass regressions in there:
https://hydra.nixos.org/eval/1545643
2019-09-30 13:31:01 +02:00
Jan Tojnar
92a51ddc8f zbar: clean up (#68389)
zbar: clean up
(cherry picked from commit 8752ff2254)
2019-09-30 05:39:21 -05:00
Thomas Tuegel
686237e0a4 Revert "zbar: Use multiple outputs"
This reverts commit 3837059961.
2019-09-30 05:38:23 -05:00
Franz Pletz
ad36169300 nixos/systemd: pick more upstream tmpfiles confs
In #68792 it was discovered that /dev/fuse doesn't have
wordl-read-writeable permissions anymore. The cause of this is that the
tmpfiles examples in systemd were reorganized and split into more files.
We thus lost some of the configuration we were depending on.

In this commit some of the new tmpfiles configuration that are
applicable to us are added which also makes wtmp/lastlog in the pam
module not necessary anymore.

Rationale for the new tmpfile configs:

  - `journal-nowcow.conf`: Contains chattr +C for journald logs which
  makes sense on copy-on-write filesystems like Btrfs. Other filesystems
  shouldn't do anything funny when that flag is set.

  - `static-nodes-permissions.conf`: Contains some permission overrides
  for some device nodes like audio, loop, tun, fuse and kvm.

  - `systemd-nspawn.conf`: Makes sure `/var/lib/machines` exists and old
  snapshots are properly removed.

  - `systemd-tmp.conf`: Removes systemd services related private tmp
  folders and temporary coredump files.

  - `var.conf`: Creates some useful directories in `/var` which we would
  create anyway at some point. Also includes
  `/var/log/{wtmp,btmp,lastlog}`.

Fixes #68792.

(cherry picked from commit 0dc4fe0a44)
2019-09-30 12:14:42 +02:00
Maximilian Bosch
105189c6ce Merge pull request #70048 from etu/1909-phpcbf
[19.09] phpPackages.phpcbf: 3.4.2 -> 3.5.0
2019-09-30 12:07:20 +02:00
Maximilian Bosch
b1967e37cb phpPackages.phpcbf: 3.4.2 -> 3.5.0
(cherry picked from commit 096f03e414)
2019-09-30 07:21:08 +02:00
Maximilian Bosch
7a3083fef8 Merge pull request #70003 from etu/1909-php-cs
[19.09] phpPackages.phpcs: 3.4.2 -> 3.5.0
2019-09-29 23:22:16 +02:00
Jonathan Ringer
88730466d7 pythonPackages.xapian: disable smoketests
(cherry picked from commit 24b364e0b5)
2019-09-29 23:18:28 +02:00
Thomas Tuegel
ce2bb4de26 mariadb.connector-c: Use multiple outputs to reduce closure size 2019-09-29 12:17:25 -05:00
Jonathan Ringer
21a88397e1 pythonPackages.shodan: 1.14.0 -> 1.17.0
(cherry picked from commit fb41b3d9e6)
2019-09-29 15:42:24 +01:00
Jonathan Ringer
e1b962d05b pythonPackages.supervisor: 3.3.5 -> 4.0.4
(cherry picked from commit f08d4f78e4)
2019-09-29 15:39:55 +01:00
Martin Weinelt
83665e31dd nixos/tests/ferm: wait for DAD timeout before testing
The test has recently been failing due to the IPv6 address
on the server still being in the tentative state, when the
client sends its first request. The server will not start
using the IPv6 address until DAD has completed.

Scripted networking seems not to wait for DAD completion
before completing network-online.target, so let's switch
to networkd instead, which does.

(cherry picked from commit 1fb3818440)
2019-09-29 15:30:28 +01:00
Jonathan Ringer
fb2ea4fa6a pythonPackages.streamz: 0.5.1 -> 0.5.2
(cherry picked from commit 8d306d599a)
2019-09-29 08:14:36 -05:00
Maximilian Bosch
0f663efc2c phpPackages.phpcs: 3.4.2 -> 3.5.0
(cherry picked from commit 5e4de799bd)
2019-09-29 12:25:50 +02:00
Vladimír Čunát
d5bdf71e05 Merge branch 'release-19.09' into staging-19.09 2019-09-29 12:17:11 +02:00
Jonathan Ringer
e3930fd416 pythonPackages.azure: mark as broken
(cherry picked from commit 1d7a33e11b)
2019-09-29 11:50:42 +02:00
R. RyanTM
8f9f4b3d0b python37Packages.identify: 1.4.5 -> 1.4.7
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/python3.7-identify/versions

(cherry picked from commit 97b48dcad5)
2019-09-29 11:50:42 +02:00
R. RyanTM
391b7150f6 python37Packages.bidict: 0.18.0 -> 0.18.2
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/python3.7-bidict/versions

(cherry picked from commit 7f470e14d4)
2019-09-29 11:50:42 +02:00
R. RyanTM
18fc004694 python37Packages.clikit: 0.3.1 -> 0.3.2
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/python3.7-clikit/versions

(cherry picked from commit 6a7bd00e77)
2019-09-29 11:50:42 +02:00
R. RyanTM
7c6698a9cc python37Packages.azure-cli-telemetry: 1.0.2 -> 1.0.3
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/python3.7-azure-cli-telemetry/versions

(cherry picked from commit d8f8782efb)
2019-09-29 11:50:42 +02:00
R. RyanTM
b150754725 python37Packages.holoviews: 1.12.3 -> 1.12.5
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/python3.7-holoviews/versions

(cherry picked from commit 6b060f3b5f)
2019-09-29 11:50:42 +02:00
R. RyanTM
3b6a67e7df python37Packages.pex: 1.6.8 -> 1.6.11
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/python3.7-pex/versions

(cherry picked from commit 301523922d)
2019-09-29 11:50:41 +02:00
R. RyanTM
7d68fa1f99 python37Packages.pomegranate: 0.11.0 -> 0.11.1
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/python3.7-pomegranate/versions

(cherry picked from commit 5f074f3a49)
2019-09-29 11:49:12 +02:00
R. RyanTM
35dcbb0a95 python37Packages.lark-parser: 0.7.3 -> 0.7.5
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/python3.7-lark-parser/versions

(cherry picked from commit 2e77b1c31d)
2019-09-29 11:49:12 +02:00
R. RyanTM
223fdc60bf python37Packages.Wand: 0.5.6 -> 0.5.7
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/python3.7-wand/versions

(cherry picked from commit 2390a52ec7)
2019-09-29 11:49:12 +02:00
R. RyanTM
b716ed2d05 python37Packages.qtconsole: 4.5.2 -> 4.5.5
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/python3.7-qtconsole/versions

(cherry picked from commit cd860e4306)
2019-09-29 11:49:12 +02:00
R. RyanTM
c64c7ef9a8 python37Packages.radio_beam: 0.3.1 -> 0.3.2
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/python3.7-radio_beam/versions

(cherry picked from commit 0a9b241587)
2019-09-29 11:49:12 +02:00
R. RyanTM
7ca9201e92 python37Packages.rasterio: 1.0.25 -> 1.0.28
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/python3.7-rasterio/versions

(cherry picked from commit 342ecaefd7)
2019-09-29 11:49:12 +02:00
R. RyanTM
4007e74d00 python27Packages.tilestache: 1.51.13 -> 1.51.14
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/python2.7-tilestache/versions

(cherry picked from commit e8e68cff3c)
2019-09-29 11:49:12 +02:00
R. RyanTM
3d8c069a3c python37Packages.tld: 0.9.3 -> 0.9.6
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/python3.7-tld/versions

(cherry picked from commit 16452f1823)
2019-09-29 11:49:12 +02:00
R. RyanTM
a0beccc95e python37Packages.twine: 1.13.0 -> 1.15.0
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/python3.7-twine/versions

(cherry picked from commit a1fffa983a)
2019-09-29 11:47:29 +02:00
Jonathan Ringer
b362635a6d python3Packages.cnvkit: fix build
(cherry picked from commit f25e8a6d78)
2019-09-29 11:29:58 +02:00
Jonathan Ringer
b845ef5f79 python3Packages.joblib: add setuptools dependency
(cherry picked from commit d564733dd9)
2019-09-29 11:22:41 +02:00
Jonathan Ringer
5dddd05a2d python3Packages.opt-einsum: 2.3.2 -> 3.0.1
(cherry picked from commit 3a63bee154)
2019-09-29 11:21:04 +02:00
Jonathan Ringer
925402e33f pythonPackages.opt-einsum: fix build
(cherry picked from commit 6524733382)
2019-09-29 11:21:04 +02:00
Jonathan Ringer
e27095992f python3Packages.pytorch: fix build
(cherry picked from commit 02648a6cc1)
2019-09-29 11:21:04 +02:00
Frederik Rietdijk
158f41a1b7 python: zerorpc: 0.6.1 -> 0.6.3
(cherry picked from commit 0d956a673d)
2019-09-29 11:03:13 +02:00
Frederik Rietdijk
88c45dce33 pybitmessage: fix build
- use setuptools
- use msgpack instead of msgpack-python

(cherry picked from commit 7408c39d20)
2019-09-29 11:03:13 +02:00
Frederik Rietdijk
f63cbc3bb6 python: get rid of msgpack-python, fixes #48864
We already have msgpack, which is the same. Building a Python env with
`spacy` resulted in a collision between an `.so` provided through both
`msgpack` and `msgpack-python`.

I don't know why `transitional = True` was set. These kind of things
should be documented!

(cherry picked from commit 22aef72ff1)
2019-09-29 11:03:12 +02:00
Daniël de Kok
1886d82676 pythonPackages.spacy: fix import error
Importing spacy fails with:

ModuleNotFoundError: No module named 'pkg_resources

spaCy probably worked before because a dependency had setuptools as a
propagated dependency. This change adds setuptools to spacy's
propogatedBuildInputs.

Tested with the en_core_web_sm model.

(cherry picked from commit d2ccabaeea)
2019-09-29 11:03:12 +02:00
worldofpeace
5b46f56d17 eolie: 0.9.60 -> 0.9.63
(cherry picked from commit 4a7964614f)
2019-09-29 01:47:31 -04:00
worldofpeace
d41fd60f85 lollypop: correct search-provider wrapping
(cherry picked from commit 8f9135f511)
2019-09-29 01:43:06 -04:00
Jonathan Ringer
3f25baa604 pythonPackage.datatable: 0.8.0 -> 0.9.0
(cherry picked from commit beae056884)
2019-09-29 03:34:10 +02:00
Jonathan Ringer
e0ffa0fd39 pythonPackages.lightgbm: fix build
(cherry picked from commit eb8bd784b1)
2019-09-29 03:04:09 +02:00
Maximilian Bosch
f20bc852a5 Merge pull request #69633 from avdv/backport-mucommander-69280
mucommander: 0.9.2 -> 0.9.3-3
2019-09-29 02:35:48 +02:00
Thomas Tuegel
3837059961 zbar: Use multiple outputs 2019-09-28 17:33:56 -05:00
worldofpeace
548d0b73f2 syncthingtray-minimal: rename from syncthingtray-minumal 2019-09-28 16:15:52 -04:00
nyanloutre
7f8e4170c5 ledger-live-desktop: 1.12.0 -> 1.15.0
built with appimageTools.wrapType2 instead of wrapping appimage-run

(cherry picked from commit 3ceb8d5990)
2019-09-28 16:10:06 -04:00
worldofpeace
a69421758f dbus: set datadir again
Fixes #69404
2019-09-28 16:10:05 -04:00
Mario Rodas
ecf719c2df wabt: 1.0.11 -> 1.0.12
(cherry picked from commit b289915b37)
2019-09-28 22:07:30 +02:00
Mario Rodas
1719446448 gitAndTools.hub: 2.12.4 -> 2.12.7
(cherry picked from commit be7bc49504)
2019-09-28 22:01:39 +02:00
Maximilian Bosch
794cf39f13 prometheus-wireguard-exporter: 3.1.0 -> 3.1.1
https://github.com/MindFlavor/prometheus_wireguard_exporter/releases/tag/3.1.1

This release adds a flag `-l` which takes an address where the exporter
is available. The default is `0.0.0.0` (previously, `0.0.0.0` was used
by default).

Please note that there are no dependency changes in Cargo and therefore
the cargo hash didn't change.

(cherry picked from commit beb59b76cf)
2019-09-28 20:56:51 +02:00
Robert Scott
38a4dc2a4d qemu: add patches for CVE-2019-13164 & CVE-2019-14378 2019-09-28 19:36:23 +01:00
Vladimír Čunát
96b4d60468 nixos network-interfaces.nix: fixup after the last change
TL;DR: ipv6 tests were broken (probably the privacy-extension stuff)
https://github.com/NixOS/nixpkgs/pull/68227#issuecomment-536159177

(cherry picked from commit 4c07c0fdf0)
2019-09-28 19:34:09 +02:00
Jon
ec3e790970 python3Packages.flit: fix tests and packaging (#69546)
* python3Packages.flit: fix tests

* python: fix flit setup hook

(cherry picked from commit 28af6ac647)
2019-09-28 18:59:48 +02:00
Vladimír Čunát
f97286bba3 Merge #69492: thunderbird*: 68.1.0 -> 68.1.1
(cherry picked from commit a005d2e63a)
Re-tested both on 19.09.
2019-09-28 14:07:44 +02:00
Thomas Tuegel
29c1c19370 Merge pull request #69642 from ttuegel/bug--staging-19.09--hdf5
hdf5: Fix dependencies and flavors with multiple outputs
2019-09-28 06:10:39 -05:00
Vladimír Čunát
8d8b98c6c6 Merge #69700: libX11: upstream patch to fix cross-compilation
(cherry picked from commit 52af1d0930)
2019-09-28 09:53:14 +02:00
Maximilian Bosch
6ed74804ef minitube: 2.9 -> 3.2
https://flavio.tordini.org/minitube-3-2
https://flavio.tordini.org/minitube-3-1
https://flavio.tordini.org/minitube-3-0
(cherry picked from commit 6fd3fea4db)
2019-09-28 03:32:41 +02:00
pacien
5681d02257 riot-desktop: 1.3.5 -> 1.4.0
(cherry picked from commit ec0d11a72f)
2019-09-27 21:23:19 -04:00
pacien
a6c9a6acb2 riot-web: 1.3.5 -> 1.4.0
(cherry picked from commit 07891afccf)
2019-09-27 21:23:15 -04:00
pacien
44d55e15ed riot-desktop: 1.3.3 -> 1.3.5
(cherry picked from commit e32515aa92)
2019-09-27 21:23:12 -04:00
pacien
8675cb2369 riot-web: 1.3.3 -> 1.3.5
(cherry picked from commit 8e09b940f8)
2019-09-27 21:23:09 -04:00
xrelkd
277ec48009 youtube-dl: 2019.09.12.1 -> 2019.09.28
(cherry picked from commit b7c5073f72)
2019-09-27 21:14:01 -04:00
Maximilian Bosch
23cc33e2df kitty: 0.14.5 -> 0.14.6
https://sw.kovidgoyal.net/kitty/changelog.html#id1
(cherry picked from commit 04d6fa1385)
2019-09-28 02:56:01 +02:00
R. RyanTM
86449987e7 kitty: 0.14.3 -> 0.14.5
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/kitty/versions

(cherry picked from commit c03a40a13c)
2019-09-28 02:55:57 +02:00
worldofpeace
5a0048ac5c nixos/gdm: update description
GDM isn't dangerous anymore in NixOS.

(cherry picked from commit e4cce87fba)
2019-09-27 18:41:43 -04:00
R. RyanTM
974bbd1217 ibus-engines.typing-booster-unwrapped: 2.6.4 -> 2.6.6
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/ibus-typing-booster/versions

(cherry picked from commit 62c55bc701)
2019-09-27 20:11:24 +02:00
Tim Steinbach
c79f3d80b8 linux: 5.3 -> 5.3.1
(cherry picked from commit e331f65c93)
2019-09-27 19:31:16 +02:00
Svein Ove Aas
e2d76a988d zfs: 0.8.1 -> 0.8.2
(cherry picked from commit f6a894475c)
2019-09-27 19:31:12 +02:00
John Ericson
ff0bbc2646 ghcHEAD: 8.9.20190601 -> 8.9.20190924
Also close pointless diff with 8.8.1.

(cherry picked from commit b55854c0b4)
2019-09-27 17:25:51 +00:00
WilliButz
bd1e843bde atlassian-jira: 8.4.0 -> 8.4.1
(cherry picked from commit 39d7eeb5c0)
2019-09-27 16:42:23 +02:00
R. RyanTM
d9baefa3ff atlassian-jira: 8.3.2 -> 8.4.0
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/atlassian-jira/versions

(cherry picked from commit a8dc4e39db)
2019-09-27 16:42:22 +02:00
Florian Klink
9c9bd273c3 linuxPackages.virtualboxGuestAdditions: apply mp-r0drv-linux.c patch
These don't use a the virtualbox sources, but an iso as src, and we need
to add the kernel 5.3 patch aswell.

As for some reason the source files are present on the .iso with Windows
Line endings (sic!), call dos2unix first.

Unfortunately, we can't use the same kernel-5.3-fix.patch as virtualbox
itself, as some files are missing and paths are different.

(cherry picked from commit 61f0f8d607)
2019-09-27 15:47:54 +02:00
Thomas Tuegel
eeb6ee96ef hdf5: Fix flavored builds with multiple outputs 2019-09-27 05:53:14 -05:00
Thomas Tuegel
475c9de274 tables: Fix build with multiple hdf5 outputs 2019-09-27 04:48:01 -05:00
Thomas Tuegel
e7ae9ded9e netcdf4: Fix build with multiple hdf5 outputs 2019-09-27 04:47:41 -05:00
Vladimír Čunát
76348091e6 knot-resolver: 4.2.0 -> 4.2.1 (bugfixes)
https://gitlab.labs.nic.cz/knot/knot-resolver/tags/v4.2.1
(cherry picked from commit 4b656c7447)
2019-09-27 10:50:12 +02:00
Craige McWhirter
cc424bd8d4 nixos/doc: Clarify wireless examples
This commits makes it clearer to a novice reader how to configure several
diferent types of SSID connections that were otherwise obscurely documented

Resolves #66650

(cherry picked from commit cce7486deb)
2019-09-27 03:28:56 -04:00
Claudio Bley
c32862ddb1 mucommander: 0.9.2 -> 0.9.3-3
Mucommander 0.9.3-3 was released in January 2019.

* comment out `proguard.enabled = ...` in build.gradle
* use Gradle 4.10 (upstream uses 4.8)
* fix version in build.gradle
2019-09-27 08:07:23 +02:00
Michael Weiss
bf949a8e80 Merge pull request #69586 from primeos/signal-desktop-backport
[19.09] signal-desktop: 1.27.2 -> 1.27.3 (backport)
2019-09-27 00:02:11 +02:00
R. RyanTM
13d0504bba gradio: 7.2 -> 7.3
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/gradio/versions

(cherry picked from commit e146b13944)
2019-09-26 23:47:21 +02:00
R. RyanTM
0a61ecc353 git-secret: 0.2.6 -> 0.3.1
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/git-secret/versions

(cherry picked from commit db7433dd77)
2019-09-26 23:43:40 +02:00
R. RyanTM
bb6a49bd92 git-quick-stats: 2.0.8 -> 2.0.9
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/git-quick-stats/versions

(cherry picked from commit 29a7877a08)
2019-09-26 23:40:43 +02:00
Lily Ballard
5851328a8e macvim: fix compatibility with Xcode 11
This fixes several Xcode 11 incompatibilities with MacVim, including an
issue where it wasn't inheriting the deployment target correctly to
begin with.

(cherry picked from commit 4563496375)
2019-09-26 22:24:04 +01:00
Michael Weiss
256f6d58a5 signal-desktop: 1.27.2 -> 1.27.3
(cherry picked from commit 6f3b44baa4)
Reason: Avoid an expired (unusable) release in the stable release
(Signal-Desktop releases expire after 90 days).
2019-09-26 22:38:51 +02:00
Maximilian Bosch
466d24c6e5 python3Packages.python-hosts: 0.4.5 -> 0.4.7
Also fixes the build: https://hydra.nixos.org/build/101987213

ZHF #68361

(cherry picked from commit 991f825f2d)
2019-09-26 21:16:41 +02:00
Jonathan Ringer
17f344a32b pgadmin: fix build
(cherry picked from commit 16c55d22cc)
2019-09-26 20:47:13 +02:00
Maximilian Bosch
49e3011049 git-cola: build application with python3 by default
(cherry picked from commit 460e603852)
2019-09-26 20:37:57 +02:00
R. RyanTM
8826c1c8a2 git-cola: 3.4 -> 3.5
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/git-cola/versions

(cherry picked from commit 305d811a2d)
2019-09-26 20:33:21 +02:00
Maximilian Bosch
9691c53afc documize-community: 3.3.0 -> 3.3.1
https://github.com/documize/community/releases/tag/v3.3.1
(cherry picked from commit 07846b02f7)
2019-09-26 18:17:14 +02:00
Johan Thomsen
f841e48c90 ceph: 14.2.3 -> 14.2.4
(cherry picked from commit 7a61cd29bd)
Backport of #69518
2019-09-26 18:02:06 +02:00
R. RyanTM
428941438e gitAndTools.diff-so-fancy: 1.2.6 -> 1.2.7
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/diff-so-fancy/versions

(cherry picked from commit ea356329ca)
2019-09-26 17:49:20 +02:00
R. RyanTM
e1dd8301e1 python37Packages.dlib: 19.17 -> 19.18
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/python3.7-dlib/versions

(cherry picked from commit 3a73ebdb38)
2019-09-26 17:11:14 +02:00
Gabriel Ebner
055810902d electron-cash: use wrapQtApp
(cherry picked from commit 0838bc0ed5)
2019-09-26 16:34:29 +02:00
Thomas Tuegel
1943028786 Merge pull request #69427 from ttuegel/closure-size/qt-staging-19.09
Reduce closure size of Qt applications (backport)
2019-09-26 08:31:59 -05:00
R. RyanTM
db73b295ca clib: 1.8.1 -> 1.11.2
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/clib/versions

(cherry picked from commit 4f1a4ba3cb)
2019-09-26 13:20:06 +02:00
volth
ee08175952 'udev' needs absolute path to 'echo'
(cherry picked from commit 8b93e5c8a4)
2019-09-26 12:28:51 +02:00
volth
4dceeaad80 network-interfaces.nix: escape '.' in interface names passed to sysctl
(cherry picked from commit efccc442d9)
2019-09-26 12:28:51 +02:00
Frederik Rietdijk
cc37ffc627 Merge release-19.09 into staging-19.09 2019-09-26 10:54:04 +02:00
Bjørn Forsman
b30f86ffc6 retroarch: 1.7.5 -> 1.7.8.4
Fixes missing GUI elements.

(cherry picked from commit bf7a1d6afe)
2019-09-26 08:12:55 +02:00
Bjørn Forsman
60493b43cb xdg-utils: add missing perl dependencies
Or else `xdg-screensaver suspend <WINDOW_ID>` fails with errors like:

  Can't locate Net/DBus.pm in @INC [...]

This increases the closure of xdg-utils from 53 MiB to 119 MiB.

(The issue was found when testing retroarch.)

(cherry picked from commit e584eba7f8)
2019-09-26 08:12:54 +02:00
worldofpeace
5c72219eb3 xfce4-14.tumbler: manually wrap
(cherry picked from commit 28a7e8fb75)
2019-09-25 22:48:42 -04:00
Maximilian Bosch
78d05675a4 prometheus-wireguard-exporter: 3.0.1 -> 3.1.0
Although this is a minor release, this only contains a single, but
improtant bugfix: https://github.com/MindFlavor/prometheus_wireguard_exporter/releases/tag/3.1.0

(cherry picked from commit 99b12cfc08)
2019-09-25 22:09:22 +02:00
Thomas Tuegel
4b46ba152c libsrtp: Use multiple outputs to reduce closure size 2019-09-25 14:20:32 -05:00
Thomas Tuegel
2aaf890280 SDL: Do not propagate -dev outputs at runtime 2019-09-25 14:20:32 -05:00
Thomas Tuegel
1cac77cfd8 spandsp: Use multiple outputs to reduce closure size 2019-09-25 14:20:32 -05:00
Thomas Tuegel
f041a041d6 hdf5: Use multiple outputs to reduce closure size 2019-09-25 14:20:32 -05:00
Thomas Tuegel
3212486ceb kate: No propagatedBuildInputs
kate does not have a `dev` output, so it should not have
`propagatedBuildInputs`, as this propagates other `dev` outputs into the user
environment.
2019-09-25 14:20:32 -05:00
Thomas Tuegel
a663d8fe49 ibus: Use multiple outputs to reduce closure size 2019-09-25 14:20:32 -05:00
Thomas Tuegel
3c26f2d065 tremor: Use multiple outputs to reduce closure size 2019-09-25 14:20:31 -05:00
Thomas Tuegel
1c240e40ec extra-cmake-modules: addEnvHooks: Use targetOffset 2019-09-25 14:20:31 -05:00
Thomas Tuegel
e3d85b640e extra-cmake-modules: Remove doc/ from xdgDataSubdirs 2019-09-25 14:20:31 -05:00
Thomas Tuegel
8005bf88a9 konsole: Remove spurious wrapper 2019-09-25 14:20:28 -05:00
Max Wittig
f4ee84dfeb gitlab-runner: 12.2.0 -> 12.3.0
(cherry picked from commit 92d5acb41a)
2019-09-25 18:48:08 +02:00
Robin Gloster
d8c1b4e8f2 linuxPackages.r8168: 8.046.00 -> 8.047.00
(cherry picked from commit d4212d66a8)
2019-09-25 17:10:30 +02:00
Robin Gloster
3c1a25f1c7 linuxPackages.jool: 4.0.0 -> 4.0.5
(cherry picked from commit 0fe41d4a87)
2019-09-25 16:59:15 +02:00
Kierán Meinhardt
8d3c8b9aef idrisPackages.heyting-algebra: remove
(cherry picked from commit 8eb0413c05)
2019-09-25 12:43:39 +02:00
Kierán Meinhardt
bb46e0f2c6 idrisPackages.heyting-algebra: mark as broken
The functionality provided by this package has been added to the Idris contrib library (module `Interfaces.Verified`).
Therefore identifiers cannot be disambiguated anymore.

(cherry picked from commit 7df8575a72)
2019-09-25 12:43:38 +02:00
Kierán Meinhardt
3c3a377e7f tamarin-prover: mark as broken because upstream is broken
(cherry picked from commit 815d940e52)
2019-09-25 12:40:13 +02:00
Ivan Kozik
e4f6f5039b kernel/common-config: enable SCHED_DEBUG
(cherry picked from commit 97cc421cdd)
2019-09-25 12:34:09 +02:00
Robin Gloster
64c6551271 pythonPackages.weasyprint: disable test
Needs an extra font for that test

(cherry picked from commit 6d71209af3)
2019-09-25 12:24:51 +02:00
Daniel Schaefer
9d1d9016b6 pythonPackages.weasyprint: 47 -> 50
(cherry picked from commit cedb0ecf4d)
2019-09-25 12:24:51 +02:00
Daniel Schaefer
7c267b5c7b pythonPackages.qiskit: Mark as broken
(cherry picked from commit 5c65c2e329)
2019-09-25 12:24:51 +02:00
Daniel Schaefer
12c51ea2a4 xml2rfc: Use pythonPackages.xml2rfc
(cherry picked from commit 8fd8f3a44a)
2019-09-25 12:24:51 +02:00
Daniel Schaefer
1851ab8c44 pythonPackages.xml2rfc: 2.18.0 -> 2.27.1
(cherry picked from commit bf050e9456)
2019-09-25 12:24:50 +02:00
Daniel Schaefer
c10e6c8f66 pythonPackages.dict2xml: init at 1.6.1
(cherry picked from commit d769048286)
2019-09-25 12:24:50 +02:00
Daniel Schaefer
c5d408bb85 pythonPackages.cairosvg: 2.3.0 -> 2.4.2
(cherry picked from commit a73937384e)
2019-09-25 12:24:50 +02:00
Daniel Schaefer
46cbfeaaa7 pythonPackages.pycountry: 19.7.15 -> 19.8.18
(cherry picked from commit f2b28387d0)
2019-09-25 12:24:49 +02:00
Robin Gloster
f3739e6103 paulstretch: fix build
(cherry picked from commit fb6595eafd)
2019-09-25 11:27:02 +02:00
László Vaskó
b133bff35e IPMIView: create desktop file
(cherry picked from commit 3848206bd2)
2019-09-25 09:57:19 +01:00
László Vaskó
9a94674fd2 IPMIView: fix iKVM console
This commit fixes #26650

The main problem was that the iKVM related libraries are always loaded
from the current working directory. The bundled wrapper script makes
sure to CD to the package root folder. This is a no-go in nix as the
application writes its settings in the current working directory and the
store is read-only.

Workaround: create a directory in the users home, where the required
binaries are symlinked and is writable for the current user.

There was an additional issue that for some BMCs IPMIView relies on
the bundled `stunnel` binary to wrap the iKVM traffic in a TLS tunnel.
Therefore it has to be patched to make it executable and the `killall`
command is needed on the PATH because it is used to terminate the
`stunnel` process upon exit.

(cherry picked from commit 15b8478211)
2019-09-25 09:57:15 +01:00
László Vaskó
784940ad43 IPMIView: 2.14.0 --> 2.16.0
Notes:
 * Previous URL is no longer accesible
 * build has to be adjusted for the updated JRE bundle
(cherry picked from commit 13cd9e1bf3)
2019-09-25 09:57:11 +01:00
László Vaskó
5205e5f1d2 IPMIView: fix indentation
(cherry picked from commit 96b2c4c395)
2019-09-25 09:57:07 +01:00
Ambroz Bizjak
5d92232ed6 virtualboxGuestAdditions: Fix clipboard integration.
VBoxClient needs a RUNPATH entry to dlopen libXfixes successfully.

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

(cherry picked from commit 7dcef37ef8)
2019-09-25 10:27:16 +02:00
Eelco Dolstra
d958752311 Merge pull request #69267 from edolstra/revert-interface-version-19.09
Revert systemd interface version to 2 [19.09 backport]
2019-09-25 10:08:58 +02:00
Peter Hoeg
e34ac949d1 Merge pull request #69383 from peterhoeg/f/dxx_stable
dxx-rebirth: build with gcc6 as gcc8 is not supported
2019-09-25 05:40:10 +08:00
Matthew Bauer
d79521cd3e androidndk: get correct libs for x86_64
(cherry picked from commit f089afe965)
2019-09-24 17:31:56 -04:00
Matthew Bauer
a5771ef41a gmp: don’t disable assembly on x86
this should always work, even on android / iOS toolchains

(cherry picked from commit 699fae259d)
2019-09-24 17:31:46 -04:00
Graham Christensen
9fe1782987 Merge pull request #69381 from grahamc/backport-netprom
Backport: perlPackages.NetPrometheus: init at 0.07 (and StructDumb at 0.09) #69379
2019-09-24 17:13:00 -04:00
Peter Hoeg
72833e97ec dxx-rebirth: build with gcc6 as gcc8 is not supported
(cherry picked from commit fe8b82f557)
2019-09-25 05:05:36 +08:00
Graham Christensen
2477127238 perlPackages.NetPrometheus: init at 0.07
(cherry picked from commit 9005bdd460)
2019-09-24 16:45:00 -04:00
Graham Christensen
e757e397b5 perlPackages.StructDumb: init at 0.09
(cherry picked from commit cd7ed820a0)
2019-09-24 16:44:53 -04:00
Jonathan Ringer
9c0c769bfa pythonPackage.pycurl2: fix build
(cherry picked from commit cc7c778bf1)
2019-09-24 16:49:34 +02:00
danme
d3feb15340 gnuk: 1.0.4 -> 1.2.14
(cherry picked from commit 5aa5fd4657)
2019-09-24 16:43:09 +02:00
Samuel Leathers
78a4175e0b linuxPackages.ply: add rsync to native build inputs
(cherry picked from commit 48c0062fe9)
2019-09-24 16:35:18 +02:00
Daniel Schaefer
1a9eec8a07 pythonPackages.astropy: Disable tests
A ton of tests fail and it's not obvious to me how to fix them.
Adding bleach to checkInputs fixes a tiny number of them, though.

(cherry picked from commit 4c714c1f58)
2019-09-24 16:25:36 +02:00
Jörg Thalheim
ec57b2c853 Merge pull request #69355 from mweinelt/pr/piper/gobjectintrospection
piper: temporarily propagate gobject-introspection [19.09 backport]
2019-09-24 15:10:47 +01:00
Robin Gloster
dce457f7bc xtreemfs: mark as broken
does not support openssl 1.1

(cherry picked from commit daa724ae5a)
2019-09-24 16:00:44 +02:00
Robin Gloster
cb802929a6 vtk: build with system libtiff
fixes vtktiff, therefore at least gdcm

(cherry picked from commit 2d6fbcd94e)
2019-09-24 16:00:44 +02:00
Nathan van Doorn
2ac5c9e7bb manticore: 2018.09.29 -> 2019.09.20
(cherry picked from commit 400431a0de)
2019-09-24 13:33:16 +00:00
Martin Weinelt
5ada0bf95b piper: temporarily propagate gobject-introspection
On startup piper would be unable to find Pango:
> ImportError: Typelib file for namespace 'Pango', version '1.0' not found

Workaround for #56943

(cherry picked from commit fb9b7446ee)
2019-09-24 14:58:20 +02:00
Pierre Bourdon
2cf6ae8e01 home-assistant: remove outdated pyyaml_3 pinning
The recent bump to 0.96.2 now requires pyyaml 5.1.1. The PRs upgrading
home-assistant to a newer version and the one pinning to an old PyYAML
version raced each other and we ended up with both submitted.

Fixes home-assistant build.

(cherry picked from commit 04c1fcd09c)
2019-09-24 14:56:04 +02:00
Dima
1d37ea57b5 python37Packages.scikitlearn: patching build
For numpy>=1.17 a test-case broke that required adjustments to
a threshold.

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

(cherry picked from commit 82d7833b9b)
2019-09-24 14:56:03 +02:00
Jonathan Ringer
c23263abb0 pythonPackages.cheroot: fix tests
(cherry picked from commit 9a88d2c827)
2019-09-24 14:54:38 +02:00
Fabian Möller
f19b3ec555 cheroot: fix darwin sandbox build
(cherry picked from commit 5347a8038a)
2019-09-24 14:54:01 +02:00
Mario Rodas
e9f97cf82c vault: use buildGoPackage
(cherry picked from commit 9db2a8154c)
2019-09-24 14:48:36 +02:00
Arian van Putten
c1e6017cb8 vault: 1.2.2 -> 1.2.3
Fixes the build because https://git.apache.org has been taken offline
and now has been replaced with another mirror

(cherry picked from commit 35e9b2915a)
2019-09-24 14:48:32 +02:00
Roman Volosatovs
f96eabaa03 nixos/network: replace deprecated DHCP=both by DHCP=yes
(cherry picked from commit a0a3675bdf)
2019-09-24 14:14:56 +02:00
Tristan Helmich (omniIT)
ec6c4a83be graylog-plugin-auth-sso: 3.0.0 -> 3.1.0
(cherry picked from commit 3649ee5491)
2019-09-24 12:50:27 +01:00
Tristan Helmich (omniIT)
1be0dd0e50 graylog: 3.1.0 -> 3.1.2
(cherry picked from commit e702263b4a)
2019-09-24 12:50:23 +01:00
William Kral
805dcabd26 virtualbox: Temporary fix for kernel >= 5.3
(cherry picked from commit 2f2da824ed)
2019-09-24 13:36:48 +02:00
Vladimír Čunát
315aa052f8 knot-dns: 2.8.3 -> 2.8.4
https://gitlab.labs.nic.cz/knot/knot-dns/raw/v2.8.4/NEWS
(cherry picked from commit 1b0771ac42)
It should be fairly safe maintenance update.
2019-09-24 13:13:30 +02:00
talyz
74869e2897 nixos/gitlab: Document the restriction introduced on statePath
The state path now, since the transition from initialization in
preStart to using systemd-tmpfiles, has the following restriction: no
parent directory can be owned by any other user than root or the user
specified in services.gitlab.user. This is a potentially breaking
change and the cause of the error isn't immediately obvious, so
document it both in the release notes and statePath description.

(cherry picked from commit dfc43f7d0a)
2019-09-24 13:01:13 +02:00
talyz
fbc7e7e94c nixos/gitlab: Mention secret option transition in release notes
Document the breaking secret option transition from literal secrets to
file-based ones.

(cherry picked from commit 7e325c2251)
2019-09-24 13:01:12 +02:00
Jan Malakhovski
404d1cd097 firefoxPackages.tor-browser: 8.5.4 -> 8.5.6
(cherry picked from commit 54c8da0787)
2019-09-24 08:16:22 +02:00
Colin L Rice
daf223549d linux_rpi: copy dtb so raspberry pi 3a+ boots
(cherry picked from commit 56d198b775)
2019-09-24 04:23:52 +01:00
volth
e055c5a669 nixos/matomo: fix escape
(cherry picked from commit 48086fbd70)
2019-09-24 04:20:35 +01:00
volth
92f8173f84 nixos/tt-rss: fix string escape
(cherry picked from commit 432a2d73be)
2019-09-24 04:20:31 +01:00
volth
a50fbe3086 nixos/restya-board: fix string escape
(cherry picked from commit 4641b683f6)
2019-09-24 04:20:22 +01:00
volth
1d794ca494 nixos/matomo: fix string escape
(cherry picked from commit 08195254aa)
2019-09-24 04:20:17 +01:00
volth
0d94bf8d38 nixos/prosody: fix escape
(cherry picked from commit b384420f2c)
2019-09-24 04:20:12 +01:00
volth
b315611e93 nixos/graphite: fix escape
(cherry picked from commit fbd2b55715)
2019-09-24 04:20:07 +01:00
volth
48d07aab3a nixos/less: fix escape
(cherry picked from commit 1aadcee68a)
2019-09-24 04:19:59 +01:00
volth
40608754f7 nixos/rspamd: fix fancy unicode quote
(cherry picked from commit 602a39c318)
2019-09-24 04:19:53 +01:00
volth
0b1e1241a4 treewide: fix string escapes
(cherry picked from commit 8276314608)
2019-09-24 04:19:47 +01:00
Pascal Wittmann
e102f874d1 brave: 0.68.131 -> 0.69.128
(cherry picked from commit 4235d8b07c)
2019-09-24 04:02:10 +01:00
makefu
630bffe451 linuxPackages.exfat-nofuse: 2018-04-16 -> 2019-09-06
Upstream repository is unmaintained since 2018, maintainership got taken
over by AdrianBan ( https://github.com/dorimanx/exfat-nofuse/issues/145#issuecomment-528632096 )

(cherry picked from commit 8a6e2f5d53)
2019-09-24 03:47:54 +01:00
Jonathan Ringer
6146674966 radeontool: 1.5 -> 1.6.3
(cherry picked from commit 11e62297da)
2019-09-24 03:40:57 +01:00
MetaDark
3900cdf95a protontricks: 1.2.4 -> 1.2.5
(cherry picked from commit c52f723d5e)
2019-09-24 03:27:54 +01:00
Mitsuhiro Nakamura
fe4cb7eaf7 r-randomForest: fix build on Darwin
(cherry picked from commit 8df7139996)
2019-09-24 03:24:59 +01:00
Mitsuhiro Nakamura
27f187b96a r-minqa: fix build on Darwin
(cherry picked from commit aefe6bc2e1)
2019-09-24 03:24:54 +01:00
Mitsuhiro Nakamura
6faeaac5e6 r-pan: fix build on Darwin
(cherry picked from commit 3001a1f3ff)
2019-09-24 03:24:50 +01:00
Kevin Rauscher
5220486f44 mopidy: add setuptools to propagatedBuildInputs
(cherry picked from commit 09dac43f32)
2019-09-23 21:39:58 +01:00
Kevin Rauscher
9cf3bcfdae mopidy-iris: 3.39.0 -> 3.40.0
(cherry picked from commit 49e52b7ba5)
2019-09-23 21:39:50 +01:00
Ben Gamari
6e5766e0c0 build-support: Add p11_kit to appimage dependency set
This was in the upstream list but missing from nixpkgs' list.

(cherry picked from commit d1139e340d)
2019-09-23 21:36:50 +01:00
Jörg Thalheim
0c07921c90 rtlwifi_new: 2018-02-17 -> 2019-08-21
(cherry picked from commit 434a69f5b5)
2019-09-23 20:41:33 +01:00
Dima
408b7e4dac pythonPackages.cairocffi: v1.0.2 -> v.1.1.0
The tests were failing due the switch to pytest5.
This issue has been addressed upstream in
a500f20866
which is included in v.1.1.0, so bumping the version and
updating the old patch.

Hydra log of the failure:
https://hydra.nixos.org/build/100785460/nixlog/6

(cherry picked from commit 7ff2638b7f)
2019-09-23 20:37:18 +01:00
Tom Hunger
07f018b337 dynd: fix build
(cherry picked from commit f9da799b87)
2019-09-23 20:20:01 +01:00
WilliButz
b0448a752c grafana: 6.3.5 -> 6.3.6
(cherry picked from commit c846b0a52f)
2019-09-23 21:07:24 +02:00
Niklas Hambüchen
34f71a778d libdrm: Add patch to fix musl build. Fixes #66441
(cherry picked from commit b577340eb5bc3b72549f0544b50e2e37df78bf12)

Co-authored-by: Matthew Bauer <mjbauer95@gmail.com>
(cherry picked from commit 23399ff012)
2019-09-23 13:56:59 -04:00
Matthew Bauer
6a5b4ad1e5 aws-sdk-cpp: fix libatomic detection
Needed for https://hydra.nixos.org/build/100470050

/cc @lopsided98

(cherry picked from commit 980c80c08d)
2019-09-23 13:56:30 -04:00
Matthew Bauer
6b7a7b3e7a dolphin: add baloo to propagatedUseEnvPkgs
This is needed for "Search for..." feature in dolphin.

Fixes #68174

(cherry picked from commit de15e981f6)
2019-09-23 13:56:22 -04:00
Matthew Bauer
dee217386e mariadb: add patch for missing libcrypt on darwin
Really fixes #69034

(cherry picked from commit 067b4dbb93)
2019-09-23 13:56:08 -04:00
Matthew Bauer
d0d296fb80 treewide: replace daemon with enableDaemon
broken with the introducation of "daemon" in

96ffba10f5
(cherry picked from commit ad22b9084d)
2019-09-23 13:54:18 -04:00
Robin Gloster
dc8111b85d Merge pull request #69249 from rnhmjoj/radeon-backport
radeon-profile: 20170714 -> 20190903 [19.09 backport]
2019-09-23 15:21:47 +02:00
Yorick
05f275f451 pythonPackages.license-expression: make patchShebangs more specific
(cherry picked from commit b640dbd008)
2019-09-23 13:22:51 +01:00
Yorick
82e1d6fc19 pythonPackages.license-expression: fix build
(cherry picked from commit c6e002c0fc)
2019-09-23 13:22:47 +01:00
Vladimír Čunát
1875b76087 Merge commit 'staging-19.09' into release-19.09
This is older version that has finished already:
https://hydra.nixos.org/eval/1543593
2019-09-23 13:22:59 +02:00
Jörg Thalheim
6c0d878d69 systemd: make sysinit.target depend on local-fs.target again [… (#69285)
systemd: make sysinit.target depend on local-fs.target again [backport]
2019-09-23 10:37:14 +01:00
Jörg Thalheim
cf97c54381 systemd: add myself as maintainer
(cherry picked from commit 1e8772375e)
2019-09-23 09:46:33 +01:00
Jörg Thalheim
9bc836c5a8 systemd: make sysinit.target depend on local-fs.target again
This change was re-introduced when updating to systemd 243.
Also see: https://github.com/NixOS/nixpkgs/pull/67858

(cherry picked from commit 53fb1c512a)
2019-09-23 09:46:26 +01:00
Eelco Dolstra
12cc54f6cd firefox: Use default icu
(cherry picked from commit 13beb8d753)
2019-09-23 09:56:40 +02:00
Сухарик
f649240940 kvirc: use qt5.mkDerivation
(cherry picked from commit fa435f2291)
2019-09-23 07:54:25 +01:00
Miguel Madrid Mencía
e9f7d9cad5 gigedit: 1.1.0 -> 1.1.1
(cherry picked from commit 3ffd7ba6d0)
Backport of #68934
2019-09-23 07:53:59 +02:00
Eelco Dolstra
579f204e3d Revert systemd interface version to 2
The new systemd in 19.09 gives an "Access Denied" error when doing
"systemctl daemon-reexec" on an 19.03 system. The fix is to use the
previous systemctl to signal the daemon to re-exec itself. This
ensures that users don't have to reboot when upgrading from NixOS
19.03 to 19.09.

(cherry picked from commit b20a0e49c8)
2019-09-23 07:18:29 +02:00
talyz
7a7a80bc46 nixos/gitlab: Add gnutar and gzip to gitlab-sidekiq's path
Tar and gzip are needed when importing GitLab project exports.

(cherry picked from commit aceac9d531)
2019-09-23 06:45:41 +02:00
Aaron Andersen
b20330b01c Merge pull request #69254 from mmilata/wordpress-19.09
wordpress: 5.2.2 -> 5.2.3
2019-09-22 17:50:16 -04:00
adisbladis
bf040d6240 Merge pull request #69205 from etu/fix-cask-19-09
[19.09] cask: Fix cask usage
2019-09-22 21:42:10 +01:00
Eelco Dolstra
03762d6bef nixFlakes: 2.4pre20190913_a25c022 -> 2.4pre20190922_382aa05
(cherry picked from commit 8109be4859)
2019-09-22 22:03:20 +02:00
Matthew Bauer
f6599e35ce nix: mark unix only
Nix is only known to work on unix like platforms.

https://hydra.nixos.org/job/nixpkgs/cross-trunk/crossMingw32.nix.x86_64-linux
(cherry picked from commit 2c32f91bfc)
2019-09-22 22:03:16 +02:00
Eelco Dolstra
b0993afcaa nixFlakes: 2.3pre20190830_04np4n6 -> 2.4pre20190913_a25c022
(cherry picked from commit b9e81b2138)
2019-09-22 22:03:12 +02:00
Sander van der Burg
b9c0859e67 daemon: init at 0.6.4
(cherry picked from commit 96ffba10f5)
2019-09-22 21:20:20 +02:00
Matthew Bauer
2289446c6e glibc: fix cross compilation with gcc8
(cherry picked from commit 3fcc4441d7)
2019-09-22 15:08:28 -04:00
Eelco Dolstra
6ebebe1e7d vista-fonts: Use new download location
(cherry picked from commit d8e35fdbf9)
2019-09-22 20:19:54 +02:00
Thomas Tuegel
e739c13463 Merge pull request #69223 from worldofpeace/wrap-qt-apps/fix-stable
[19.09] wrapQtAppsHook: correct skip directories heuristic
2019-09-22 12:56:01 -05:00
Martin Milata
d03904fd9f wordpress: 5.2.2 -> 5.2.3
https://wordpress.org/news/2019/09/wordpress-5-2-3-security-and-maintenance-release/
2019-09-22 17:54:36 +02:00
Florian Klink
88f32cca5a afew: propagate setuptools
(cherry picked from commit acd7c02ea9)
2019-09-22 15:43:38 +01:00
Jörg Thalheim
dbf071d5ed python.pkgs.flask_oauthlib: remove
deprecated by upstream & broken: https://github.com/lepture/flask-oauthlib

(cherry picked from commit fe5c9079fd)
2019-09-22 15:37:52 +01:00
rnhmjoj
21c6e12dc1 radeon-profile: 20170714 -> 20190903
(cherry picked from commit 608b6b5b5ca008168b8cb1961c014da44449577e)
2019-09-22 16:19:17 +02:00
rnhmjoj
fdffddd90b radeon-profile: use Qt mkDerivation
(cherry picked from commit f93006638109877f10003898baa0bb1d0abf97f5)

This solves the runtime error due to missing Qt libraries.
2019-09-22 16:18:23 +02:00
Peter Simons
df74899305 python-mailmanclient: this package builds only with Python 3.x 2019-09-22 14:09:50 +02:00
Peter Simons
2e4218645c haskell-postmaster: mark the build as broken 2019-09-22 14:05:37 +02:00
Frederik Rietdijk
2ae5f1f03b Merge release-19.09 into staging-19.09 2019-09-22 09:55:54 +02:00
Sebastian Jordan
b06275bedb python: Fix invalid pip call in setuptoolsShellHook
(cherry picked from commit 5505d2f036)
2019-09-22 09:55:45 +02:00
Elis Hirwing
18670dfbd2 Merge pull request #69227 from talyz/release-19.09
nomachine-client: 6.7.6 -> 6.8.1
2019-09-22 07:43:37 +02:00
Tim Steinbach
6f65c2ffd3 linux: 5.2.16 -> 5.2.17 2019-09-21 20:37:52 -04:00
Tim Steinbach
fa98733530 linux: 4.9.193 -> 4.9.194 2019-09-21 20:37:52 -04:00
Tim Steinbach
f866ff4a87 linux: 4.4.193 -> 4.4.194 2019-09-21 20:37:51 -04:00
Tim Steinbach
0e052adaed linux: 4.19.74 -> 4.19.75 2019-09-21 20:37:51 -04:00
Tim Steinbach
819d2cb32e linux: 4.14.145 -> 4.14.146 2019-09-21 20:37:51 -04:00
Matthew Bauer
7dab61dfbf mariadb: disable auth_pam plugin on darwin
Fixes #69034

This plugin doesn’t work right for us now, needs to be disabled. It
was added first in 10.3.18:

91fdb931fa (diff-7cea40646c6b8df9a67a3eac4eec9bc6)
(cherry picked from commit 7e43b4d0ae)
2019-09-21 16:33:24 -04:00
Matthew Bauer
b0b2dad9ec libproxy: only wrap when pxgsettings exists
https://hydra.nixos.org/build/100220165
(cherry picked from commit 60c62446e7)
2019-09-21 16:32:26 -04:00
talyz
26b1cfff1e nomachine-client: 6.7.6 -> 6.8.1
(cherry picked from commit 43dc5c0e8f)
2019-09-21 22:11:03 +02:00
worldofpeace
1f4cd317c0 wrapQtAppsHook: correct skip directories heuristic
(cherry picked from commit 15e99a06a8)
2019-09-21 14:33:39 -04:00
Pierre Bourdon
b66fb91f17 mcomix: add missing setuptools dependency
(cherry picked from commit eef06df7f5)
2019-09-21 13:19:42 -04:00
Nathan van Doorn
98d67eb2c1 kexi: patch error due to Qt 5.13
(cherry picked from commit 550d67cc0b)
2019-09-21 12:04:30 -04:00
Elis Hirwing
ee20bd109a Merge pull request #69200 from c0deaddict/release-19.09
nixos/gitea: fix dump
2019-09-21 12:08:45 +02:00
Elis Hirwing
90718478af cask: Fix cask usage
Without python as a dependency I only get the following error:
/usr/bin/env: ‘python’: No such file or directory

(cherry picked from commit 4f297c2b6f)
2019-09-21 11:45:54 +02:00
Jos van Bakel
0e351ae810 nixos/gitea: fix dump
(cherry picked from commit 86b83f37b8)
2019-09-21 11:24:11 +02:00
Maximilian Bosch
f7f4387a2c openjdk8: add setJavaClassPath-hook to jdk as well
This hook got removed from JDK[1], however without this hook,
the classpath in a Java-build isn't created anymore which caused
several[2][3] broken packages.

[1] https://github.com/NixOS/nixpkgs/pull/65247/files#r324459267
[2] https://hydra.nixos.org/build/100896633
[3] https://hydra.nixos.org/build/100895668

ZHF #68361

(cherry picked from commit 19f88062a6)
2019-09-21 09:38:20 +01:00
Serhii Khoma
564a4c6512 dropbox: 73.4.118 -> 81.4.195
(cherry picked from commit 36c772b5f3)
2019-09-21 09:33:21 +01:00
Vladimír Čunát
2b72c139f5 treewide: mark packages as buildable on darwin (PR #45364)
vcunat amended the commit a bit; see the PR for details/discussion.

(cherry picked from commit 991c0e1618)
2019-09-21 09:40:28 +02:00
Matthew Bauer
62bdec69d3 gcc: fix mising avr limits.h
Fixes #69172

(cherry picked from commit 7b58739e2c)
2019-09-21 08:36:01 +01:00
taku0
1bf3db545c firefox: 69.0 -> 69.0.1
(cherry picked from commit a4edff0fec)
2019-09-21 08:29:53 +01:00
taku0
61201f89da firefox-bin: 69.0 -> 69.0.1
(cherry picked from commit ae20db1f21)
2019-09-21 08:29:48 +01:00
Ruud van Asseldonk
6687613f55 python37Packages.sentry-sdk: use checkInputs
Instead of buildInputs, as there dependencies are only used in tests.

(cherry picked from commit 8a9ebc0b4b)
2019-09-21 08:21:13 +01:00
Ruud van Asseldonk
1abe6495ab python37Packages.sentry-sdk: Fix tests
The tests depend on many third-party libraries, presumably because
Sentry offers integration for each of them. I added these as build
inputs but not propagated build inputs, because they are only needed for
the tests.

(cherry picked from commit ce6145dedc)
2019-09-21 08:21:08 +01:00
Symphorien Gibol
2306020821 python3Packages.python-language-server: add setuptools as a dependency
(cherry picked from commit 727aaae1bb)
2019-09-21 07:48:15 +01:00
worldofpeace
47d65314df Merge pull request #69109 from worldofpeace/backport-xfce
[19.09] Touchups for nixos/xfce4-14
2019-09-20 23:27:40 -04:00
Matthew Bauer
73f612b969 release.nix: remove firefox-unwrapped from darwin-tested
Unfortunately it is broken and I won’t have time to fix right now.
Most likely we will have to wait until the macOS 10.12 update to get
this one working again.

(cherry picked from commit 70f1335f8d)
2019-09-20 23:10:59 -04:00
Matthew Bauer
89a6723d00 Merge pull request #69029 from matthewbauer/remove-iself-iselfdyn-19-09
Revert "setup.sh introduce isELFExec, isELFDyn"
2019-09-20 23:04:15 -04:00
Maximilian Bosch
49f57e66fe mautrix-telegram: 0.6.0 -> 0.6.1
https://github.com/tulir/mautrix-telegram/releases/tag/v0.6.1
(cherry picked from commit ae293ad45e)
2019-09-20 23:38:05 +02:00
hyperfekt
10903f55a8 minecraft: 2015-07-24 -> 2.1.5965
switched to the new official launcher, renamed to minecraft-launcher,
and added an update script

(cherry picked from commit 3a635da857)
2019-09-20 21:55:34 +02:00
Jonathan Ringer
6825f045df python3Packages.python-engineio: 3.4.3 -> 3.9.3
(cherry picked from commit 2d8a5baa9c)
2019-09-20 16:34:01 +01:00
Jonathan Ringer
91abf952f2 python3Packages.uvicorn: 0.8.4 -> 0.9.0
(cherry picked from commit 80d1a3b37c)
2019-09-20 16:33:57 +01:00
Jonathan Ringer
d3f56ac32a python3Packages.websockets: 7.0 -> 8.0.2
(cherry picked from commit 9b092e228b)
2019-09-20 16:33:52 +01:00
Bjørn Forsman
14fa24f87a kicad: fix build
Fix configure time error:
  ...
  ImportError: No module named wx
  CMake Error at CMakeModules/FindwxPython.cmake:52 (message):
    wxPython/Phoenix does not appear to be installed on the system

Only build tested.

Fixes: f7e28bf5d8 ("Split buildPythonPackage into setup hooks")
(cherry picked from commit 5af0d0b5da)
2019-09-20 16:40:38 +02:00
Pierre Bourdon
ea623c7ef8 mono-zeroconf: remove broken package
No dependencies within nixpkgs, and the package has not built
successfully since 2018-04-29 according to Hydra[1].

[1] https://hydra.nixos.org/build/100604053

(cherry picked from commit 21c92c4a1d)
2019-09-20 08:33:45 -04:00
Fabian Möller
21be1354d2 csvs-to-sqlite: 0.9 -> 1.0
(cherry picked from commit 527fc00325)
2019-09-20 10:33:38 +02:00
Maximilian Bosch
6868fcd911 httpie: use python3 by default
This package is intended to be used as application and supports
python3[1] (and is about to deprecated python2.7 support[2]),
so there's no reason to not use it in 2019.

[1] https://github.com/jakubroztocil/httpie/tree/1.0.3#python-version
[2] b3d2c1876e

(cherry picked from commit a7f002ac41)
2019-09-20 10:08:29 +02:00
Georges Dubus
e81404fded httpie: add missing 'setuptools' to propagatedBuildInputs
As a side-effect of f7e28bf, the build no longer propagated 'setuptools', which
is a run-time dependency. See #68314 for further details.

(cherry picked from commit 55bf3b482c)
2019-09-20 08:32:21 +02:00
aszlig
3f2ffe1aa5 ip2unix: 2.1.0 -> 2.1.1
This is just a small bugfix release (essentially adds two lines of code)
which fixes a segfault if using with a program that doesn't pass a
sockaddr buffer to accept() or accept4().

Signed-off-by: aszlig <aszlig@nix.build>
(cherry picked from commit d69bc56e69)
2019-09-20 07:54:44 +02:00
Graham Christensen
499d72936b Merge pull request #69123 from ivan/chromium-77-font-fix-19.09
[19.09] chromium: add patch to fix performance regression with fonts
2019-09-19 19:07:27 -04:00
Graham Christensen
394258da48 Merge pull request #69122 from ivan/77.0.3865.90-for-19.09
[19.09] chromium: 77.0.3865.75 -> 77.0.3865.90
2019-09-19 19:01:22 -04:00
Ivan Kozik
f10c3dea7a chromium: add patch to fix performance regression with fonts
This reverts a commit to fix a serious performance regression
introduced in Chromium 77:

https://bugs.chromium.org/p/chromium/issues/detail?id=1003997

(cherry picked from commit 19d730df85)
2019-09-19 22:27:06 +00:00
Ivan Kozik
275b4eedce chromiumDev: fix widevine support
Upstream moved libwidevinecdm.so from
./opt/google/chrome-unstable/libwidevinecdm.so
to
./opt/google/chrome-unstable/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so

(cherry picked from commit 5456def6b3)
2019-09-19 22:05:14 +00:00
Ivan Kozik
f53ecba979 chromiumDev: fix build by disabling jumbo
This fixes:

FAILED: obj/chrome/browser/ui/ui/ui_jumbo_3.o
../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/chrome/browser/ui/ui/ui_jumbo_3.o.d -DUSE_DBUS -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -DCR_CLANG_REVISION=\"371202-8455294f-1\" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D_LIBCPP_ABI_UNSTABLE -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_NODISCARD -DCR_LIBCXX_REVISION=361348 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DUSE_CUPS -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -DENABLE_IPC_FUZZER -DTOOLKIT_VIEWS=1 -DVK_NO_PROTOTYPES -DGL_GLEXT_PROTOTYPES -DUSE_GLX -DUSE_EGL -DSYNC_PASSWORD_REUSE_DETECTION_ENABLED -DON_FOCUS_PING_ENABLED -DEXPAT_RELATIVE_PATH -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -DLEVELDB_PLATFORM_CHROMIUM=1 -DLEVELDB_PLATFORM_CHROMIUM=1 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0 -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_LINUX -DABSL_ALLOCATOR_NOTHROW=1 -DNO_MAIN_THREAD_WRAPPING -DV8_USE_EXTERNAL_STARTUP_DATA -DSK_GL -DSK_HAS_PNG_LIBRARY -DSK_HAS_WEBP_LIBRARY -DSK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\" -DSK_HAS_JPEG_LIBRARY -DSK_VULKAN_HEADER=\"../../skia/config/SkVulkanConfig.h\" -DSK_VULKAN=1 -DSK_SUPPORT_GPU=1 -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\" -DVK_NO_PROTOTYPES -DV8_DEPRECATION_WARNINGS -DI18N_ADDRESS_VALIDATION_DATA_URL=\"https://chromium-i18n.appspot.com/ssl-aggregate-address/\" -DPERFETTO_IMPLEMENTATION -I. -I../.. -Igen -Igen/shim_headers/snappy_shim -I../../third_party/libyuv/include -Igen/shim_headers/libpng_shim -Igen/shim_headers/libwebp_shim -I../../third_party/khronos -I../../gpu -I../../third_party/vulkan/include -Igen/shim_headers/opus_shim -Igen/third_party/dawn -I../../third_party/dawn/src/include -Igen/shim_headers/flac_shim -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/protobuf/src -I../../third_party/boringssl/src/include -I../../third_party/cacheinvalidation/overrides -I../../third_party/cacheinvalidation/src -Igen/third_party/metrics_proto -I../../third_party/leveldatabase -I../../third_party/leveldatabase/src -I../../third_party/leveldatabase/src/include -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/webrtc_overrides -I../../third_party/webrtc -Igen/third_party/webrtc -I../../third_party/abseil-cpp -I../../third_party/skia -I../../third_party/vulkan/include -I../../third_party/skia/third_party/vulkanmemoryallocator -I../../third_party/vulkan/include -I../../third_party/libwebm/source -I../../v8/include -Igen/v8/include -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen/third_party/perfetto -Igen/third_party/perfetto -Igen/third_party/perfetto -Igen/third_party/perfetto -Igen/third_party/perfetto -I../../third_party/re2/src -I../../third_party/mesa_headers -Igen -Igen -Igen -Igen -I../../third_party/libaddressinput/src/cpp/include -Igen/components/sync/protocol -I../../third_party/flatbuffers/src/include -I../../third_party/perfetto -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -I../../third_party/brotli/include -I../../third_party/zlib -I../../third_party/fontconfig/src -Igen -Igen -Igen -Igen -Igen -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -Xclang -mllvm -Xclang -instcombine-lower-dbg-declare=0 -fcomplete-member-pointers -m64 -march=x86-64 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -no-canonical-prefixes -Wall -Wextra -Wimplicit-fallthrough -Wthread-safety -Wextra-semi -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-ignored-pragma-optimize -Wno-implicit-int-float-conversion -Wno-xor-used-as-pow -Wno-c99-designator -Wno-reorder-init-list -Wno-final-dtor-non-final-class -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors -I/nix/store/fn0ag3ahbrjjjbsqb2846x321zj4jika-glib-2.60.7-dev/include -I/nix/store/fn0ag3ahbrjjjbsqb2846x321zj4jika-glib-2.60.7-dev/include/glib-2.0 -I/nix/store/ilk1606qj4pqzsplnnzycsxpzl6pjss8-glib-2.60.7/lib/glib-2.0/include -Wno-shorten-64-to-32 -Wno-header-guard -I/nix/store/c3i4il1c0n9mjhzm1dsvcw8h8d973s0b-nspr-4.21-dev/include -I/nix/store/qk3racv0a2967wsk0g9ps9wlbfn17faj-nss-3.46-dev/include/nss -I/nix/store/v85mz845m1hv2xlhp0zvxv36pmsfbc3q-dbus-1.12.16-dev/include/dbus-1.0 -I/nix/store/j3sv2g9s6dnlh672rwx0mmlkcm37v1k8-dbus-1.12.16-lib/lib/dbus-1.0/include -std=c++14 -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include -fvisibility-inlines-hidden -c gen/chrome/browser/ui/ui_jumbo_3.cc -o obj/chrome/browser/ui/ui/ui_jumbo_3.o
warning: unknown warning option '-Wno-implicit-int-float-conversion'; did you mean '-Wno-implicit-float-conversion'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-xor-used-as-pow'; did you mean '-Wno-unused-macros'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-c99-designator'; did you mean '-Wno-gnu-designator'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-reorder-init-list'; did you mean '-Wno-empty-init-stmt'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-final-dtor-non-final-class'; did you mean '-Wno-abstract-final-class'? [-Wunknown-warning-option]
In file included from gen/chrome/browser/ui/ui_jumbo_3.cc:24:
./../../chrome/browser/ui/views/profiles/profile_menu_view.cc:68:25: error: redefinition of 'GetProfileAttributesEntry'
ProfileAttributesEntry* GetProfileAttributesEntry(Profile* profile) {
                        ^
./../../chrome/browser/ui/views/profiles/avatar_toolbar_button.cc:49:25: note: previous definition is here
ProfileAttributesEntry* GetProfileAttributesEntry(Profile* profile) {
                        ^
5 warnings and 1 error generated.

(cherry picked from commit 44957a9f30)
2019-09-19 22:05:14 +00:00
Ivan Kozik
dcc6d8c4ae chromium: 77.0.3865.75 -> 77.0.3865.90
CVE-2019-13685 CVE-2019-13688 CVE-2019-13687 CVE-2019-13686

(cherry picked from commit 2e2a9ae22a)
2019-09-19 22:05:14 +00:00
worldofpeace
22f4e6e765 fixup! nixos/xfce4-14: cleanup defaults slightly
(cherry picked from commit 0b73294d60)
2019-09-19 13:26:27 -04:00
worldofpeace
ac71ccf8d6 nixos/xfce4-14: cleanup defaults slightly
We added
- parole
- pavucontrol
- xfce4-taskmanager
- xfwm4-themes

to the default packages.

(cherry picked from commit f6398d8ba2)
2019-09-19 13:26:24 -04:00
worldofpeace
066760240e nixos/xfce4-14: add gnome-themes-extra
(cherry picked from commit f85e126f8c)
2019-09-19 13:26:22 -04:00
worldofpeace
57d5f08181 nixos/xfce4-14: remove gtk-xfce-engine
Xfce 4.14 deprecated this.
It had many gtk2 themes that don't work that confused users #68977.

(cherry picked from commit 5bcec7642f)
2019-09-19 13:26:18 -04:00
worldofpeace
2e8d26341e xfceUnstable: make an alias
To be removed with xfce4-12.

(cherry picked from commit a8167d10f6)
2019-09-19 13:25:50 -04:00
Tim Steinbach
4fd551ee2f linux: 5.2.15 -> 5.2.16 2019-09-19 10:09:34 -04:00
Tim Steinbach
c536f0e168 linux: 4.19.73 -> 4.19.74 2019-09-19 10:09:34 -04:00
Tim Steinbach
ba6769a045 linux: 4.14.144 -> 4.14.145 2019-09-19 10:09:34 -04:00
Claudio Bley
d0c0f0d737 ntopng: Add patch needed to build with newer libpcap
Fixes build errors for the third-party mongoose module:
```
In file included from
/nix/store/r5s3w32ahjzdlzsfrhybc3l2qcpi6yb2-libpcap-1.9.0/include/pcap.h:43,
                 from /build/ntopng-2.0/include/ntop_includes.h:93,
                                  from src/HTTPserver.cpp:22:
/nix/store/r5s3w32ahjzdlzsfrhybc3l2qcpi6yb2-libpcap-1.9.0/include/pcap/pcap.h:958: note: this is the location of the previous definition
   #define INVALID_SOCKET -1

src/../third-party/mongoose/mongoose.c:270:13: error: multiple types in one declaration
 typedef int SOCKET;
             ^~~~~~
```
2019-09-19 22:34:41 +09:00
Peter Hoeg
1831478b18 Merge pull request #69069 from peterhoeg/u/stable_mosquitto_166
mosquitto: 1.6.4 -> 1.6.6
2019-09-19 14:40:48 +08:00
Peter Hoeg
bd890d87de libwebsockets: re-init 3.1
(cherry picked from commit b02b889255)
2019-09-19 10:28:36 +08:00
Peter Hoeg
0c2615a3c2 mosquitto: 1.6.5 -> 1.6.6
(cherry picked from commit 6605fffa17)
2019-09-19 10:26:15 +08:00
Peter Hoeg
c756b06570 mosquitto: 1.6.4 -> 1.6.5
(cherry picked from commit 05ee2af77d)
2019-09-19 10:26:05 +08:00
Jan Tojnar
f2b96c7bde Merge branch 'release-19.09' into staging-19.09 2019-09-18 23:20:21 +02:00
Graham Christensen
2121897d12 Merge pull request #69043 from jtojnar/no-wrap-doc-19.09
[19.09] doc: Disable wrapping source
2019-09-18 17:19:09 -04:00
Jan Tojnar
7aa93673a1 doc: re-format 2019-09-18 22:27:27 +02:00
Jan Tojnar
37f6004e8f nixos/doc: re-format 2019-09-18 22:26:40 +02:00
Jan Tojnar
7909a8fd21 doc: Disable wrapping source
Even a simple typo fix can result in a reflow of a whole paragraph, leading to illegible diffs. The majority of text editors supports wrapping the source code to a comfortable width so it makes sense to me to sacrifice the few that do not rather than the unfortunately line-oriented diff tools.

(cherry picked from commit 641f6356d3)
2019-09-18 22:26:10 +02:00
Maximilian Bosch
9c19a2e51a nixos/sway: install swaybg by default
(cherry picked from commit 713fda2eb5)
2019-09-18 21:52:05 +02:00
Bjørn Forsman
4d3136c3a5 mdadm: fix path to sendmail
Without this, mdadm won't be able to send email notifications:

  $ sudo mdadm --monitor --scan --test
  sh: /nix/store/2v8jn0lxza72grcm6hciak9fpgm7xb3a-system-sendmail-1.0: Is a directory

Fixes: b074a40f74 ("mdadm: use shared system-sendmail")
(cherry picked from commit 6b3832a519)
2019-09-18 20:57:51 +02:00
Averell Dalton
e73366b9e0 pythonPackages.iso-639: add setuptools dependency
(cherry picked from commit e853270354)
2019-09-18 14:45:08 -04:00
Matthew Bauer
da138686f6 Revert "setup.sh introduce isELFExec, isELFDyn"
This is broken in PIE (#68513). Best to not keep it in otherwise something
else will start using it.

This reverts commit e1b80a5a99.
2019-09-18 11:33:40 -04:00
Joachim Fasting
2031771388 tests/hardened: fix build
Bug introduced by 4ead3d2ec3

For ZHF https://github.com/NixOS/nixpkgs/issues/68361

(cherry picked from commit eb59755f70)
2019-09-18 15:40:03 +02:00
Thomas Tuegel
9d98bb75c4 Merge pull request #69015 from petabyteboy/feature/qt-patches-staging-19.09
qt5.12: Add patches for QTBUG-73459 and QTBUG-69077 (19.09)
2019-09-18 05:45:41 -05:00
Milan Pässler
e33ca60155 qt5.12: Add patches for QTBUG-73459 and QTBUG-69077
QT 5.12 introduced a regression, where a QT program wouldn't show its
tray icon, if there was no tray bar during program startup. (QTBUG-73459)

QT 5.12 introduced a regression, where qtwebengine applications would
freeze in some wayland compositors if a surface from the instance was not
visible (for example having a qutebrowser window on another workspace in
sway would freeze all qutebrowser windows).

Both got fixed already in Qt 5.12.4, but according to #57042 and its
sibling issues/PRs it doesn't seem to get fixed in near future for
nixpkgs.
2019-09-18 11:23:16 +02:00
Vladimír Čunát
604acd44f7 expat: patch CVE-2019-15903 (from Debian, issue #68818)
I hope this URL will last for a few months, feel free to find better.

(cherry picked from commit 531fe80e12)
2019-09-18 09:32:14 +02:00
worldofpeace
c8c01e2a95 doc/stdenv: document meson variables
(cherry picked from commit cd518845e2)
2019-09-17 21:33:57 -04:00
Enno Lohmeier
44808beb7d xmind: fix shell escape
(cherry picked from commit 11435e0616)
2019-09-18 02:45:55 +02:00
Symphorien Gibol
8ebd14f1f4 paperwork: include setuptools to fix startup
(cherry picked from commit 944aa2bb0d)
2019-09-17 20:31:18 -04:00
Martin Weinelt
0195953af1 pythonPackages.markdown: add missing setuptools to propagatedBuildInput
Fixes the following ImportError on application startup:

/nix/store/qh7ndfsar3icmwqbiwcla7pc8x1133vg-python2.7-Markdown-3.1.1/bin/markdown_py README.md > README.html.new
Traceback (most recent call last):
  File "/nix/store/qh7ndfsar3icmwqbiwcla7pc8x1133vg-python2.7-Markdown-3.1.1/bin/.markdown_py-wrapped", line 7, in <module>
    from markdown.__main__ import run
  File "/nix/store/qh7ndfsar3icmwqbiwcla7pc8x1133vg-python2.7-Markdown-3.1.1/lib/python2.7/site-packages/markdown/__init__.py", line 25, in <module>
    from .core import Markdown, markdown, markdownFromFile
  File "/nix/store/qh7ndfsar3icmwqbiwcla7pc8x1133vg-python2.7-Markdown-3.1.1/lib/python2.7/site-packages/markdown/core.py", line 29, in <module>
    import pkg_resources
ImportError: No module named pkg_resources
make: *** [Makefile:53: README.html] Error 1

(cherry picked from commit 2b239b5b30)
2019-09-17 20:23:15 -04:00
Alyssa Ross
6bf88448d0 tarsnap: fix license to mark as unfree
tarsnap has always been unfree, but this wasn't expressed properly, so
it wouldn't be caught by allowUnfree = false.

(cherry picked from commit 39b5f5956e)
2019-09-18 02:17:18 +02:00
Eelco Dolstra
b8907a3dcb Typo
(cherry picked from commit b9ed9c7fed)
2019-09-18 02:16:53 +02:00
Will Dietz
0698072a4e wireguard: 0.0.20190702 -> 0.0.20190913
(cherry picked from commit c6af7bf1ac)
2019-09-18 02:16:52 +02:00
Will Dietz
2abfe481b1 linuxPackages*.intel-speed-select (5.3+)
(cherry picked from commit 08466b3467)
2019-09-18 02:16:51 +02:00
Franz Pletz
1ab7e90e53 firmwareLinuxNonfree: 2019-07-17 -> 2019-08-15
(cherry picked from commit 6bbf9dc419)
2019-09-18 02:16:50 +02:00
Tim Steinbach
e79e95047c linux: Add 5.3, linux-libre: 16791 -> 16794
Update linuxPackages_latest to 5.3

(cherry picked from commit 921071da08)

Rationale for backport: Stable kernels (currently 5.2) will not be
maintained shortly after the next mainline release, which is currently
5.3.
2019-09-18 02:16:49 +02:00
Franz Pletz
89b0b1f655 linux_testing: mark as broken
This commit marks the rc linux kernel as broken just on the release
branch. Since testing kernels are neither regularly updated nor
backported by us to stable we shouldn't encourage using them.
2019-09-18 02:16:48 +02:00
Tim Steinbach
ffe0c68001 linux: 5.2-rc7 -> 5.3-rc5
(cherry picked from commit 6d6c3f66b0)
2019-09-18 02:16:43 +02:00
Robin Gloster
97b530a198 hardware.brightnessctl: add brightnessctl to env
(cherry picked from commit 9566ec034b)
2019-09-18 00:09:19 +02:00
worldofpeace
76672adfd2 nixos/release: add gnome3 closure
(cherry picked from commit fb45993a62)
2019-09-17 17:54:07 -04:00
Jonathan Ringer
e228f3fa65 python3Packages.boltztrap2: fix build
(cherry picked from commit afc1e5f1a7)
2019-09-17 21:37:31 +02:00
WilliButz
5066fad592 prometheus-blackbox-exporter: 0.15.0 -> 0.15.1
(cherry picked from commit ec885ad2a8)
2019-09-17 21:34:32 +02:00
Aaron Andersen
5d06c83ba2 valum: 0.3.15 -> 0.3.16
(cherry picked from commit 41f25ab575)
2019-09-17 13:45:01 -04:00
worldofpeace
a18d12aeab scribusUnstable: drop harfbuzz
(cherry picked from commit 446dd2543d)
2019-09-17 13:44:33 -04:00
Will Dietz
1e724d939a openconnect: 8.04 -> 8.05 (security!)
https://www.infradead.org/openconnect/changelog.html

( CVE-2019-16239 )

(cherry picked from commit 7d2ec5eeb8)
2019-09-17 13:07:28 -04:00
Maximilian Bosch
3109b42c7e evcxr: 0.4.4 -> 0.4.5
New release: https://github.com/google/evcxr/blob/v0.4.5/RELEASE_NOTES.md#version-045

Also added myself as maintainer and removed `zeromq` from the build
inputs as it's now vendored by upstream.

(cherry picked from commit af564fbd8a)
2019-09-17 12:59:23 -04:00
José Romildo Malaquias
c2ea3b1926 mate.atril: 1.22.1 -> 1.22.2
(cherry picked from commit 36daaa7c67)
2019-09-17 12:49:51 -04:00
Daniel Fullmer
c9453e32b0 k2pdfopt: Fix build and clean up
(cherry picked from commit 740d4c22ec)
2019-09-17 15:16:08 +02:00
Dima
28e5cee047 setools: 4.2.0 -> 4.2.2 and fixing build
The build was broken because meanwhile setools requires cython
and no bison, swig and flex anymore.

Also, bumping version to newest release, which is not directly related
to the build breakage.

(cherry picked from commit afc4110dac)
2019-09-17 07:44:56 -04:00
Dima
3a16352368 networkx: fixing undeclared dependency
the current version of networkx implicitly depends on
pkg_resources from setuptools to check the version of
pydot (https://github.com/networkx/networkx/issues/3173).

(cherry picked from commit 5b3fb23360)
2019-09-17 07:37:17 -04:00
Francesco Gazzetta
e83682c0d8 sfxr-qt: fix build by adding setuptools native dep
(cherry picked from commit 65bda96630)
2019-09-17 07:33:43 -04:00
marius851000
4ff0d77746 protonvpn-cli: fix missing runtime dependancies
(cherry picked from commit f924dc9f99)
2019-09-17 07:23:12 -04:00
Elis Hirwing
7326cf9239 Merge pull request #68955 from aanderse/moodle
nixos/moodle: add extraConfig option
2019-09-17 12:53:13 +02:00
Aaron Andersen
196a0d795f nixos/moodle: add extraConfig option
(cherry picked from commit 7491f85e4f)
2019-09-17 06:23:18 -04:00
Graham Christensen
97b15a4b4a alacritty: fix path to xdg-open
(cherry picked from commit 21dd0207b2)
2019-09-17 10:39:06 +02:00
Craige McWhirter
ea765f50b3 zcash: Add libsnark to stop build failures
Wanted for #68361

zcash build fails due to missing `profiling.hpp` which is provided by
`libsnark`.

(cherry picked from commit 2c9bab7ec2)
2019-09-16 18:39:54 -04:00
Maximilian Bosch
00eb854993 todoist: fix gomod hash
(cherry picked from commit 3161b0319b)
2019-09-16 23:17:14 +02:00
Ricardo M. Correia
6201f65df8 todoist: 0.13.1 -> 0.14.0
(cherry picked from commit fadebf39ed)
2019-09-16 23:17:11 +02:00
Jonathan Ringer
cb2bda9b3c pythonPackage.celery: fix tests
(cherry picked from commit 47a3a1127f)
2019-09-16 22:04:48 +02:00
Tim Steinbach
e4d1964ede linux: 5.2.14 -> 5.2.15
(cherry picked from commit ef13578aac)
2019-09-16 14:06:11 -04:00
Tim Steinbach
3c82789129 linux: 5.2.13 -> 5.2.14
(cherry picked from commit 9145123508)
2019-09-16 14:06:11 -04:00
Tim Steinbach
28bf760b2e linux: 4.9.192 -> 4.9.193
(cherry picked from commit 9ea89fd6c7)
2019-09-16 14:06:10 -04:00
Tim Steinbach
d42669ca41 linux: 4.9.191 -> 4.9.192
(cherry picked from commit 9c148f8c11)
2019-09-16 14:06:10 -04:00
Tim Steinbach
8c08d64846 linux: 4.4.192 -> 4.4.193
(cherry picked from commit f282e78e4b)
2019-09-16 14:06:10 -04:00
Tim Steinbach
3d8760f440 linux: 4.4.191 -> 4.4.192
(cherry picked from commit 3e828aa8c4)
2019-09-16 14:06:10 -04:00
Tim Steinbach
fe3530badb linux: 4.19.72 -> 4.19.73
(cherry picked from commit 572785b869)
2019-09-16 14:06:09 -04:00
Tim Steinbach
407a7c5a9e linux: 4.19.71 -> 4.19.72
(cherry picked from commit feb7dc93b9)
2019-09-16 14:06:09 -04:00
Tim Steinbach
b864a8d67b linux: 4.14.143 -> 4.14.144
(cherry picked from commit 57a9aa53f9)
2019-09-16 14:06:09 -04:00
Tim Steinbach
fc206f4960 linux: 4.14.142 -> 4.14.143
(cherry picked from commit 64bd7a34f9)
2019-09-16 14:06:09 -04:00
Vladimír Čunát
b4e6d2bebd Re-revert "pythonPackages.flaky: 3.5.3 -> 3.6.1 (#68411)"
This reverts commit 047e326191.
i.e. the change is moved from the release-19.09 branch to staging-19.09.
2019-09-16 20:00:58 +02:00
Vladimír Čunát
20e6e12856 Merge branch 'release-19.09' into staging-19.09 2019-09-16 20:00:38 +02:00
Vladimír Čunát
047e326191 Revert "pythonPackages.flaky: 3.5.3 -> 3.6.1 (#68411)"
This reverts commit 755c9f3ba2.
I'm moving this to the staging-19.09 branch, similarly to a95a53aa.
It's a huge rebuild (on the order of 20k jobs), and it seems like that
was not noticed, and I can't see sufficient motivation to skip ahead of
other changes in staging-19.09.  Here my motivation is mainly to reduce
the total amount of work necessary for Hydra.
2019-09-16 19:29:20 +02:00
Aaron Andersen
f06863eaba Merge pull request #68923 from mmahut/68892-19.09
zabbix: 4.2.5 -> 4.2.6, 4.0.11 -> 4.0.12
2019-09-16 11:55:38 -04:00
Aaron Andersen
c031e561f7 zabbix: 4.2.5 -> 4.2.6, 4.0.11 -> 4.0.12
(cherry picked from commit 908a842c89)
2019-09-16 17:35:26 +02:00
Will Dietz
281e574983 bison: 3.4.1 -> 3.4.2, bugfix release (#68734)
(cherry picked from commit b86f9d6d46)
2019-09-16 10:59:03 -04:00
Sebastian Ullrich
4976c82fb0 ccacheWrapper: make usable with clang
Override original `wrapCCWith` call to preserve essential arguments

(cherry picked from commit 046ea6d08f)
2019-09-16 15:16:51 +02:00
Andreas Rammhold
08ef9a84fd Merge remote-tracking branch 'origin/release-19.09' into staging-19.09 2019-09-16 08:54:11 +02:00
Pavol Rusnak
755c9f3ba2 pythonPackages.flaky: 3.5.3 -> 3.6.1 (#68411)
(cherry picked from commit b44fca1702)
2019-09-16 00:29:28 -04:00
Sascha Grunert
2f35266255 cri-o: 1.15.1 -> 1.15.2 (#68490)
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
(cherry picked from commit 29819009ec)
2019-09-16 00:16:22 -04:00
Yurii Izorkin
ca0e768e28 mariadb: 10.3.17 -> 10.3.18 (#68541)
* mariadb: fix library locate

* mariadb: 10.3.17 -> 10.3.18

(cherry picked from commit 6c97b0486c)
2019-09-15 23:49:46 -04:00
Will Dietz
f21863ddcc modemmanager: 1.10.0 -> 1.10.4
Update dbus-sys-dir to not use deprecated directory.

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/blob/1.10.4/NEWS
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/blob/1.10.2/NEWS

Co-authored-by: worldofpeace <worldofpeace@protonmail.ch>
(cherry picked from commit 2182157f31)
2019-09-15 21:34:01 -04:00
Edmund Wu
e6b068cd95 vscodium: 1.38.0 -> 1.38.1
(cherry picked from commit 703471064b)
2019-09-15 21:18:07 -04:00
Edmund Wu
ef045ed26d vscode: 1.38.0 -> 1.38.1
(cherry picked from commit e4d2f259db)
2019-09-15 21:18:01 -04:00
worldofpeace
d1d4055f0d qt5.qtwebengine: reduce log output
Identical fix as 6f1ad0676f.

(cherry picked from commit f21f980ab8)
ZHF: #68361
2019-09-15 21:09:53 -04:00
worldofpeace
735afd9a82 gnome3.mutter328: fix graphical glitches in gala
See https://github.com/elementary/gala/issues/605 and patch

(cherry picked from commit 139806d89d)
2019-09-15 20:32:06 -04:00
Maximilian Bosch
f57ef9c830 python2Packages.pytest_5: disable build
`pytest_5` only supports python3[1], however the python2 build was enabled by
separating pytest_4 and pytest_5 into two different attributes.

ZHF #68361

[1] https://docs.pytest.org/en/latest/py27-py34-deprecation.html

(cherry picked from commit 5f1c02a1c9)
2019-09-16 01:38:16 +02:00
José Romildo Malaquias
f7e407e0ca deepin.deepin-wm: use vala-0.42 to avoid compilation errors
(cherry picked from commit 11ac4397a5)
2019-09-15 18:24:23 -04:00
Daniel Schaefer
520ab844ac chipsec: 1.4.0 -> 1.4.1
(cherry picked from commit f25e86411c)
2019-09-15 23:42:22 +02:00
Daniel Schaefer
13d11d87ad chipsec: 1.3.7 -> 1.4.0
(cherry picked from commit 908ecd5cb7)
2019-09-15 23:42:22 +02:00
Dima
539626acd3 linux-libre: fixing build / deblobbing (#68844)
Build was failing because we were depending on tagged versions of
the deblobbing scripts. The tags are not updated and thus newer
changes required won't be reflected unless the tag is re-created, which
might not be reliably the case.

So bumping revision and switching to use the branches to access the
deblob scripts.

For context, in our case the missing change is:

--- /nix/store/sfc0rrhj5l44zpqgpsymq5750k5wzg8p-tags-r16790/4.19-gnu/deblob-4.19	1970-01-01 01:00:01.000000000 +0100
+++ ../deblob-4.19	2019-09-14 14:53:44.637404289 +0200
@@ -1879,7 +1879,11 @@

 announce BRCMFMAC - "Broadcom IEEE802.11n embedded FullMAC WLAN driver"
 reject_firmware drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
-reject_firmware drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
+if grep -q firmware_request_nowarn drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c; then
+  reject_firmware_nowarn drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
+else
+  reject_firmware drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
+fi
 clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c
 clean_blob drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.h

(cherry picked from commit 2a8f7d71ce)
2019-09-15 20:00:13 +00:00
Silvan Mosberger
6fb5a76570 nixos/redshift: Add rename for provider option
This was an oversight in https://github.com/NixOS/nixpkgs/pull/64309
resulting it backwards incompatibilities

(cherry picked from commit e686b39288)
2019-09-15 21:46:35 +02:00
Silvan Mosberger
f571f10ddb nixos/redshift: Move option renames to the module
(cherry picked from commit ecf5f85a81)
2019-09-15 21:46:28 +02:00
Jonathan Ringer
414c356441 pythonPackages.azure-common: fix namespace lookup
(cherry picked from commit 4a17217696)
2019-09-15 20:09:12 +02:00
Jonathan Ringer
f5c93cf178 pythonPackages.azure-mgmt-common: fix namespace issue
(cherry picked from commit fdd6245e53)
2019-09-15 20:09:12 +02:00
Jonathan Ringer
7be24ac2fb nixops_1_6_1: pin azure-storage
(cherry picked from commit a0440ad8b5)
2019-09-15 20:09:12 +02:00
Fabian Möller
425c2df37c mitmproxy: add pytest5 compatability
(cherry picked from commit 5d0c384fc1)
2019-09-15 19:26:16 +02:00
Mario Rodas
1b6105e2d1 diff-pdf: 2017-12-30 -> 0.3
(cherry picked from commit 1743fc5e4d)
2019-09-15 19:03:32 +02:00
Maximilian Bosch
277d648ffc nix-du: update version to show actual rev's date rather than git-master
(cherry picked from commit 050646af12)
2019-09-15 18:51:48 +02:00
danme
a982d99b28 nix-du: 0.3.0 -> master
recent master fixes the build problem.

(cherry picked from commit 586946829c)
2019-09-15 18:51:48 +02:00
Will Dietz
6ac09f48c7 dhcpcd: 8.0.3 -> 8.0.6
https://roy.marples.name/blog/dhcpcd-8-0-6-released
(cherry picked from commit 0d287a2786)
2019-09-15 17:12:17 +02:00
Bjørn Forsman
5d651b3a17 pythonPackages.demjson: disable on python 3
It doesn't seem to support _any_ python 3 versions.

(cherry picked from commit 6ba044c166)
2019-09-15 16:37:28 +02:00
Aaron Andersen
9c936bd8fd cataract: fix broken build
(cherry picked from commit 806dfb3f6a)
2019-09-15 15:52:10 +02:00
Averell Dalton
0d38802d66 nextcloud: fix deprecation warning
(cherry picked from commit 56e5dddf7c)
2019-09-15 15:41:17 +02:00
Aaron Andersen
e290cd1001 Merge pull request #68640 from peterhoeg/f/zm
zoneminder: fix the build
2019-09-15 09:38:15 -04:00
Silvan Mosberger
30eb7ba00b radicale: Fix runtime
Needed pkg_resources module, which apparently comes from setuptools
according to https://stackoverflow.com/a/10538412/6605742

(cherry picked from commit b7f54d4ffa)
2019-09-15 15:09:27 +02:00
Aaron Andersen
64e38f246a tome4: fix broken build
(cherry picked from commit 792f80d918)
2019-09-14 15:22:05 -04:00
Peter Simons
4b342f658b Merge pull request #68500 from peti/t/mailman
[release-19.09] port new Mailman & Postorius & Hyperkitty NixOS module from master
2019-09-14 20:54:38 +02:00
Vladimír Čunát
cedc990e3f ffmpeg_4, ffmpeg_full: 4.2 -> 4.2.1
Fixes #68561 CVE-2019-15942.

(cherry picked from commit 260761649b)
2019-09-14 20:15:55 +02:00
Pierre Bourdon
135093700b home-assistant: add missing setuptools dependency
Fixes currently broken nixos hass test: https://hydra.nixos.org/build/100923199

(cherry picked from commit 6a0c11b931)
2019-09-14 17:14:13 +02:00
Vladimír Čunát
7d2085c100 Merge #68776: thunderbird*: 68.0 -> 68.1.0 (security)
(cherry picked from commit 152f1e6577)
Re-tested for a while.
2019-09-14 16:27:01 +02:00
Maximilian Bosch
032187ae20 paperless: fix cors header
`django-cors-headers` 3.x (which is used in nixpkgs) requires a scheme
for allowed hosts. Upstream uses 2.4, however we create the python env
with Nix, so the source needs to be patched accordingly.

(cherry picked from commit 0d5806fefd)
2019-09-14 15:20:23 +02:00
Daniel Schaefer
d8986ddc6d paperless: Use pytest_4 in django-crispy-forms
Doesn't build with pytest_5

(cherry picked from commit cbab4663f3)
2019-09-14 15:20:23 +02:00
Daniel Schaefer
4dee67cb9b pytest: Add pytest_4 as its own attribute
Many packages aren't yet updated to handle the incompatible changes of
pytest5 so we still need v4.

(cherry picked from commit 34b58364e4)
2019-09-14 15:20:23 +02:00
Vladimír Čunát
5685f3bf61 Merge #68753: firefox-60-esr: 60.8.0esr -> 60.9.0esr
(cherry picked from commit 92604b88b3)
Re-tested on this branch for a while.
2019-09-14 15:14:08 +02:00
Daniel Schaefer
d0d0a15175 bareos: Mark as broken
Doesn't have a maintainer.
Doesn't work with our new glusterfs version.
bareos18 has changed from autotools to cmake so the derivation has to be
completely rewritten.

(cherry picked from commit e416a39464)
2019-09-14 15:08:27 +02:00
Doron Behar
321d7a25e2 sccache: 0.2.10 -> 0.2.11
(cherry picked from commit 4a99b423fe)
2019-09-14 15:00:09 +02:00
Maximilian Bosch
57955dfc6a documize-community: 3.2.0 -> 3.3.0
https://github.com/documize/community/releases/tag/v3.3.0
(cherry picked from commit c6f257265d)
2019-09-14 14:54:55 +02:00
Maximilian Bosch
5e1b7b60f0 python3Packages.face_recognition_models: fix startup
(cherry picked from commit e176117a81)
2019-09-14 14:48:20 +02:00
Maximilian Bosch
c1f47a59dc python3Packages.dlib: fix build
The CMake configuring is done in the `setup.py` and doesn't need to be
done by the setup hook. This broke the build as the setup-hook switches
into `source/build` which doesn't have a `setup.py`.

Relying on the setup script from upstream fixes the issue.

ZHF #68361

(cherry picked from commit 72ec538d2c)
2019-09-14 14:48:20 +02:00
Daniel Schaefer
0ae0e890fb ape: 6.7-131003 -> 2019-08-10
(cherry picked from commit ea3ea651f9)
2019-09-14 14:43:26 +02:00
Herwig Hochleitner
d1cd6f8db3 Merge pull request #60833 from jflanglois/chromium-widevine
chromium: fix widevine
(cherry picked from commit dd57bf928b)
2019-09-14 14:39:32 +02:00
Ivan Kozik
4546877d23 chromium: 76.0.3809.132 -> 77.0.3865.75
CVE-2019-5870 CVE-2019-5871 CVE-2019-5872 CVE-2019-5873
CVE-2019-5874 CVE-2019-5875 CVE-2019-5876 CVE-2019-5877
CVE-2019-5878 CVE-2019-5879 CVE-2019-5880 CVE-2019-5881
CVE-2019-13659 CVE-2019-13660 CVE-2019-13661 CVE-2019-13662
CVE-2019-13663 CVE-2019-13664 CVE-2019-13665 CVE-2019-13666
CVE-2019-13667 CVE-2019-13668 CVE-2019-13669 CVE-2019-13670
CVE-2019-13671 CVE-2019-13673 CVE-2019-13674 CVE-2019-13675
CVE-2019-13676 CVE-2019-13677 CVE-2019-13678 CVE-2019-13679
CVE-2019-13680 CVE-2019-13681 CVE-2019-13682 CVE-2019-13683

(cherry picked from commit d66430be79)
2019-09-14 14:37:50 +02:00
Daniel Schaefer
4909a5e764 twister: 0.9.34 -> 2019-08-19
(cherry picked from commit 42243e46b1)
2019-09-14 14:25:27 +02:00
Will Dietz
5c0ad0e3b2 networkmanager,modemmanager: fix service symlinks for systemd v243
Fixes problems such as:

systemd[1]: Failed to put bus name to hashmap: File exists
systemd[1]: dbus-org.freedesktop.nm-dispatcher.service: Two services allocated for the same bus name org.freedesktop.nm_dispatcher, refusing operation.

Problem is that systemd treats symlinks to files outside the service
path differently, causing our old workaround to look like two separate services.

These symlinks are intended to be a means for manually emulating
the behavior of the `Alias=` directive in these services.
Unfortunately even making these symlinks relative isn't enough,
since they don't make it to where it matters--
that only makes the links in /etc/static/systemd/system/*
relative, with systemd still being shown non-relative links
in /etc/systemd/system/*.

To fix this, drop all of this at the package level
and instead simply specify the aliases in the NixOS modules.

Also handle the same for modemmanager,
since the networkmanager NixOS module also handles that.

(cherry picked from commit 447d625edc)
2019-09-14 08:07:29 -04:00
Robin Gloster
539f1d177a xen_4_10: 4.10.0 -> 4.10.4
glusterfs compatibility fix, also added Wno-error flags for gcc8
compatibility

(cherry picked from commit dcdf68ee01)
2019-09-14 14:06:44 +02:00
Maximilian Bosch
cb48999619 nixos/hydra: incorporate upstream changes and update test
During the last update, `hydra-notify` was rewritten as a daemon which
listens to postgresql notifications for each build[1]. The module
uses the `hydra-notify.service` unit from upstream's Hydra module and
the VM test ensures that email notifications are sent properly.

Also updated `hydra-init.service` to install `pg_trgm` on a local
database if needed[2].

[1] c7861b85c4
[2] 8a0a5ec3a3

(cherry picked from commit ce37a040c2)
2019-09-14 13:38:39 +02:00
Maximilian Bosch
4ab56cbc95 nixos/hydra: fix test
We ship `https://cache.nixos.org` as binary cache by default which
automatically substitutes the test derivation used inside the Hydra
test. However it needs to be built locally to confirm that
`hydra-queue-runner` works properly.

Also inherited the platform name for the test derivation from `system`
to ensure that the build can be tested on each supported platform.

ZHF #68361

(cherry picked from commit 7f136b5a56)
2019-09-14 13:38:39 +02:00
Maximilian Bosch
d16b279990 hydra: 2019-05-06 -> 2019-08-30
(cherry picked from commit b898c262c1)
2019-09-14 13:38:37 +02:00
obadz
aac9559099 citrix-receiver: decomission in favor of citrix-workspace.
Already documented in #64645

(cherry picked from commit e5e6b514f5)
2019-09-14 13:24:32 +02:00
WilliButz
b19cce9050 httplz: 1.5.2 -> 1.6.0, add openssl to PATH
(cherry picked from commit 91bb6cf407)
2019-09-14 12:49:12 +02:00
Daniel Schaefer
286008d9cc httplz: Fix build with openssl_1_0_2
The rust crate dependency that wraps OpenSSL doesn't support the Openssl
1.1.

(cherry picked from commit acf571eec4)
2019-09-14 12:49:10 +02:00
Jonathan Ringer
b6d35154ef pythonPackages.azure-servicebus: 0.50.0 -> 0.50.1
(cherry picked from commit e5aba9c007)
2019-09-14 12:40:51 +02:00
Jonathan Ringer
4ade034371 pythonPackages.uamq: 1.1.0 -> 1.2.2
(cherry picked from commit 27c8e8ec5c)
2019-09-14 12:40:37 +02:00
Samuel Leathers
b501e0ed14 pythonPackages.twisted: add setuptools dependency
* required for buildbot test to pass

(cherry picked from commit 3491d523b3)
2019-09-14 12:35:38 +02:00
Will Dietz
086a44d53d samba: 4.10.6 -> 4.10.8 (security!)
https://www.samba.org/samba/history/samba-4.10.8.html
https://www.samba.org/samba/history/samba-4.10.7.html
(cherry picked from commit b5b92e015c)
2019-09-14 12:25:05 +02:00
Robin Gloster
7a5e4632dd spidermonkey_1_8_5: fix build with gcc8
closes #68765
closes #68763

(cherry picked from commit a345623f2b)
2019-09-14 12:19:59 +02:00
Aaron Andersen
4e2f3e0c94 nut: fix broken build
(cherry picked from commit 4e6b7a51a0)
2019-09-14 11:03:43 +02:00
Marek Mahut
936a53ee69 getdns: 1.5.1 -> 1.5.2 (#68567)
(cherry picked from commit a91fe3d575)
2019-09-14 00:37:45 -04:00
Will Dietz
54ad3625cf lollypop: 1.1.4.14 -> 1.1.4.16
https://gitlab.gnome.org/World/lollypop/-/tags/1.1.4.16
(cherry picked from commit 3b9995ca8e)
2019-09-13 23:50:11 -04:00
Jonathan Ringer
3920ccc2a1 pythonPackages.pyarrow: fix build
(cherry picked from commit 5e67b340e8)
2019-09-14 00:03:02 +02:00
danme
cbee07adc0 csvkit: fix failing test
downgrading dependency agate-sql

(cherry picked from commit 535117b136)
2019-09-13 23:53:40 +02:00
worldofpeace
85f8c3634c scribusUnstable: fix build
We use harfbuzzFull because that includes the icu build which
this depends on.

Fixes #68548

(cherry picked from commit 02cab2d031)
2019-09-13 17:51:47 -04:00
Fabian Möller
d44eb7871d manuskript: fix build and use wrapQtApp
(cherry picked from commit cd67dd52d2)
2019-09-13 23:32:25 +02:00
Daniel Schaefer
4372c17b54 xen: Ignore GCC8 errors
(cherry picked from commit dc0e697038)
2019-09-13 23:28:18 +02:00
Christian Kögler
cca77788c4 virtualboxGuestAdditions: fix compilation with kernel 5.2
(cherry picked from commit 2756c3054c)
2019-09-13 23:26:33 +02:00
Jonathan Ringer
da1d5f11b8 pythonPackages.zeep: fix pytest5 tests
(cherry picked from commit 30f3e4a3a6)
2019-09-13 23:25:29 +02:00
Jonathan Ringer
89a75070b7 python3Package.hug: 2.4.8 -> 2.6.0
(cherry picked from commit 8e06d7ee3b)
2019-09-13 23:20:53 +02:00
WilliButz
50f2d4dee6 samba4Full: fix build
The pkgconfig requirements for glusterfs-api were not satisfied without
uuid, resulting in Waf not setting the correct API version for glusterfs
during the build and consequently incompatible function calls in samba.

Co-authored-by: Franz Pletz <fpletz@fnordicwalking.de>
(cherry picked from commit 9378ff1cb5)
2019-09-13 21:48:07 +02:00
Bjørn Forsman
29cb637ee0 wrapQtAppsHook: skip directories
Prevents messages like this in the build log:

  grep: <PATH>/bin: Is a directory

(cherry picked from commit d6e65ec4a0)
2019-09-13 21:29:16 +02:00
Bjørn Forsman
f62222edf8 wrapQtAppsHook: use patchelf --print-interpreter instead of isELFExec
Some executables are built as PIEs (e.g. keepassxc) and are technically
isELFDyn, not isELFExec. Without this change those executables will not
be wrapped.

(cherry picked from commit c6d516dfc4)
2019-09-13 21:29:16 +02:00
Tim Steinbach
2442103bb7 xmonad: Fix test 2019-09-13 15:17:57 -04:00
Linus Heckemann
b4298cff52 netatalk: use system netatalk
(cherry picked from commit 19ca6c62b0)
2019-09-13 20:47:56 +02:00
Aaron Andersen
b00a9bfeb5 ike: fix broken build
Co-Authored-By: worldofpeace <worldofpeace@protonmail.ch>
(cherry picked from commit beeaf5a5b1)
2019-09-13 14:41:42 -04:00
worldofpeace
245c45f369 Merge pull request #68637 from peterhoeg/f/icr
icr: compile against openssl 1.0.2
2019-09-13 14:40:51 -04:00
Robin Gloster
d27fdf8887 python.pkgs.cryptography: fix/ignore broken tests
Broken tests by openssl 1.1.1d, added patch and skipped one test

Issue for skipped test: https://github.com/pyca/cryptography/issues/4998
2019-09-13 20:12:19 +02:00
Maximilian Bosch
a396197871 nixos-option: don't break if builtins.trace is used in <nixos-config>
By default everything from `stderr` will be recorded in case of errors,
however this shouldn't break `nixos-option` if a simple trace call is
used that breaks the Nix expression evaluated by `nixos-option`.

Fixes #67659

(cherry picked from commit 588aefc53d)
closes #68121
2019-09-13 19:41:57 +02:00
Daniel Schaefer
7376e5d58f whitebox: 0.9.0 -> 0.16.0 (#68682)
(cherry picked from commit a5b2e090ec)
2019-09-13 17:40:49 +00:00
Alyssa Ross
309cdb8b44 appleseed: fix build
(cherry picked from commit 5617881a42)
2019-09-13 18:45:55 +02:00
Daniel Schaefer
3dc028716a xfstests: 2018-04-11 -> 2019-09-08
(cherry picked from commit 08dab35cd4)
2019-09-13 18:12:54 +02:00
danme
5db2b9b6f2 giv: removed
Because of a build error dropped for 19.09 (#68361).

(cherry picked from commit 55a636055c)
2019-09-13 17:05:28 +01:00
WilliButz
0f25cf4996 sambaMaster: remove outdated package
(cherry picked from commit cec8524112)
2019-09-13 16:57:33 +01:00
Jörg Thalheim
579b884e81 python.pkgs.pylint_1_9: fix incorrect checksum
was not updated in 08d556c0e8

(cherry picked from commit b31931adf5)
2019-09-13 16:33:02 +01:00
WilliButz
566cf38945 nixos/tests/mumble: update test to use systemd-journal
(cherry picked from commit ef394409b2)
2019-09-13 17:21:19 +02:00
Ben Wolsieffer
35751608ba openjdk8: use lndir instead of single symlink to JRE
Directly symlinking from the JDK to the JRE confused Gradle and made it try to
find JDK files inside the JRE.

(cherry picked from commit 1621cbe270)
2019-09-13 17:14:43 +02:00
Fabian Möller
09e958675c h11: add pytest5 compatability
(cherry picked from commit 3bf75ee4cc)
2019-09-13 15:53:40 +01:00
Daniel Schaefer
7174551223 xflux-gui: 1.1.10 -> 1.2.0
Didn't build with the old version because they dropped Python2 and
changed some dependencies.

(cherry picked from commit eb5497c419)
2019-09-13 16:46:03 +02:00
Michael Fellinger
9927fbb651 gem-config: fix zookeeper for gcc-8 (#68642)
(cherry picked from commit 13866ed4cf)
2019-09-13 14:02:15 +00:00
Linus Heckemann
3fd37b5b98 ants: use itk 4.x
(cherry picked from commit f6182da2c6)
2019-09-13 15:09:22 +02:00
Linus Heckemann
cfb651c22f itk4: init at 4.13.1
This is exactly the same as we had prior to
e7b0c389c2, which broke some dependents,
just under a new attribute name.

(cherry picked from commit afceaee163)
2019-09-13 15:09:20 +02:00
Jörg Thalheim
ef7af23127 python.pkgs.pylint_1_9: 1.9.4 -> 1.9.5
Also fix build by skipping a test that requires setuptools to be present.
(Also just adding setuptools does not fix the issue either?)

(cherry picked from commit 08d556c0e8)
2019-09-13 13:54:19 +01:00
WilliButz
63e72f522b rspamd: disable LuaJIT support on aarch64
When compiled with LuaJIT support, rspamd segfaults on aarch64.
Without LuaJIT, rspamd falls back to plain Lua and torch support needs to
be disabled.

(cherry picked from commit 7350dd9d94)
2019-09-13 14:48:15 +02:00
Aaron Andersen
7d8224bc92 tvheadend: fix broken build
(cherry picked from commit 823c05e0e8)
2019-09-13 14:30:52 +02:00
zimbatm
1b132a979a bundlerApp: avoid unecessary rebuilds when gemdir changes
Because the gemdir was referenced on the derivation, it would cause the
whole gemdir to get added to the store, which would in turn force the
derivation to be rebuilt whenever unrelated folder files would change.

(cherry picked from commit cef857e8b7)
2019-09-13 12:00:00 +00:00
talyz
89dee42dad nixos/gitlab: Fix swap of secrets
Fix accidental swap of the otp and db secrets in the secrets.yml
file. Fixes #68613.

(cherry picked from commit 4b6ba5b27c)
2019-09-13 13:35:55 +02:00
Robin Gloster
9116f7532d Merge remote-tracking branch 'upstream/staging-19.09' into release-19.09 2019-09-13 13:12:52 +02:00
Daniel Schaefer
4d378c2588 microsoft_gsl: Fix gcc8 build
(cherry picked from commit 5548ff632e)
2019-09-13 10:55:53 +01:00
Peter Hoeg
dae37ece4e zoneminder: fix the build
(cherry picked from commit 280e73c7eb)
2019-09-13 17:48:17 +08:00
Peter Hoeg
a35b9453d9 icr: compile against openssl 1.0.2
(cherry picked from commit c7b50f715d)
2019-09-13 17:39:10 +08:00
Andreas Rammhold
3000869605 Merge branch release-19.09 into staging-19.09 2019-09-13 09:58:15 +02:00
Jörg Thalheim
b2e824c843 dino: 2019-03-07 -> 2019-09-12
(cherry picked from commit e849aadd62)
2019-09-12 22:38:54 +01:00
zimbatm
8d1e7693f0 cide: remove (#68505)
(cherry picked from commit ab0308604b)
2019-09-12 22:03:31 +02:00
Aaron Andersen
c471931a4a Merge pull request #68466 from aanderse/moodle
moodle: 3.7.1 -> 3.7.2 [19.09 backport]
2019-09-12 16:02:59 -04:00
Matthew Harm Bekkema
c6437d7e97 kernel: Enable X86_AMD_PLATFORM_DEVICE
This is needed to get the toupad working on my Acer Nitro laptop.

(cherry picked from commit 2e94b9853c)
2019-09-12 14:15:15 -04:00
Ivan Kozik
48910f06ca anki: fix startup
Related: #68314

This fixes startup of anki, which currently shows this in a dialog:

Error during startup:
Traceback (most recent call last):
  File "/nix/store/0h395dwc6b80n5xg93p86ywaz6kpz6ck-anki-2.1.15/lib/python3.7/site-packages/aqt/main.py", line 46, in __init__
    self.setupAddons()
  File "/nix/store/0h395dwc6b80n5xg93p86ywaz6kpz6ck-anki-2.1.15/lib/python3.7/site-packages/aqt/main.py", line 657, in setupAddons
    import aqt.addons
  File "/nix/store/0h395dwc6b80n5xg93p86ywaz6kpz6ck-anki-2.1.15/lib/python3.7/site-packages/aqt/addons.py", line 9, in <module>
    import markdown
  File "/nix/store/knq8798kl0xzzr7ii4bchskg1c8mq6pj-python3.7-Markdown-3.1.1/lib/python3.7/site-packages/markdown/__init__.py", line 25, in <module>
    from .core import Markdown, markdown, markdownFromFile
  File "/nix/store/knq8798kl0xzzr7ii4bchskg1c8mq6pj-python3.7-Markdown-3.1.1/lib/python3.7/site-packages/markdown/core.py", line 29, in <module>
    import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'

(cherry picked from commit 2769d610ac)
2019-09-12 13:30:39 -04:00
Daniel Fullmer
093bde56b0 rtl8812au: 5.2.20.2_28373.20180619 -> 5.2.20.2_28373.20190903
(cherry picked from commit f12dcceb47)
2019-09-12 13:10:04 -04:00
Matthew Harm Bekkema
b0bd0ee67b lyx: use qt5's mkDerivation
Fixes the error:

    qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
    This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

See #65399

(cherry picked from commit b918bb9e5d)
2019-09-12 13:08:01 -04:00
Henrik Jonsson
9797f394f4 tor-browser-bundle-bin: 8.5.4 -> 8.5.5
(cherry picked from commit ac975ddd8f)
2019-09-12 18:54:58 +02:00
Dima
d611aa8b1c zeroc-ice-36: fix build for gcc8
The build was broken failing on unneccessary memsets.
This issue was fixed upstream in 3.7 and discussed in
https://github.com/zeroc-ice/ice/issues/82

The patch pertaining to the error causing the actual failure still
applies nicely onto the 3.6 version.

Hydra logs of breakage: https://hydra.nixos.org/build/100440955/nixlog/1

(cherry picked from commit cb966b6f7b)
2019-09-12 12:51:05 -04:00
Peter Hoeg
4d9d683f04 kdepim-addons: add missing dependency
(cherry picked from commit 428a58ad7f)
2019-09-12 12:49:12 -04:00
Aaron Andersen
8cef4f386b prayer: fix broken build
(cherry picked from commit 1fca7a8961)
2019-09-12 12:18:28 -04:00
WilliButz
e0b7f1e074 v8: fix build on aarch64
(cherry picked from commit 0e879bfe8d)
2019-09-12 12:11:07 -04:00
Aaron Andersen
48df6c91ce viking: fix broken build
(cherry picked from commit f6517742df)
2019-09-12 12:06:39 -04:00
Marek Mahut
bcc9f756e9 Merge pull request #68554 from mmahut/68365-19.09
nixos/zabbixWeb: fix a string reference as well as the phpfpm socket …
2019-09-12 15:48:42 +02:00
Aaron Andersen
bef6d65c76 nixos/zabbixWeb: fix a string reference as well as the phpfpm socket path
(cherry picked from commit a0edbc5b4d)
2019-09-12 15:41:44 +02:00
Maximilian Bosch
7fe98b5d05 mautrix-telegram: fix startup
`setuptools` isn't propagated automatically anymore, see also #68314.

(cherry picked from commit 54752cd3c4)
2019-09-12 13:32:22 +02:00
SRGOM
134da5b641 nixos.manual.installation.installing: nixos-hw
Fixed repo name gh:nixos/nixos-hardware

(cherry picked from commit c17e66afe4)
2019-09-12 12:18:29 +02:00
WilliButz
98dba44b07 wt4: 4.1.0 -> 4.1.1
(cherry picked from commit 823e8accb9)
2019-09-12 11:20:02 +02:00
WilliButz
a85cedd3ce wt3: 3.4.0 -> 3.4.1, include harfbuzz
(cherry picked from commit 5c5fc13602)
2019-09-12 11:19:55 +02:00
Nikolay Korotkiy
f13471dedd xchm: 1.23 -> 1.30
(cherry picked from commit d526e331f8)
Signed-off-by: Maximilian Bosch <maximilian@mbosch.me>
2019-09-12 09:44:58 +02:00
Nick Spinale
60c1f80420 plyplus: enable for python3
(cherry picked from commit 982b85b578)
Signed-off-by: Maximilian Bosch <maximilian@mbosch.me>
2019-09-12 09:22:53 +02:00
Jason Carr
dee9e16f7f lesspass: fix src
(cherry picked from commit 7644e88334)
Signed-off-by: Maximilian Bosch <maximilian@mbosch.me>
2019-09-12 09:16:36 +02:00
taku0
e948252eef flashplayer: add maintainer
(cherry picked from commit c8802e1aed)
2019-09-11 17:17:37 -04:00
taku0
85e0a2ea2d flashplayer: 32.0.0.238 -> 32.0.0.255
(cherry picked from commit dac340737a)
2019-09-11 17:17:01 -04:00
Averell Dalton
c3f8f7965e youtube-dl: 2019.09.12 -> 2019.09.12.1
(cherry picked from commit 99ec6416c5)
2019-09-11 16:44:49 -04:00
rnhmjoj
75ba6bb7e4 warzone: 3.3.0_beta1 -> 3.3.0
(cherry picked from commit 3516b1ddc5)
2019-09-11 21:28:34 +01:00
rnhmjoj
76ef329590 warzone: 3.2.3 -> 3.3.0_beta1
(cherry picked from commit bdda1e5b66)
2019-09-11 21:28:30 +01:00
Roosembert Palacios
5630f0e4a5 youtube-dl: 2019.09.01 -> 2019.09.12
Signed-off-by: Roosembert Palacios <roosembert.palacios@epfl.ch>
(cherry picked from commit 264369254c)
2019-09-11 15:55:45 -04:00
Alyssa Ross
db5d82257d nixos/mailman: types.string -> types.str
(cherry picked from commit 27b459ce1e)
2019-09-11 19:58:48 +02:00
Marek Mahut
231544ccb2 Merge pull request #68439 from mmahut/morph-19.09
morph: 1.3.0 -> 1.3.1
2019-09-11 19:18:32 +02:00
WilliButz
25690ef7e2 nixos/tests: add prometheus-rspamd-exporter test
(cherry picked from commit ccf00bce12)
Signed-off-by: Maximilian Bosch <maximilian@mbosch.me>
2019-09-11 18:04:41 +02:00
WilliButz
b41f60f47f nixos/prometheus-exporters: add rspamd-exporter
This adds a module that configures the json exporter,
which then acts as an exporter for rspamd.

(cherry picked from commit bcce960d7d)
Signed-off-by: Maximilian Bosch <maximilian@mbosch.me>
2019-09-11 18:04:41 +02:00
WilliButz
2d528f19e7 prometheus-blackbox-exporter: 0.14.0 -> 0.15.0
(cherry picked from commit 9fd90aa825)
Signed-off-by: Maximilian Bosch <maximilian@mbosch.me>
2019-09-11 18:02:25 +02:00
adisbladis
56f0bd9d2d Merge pull request #68504 from adisbladis/drop-go-1_11-1909
Drop unsupported go version 1.11 (19.09 backport)
2019-09-11 15:43:17 +01:00
adisbladis
c6dff650c2 go_1_11: Drop package
It's unsupported by upstream.

(cherry picked from commit 3e501fe168)
2019-09-11 15:09:34 +01:00
adisbladis
76a23ee869 mongodb-tools: 3.7.2 -> 4.2.0
Fix build with latest Go

(cherry picked from commit a26a274a68)
2019-09-11 15:09:28 +01:00
adisbladis
95d7c8df45 mirrorbits: Fix build with go 1.12
(cherry picked from commit b0326145da)
2019-09-11 15:09:21 +01:00
zimbatm
4f33008ec0 terraform: default to version 0.12 (#68497)
(cherry picked from commit f42258c54d)
2019-09-11 15:51:24 +02:00
Peter Simons
d29476ffff nixos/mailman: properly wrap the mailman-web script
(cherry picked from commit d0dba96e1d)
2019-09-11 15:39:58 +02:00
Peter Simons
7493c36bc1 nixos/mailman: create "mailman" executable as a proper wrapper script
(cherry picked from commit a7941fe210)
2019-09-11 15:39:58 +02:00
Peter Simons
37034c8045 nixos/mailman: clean up our variable names
(cherry picked from commit 1cb5cff611)
2019-09-11 15:39:58 +02:00
Peter Simons
4d7224d3d7 nixos/mailman: httpd.services requires mailman-web in the systemd sense
When mailman-web restarts, it removes the generated "static" directory. This
breaks a currently running httpd process, which needs a re-start, too, to
obtain a new handle for the newly generated path.

(cherry picked from commit 0cc37b3cfa)
2019-09-11 15:39:58 +02:00
Peter Simons
ff141ec6ef python-mailman-web: turn these Djando configuration files into a make-shift Python library
Suggested in https://github.com/NixOS/nixpkgs/pull/67951#issuecomment-530309702.

(cherry picked from commit 86f8895abb)
2019-09-11 15:39:57 +02:00
Peter Simons
420efa475f nixos/mailman: add support for the Mailman Web UI (Postorius & Hyperkitty)
(cherry picked from commit 72c7ba5aba)
2019-09-11 15:39:57 +02:00
Nathan van Doorn
b4a66c44ef qt59.qtscript: fix error due to gcc8.3
(cherry picked from commit 4535178a37)
2019-09-11 08:43:50 -04:00
Nathan van Doorn
9b0a4afadd qt511.qtscript: fix error due to gcc8.3
(cherry picked from commit a4ace375d2)
2019-09-11 08:43:43 -04:00
Andreas Rammhold
9ec45cc56e openssl_1_0_2: fixup sha256 2019-09-11 13:51:55 +02:00
Peter Simons
1bffbf1bda python-alembic: add missing 'setuptools' to propagatedBuildInputs
As a side-effect of f7e28bf5d8, the build
no longer propagated 'setuptools', which is a run-time dependency. See
https://github.com/NixOS/nixpkgs/pull/68314 for further details.

(cherry picked from commit 14854f20bb)
2019-09-11 12:18:50 +02:00
Aaron Andersen
69a371b9ac love_0_8: fix broken build
(cherry picked from commit ef114315ca)
2019-09-11 06:00:28 -04:00
Peter Simons
267c642687 python-django-haystack: add missing 'setuptools' to propagatedBuildInputs
As a side-effect of f7e28bf5d8, the build
no longer propagated 'setuptools', which is a run-time dependency. See
https://github.com/NixOS/nixpkgs/pull/68314 for further details.

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

(cherry picked from commit b57f25ac80)
2019-09-11 11:58:15 +02:00
Andreas Rammhold
acc69d8aa8 Merge branch release-19.09 into staging-19.09 2019-09-11 11:42:48 +02:00
Andreas Rammhold
508be45202 Merge pull request #68450 from andir/19.09/openssl
[19.09] openssl: 1.1.1c -> 1.1.1d, openssl_1_0_2: 1.0.2s -> 1.0.2t (low severity security)
2019-09-11 11:39:26 +02:00
Pierre Bourdon
6f8818e5c3 deluge: add missing setuptools dependency
Latest staging merge broke nixos/tests/deluge.nix showing an ImportError
for "pkg_resources": https://nix-cache.s3.amazonaws.com/log/h8qzkcjldal5j1925g0r04ncl5afjjnp-vm-test-run-deluge.drv

(cherry picked from commit 50956385ff)
2019-09-11 05:32:52 -04:00
Tadeo Kondrak
5c89877e2e qutebrowser: add setuptools as a dependency
(cherry picked from commit 863589ad4d)
2019-09-11 05:28:56 -04:00
Fabian Möller
713aca09a5 django: don't wrap binary files twice 2019-09-11 09:30:50 +01:00
Ivan Kozik
a3d8dea4a1 fctix-engines.mozc: fix build
This fixes:

FAILED: obj/engine/engine.engine.o
clang++ -MMD -MF obj/engine/engine.engine.o.d -DOS_LINUX -DMOZC_BUILD -DCHANNEL_DEV -DENABLE_GTK_RENDERER -DNDEBUG -DQT_NO_DEBUG -DNO_LOGGING -DIGNORE_HELP_FLAG -DIGNORE_INVALID_FLAG -I/build/source/src -Igen -Igen/proto_out -Wall -Wno-char-subscripts -Wno-sign-compare -Wno-deprecated-declarations -Wwrite-strings -fPIC -fno-exceptions -fmessage-length=0 -fno-strict-aliasing -funsigned-char -include base/namespace.h -pipe -pthread -fno-omit-frame-pointer -fstack-protector --param=ssp-buffer-size=4 -Wtype-limits -O2 -Wno-deprecated -Wno-covered-switch-default -Wno-unnamed-type-template-args -Wno-c++11-narrowing -std=gnu++0x -std=gnu++0x  -c ../../engine/engine.cc -o obj/engine/engine.engine.o
In file included from ../../engine/engine.cc:30:
In file included from /build/source/src/engine/engine.h:33:
In file included from /nix/store/pcs8pq4a5rkym1hzibqz7da45fxkmig7-gcc-8.3.0/include/c++/8.3.0/memory:62:
In file included from /nix/store/pcs8pq4a5rkym1hzibqz7da45fxkmig7-gcc-8.3.0/include/c++/8.3.0/bits/stl_algobase.h:66:
/nix/store/pcs8pq4a5rkym1hzibqz7da45fxkmig7-gcc-8.3.0/include/c++/8.3.0/bits/stl_iterator_base_funcs.h:183:2: error: cannot decrement value of type 'mozc::ZeroQueryDict::iterator'
        --__i;
        ^ ~~~
/nix/store/pcs8pq4a5rkym1hzibqz7da45fxkmig7-gcc-8.3.0/include/c++/8.3.0/bits/stl_iterator_base_funcs.h:206:12: note: in instantiation of function template specialization 'std::__advance<mozc::ZeroQueryDict::iterator, long>' requested here
      std::__advance(__i, __d, std::__iterator_category(__i));
           ^
/nix/store/pcs8pq4a5rkym1hzibqz7da45fxkmig7-gcc-8.3.0/include/c++/8.3.0/bits/stl_algo.h:2137:9: note: in instantiation of function template specialization 'std::advance<mozc::ZeroQueryDict::iterator, long>' requested here
          std::advance(__middle, __half);
               ^
/nix/store/pcs8pq4a5rkym1hzibqz7da45fxkmig7-gcc-8.3.0/include/c++/8.3.0/bits/stl_algo.h:2190:19: note: in instantiation of function template specialization 'std::__equal_range<mozc::ZeroQueryDict::iterator, unsigned long, __gnu_cxx::__ops::_Iter_less_val, __gnu_cxx::__ops::_Val_less_iter>' requested here
      return std::__equal_range(__first, __last, __val,
                  ^
/build/source/src/prediction/zero_query_dict.h:213:17: note: in instantiation of function template specialization 'std::equal_range<mozc::ZeroQueryDict::iterator, unsigned long>' requested here
    return std::equal_range(begin(), end(), iter.index());
                ^
1 error generated.

(cherry picked from commit fdccd9cd9b)
2019-09-11 10:08:52 +02:00
Ivan Kozik
45226bf44c fcitx-engines.mozc: use newer protobuf
ibus-engines.mozc builds fine with the newer protobuf, this should as well.

(cherry picked from commit 03c01e418f)
2019-09-11 10:08:52 +02:00
arcnmx
64c35f9dbe pythonPackages.brotli: fix build
Recent changes to buildPythonPackage seem to have enabled a configure
script that doesn't work, so disable it.

(cherry picked from commit 91b7dd6c91)
ZHF: #68361
2019-09-11 02:57:31 -04:00
worldofpeace
c6332a7fbf nixosTests.xfce4-14: bump memorySize
(cherry picked from commit 20f8c3b984)
2019-09-11 02:44:55 -04:00
worldofpeace
5d0f6a557b nixosTests.xfce: bump memorySize
(cherry picked from commit baf36d9afa)
2019-09-11 02:44:55 -04:00
worldofpeace
9bd2f438e1 nixosTests.plasma5: fix test by enabling sound
Same issue as f59b4cb8d5

(cherry picked from commit bbcc947c46)
2019-09-11 02:44:55 -04:00
worldofpeace
11b01d9634 nixosTests.xfce: fix test by enabling sound
Same issue as f59b4cb8d5

(cherry picked from commit 0eb814ea88)
2019-09-11 02:44:55 -04:00
worldofpeace
4bacee3cb2 nixosTests.xfce4-14: fix test by enabling sound
Same issue as f59b4cb8d5

(cherry picked from commit 17877eaa68)
2019-09-11 02:44:55 -04:00
worldofpeace
b0e36731a8 Merge pull request #68473 from ivan/snscrape-fix-backport
[19.09] snscrape: fix startup
2019-09-11 02:40:46 -04:00
Ivan Kozik
669517342e snscrape: fix startup
This fixes:

Traceback (most recent call last):
  File "/nix/store/607z14x0spsz1lsh0fg9cbyc9lr038mi-python3.7-snscrape-0.3.0/bin/.snscrape-wrapped", line 11, in <module>
    sys.exit(main())
  File "/nix/store/607z14x0spsz1lsh0fg9cbyc9lr038mi-python3.7-snscrape-0.3.0/lib/python3.7/site-packages/snscrape/cli.py", line 218, in main
    args = parse_args()
  File "/nix/store/607z14x0spsz1lsh0fg9cbyc9lr038mi-python3.7-snscrape-0.3.0/lib/python3.7/site-packages/snscrape/cli.py", line 154, in parse_args
    import snscrape.version
  File "/nix/store/607z14x0spsz1lsh0fg9cbyc9lr038mi-python3.7-snscrape-0.3.0/lib/python3.7/site-packages/snscrape/version.py", line 1, in <module>
    import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'

Related: https://github.com/NixOS/nixpkgs/pull/68314
(cherry picked from commit 7e7c98a199)
2019-09-11 04:57:00 +00:00
Aaron Andersen
eb0123490e moodle: 3.7.1 -> 3.7.2
(cherry picked from commit cb7deb3deb)
2019-09-10 20:23:45 -04:00
worldofpeace
24842ace4c Merge pull request #68445 from ivan/mozc-gcc8-fix-backport
[19.09] ibus-engines.mozc: fix build
2019-09-10 18:44:32 -04:00
Dima
f7e746a062 qtwebkit: fixing build / reducing build log size
GCC 8 introduced a new type of warning `-Wclass-memaccess` which
is included in `-Wall`. This warnings spits out *a million* of warnings
like the following:

```
[...]
/build/source/Source/WTF/wtf/Vector.h:128:15: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class WTF::RefPtr<WebCore::TransformOperation>' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
         memcpy(dst, src, reinterpret_cast<const char*>(srcEnd) - reinterpret_cast<const char*>(src));
[...]
``

Logs demonstrating the issue:
https://hydra.nixos.org/build/100205478/nixlog/1

While I don't think disabling warnings is the best way to deal with this,
there is alrady precedent for this package and I don't feel confident enough
to either patch or bump this package.

Please view this as a low-friction sub-optimal suggestion in case nobody else
has a better fix.

(cherry picked from commit 6f1ad0676f)
2019-09-10 18:19:34 -04:00
Ivan Kozik
4a7cf941bb qolibri: use qt5's mkDerivation
(cherry picked from commit 939960b0fa)
2019-09-10 17:53:55 -04:00
Ivan Kozik
7916216c1e qolibri: 2018-11-14 -> 2019-07-22
(cherry picked from commit 153127f507)
2019-09-10 17:53:52 -04:00
Frederik Rietdijk
de71ea2b31 python.pkgs.wheelUnpackHook: propagate wheel
This was accidentally removed when buildPython* was rewritten as hooks.

(cherry picked from commit c99529a4b6)
2019-09-10 22:26:44 +02:00
Andrei Lapshin
1b967b38b3 ktorrent: 5.1.0 -> 5.1.2
Update ktorrent from 5.1.0 to 5.1.2 and libktorrent from 2.1 to 2.1.1,
remove already included patches

(cherry picked from commit 3f0f7d5054)
2019-09-10 22:18:28 +02:00
Frederik Rietdijk
41d2500647 python.pkgs.django_extensions: 2.1.4 -> 2.1.9
(cherry picked from commit aa6c38d9c1)
2019-09-10 22:08:34 +02:00
Frederik Rietdijk
0e21a2a0ca python.pkgs.blessed: disable failing test
(cherry picked from commit 4dd38c4289)
2019-09-10 22:08:31 +02:00
Andreas Rammhold
76d54c72ac openssl: 1.1.1c -> 1.1.1d 2019-09-10 21:22:11 +02:00
Andreas Rammhold
aa6327c29c openssl_1_0_2: 1.0.2s -> 1.0.2t 2019-09-10 21:22:11 +02:00
Ivan Kozik
e48a396b94 ibus-engines.mozc: fix build
This fixes:

FAILED: obj/engine/engine.engine.o
clang++ -MMD -MF obj/engine/engine.engine.o.d -DOS_LINUX -DMOZC_BUILD -DCHANNEL_DEV -DENABLE_GTK_RENDERER -DNDEBUG -DQT_NO_DEBUG -DNO_LOGGING -DIGNORE_HELP_FLAG -DIGNORE_INVALID_FLAG -I/build/source/src -Igen -Igen/proto_out -Wall -Wno-char-subscripts -Wno-sign-compare -Wno-deprecated-declarations -Wwrite-strings -Wno-unknown-warning-option -Wno-inconsistent-missing-override -fPIC -fno-exceptions -fmessage-length=0 -fno-strict-aliasing -funsigned-char -pipe -pthread -fno-omit-frame-pointer -fstack-protector --param=ssp-buffer-size=4 -Wtype-limits -O2 -Wno-deprecated -Wno-covered-switch-default -Wno-unnamed-type-template-args -Wno-c++11-narrowing -std=gnu++0x -std=gnu++0x  -c ../../engine/engine.cc -o obj/engine/engine.engine.o
In file included from ../../engine/engine.cc:30:
In file included from /build/source/src/engine/engine.h:33:
In file included from /nix/store/pcs8pq4a5rkym1hzibqz7da45fxkmig7-gcc-8.3.0/include/c++/8.3.0/memory:62:
In file included from /nix/store/pcs8pq4a5rkym1hzibqz7da45fxkmig7-gcc-8.3.0/include/c++/8.3.0/bits/stl_algobase.h:66:
/nix/store/pcs8pq4a5rkym1hzibqz7da45fxkmig7-gcc-8.3.0/include/c++/8.3.0/bits/stl_iterator_base_funcs.h:183:2: error: cannot decrement value of type 'mozc::ZeroQueryDict::iterator'
        --__i;
        ^ ~~~
/nix/store/pcs8pq4a5rkym1hzibqz7da45fxkmig7-gcc-8.3.0/include/c++/8.3.0/bits/stl_iterator_base_funcs.h:206:12: note: in instantiation of function template specialization 'std::__advance<mozc::ZeroQueryDict::iterator, long>' requested here
      std::__advance(__i, __d, std::__iterator_category(__i));
           ^
/nix/store/pcs8pq4a5rkym1hzibqz7da45fxkmig7-gcc-8.3.0/include/c++/8.3.0/bits/stl_algo.h:2137:9: note: in instantiation of function template specialization 'std::advance<mozc::ZeroQueryDict::iterator, long>' requested here
          std::advance(__middle, __half);
               ^
/nix/store/pcs8pq4a5rkym1hzibqz7da45fxkmig7-gcc-8.3.0/include/c++/8.3.0/bits/stl_algo.h:2190:19: note: in instantiation of function template specialization 'std::__equal_range<mozc::ZeroQueryDict::iterator, unsigned long, __gnu_cxx::__ops::_Iter_less_val, __gnu_cxx::__ops::_Val_less_iter>' requested here
      return std::__equal_range(__first, __last, __val,
                  ^
/build/source/src/prediction/zero_query_dict.h:213:17: note: in instantiation of function template specialization 'std::equal_range<mozc::ZeroQueryDict::iterator, unsigned long>' requested here
    return std::equal_range(begin(), end(), iter.index());
                ^
1 error generated.

(cherry picked from commit b4b332bcad)
2019-09-10 19:14:12 +00:00
Johan Thomsen
2e13a50938 morph: 1.3.0 -> 1.3.1 2019-09-10 20:27:52 +02:00
Michael Fellinger
1fed83d3df sup: remove
(cherry picked from commit da7886c940)
2019-09-10 19:44:32 +02:00
Gabriel Ebner
31c575190c pythonPackages.pivy: fix build
(cherry picked from commit 91fc12514f)
2019-09-10 18:40:17 +02:00
Maximilian Bosch
8050566cea matrix-synapse: fix startup
Currently, `setuptools` isn't propagated automatically to python
packages[1] which causes the following error when starting
`matrix-synapse`:

```
Traceback (most recent call last):
   File "/nix/store/xxkds7821mrahfx75az0sq3ryf69m612-matrix-synapse-1.3.1/bin/.homeserver-wrapped", line 39, in <module>
     import synapse.config.logger
   File "/nix/store/xxkds7821mrahfx75az0sq3ryf69m612-matrix-synapse-1.3.1/lib/python3.7/site-packages/synapse/config/logger.py", line 27, in <module>
     from synapse.app import _base as appbase
   File "/nix/store/xxkds7821mrahfx75az0sq3ryf69m612-matrix-synapse-1.3.1/lib/python3.7/site-packages/synapse/app/__init__.py", line 18, in <module>
 E402
   File "/nix/store/xxkds7821mrahfx75az0sq3ryf69m612-matrix-synapse-1.3.1/lib/python3.7/site-packages/synapse/python_dependencies.py", line 19, in <module>
     from pkg_resources import (
 No module named 'pkg_resources'
```

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

(cherry picked from commit 58dc1e2a6f)
2019-09-10 11:31:42 -04:00
Michael Fellinger
dcdc95ce4d gem-config: fix gpgme
(cherry picked from commit 35f849ab44)
2019-09-10 16:57:42 +02:00
worldofpeace
14faa8e494 nixos/gnome3: add gnome-shell xdg portal
(cherry picked from commit bfb2389a84)
2019-09-10 10:56:59 -04:00
Antoine Eiche
fcd7d6ad41 skydive: remove it from nixpkgs
The current Skydive version can not be build with a recent Go version
and the maintainer (lewo) is no longer interested in maintaining it.

(cherry picked from commit 636e15507b)
2019-09-10 09:10:22 -04:00
Eamonn Coughlan
ada07de5d0 rstudio: fix build with new hunspell-dicts
(cherry picked from commit cd9aec6114)
2019-09-10 14:05:03 +02:00
Andreas Rammhold
f03a88e184 Merge pull request #68410 from andir/nixos-19.09/build-rust-crate-renames
[19.09] buildRustCrate: add support for renaming crates
2019-09-10 11:58:10 +02:00
Daniël de Kok
573f244e51 buildRustCrate: add support for renaming crates
Before this change, buildRustCrate always called rustc with

--extern libName=[...]libName[...]

However, Cargo permits using a different name under which a dependency
is known to a crate. For example, rand 0.7.0 uses:

[dependencies]
getrandom_package = { version = "0.1.1", package = "getrandom", optional = true }

Which introduces the getrandom dependency such that it is known as
getrandom_package to the rand crate. In this case, the correct extern
flag is of the form

--extern getrandom_package=[...]getrandom[...]

which is currently not supported. In order to support such cases, this
change introduces a crateRenames argument to buildRustCrate. This
argument is an attribute set of dependencies that should be renamed. In
this case, crateRenames would be:

{
  "getrandom" = "getrandom_package";
}

The extern options are then built such that if the libName occurs as
an attribute in this set, it value will be used as the local
name. Otherwise libName will be used as before.

(cherry picked from commit 85c6d72011)
2019-09-10 11:05:06 +02:00
Aaron Andersen
d57d9ba288 dolphinEmu: fix broken build
(cherry picked from commit 4ece8498dc)
2019-09-09 23:24:13 -04:00
worldofpeace
b0b3b29e20 kexectools: fix build on i686
https://hydra.nixos.org/build/99957229
See: cb1e5463b5
(cherry picked from commit dc051dfdef)
2019-09-09 22:32:40 -04:00
worldofpeace
775b1f6daa iasl: drop uneeded patch
(cherry picked from commit c29b2cbb24)
2019-09-09 22:01:47 -04:00
worldofpeace
9d8e16173d doc/gnome: explain glib passthru functions
Examples are updated to commits that use them as well.

(cherry picked from commit 463377597b)
2019-09-10 02:31:06 +02:00
worldofpeace
0ee1b6af7e doc/gnome: explain double wrapped binaries
(cherry picked from commit 69e0d95462)
2019-09-10 02:31:03 +02:00
Jan Tojnar
1ee54cd3e9 doc: add GNOME
Closes: #16285
(cherry picked from commit 075b528a6d)
2019-09-10 02:30:57 +02:00
Franz Pletz
8b287f28a3 linux: build rtw88 module
Adds support for Realtek wireless/bluetooth cards found in some Lenovo
laptops. The old `r8822be` module was removed in favour of this one.

(cherry picked from commit 471ba8e2e6)
2019-09-10 02:01:10 +02:00
Sander van der Burg
565fc43440 nixos/dysnomia: enable InfluxDB support
(cherry picked from commit e987e3fef9)
2019-09-09 23:29:54 +02:00
Sander van der Burg
0603b7987f DisnixWebService: 0.8 -> 0.9
(cherry picked from commit e0af0be6e6)
2019-09-09 23:29:44 +02:00
Sander van der Burg
7f2d76342c disnixos: 0.7.1 -> 0.8
(cherry picked from commit 67879a7f0d)
2019-09-09 23:29:32 +02:00
Sander van der Burg
8cec4eaade disnix: 0.8 -> 0.9
(cherry picked from commit 46f190b40d)
2019-09-09 23:29:22 +02:00
Sander van der Burg
e6e9d2a073 dysnomia: 0.8 -> 0.9
(cherry picked from commit 95464bab66)
2019-09-09 23:29:13 +02:00
worldofpeace
530d185e9e gnome3.epiphany: fix build
Looks like something used to propagate nettle but doesn't anymore.
Adding it properly, as it does depend on it, fixes the issue.

(cherry picked from commit 00d419c362)
Fix gnome3 tests.

ZHF: #68361
2019-09-09 16:33:35 -04:00
worldofpeace
36f1c4a650 fwupd: add setuptools for python
It's no longer propagated so we need to add it.

Was failing like:
FAILED: libfwupd/fwupd.map
/build/fwupd-1.2.10/libfwupd/generate-version-script.py LIBFWUPD libfwupd/Fwupd-2.0.gir libfwupd/fwupd.map
Traceback (most recent call last):
File "/build/fwupd-1.2.10/libfwupd/generate-version-script.py", line 11, in <module>
    from pkg_resources import parse_version
ModuleNotFoundError: No module named 'pkg_resources'

(cherry picked from commit a9e0f1dee1)
This fixes the gnome3 tests so the channel can advance.
2019-09-09 16:10:14 -04:00
Léo Gaspard
aecb0df5b8 rss2email: 3.9 -> 3.10
(cherry picked from commit a80eef922d)
2019-09-09 19:24:39 +02:00
Gabriel Ebner
fa28fec2d6 vdirsyncer: fix build
(cherry picked from commit e5bbe65516)
2019-09-09 18:24:12 +02:00
Matthew Bauer
50101eaef5 Merge pull request #67791 from matthewbauer/set-ld-library-path
nixos/opengl: set LD_LIBRARY_PATH everywhere
2019-09-09 12:23:50 -04:00
Eelco Dolstra
08e05a0ffe Revert "pkgs/top-level: check types of nixpkgs.config"
This reverts commit 4a647dd225. Making
Nixpkgs use the module system is a major change that really should be
done via an RFC.
2019-09-09 17:46:19 +02:00
worldofpeace
736019f325 Merge pull request #68359 from ivan/fix-python-lmdb-backport
[19.09] pythonPackages.lmdb: fix build
2019-09-09 11:23:21 -04:00
Ivan Kozik
fe40168bc0 pythonPackages.lmdb: fix build
This fixes:

pythonCatchConflictsPhase
Found duplicated packages in closure for dependency 'lmdb':
  lmdb 0.97 (/build/lmdb-0.97)
  lmdb 0.97 (/nix/store/js0iimri6y9yqgfc111jzp3mrv5ic9cj-python3.7-lmdb-0.97/lib/python3.7/site-packages)

Package duplicates found in closure, see above. Usually this happens if two packages depend on different version of the same dependency.
builder for '/nix/store/9bcn2m3r5v8slmpj31hxw05j906qgl5l-python3.7-lmdb-0.97.drv' failed with exit code 1

This was probably broken by f7e28bf5d8

(cherry picked from commit 39d0c9693e)
2019-09-09 15:22:04 +00:00
Matthew Bauer
6934870810 nixos/opengl: set LD_LIBRARY_PATH everywhere
Unfortunately there are still a few programs that need this. To avoid
breaking too many things for the 19.09 release, I recommend making
this true. We can disable it again once we feel confident most of
these cases are handled. Relevant issues:

- #67790
- #66544
- https://discourse.nixos.org/t/getting-an-error-has-anything-regarding-opengl-in-nixpkgs/3641

/cc @ambrop72 @disassembler @lheckemann
2019-08-30 16:22:01 -04:00
1569 changed files with 55274 additions and 32518 deletions

View File

@@ -51,4 +51,4 @@ For package version upgrades and such a one-line commit message is usually suffi
## Reviewing contributions
See the nixpkgs manual for more details on how to [Review contributions](https://nixos.org/nixpkgs/manual/#sec-reviewing-contributions).
See the nixpkgs manual for more details on how to [Review contributions](https://nixos.org/nixpkgs/manual/#chap-reviewing-contributions).

View File

@@ -1,4 +1,4 @@
<!-- Nixpkgs has a lot of new incoming Pull Requests, but not enough people to review this constant stream. Even if you aren't a committer, we would appreciate reviews of other PRs, especially simple ones like package updates. Just testing the relevant package/service and leaving a comment saying what you tested, how you tested it and whether it worked would be great. List of open PRs: <https://github.com/NixOS/nixpkgs/pulls>, for more about reviewing contributions: <https://hydra.nixos.org/job/nixpkgs/trunk/manual/latest/download/1/nixpkgs/manual.html#sec-reviewing-contributions>. Reviewing isn't mandatory, but it would help out a lot and reduce the average time-to-merge for all of us. Thanks a lot if you do! -->
<!-- Nixpkgs has a lot of new incoming Pull Requests, but not enough people to review this constant stream. Even if you aren't a committer, we would appreciate reviews of other PRs, especially simple ones like package updates. Just testing the relevant package/service and leaving a comment saying what you tested, how you tested it and whether it worked would be great. List of open PRs: <https://github.com/NixOS/nixpkgs/pulls>, for more about reviewing contributions: <https://hydra.nixos.org/job/nixpkgs/trunk/manual/latest/download/1/nixpkgs/manual.html#chap-reviewing-contributions>. Reviewing isn't mandatory, but it would help out a lot and reduce the average time-to-merge for all of us. Thanks a lot if you do! -->
###### Motivation for this change
@@ -12,7 +12,7 @@
- [ ] 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 nix-review --run "nix-review wip"`
- [ ] 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

View File

@@ -44,9 +44,9 @@ 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 19.03 release](https://hydra.nixos.org/jobset/nixos/release-19.03)
* [Continuous package builds for the NixOS 19.09 release](https://hydra.nixos.org/jobset/nixos/release-19.09)
* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
* [Tests for the NixOS 19.03 release](https://hydra.nixos.org/job/nixos/release-19.03/tested#tabs-constituents)
* [Tests for the NixOS 19.09 release](https://hydra.nixos.org/job/nixos/release-19.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

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

@@ -0,0 +1,148 @@
<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>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

@@ -5,17 +5,12 @@
<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.
<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.
The <varname>appimageTools</varname> API is unstable and may be subject to backwards-incompatible changes in the future.
</para>
</warning>
@@ -23,9 +18,7 @@
<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.
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>
@@ -55,8 +48,7 @@ type2.AppImage: ELF 64-bit LSB executable, x86-64, version 1 (SYSV) (Lepton 3.x)
</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.
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>
@@ -64,8 +56,7 @@ type2.AppImage: ELF 64-bit LSB executable, x86-64, version 1 (SYSV) (Lepton 3.x)
<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>.
Depending on the type of AppImage you're wrapping, you'll have to use <varname>wrapType1</varname> or <varname>wrapType2</varname>.
</para>
<programlisting>
@@ -91,23 +82,16 @@ appimageTools.wrapType2 { # or wrapType1
</callout>
<callout arearefs='ex-appimageTools-wrapping-2'>
<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:
<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>.
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.
Running <command>strace -vfefile</command> on the wrapped executable, looking for libraries that can't be found.
</para>
</listitem>
</itemizedlist>

View File

@@ -5,17 +5,12 @@
<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.
<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>
<warning>
<para>
The <varname>dockerTools</varname> API is unstable and may be subject to
backwards-incompatible changes in the future.
The <varname>dockerTools</varname> API is unstable and may be subject to backwards-incompatible changes in the future.
</para>
</warning>
@@ -23,15 +18,11 @@
<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>.
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:
The parameters of <varname>buildImage</varname> with relative example values are described below:
</para>
<example xml:id='ex-dockerTools-buildImage'>
@@ -63,135 +54,89 @@ buildImage {
</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.
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>.
<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.
<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>.
<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.
<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.
<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>.
<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>.
<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.
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>.
<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.
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.
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>.
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.
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>.
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>.
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:
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><![CDATA[
$ docker images
@@ -199,9 +144,7 @@ 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>.
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 {
@@ -214,8 +157,7 @@ pkgs.dockerTools.buildImage {
}
]]></programlisting>
<para>
and now the Docker CLI will display a reasonable date and sort the images
as expected:
and now the Docker CLI will display a reasonable date and sort the images as expected:
<screen><![CDATA[
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
@@ -230,8 +172,7 @@ hello latest de2bf4786de6 About a minute ago 25.2MB
<title>buildLayeredImage</title>
<para>
Create a Docker image with many of the store paths being on their own layer
to improve sharing between images.
Create a Docker image with many of the store paths being on their own layer to improve sharing between images.
</para>
<variablelist>
@@ -264,8 +205,7 @@ hello latest de2bf4786de6 About a minute ago 25.2MB
</term>
<listitem>
<para>
Top level paths in the container. Either a single derivation, or a list
of derivations.
Top level paths in the container. Either a single derivation, or a list of derivations.
</para>
<para>
<emphasis>Default:</emphasis> <literal>[]</literal>
@@ -278,10 +218,7 @@ hello latest de2bf4786de6 About a minute ago 25.2MB
</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>.
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>
@@ -294,9 +231,7 @@ hello latest de2bf4786de6 About a minute ago 25.2MB
</term>
<listitem>
<para>
Date and time the layers were created. Follows the same
<literal>now</literal> exception supported by
<literal>buildImage</literal>.
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>
@@ -325,10 +260,7 @@ hello latest de2bf4786de6 About a minute ago 25.2MB
</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.
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>
@@ -338,8 +270,7 @@ hello latest de2bf4786de6 About a minute ago 25.2MB
<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.
Each path directly listed in <varname>contents</varname> will have a symlink in the root of the image.
</para>
<para>
@@ -350,8 +281,7 @@ pkgs.dockerTools.buildLayeredImage {
contents = [ pkgs.hello ];
}
]]></programlisting>
will create symlinks for all the paths in the <literal>hello</literal>
package:
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
@@ -364,13 +294,11 @@ pkgs.dockerTools.buildLayeredImage {
<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.
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>:
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";
@@ -384,31 +312,23 @@ pkgs.dockerTools.buildLayeredImage {
<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.
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.
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.
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.
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.
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>
@@ -417,10 +337,7 @@ pkgs.dockerTools.buildLayeredImage {
<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.
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>
@@ -445,76 +362,51 @@ pullImage {
<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.
<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.
<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>.
<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>.
<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.
<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>.
<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>.
<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:
<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.
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:
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>
@@ -525,17 +417,12 @@ pullImage {
<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>.
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.
Using this function requires the <literal>kvm</literal> device to be available.
</para>
</note>
@@ -557,14 +444,11 @@ exportImage {
</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.
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>.
The <varname>name</varname> argument is the name of the derivation output, which defaults to <varname>fromImage.name</varname>.
</para>
</section>
@@ -572,11 +456,7 @@ exportImage {
<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:
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'>
@@ -598,9 +478,7 @@ buildImage {
</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.
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

@@ -5,26 +5,18 @@
<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.
<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.
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:
The parameters of <varname>buildContainer</varname> with an example value are described below:
</para>
<example xml:id='ex-ociTools-buildContainer'>
@@ -51,23 +43,17 @@ buildContainer {
<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
<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)
<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>.
<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>

View File

@@ -5,28 +5,22 @@
<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.
<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.
<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.
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.
Currently, <function>makeSnap</function> does not support creating GUI stubs.
</para>
</section>
@@ -40,9 +34,7 @@
</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.
<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>
@@ -53,21 +45,14 @@
<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.
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.
<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>.
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>

12
doc/builders/special.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-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

@@ -5,15 +5,7 @@
<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:
<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>
@@ -33,8 +25,7 @@
</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.
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>
@@ -44,9 +35,7 @@
</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.
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>
@@ -66,8 +55,7 @@
</term>
<listitem>
<para>
Like <literal>extraBuildCommands</literal>, but executed only on multilib
architectures.
Like <literal>extraBuildCommands</literal>, but executed only on multilib architectures.
</para>
</listitem>
</varlistentry>
@@ -77,8 +65,7 @@
</term>
<listitem>
<para>
Additional derivation outputs to be linked for both target and
multi-architecture packages.
Additional derivation outputs to be linked for both target and multi-architecture packages.
</para>
</listitem>
</varlistentry>
@@ -88,8 +75,7 @@
</term>
<listitem>
<para>
Additional commands to be executed for finalizing the derivation with
runner script.
Additional commands to be executed for finalizing the derivation with runner script.
</para>
</listitem>
</varlistentry>
@@ -99,16 +85,14 @@
</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>.
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:
One can create a simple environment using a <literal>shell.nix</literal> like that:
</para>
<programlisting><![CDATA[
@@ -133,10 +117,6 @@
]]></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.
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

@@ -5,9 +5,7 @@
<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>.
<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">

View File

@@ -0,0 +1,79 @@
<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>
<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>
<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>
<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>
<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

@@ -8,24 +8,17 @@
<itemizedlist>
<listitem>
<para>
Use 2 spaces of indentation per indentation level in Nix expressions, 4
spaces in shell scripts.
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.
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"/>.
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>
@@ -52,8 +45,7 @@ foo { arg = ...; }
</listitem>
<listitem>
<para>
In attribute sets or lists that span multiple lines, the attribute names
or list elements should be aligned:
In attribute sets or lists that span multiple lines, the attribute names or list elements should be aligned:
<programlisting>
# A long list.
list = [
@@ -97,8 +89,7 @@ attrs = { x = 1280; y = 1024; };
</listitem>
<listitem>
<para>
Breaking in the middle of a function argument can give hard-to-read code,
like
Breaking in the middle of a function argument can give hard-to-read code, like
<programlisting>
someFunction { x = 1280;
y = 1024; } otherArg
@@ -123,8 +114,7 @@ in someFunction res otherArg yetAnotherArg
</listitem>
<listitem>
<para>
The bodies of functions, asserts, and withs are not indented to prevent a
lot of superfluous indentation levels, i.e.
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";
@@ -156,8 +146,7 @@ stdenv.mkDerivation { ...
</listitem>
<listitem>
<para>
Functions should list their expected arguments as precisely as possible.
That is, write
Functions should list their expected arguments as precisely as possible. That is, write
<programlisting>
{ stdenv, fetchurl, perl }: <replaceable>...</replaceable>
</programlisting>
@@ -171,9 +160,7 @@ args: with args; <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:
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:
@@ -197,35 +184,20 @@ args.stdenv.mkDerivation (args // {
<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.
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:
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>.
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>.
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>
@@ -234,12 +206,7 @@ args.stdenv.mkDerivation (args // {
</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>.
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>
@@ -247,51 +214,32 @@ args.stdenv.mkDerivation (args // {
<itemizedlist>
<listitem>
<para>
The <literal>name</literal> attribute <emphasis>should</emphasis> be
identical to the upstream package name.
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>.
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>.
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>.
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.
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" />
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>
@@ -301,31 +249,18 @@ args.stdenv.mkDerivation (args // {
<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>.
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>.
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.
When in doubt, consider refactoring the <filename>pkgs/</filename> tree, e.g. creating new categories or splitting up an existing category.
</para>
<variablelist>
@@ -341,8 +276,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>development/libraries</filename> (e.g.
<filename>libxml2</filename>)
<filename>development/libraries</filename> (e.g. <filename>libxml2</filename>)
</para>
</listitem>
</varlistentry>
@@ -352,8 +286,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>development/compilers</filename> (e.g.
<filename>gcc</filename>)
<filename>development/compilers</filename> (e.g. <filename>gcc</filename>)
</para>
</listitem>
</varlistentry>
@@ -363,8 +296,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>development/interpreters</filename> (e.g.
<filename>guile</filename>)
<filename>development/interpreters</filename> (e.g. <filename>guile</filename>)
</para>
</listitem>
</varlistentry>
@@ -380,8 +312,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>development/tools/parsing</filename> (e.g.
<filename>bison</filename>, <filename>flex</filename>)
<filename>development/tools/parsing</filename> (e.g. <filename>bison</filename>, <filename>flex</filename>)
</para>
</listitem>
</varlistentry>
@@ -391,8 +322,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>development/tools/build-managers</filename> (e.g.
<filename>gnumake</filename>)
<filename>development/tools/build-managers</filename> (e.g. <filename>gnumake</filename>)
</para>
</listitem>
</varlistentry>
@@ -402,8 +332,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>development/tools/misc</filename> (e.g.
<filename>binutils</filename>)
<filename>development/tools/misc</filename> (e.g. <filename>binutils</filename>)
</para>
</listitem>
</varlistentry>
@@ -429,8 +358,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
(A tool is a relatively small program, especially one intended to be
used non-interactively.)
(A tool is a relatively small program, especially one intended to be used non-interactively.)
</para>
<variablelist>
<varlistentry>
@@ -439,8 +367,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>tools/networking</filename> (e.g.
<filename>wget</filename>)
<filename>tools/networking</filename> (e.g. <filename>wget</filename>)
</para>
</listitem>
</varlistentry>
@@ -470,8 +397,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>tools/archivers</filename> (e.g. <filename>zip</filename>,
<filename>tar</filename>)
<filename>tools/archivers</filename> (e.g. <filename>zip</filename>, <filename>tar</filename>)
</para>
</listitem>
</varlistentry>
@@ -481,8 +407,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>tools/compression</filename> (e.g.
<filename>gzip</filename>, <filename>bzip2</filename>)
<filename>tools/compression</filename> (e.g. <filename>gzip</filename>, <filename>bzip2</filename>)
</para>
</listitem>
</varlistentry>
@@ -492,8 +417,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>tools/security</filename> (e.g. <filename>nmap</filename>,
<filename>gnupg</filename>)
<filename>tools/security</filename> (e.g. <filename>nmap</filename>, <filename>gnupg</filename>)
</para>
</listitem>
</varlistentry>
@@ -532,8 +456,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>servers/http</filename> (e.g.
<filename>apache-httpd</filename>)
<filename>servers/http</filename> (e.g. <filename>apache-httpd</filename>)
</para>
</listitem>
</varlistentry>
@@ -543,8 +466,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>servers/x11</filename> (e.g. <filename>xorg</filename>
this includes the client libraries and programs)
<filename>servers/x11</filename> (e.g. <filename>xorg</filename> this includes the client libraries and programs)
</para>
</listitem>
</varlistentry>
@@ -567,8 +489,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>desktops</filename> (e.g. <filename>kde</filename>,
<filename>gnome</filename>, <filename>enlightenment</filename>)
<filename>desktops</filename> (e.g. <filename>kde</filename>, <filename>gnome</filename>, <filename>enlightenment</filename>)
</para>
</listitem>
</varlistentry>
@@ -578,8 +499,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>applications/window-managers</filename> (e.g.
<filename>awesome</filename>, <filename>stumpwm</filename>)
<filename>applications/window-managers</filename> (e.g. <filename>awesome</filename>, <filename>stumpwm</filename>)
</para>
</listitem>
</varlistentry>
@@ -589,8 +509,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
A (typically large) program with a distinct user interface, primarily
used interactively.
A (typically large) program with a distinct user interface, primarily used interactively.
</para>
<variablelist>
<varlistentry>
@@ -599,8 +518,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>applications/version-management</filename> (e.g.
<filename>subversion</filename>)
<filename>applications/version-management</filename> (e.g. <filename>subversion</filename>)
</para>
</listitem>
</varlistentry>
@@ -610,8 +528,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>applications/video</filename> (e.g.
<filename>vlc</filename>)
<filename>applications/video</filename> (e.g. <filename>vlc</filename>)
</para>
</listitem>
</varlistentry>
@@ -621,8 +538,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>applications/graphics</filename> (e.g.
<filename>gimp</filename>)
<filename>applications/graphics</filename> (e.g. <filename>gimp</filename>)
</para>
</listitem>
</varlistentry>
@@ -638,8 +554,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>applications/networking/mailreaders</filename> (e.g.
<filename>thunderbird</filename>)
<filename>applications/networking/mailreaders</filename> (e.g. <filename>thunderbird</filename>)
</para>
</listitem>
</varlistentry>
@@ -649,8 +564,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>applications/networking/newsreaders</filename> (e.g.
<filename>pan</filename>)
<filename>applications/networking/newsreaders</filename> (e.g. <filename>pan</filename>)
</para>
</listitem>
</varlistentry>
@@ -660,8 +574,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>applications/networking/browsers</filename> (e.g.
<filename>firefox</filename>)
<filename>applications/networking/browsers</filename> (e.g. <filename>firefox</filename>)
</para>
</listitem>
</varlistentry>
@@ -719,8 +632,7 @@ args.stdenv.mkDerivation (args // {
</term>
<listitem>
<para>
<filename>data/sgml+xml/schemas/xml-dtd</filename> (e.g.
<filename>docbook</filename>)
<filename>data/sgml+xml/schemas/xml-dtd</filename> (e.g. <filename>docbook</filename>)
</para>
</listitem>
</varlistentry>
@@ -733,8 +645,7 @@ args.stdenv.mkDerivation (args // {
(Okay, these are executable...)
</para>
<para>
<filename>data/sgml+xml/stylesheets/xslt</filename> (e.g.
<filename>docbook-xsl</filename>)
<filename>data/sgml+xml/stylesheets/xslt</filename> (e.g. <filename>docbook-xsl</filename>)
</para>
</listitem>
</varlistentry>
@@ -771,36 +682,15 @@ args.stdenv.mkDerivation (args // {
<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.
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>.
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.
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>
@@ -808,25 +698,15 @@ args.stdenv.mkDerivation (args // {
<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.
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>.
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:
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>
@@ -863,11 +743,7 @@ src = fetchFromGitHub {
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>.
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>
@@ -883,40 +759,23 @@ src = fetchFromGitHub {
<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.
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.
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).
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).
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.
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:
@@ -927,28 +786,18 @@ src = fetchFromGitHub {
</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.
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.
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.
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.
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>
@@ -962,9 +811,7 @@ src = fetchFromGitHub {
<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:
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>
@@ -975,8 +822,7 @@ src = fetchFromGitHub {
</listitem>
<listitem>
<para>
hashes from upstream (in method 3) should be obtained via secure
protocol;
hashes from upstream (in method 3) should be obtained via secure protocol;
</para>
</listitem>
<listitem>
@@ -986,12 +832,7 @@ src = fetchFromGitHub {
</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.
<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>
@@ -1001,8 +842,7 @@ src = fetchFromGitHub {
<title>Patches</title>
<para>
Patches available online should be retrieved using
<literal>fetchpatch</literal>.
Patches available online should be retrieved using <literal>fetchpatch</literal>.
</para>
<para>
@@ -1018,10 +858,7 @@ patches = [
</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.
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>
@@ -1031,8 +868,7 @@ patches = [ ./0001-changes.patch ];
</para>
<para>
If you do need to do create this sort of patch file, one way to do so is
with git:
If you do need to do create this sort of patch file, one way to do so is with git:
<orderedlist>
<listitem>
<para>
@@ -1043,8 +879,7 @@ patches = [ ./0001-changes.patch ];
</listitem>
<listitem>
<para>
If a git repository is not already present, create one and stage all of
the source files.
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>
@@ -1052,8 +887,7 @@ patches = [ ./0001-changes.patch ];
</listitem>
<listitem>
<para>
Edit some files to make whatever changes need to be included in the
patch.
Edit some files to make whatever changes need to be included in the patch.
</para>
</listitem>
<listitem>

View File

@@ -3,49 +3,38 @@
xml:id="chap-packageconfig">
<title>Global configuration</title>
<para>
Nix comes with certain defaults about what packages can and cannot be
installed, based on a package's metadata. By default, Nix will prevent
installation if any of the following criteria are true:
Nix comes with certain defaults about what packages can and cannot be installed, based on a package's metadata. By default, Nix will prevent installation if any of the following criteria are true:
</para>
<itemizedlist>
<listitem>
<para>
The package is thought to be broken, and has had its
<literal>meta.broken</literal> set to <literal>true</literal>.
The package is thought to be broken, and has had its <literal>meta.broken</literal> set to <literal>true</literal>.
</para>
</listitem>
<listitem>
<para>
The package isn't intended to run on the given system, as none of its
<literal>meta.platforms</literal> match the given system.
The package isn't intended to run on the given system, as none of its <literal>meta.platforms</literal> match the given system.
</para>
</listitem>
<listitem>
<para>
The package's <literal>meta.license</literal> is set to a license which is
considered to be unfree.
The package's <literal>meta.license</literal> is set to a license which is considered to be unfree.
</para>
</listitem>
<listitem>
<para>
The package has known security vulnerabilities but has not or can not be
updated for some reason, and a list of issues has been entered in to the
package's <literal>meta.knownVulnerabilities</literal>.
The package has known security vulnerabilities but has not or can not be updated for some reason, and a list of issues has been entered in to the package's <literal>meta.knownVulnerabilities</literal>.
</para>
</listitem>
</itemizedlist>
<para>
Note that all this is checked during evaluation already, and the check
includes any package that is evaluated. In particular, all build-time
dependencies are checked. <literal>nix-env -qa</literal> will (attempt to)
hide any packages that would be refused.
Note that all this is checked during evaluation already, and the check includes any package that is evaluated. In particular, all build-time dependencies are checked. <literal>nix-env -qa</literal> will (attempt to) hide any packages that would be refused.
</para>
<para>
Each of these criteria can be altered in the nixpkgs configuration.
</para>
<para>
The nixpkgs configuration for a NixOS system is set in the
<literal>configuration.nix</literal>, as in the following example:
The nixpkgs configuration for a NixOS system is set in the <literal>configuration.nix</literal>, as in the following example:
<programlisting>
{
nixpkgs.config = {
@@ -53,13 +42,10 @@
};
}
</programlisting>
However, this does not allow unfree software for individual users. Their
configurations are managed separately.
However, this does not allow unfree software for individual users. Their configurations are managed separately.
</para>
<para>
A user's of nixpkgs configuration is stored in a user-specific configuration
file located at <filename>~/.config/nixpkgs/config.nix</filename>. For
example:
A user's of nixpkgs configuration is stored in a user-specific configuration file located at <filename>~/.config/nixpkgs/config.nix</filename>. For example:
<programlisting>
{
allowUnfree = true;
@@ -67,31 +53,25 @@
</programlisting>
</para>
<para>
Note that we are not able to test or build unfree software on Hydra due to
policy. Most unfree licenses prohibit us from either executing or
distributing the software.
Note that we are not able to test or build unfree software on Hydra due to policy. Most unfree licenses prohibit us from either executing or distributing the software.
</para>
<section xml:id="sec-allow-broken">
<title>Installing broken packages</title>
<para>
There are two ways to try compiling a package which has been marked as
broken.
There are two ways to try compiling a package which has been marked as broken.
</para>
<itemizedlist>
<listitem>
<para>
For allowing the build of a broken package once, you can use an
environment variable for a single invocation of the nix tools:
For allowing the build of a broken package once, you can use an environment variable for a single invocation of the nix tools:
<programlisting>$ export NIXPKGS_ALLOW_BROKEN=1</programlisting>
</para>
</listitem>
<listitem>
<para>
For permanently allowing broken packages to be built, you may add
<literal>allowBroken = true;</literal> to your user's configuration file,
like this:
For permanently allowing broken packages to be built, you may add <literal>allowBroken = true;</literal> to your user's configuration file, like this:
<programlisting>
{
allowBroken = true;
@@ -105,23 +85,19 @@
<title>Installing packages on unsupported systems</title>
<para>
There are also two ways to try compiling a package which has been marked as
unsuported for the given system.
There are also two ways to try compiling a package which has been marked as unsuported for the given system.
</para>
<itemizedlist>
<listitem>
<para>
For allowing the build of a broken package once, you can use an
environment variable for a single invocation of the nix tools:
For allowing the build of a broken package once, you can use an environment variable for a single invocation of the nix tools:
<programlisting>$ export NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1</programlisting>
</para>
</listitem>
<listitem>
<para>
For permanently allowing broken packages to be built, you may add
<literal>allowUnsupportedSystem = true;</literal> to your user's
configuration file, like this:
For permanently allowing broken packages to be built, you may add <literal>allowUnsupportedSystem = true;</literal> to your user's configuration file, like this:
<programlisting>
{
allowUnsupportedSystem = true;
@@ -132,42 +108,29 @@
</itemizedlist>
<para>
The difference between a package being unsupported on some system and being
broken is admittedly a bit fuzzy. If a program <emphasis>ought</emphasis> to
work on a certain platform, but doesn't, the platform should be included in
<literal>meta.platforms</literal>, but marked as broken with e.g.
<literal>meta.broken = !hostPlatform.isWindows</literal>. Of course, this
begs the question of what "ought" means exactly. That is left to the package
maintainer.
The difference between a package being unsupported on some system and being broken is admittedly a bit fuzzy. If a program <emphasis>ought</emphasis> to work on a certain platform, but doesn't, the platform should be included in <literal>meta.platforms</literal>, but marked as broken with e.g. <literal>meta.broken = !hostPlatform.isWindows</literal>. Of course, this begs the question of what "ought" means exactly. That is left to the package maintainer.
</para>
</section>
<section xml:id="sec-allow-unfree">
<title>Installing unfree packages</title>
<para>
There are several ways to tweak how Nix handles a package which has been
marked as unfree.
There are several ways to tweak how Nix handles a package which has been marked as unfree.
</para>
<itemizedlist>
<listitem>
<para>
To temporarily allow all unfree packages, you can use an environment
variable for a single invocation of the nix tools:
To temporarily allow all unfree packages, you can use an environment variable for a single invocation of the nix tools:
<programlisting>$ export NIXPKGS_ALLOW_UNFREE=1</programlisting>
</para>
</listitem>
<listitem>
<para>
It is possible to permanently allow individual unfree packages, while
still blocking unfree packages by default using the
<literal>allowUnfreePredicate</literal> configuration option in the user
configuration file.
It is possible to permanently allow individual unfree packages, while still blocking unfree packages by default using the <literal>allowUnfreePredicate</literal> configuration option in the user configuration file.
</para>
<para>
This option is a function which accepts a package as a parameter, and
returns a boolean. The following example configuration accepts a package
and always returns false:
This option is a function which accepts a package as a parameter, and returns a boolean. The following example configuration accepts a package and always returns false:
<programlisting>
{
allowUnfreePredicate = (pkg: false);
@@ -175,29 +138,23 @@
</programlisting>
</para>
<para>
For a more useful example, try the following. This configuration only
allows unfree packages named flash player and visual studio code:
For a more useful example, try the following. This configuration only allows unfree packages named flash player and visual studio code:
<programlisting>
{
allowUnfreePredicate = (pkg: builtins.elem
(builtins.parseDrvName pkg.name).name [
"flashplayer"
"vscode"
]);
allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"flashplayer"
"vscode"
];
}
</programlisting>
</para>
</listitem>
<listitem>
<para>
It is also possible to whitelist and blacklist licenses that are
specifically acceptable or not acceptable, using
<literal>whitelistedLicenses</literal> and
<literal>blacklistedLicenses</literal>, respectively.
It is also possible to whitelist and blacklist licenses that are specifically acceptable or not acceptable, using <literal>whitelistedLicenses</literal> and <literal>blacklistedLicenses</literal>, respectively.
</para>
<para>
The following example configuration whitelists the licenses
<literal>amd</literal> and <literal>wtfpl</literal>:
The following example configuration whitelists the licenses <literal>amd</literal> and <literal>wtfpl</literal>:
<programlisting>
{
whitelistedLicenses = with stdenv.lib.licenses; [ amd wtfpl ];
@@ -205,8 +162,7 @@
</programlisting>
</para>
<para>
The following example configuration blacklists the <literal>gpl3</literal>
and <literal>agpl3</literal> licenses:
The following example configuration blacklists the <literal>gpl3</literal> and <literal>agpl3</literal> licenses:
<programlisting>
{
blacklistedLicenses = with stdenv.lib.licenses; [ agpl3 gpl3 ];
@@ -217,37 +173,29 @@
</itemizedlist>
<para>
A complete list of licenses can be found in the file
<filename>lib/licenses.nix</filename> of the nixpkgs tree.
A complete list of licenses can be found in the file <filename>lib/licenses.nix</filename> of the nixpkgs tree.
</para>
</section>
<section xml:id="sec-allow-insecure">
<title>Installing insecure packages</title>
<para>
There are several ways to tweak how Nix handles a package which has been
marked as insecure.
There are several ways to tweak how Nix handles a package which has been marked as insecure.
</para>
<itemizedlist>
<listitem>
<para>
To temporarily allow all insecure packages, you can use an environment
variable for a single invocation of the nix tools:
To temporarily allow all insecure packages, you can use an environment variable for a single invocation of the nix tools:
<programlisting>$ export NIXPKGS_ALLOW_INSECURE=1</programlisting>
</para>
</listitem>
<listitem>
<para>
It is possible to permanently allow individual insecure packages, while
still blocking other insecure packages by default using the
<literal>permittedInsecurePackages</literal> configuration option in the
user configuration file.
It is possible to permanently allow individual insecure packages, while still blocking other insecure packages by default using the <literal>permittedInsecurePackages</literal> configuration option in the user configuration file.
</para>
<para>
The following example configuration permits the installation of the
hypothetically insecure package <literal>hello</literal>, version
<literal>1.2.3</literal>:
The following example configuration permits the installation of the hypothetically insecure package <literal>hello</literal>, version <literal>1.2.3</literal>:
<programlisting>
{
permittedInsecurePackages = [
@@ -259,27 +207,21 @@
</listitem>
<listitem>
<para>
It is also possible to create a custom policy around which insecure
packages to allow and deny, by overriding the
<literal>allowInsecurePredicate</literal> configuration option.
It is also possible to create a custom policy around which insecure packages to allow and deny, by overriding the <literal>allowInsecurePredicate</literal> configuration option.
</para>
<para>
The <literal>allowInsecurePredicate</literal> option is a function which
accepts a package and returns a boolean, much like
<literal>allowUnfreePredicate</literal>.
The <literal>allowInsecurePredicate</literal> option is a function which accepts a package and returns a boolean, much like <literal>allowUnfreePredicate</literal>.
</para>
<para>
The following configuration example only allows insecure packages with
very short names:
The following configuration example only allows insecure packages with very short names:
<programlisting>
{
allowInsecurePredicate = (pkg: (builtins.stringLength (builtins.parseDrvName pkg.name).name) &lt;= 5);
allowInsecurePredicate = pkg: builtins.stringLength (lib.getName pkg) &lt;= 5;
}
</programlisting>
</para>
<para>
Note that <literal>permittedInsecurePackages</literal> is only checked if
<literal>allowInsecurePredicate</literal> is not specified.
Note that <literal>permittedInsecurePackages</literal> is only checked if <literal>allowInsecurePredicate</literal> is not specified.
</para>
</listitem>
</itemizedlist>
@@ -289,10 +231,7 @@
<title>Modify packages via <literal>packageOverrides</literal></title>
<para>
You can define a function called <varname>packageOverrides</varname> in your
local <filename>~/.config/nixpkgs/config.nix</filename> to override Nix
packages. It must be a function that takes pkgs as an argument and returns a
modified set of packages.
You can define a function called <varname>packageOverrides</varname> in your local <filename>~/.config/nixpkgs/config.nix</filename> to override Nix packages. It must be a function that takes pkgs as an argument and returns a modified set of packages.
<programlisting>
{
packageOverrides = pkgs: rec {
@@ -309,15 +248,7 @@
<title>Build an environment</title>
<para>
Using <literal>packageOverrides</literal>, it is possible to manage
packages declaratively. This means that we can list all of our desired
packages within a declarative Nix expression. For example, to have
<literal>aspell</literal>, <literal>bc</literal>,
<literal>ffmpeg</literal>, <literal>coreutils</literal>,
<literal>gdb</literal>, <literal>nixUnstable</literal>,
<literal>emscripten</literal>, <literal>jq</literal>,
<literal>nox</literal>, and <literal>silver-searcher</literal>, we could
use the following in <filename>~/.config/nixpkgs/config.nix</filename>:
Using <literal>packageOverrides</literal>, it is possible to manage packages declaratively. This means that we can list all of our desired packages within a declarative Nix expression. For example, to have <literal>aspell</literal>, <literal>bc</literal>, <literal>ffmpeg</literal>, <literal>coreutils</literal>, <literal>gdb</literal>, <literal>nixUnstable</literal>, <literal>emscripten</literal>, <literal>jq</literal>, <literal>nox</literal>, and <literal>silver-searcher</literal>, we could use the following in <filename>~/.config/nixpkgs/config.nix</filename>:
</para>
<screen>
@@ -343,13 +274,7 @@
</screen>
<para>
To install it into our environment, you can just run <literal>nix-env -iA
nixpkgs.myPackages</literal>. If you want to load the packages to be built
from a working copy of <literal>nixpkgs</literal> you just run
<literal>nix-env -f. -iA myPackages</literal>. To explore what's been
installed, just look through <filename>~/.nix-profile/</filename>. You can
see that a lot of stuff has been installed. Some of this stuff is useful
some of it isn't. Let's tell Nixpkgs to only link the stuff that we want:
To install it into our environment, you can just run <literal>nix-env -iA nixpkgs.myPackages</literal>. If you want to load the packages to be built from a working copy of <literal>nixpkgs</literal> you just run <literal>nix-env -f. -iA myPackages</literal>. To explore what's been installed, just look through <filename>~/.nix-profile/</filename>. You can see that a lot of stuff has been installed. Some of this stuff is useful some of it isn't. Let's tell Nixpkgs to only link the stuff that we want:
</para>
<screen>
@@ -376,12 +301,7 @@
</screen>
<para>
<literal>pathsToLink</literal> tells Nixpkgs to only link the paths listed
which gets rid of the extra stuff in the profile. <filename>/bin</filename>
and <filename>/share</filename> are good defaults for a user environment,
getting rid of the clutter. If you are running on Nix on MacOS, you may
want to add another path as well, <filename>/Applications</filename>, that
makes GUI apps available.
<literal>pathsToLink</literal> tells Nixpkgs to only link the paths listed which gets rid of the extra stuff in the profile. <filename>/bin</filename> and <filename>/share</filename> are good defaults for a user environment, getting rid of the clutter. If you are running on Nix on MacOS, you may want to add another path as well, <filename>/Applications</filename>, that makes GUI apps available.
</para>
</section>
@@ -389,13 +309,7 @@
<title>Getting documentation</title>
<para>
After building that new environment, look through
<filename>~/.nix-profile</filename> to make sure everything is there that
we wanted. Discerning readers will note that some files are missing. Look
inside <filename>~/.nix-profile/share/man/man1/</filename> to verify this.
There are no man pages for any of the Nix tools! This is because some
packages like Nix have multiple outputs for things like documentation (see
section 4). Let's make Nix install those as well.
After building that new environment, look through <filename>~/.nix-profile</filename> to make sure everything is there that we wanted. Discerning readers will note that some files are missing. Look inside <filename>~/.nix-profile/share/man/man1/</filename> to verify this. There are no man pages for any of the Nix tools! This is because some packages like Nix have multiple outputs for things like documentation (see section 4). Let's make Nix install those as well.
</para>
<screen>
@@ -422,9 +336,7 @@
</screen>
<para>
This provides us with some useful documentation for using our packages.
However, if we actually want those manpages to be detected by man, we need
to set up our environment. This can also be managed within Nix expressions.
This provides us with some useful documentation for using our packages. However, if we actually want those manpages to be detected by man, we need to set up our environment. This can also be managed within Nix expressions.
</para>
<screen>
@@ -460,9 +372,7 @@
</screen>
<para>
For this to work fully, you must also have this script sourced when you are
logged in. Try adding something like this to your
<filename>~/.profile</filename> file:
For this to work fully, you must also have this script sourced when you are logged in. Try adding something like this to your <filename>~/.profile</filename> file:
</para>
<screen>
@@ -477,8 +387,7 @@ fi
</screen>
<para>
Now just run <literal>source $HOME/.profile</literal> and you can starting
loading man pages from your environent.
Now just run <literal>source $HOME/.profile</literal> and you can starting loading man pages from your environent.
</para>
</section>
@@ -486,9 +395,7 @@ fi
<title>GNU info setup</title>
<para>
Configuring GNU info is a little bit trickier than man pages. To work
correctly, info needs a database to be generated. This can be done with
some small modifications to our environment scripts.
Configuring GNU info is a little bit trickier than man pages. To work correctly, info needs a database to be generated. This can be done with some small modifications to our environment scripts.
</para>
<screen>
@@ -534,11 +441,7 @@ fi
</screen>
<para>
<literal>postBuild</literal> tells Nixpkgs to run a command after building
the environment. In this case, <literal>install-info</literal> adds the
installed info pages to <literal>dir</literal> which is GNU info's default
root node. Note that <literal>texinfoInteractive</literal> is added to the
environment to give the <literal>install-info</literal> command.
<literal>postBuild</literal> tells Nixpkgs to run a command after building the environment. In this case, <literal>install-info</literal> adds the installed info pages to <literal>dir</literal> which is GNU info's default root node. Note that <literal>texinfoInteractive</literal> is added to the environment to give the <literal>install-info</literal> command.
</para>
</section>
</section>

View File

@@ -3,10 +3,8 @@
xml:id="chap-contributing">
<title>Contributing to this documentation</title>
<para>
The DocBook sources of the Nixpkgs manual are in the
<filename
xlink:href="https://github.com/NixOS/nixpkgs/tree/master/doc">doc</filename>
subdirectory of the Nixpkgs repository.
The DocBook sources of the Nixpkgs manual are in the <filename
xlink:href="https://github.com/NixOS/nixpkgs/tree/master/doc">doc</filename> subdirectory of the Nixpkgs repository.
</para>
<para>
You can quickly check your edits with <command>make</command>:
@@ -17,19 +15,16 @@ xlink:href="https://github.com/NixOS/nixpkgs/tree/master/doc">doc</filename>
<prompt>[nix-shell]$ </prompt>make
</screen>
<para>
If you experience problems, run <command>make debug</command> to help
understand the docbook errors.
If you experience problems, run <command>make debug</command> to help understand the docbook errors.
</para>
<para>
After making modifications to the manual, it's important to build it before
committing. You can do that as follows:
After making modifications to the manual, it's important to build it before committing. You can do that as follows:
<screen>
<prompt>$ </prompt>cd /path/to/nixpkgs/doc
<prompt>$ </prompt>nix-shell
<prompt>[nix-shell]$ </prompt>make clean
<prompt>[nix-shell]$ </prompt>nix-build .
</screen>
If the build succeeds, the manual will be in
<filename>./result/share/doc/nixpkgs/manual.html</filename>.
If the build succeeds, the manual will be in <filename>./result/share/doc/nixpkgs/manual.html</filename>.
</para>
</chapter>

View File

@@ -6,25 +6,11 @@
<title>Introduction</title>
<para>
"Cross-compilation" means compiling a program on one machine for another
type of machine. For example, a typical use of cross-compilation is to
compile programs for embedded devices. These devices often don't have the
computing power and memory to compile their own programs. One might think
that cross-compilation is a fairly niche concern. However, there are
significant advantages to rigorously distinguishing between build-time and
run-time environments! Significant, because the benefits apply even when one
is developing and deploying on the same machine. Nixpkgs is increasingly
adopting the opinion that packages should be written with cross-compilation
in mind, and nixpkgs should evaluate in a similar way (by minimizing
cross-compilation-specific special cases) whether or not one is
cross-compiling.
"Cross-compilation" means compiling a program on one machine for another type of machine. For example, a typical use of cross-compilation is to compile programs for embedded devices. These devices often don't have the computing power and memory to compile their own programs. One might think that cross-compilation is a fairly niche concern. However, there are significant advantages to rigorously distinguishing between build-time and run-time environments! Significant, because the benefits apply even when one is developing and deploying on the same machine. Nixpkgs is increasingly adopting the opinion that packages should be written with cross-compilation in mind, and nixpkgs should evaluate in a similar way (by minimizing cross-compilation-specific special cases) whether or not one is cross-compiling.
</para>
<para>
This chapter will be organized in three parts. First, it will describe the
basics of how to package software in a way that supports cross-compilation.
Second, it will describe how to use Nixpkgs when cross-compiling. Third, it
will describe the internal infrastructure supporting cross-compilation.
This chapter will be organized in three parts. First, it will describe the basics of how to package software in a way that supports cross-compilation. Second, it will describe how to use Nixpkgs when cross-compiling. Third, it will describe the internal infrastructure supporting cross-compilation.
</para>
</section>
<!--============================================================-->
@@ -35,24 +21,12 @@
<title>Platform parameters</title>
<para>
Nixpkgs follows the
<link
xlink:href="https://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html">conventions
of GNU autoconf</link>. We distinguish between 3 types of platforms when
building a derivation: <wordasword>build</wordasword>,
<wordasword>host</wordasword>, and <wordasword>target</wordasword>. In
summary, <wordasword>build</wordasword> is the platform on which a package
is being built, <wordasword>host</wordasword> is the platform on which it
will run. The third attribute, <wordasword>target</wordasword>, is relevant
only for certain specific compilers and build tools.
Nixpkgs follows the <link
xlink:href="https://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html">conventions of GNU autoconf</link>. We distinguish between 3 types of platforms when building a derivation: <wordasword>build</wordasword>, <wordasword>host</wordasword>, and <wordasword>target</wordasword>. In summary, <wordasword>build</wordasword> is the platform on which a package is being built, <wordasword>host</wordasword> is the platform on which it will run. The third attribute, <wordasword>target</wordasword>, is relevant only for certain specific compilers and build tools.
</para>
<para>
In Nixpkgs, these three platforms are defined as attribute sets under the
names <literal>buildPlatform</literal>, <literal>hostPlatform</literal>,
and <literal>targetPlatform</literal>. They are always defined as
attributes in the standard environment. That means one can access them
like:
In Nixpkgs, these three platforms are defined as attribute sets under the names <literal>buildPlatform</literal>, <literal>hostPlatform</literal>, and <literal>targetPlatform</literal>. They are always defined as attributes in the standard environment. That means one can access them like:
<programlisting>{ stdenv, fooDep, barDep, .. }: ...stdenv.buildPlatform...</programlisting>
.
</para>
@@ -64,9 +38,7 @@
</term>
<listitem>
<para>
The "build platform" is the platform on which a package is built. Once
someone has a built package, or pre-built binary package, the build
platform should not matter and can be ignored.
The "build platform" is the platform on which a package is built. Once someone has a built package, or pre-built binary package, the build platform should not matter and can be ignored.
</para>
</listitem>
</varlistentry>
@@ -76,9 +48,7 @@
</term>
<listitem>
<para>
The "host platform" is the platform on which a package will be run. This
is the simplest platform to understand, but also the one with the worst
name.
The "host platform" is the platform on which a package will be run. This is the simplest platform to understand, but also the one with the worst name.
</para>
</listitem>
</varlistentry>
@@ -88,44 +58,23 @@
</term>
<listitem>
<para>
The "target platform" attribute is, unlike the other two attributes, not
actually fundamental to the process of building software. Instead, it is
only relevant for compatibility with building certain specific compilers
and build tools. It can be safely ignored for all other packages.
The "target platform" attribute is, unlike the other two attributes, not actually fundamental to the process of building software. Instead, it is only relevant for compatibility with building certain specific compilers and build tools. It can be safely ignored for all other packages.
</para>
<para>
The build process of certain compilers is written in such a way that the
compiler resulting from a single build can itself only produce binaries
for a single platform. The task of specifying this single "target
platform" is thus pushed to build time of the compiler. The root cause
of this is that the compiler (which will be run on the host) and the
standard library/runtime (which will be run on the target) are built by
a single build process.
The build process of certain compilers is written in such a way that the compiler resulting from a single build can itself only produce binaries for a single platform. The task of specifying this single "target platform" is thus pushed to build time of the compiler. The root cause of this is that the compiler (which will be run on the host) and the standard library/runtime (which will be run on the target) are built by a single build process.
</para>
<para>
There is no fundamental need to think about a single target ahead of
time like this. If the tool supports modular or pluggable backends, both
the need to specify the target at build time and the constraint of
having only a single target disappear. An example of such a tool is
LLVM.
There is no fundamental need to think about a single target ahead of time like this. If the tool supports modular or pluggable backends, both the need to specify the target at build time and the constraint of having only a single target disappear. An example of such a tool is LLVM.
</para>
<para>
Although the existence of a "target platfom" is arguably a historical
mistake, it is a common one: examples of tools that suffer from it are
GCC, Binutils, GHC and Autoconf. Nixpkgs tries to avoid sharing in the
mistake where possible. Still, because the concept of a target platform
is so ingrained, it is best to support it as is.
Although the existence of a "target platfom" is arguably a historical mistake, it is a common one: examples of tools that suffer from it are GCC, Binutils, GHC and Autoconf. Nixpkgs tries to avoid sharing in the mistake where possible. Still, because the concept of a target platform is so ingrained, it is best to support it as is.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
The exact schema these fields follow is a bit ill-defined due to a long and
convoluted evolution, but this is slowly being cleaned up. You can see
examples of ones used in practice in
<literal>lib.systems.examples</literal>; note how they are not all very
consistent. For now, here are few fields can count on them containing:
The exact schema these fields follow is a bit ill-defined due to a long and convoluted evolution, but this is slowly being cleaned up. You can see examples of ones used in practice in <literal>lib.systems.examples</literal>; note how they are not all very consistent. For now, here are few fields can count on them containing:
</para>
<variablelist>
@@ -135,13 +84,7 @@
</term>
<listitem>
<para>
This is a two-component shorthand for the platform. Examples of this
would be "x86_64-darwin" and "i686-linux"; see
<literal>lib.systems.doubles</literal> for more. The first component
corresponds to the CPU architecture of the platform and the second to
the operating system of the platform (<literal>[cpu]-[os]</literal>).
This format has built-in support in Nix, such as the
<varname>builtins.currentSystem</varname> impure string.
This is a two-component shorthand for the platform. Examples of this would be "x86_64-darwin" and "i686-linux"; see <literal>lib.systems.doubles</literal> for more. The first component corresponds to the CPU architecture of the platform and the second to the operating system of the platform (<literal>[cpu]-[os]</literal>). This format has built-in support in Nix, such as the <varname>builtins.currentSystem</varname> impure string.
</para>
</listitem>
</varlistentry>
@@ -151,15 +94,7 @@
</term>
<listitem>
<para>
This is a 3- or 4- component shorthand for the platform. Examples of
this would be <literal>x86_64-unknown-linux-gnu</literal> and
<literal>aarch64-apple-darwin14</literal>. This is a standard format
called the "LLVM target triple", as they are pioneered by LLVM. In the
4-part form, this corresponds to
<literal>[cpu]-[vendor]-[os]-[abi]</literal>. This format is strictly
more informative than the "Nix host double", as the previous format
could analogously be termed. This needs a better name than
<varname>config</varname>!
This is a 3- or 4- component shorthand for the platform. Examples of this would be <literal>x86_64-unknown-linux-gnu</literal> and <literal>aarch64-apple-darwin14</literal>. This is a standard format called the "LLVM target triple", as they are pioneered by LLVM. In the 4-part form, this corresponds to <literal>[cpu]-[vendor]-[os]-[abi]</literal>. This format is strictly more informative than the "Nix host double", as the previous format could analogously be termed. This needs a better name than <varname>config</varname>!
</para>
</listitem>
</varlistentry>
@@ -169,10 +104,7 @@
</term>
<listitem>
<para>
This is a Nix representation of a parsed LLVM target triple with
white-listed components. This can be specified directly, or actually
parsed from the <varname>config</varname>. See
<literal>lib.systems.parse</literal> for the exact representation.
This is a Nix representation of a parsed LLVM target triple with white-listed components. This can be specified directly, or actually parsed from the <varname>config</varname>. See <literal>lib.systems.parse</literal> for the exact representation.
</para>
</listitem>
</varlistentry>
@@ -182,10 +114,7 @@
</term>
<listitem>
<para>
This is a string identifying the standard C library used. Valid
identifiers include "glibc" for GNU libc, "libSystem" for Darwin's
Libsystem, and "uclibc" for µClibc. It should probably be refactored to
use the module system, like <varname>parse</varname>.
This is a string identifying the standard C library used. Valid identifiers include "glibc" for GNU libc, "libSystem" for Darwin's Libsystem, and "uclibc" for µClibc. It should probably be refactored to use the module system, like <varname>parse</varname>.
</para>
</listitem>
</varlistentry>
@@ -195,10 +124,7 @@
</term>
<listitem>
<para>
These predicates are defined in <literal>lib.systems.inspect</literal>,
and slapped onto every platform. They are superior to the ones in
<varname>stdenv</varname> as they force the user to be explicit about
which platform they are inspecting. Please use these instead of those.
These predicates are defined in <literal>lib.systems.inspect</literal>, and slapped onto every platform. They are superior to the ones in <varname>stdenv</varname> as they force the user to be explicit about which platform they are inspecting. Please use these instead of those.
</para>
</listitem>
</varlistentry>
@@ -208,11 +134,7 @@
</term>
<listitem>
<para>
This is, quite frankly, a dumping ground of ad-hoc settings (it's an
attribute set). See <literal>lib.systems.platforms</literal> for
examples—there's hopefully one in there that will work verbatim for
each platform that is working. Please help us triage these flags and
give them better homes!
This is, quite frankly, a dumping ground of ad-hoc settings (it's an attribute set). See <literal>lib.systems.platforms</literal> for examples—there's hopefully one in there that will work verbatim for each platform that is working. Please help us triage these flags and give them better homes!
</para>
</listitem>
</varlistentry>
@@ -224,62 +146,33 @@
<note>
<para>
This is a rather philosophical description that isn't very
Nixpkgs-specific. For an overview of all the relevant attributes given to
<varname>mkDerivation</varname>, see
<xref
linkend="ssec-stdenv-dependencies"/>. For a description of how
everything is implemented, see
<xref linkend="ssec-cross-dependency-implementation" />.
This is a rather philosophical description that isn't very Nixpkgs-specific. For an overview of all the relevant attributes given to <varname>mkDerivation</varname>, see <xref
linkend="ssec-stdenv-dependencies"/>. For a description of how everything is implemented, see <xref linkend="ssec-cross-dependency-implementation" />.
</para>
</note>
<para>
In this section we explore the relationship between both runtime and
build-time dependencies and the 3 Autoconf platforms.
In this section we explore the relationship between both runtime and build-time dependencies and the 3 Autoconf platforms.
</para>
<para>
A run time dependency between two packages requires that their host
platforms match. This is directly implied by the meaning of "host platform"
and "runtime dependency": The package dependency exists while both packages
are running on a single host platform.
A run time dependency between two packages requires that their host platforms match. This is directly implied by the meaning of "host platform" and "runtime dependency": The package dependency exists while both packages are running on a single host platform.
</para>
<para>
A build time dependency, however, has a shift in platforms between the
depending package and the depended-on package. "build time dependency"
means that to build the depending package we need to be able to run the
depended-on's package. The depending package's build platform is therefore
equal to the depended-on package's host platform.
A build time dependency, however, has a shift in platforms between the depending package and the depended-on package. "build time dependency" means that to build the depending package we need to be able to run the depended-on's package. The depending package's build platform is therefore equal to the depended-on package's host platform.
</para>
<para>
If both the dependency and depending packages aren't compilers or other
machine-code-producing tools, we're done. And indeed
<varname>buildInputs</varname> and <varname>nativeBuildInputs</varname>
have covered these simpler build-time and run-time (respectively) changes
for many years. But if the dependency does produce machine code, we might
need to worry about its target platform too. In principle, that target
platform might be any of the depending package's build, host, or target
platforms, but we prohibit dependencies from a "later" platform to an
earlier platform to limit confusion because we've never seen a legitimate
use for them.
If both the dependency and depending packages aren't compilers or other machine-code-producing tools, we're done. And indeed <varname>buildInputs</varname> and <varname>nativeBuildInputs</varname> have covered these simpler build-time and run-time (respectively) changes for many years. But if the dependency does produce machine code, we might need to worry about its target platform too. In principle, that target platform might be any of the depending package's build, host, or target platforms, but we prohibit dependencies from a "later" platform to an earlier platform to limit confusion because we've never seen a legitimate use for them.
</para>
<para>
Finally, if the depending package is a compiler or other
machine-code-producing tool, it might need dependencies that run at "emit
time". This is for compilers that (regrettably) insist on being built
together with their source langauges' standard libraries. Assuming build !=
host != target, a run-time dependency of the standard library cannot be run
at the compiler's build time or run time, but only at the run time of code
emitted by the compiler.
Finally, if the depending package is a compiler or other machine-code-producing tool, it might need dependencies that run at "emit time". This is for compilers that (regrettably) insist on being built together with their source langauges' standard libraries. Assuming build != host != target, a run-time dependency of the standard library cannot be run at the compiler's build time or run time, but only at the run time of code emitted by the compiler.
</para>
<para>
Putting this all together, that means we have dependencies in the form
"host → target", in at most the following six combinations:
Putting this all together, that means we have dependencies in the form "host → target", in at most the following six combinations:
<table>
<caption>Possible dependency types</caption>
<thead>
@@ -318,16 +211,7 @@
</para>
<para>
Some examples will make this table clearer. Suppose there's some package
that is being built with a <literal>(build, host, target)</literal>
platform triple of <literal>(foo, bar, baz)</literal>. If it has a
build-time library dependency, that would be a "host → build" dependency
with a triple of <literal>(foo, foo, *)</literal> (the target platform is
irrelevant). If it needs a compiler to be built, that would be a "build →
host" dependency with a triple of <literal>(foo, foo, *)</literal> (the
target platform is irrelevant). That compiler, would be built with another
compiler, also "build → host" dependency, with a triple of <literal>(foo,
foo, foo)</literal>.
Some examples will make this table clearer. Suppose there's some package that is being built with a <literal>(build, host, target)</literal> platform triple of <literal>(foo, bar, baz)</literal>. If it has a build-time library dependency, that would be a "host → build" dependency with a triple of <literal>(foo, foo, *)</literal> (the target platform is irrelevant). If it needs a compiler to be built, that would be a "build → host" dependency with a triple of <literal>(foo, foo, *)</literal> (the target platform is irrelevant). That compiler, would be built with another compiler, also "build → host" dependency, with a triple of <literal>(foo, foo, foo)</literal>.
</para>
</section>
@@ -335,20 +219,14 @@
<title>Cross packaging cookbook</title>
<para>
Some frequently encountered problems when packaging for cross-compilation
should be answered here. Ideally, the information above is exhaustive, so
this section cannot provide any new information, but it is ludicrous and
cruel to expect everyone to spend effort working through the interaction of
many features just to figure out the same answer to the same common
problem. Feel free to add to this list!
Some frequently encountered problems when packaging for cross-compilation should be answered here. Ideally, the information above is exhaustive, so this section cannot provide any new information, but it is ludicrous and cruel to expect everyone to spend effort working through the interaction of many features just to figure out the same answer to the same common problem. Feel free to add to this list!
</para>
<qandaset>
<qandaentry xml:id="cross-qa-build-c-program-in-build-environment">
<question>
<para>
What if my package's build system needs to build a C program to be run
under the build environment?
What if my package's build system needs to build a C program to be run under the build environment?
</para>
</question>
<answer>
@@ -366,11 +244,7 @@
</question>
<answer>
<para>
Many packages assume that an unprefixed <command>ar</command> is
available, but Nix doesn't provide one. It only provides a prefixed one,
just as it only does for all the other binutils programs. It may be
necessary to patch the package to fix the build system to use a prefixed
`ar`.
Many packages assume that an unprefixed <command>ar</command> is available, but Nix doesn't provide one. It only provides a prefixed one, just as it only does for all the other binutils programs. It may be necessary to patch the package to fix the build system to use a prefixed `ar`.
</para>
</answer>
</qandaentry>
@@ -382,7 +256,7 @@
</question>
<answer>
<para>
<programlisting>doCheck = stdenv.hostPlatform != stdenv.buildPlatfrom;</programlisting>
<programlisting>doCheck = stdenv.hostPlatform == stdenv.buildPlatfrom;</programlisting>
Add it to your <function>mkDerivation</function> invocation.
</para>
</answer>
@@ -395,82 +269,32 @@
<title>Cross-building packages</title>
<para>
Nixpkgs can be instantiated with <varname>localSystem</varname> alone, in
which case there is no cross-compiling and everything is built by and for
that system, or also with <varname>crossSystem</varname>, in which case
packages run on the latter, but all building happens on the former. Both
parameters take the same schema as the 3 (build, host, and target) platforms
defined in the previous section. As mentioned above,
<literal>lib.systems.examples</literal> has some platforms which are used as
arguments for these parameters in practice. You can use them
programmatically, or on the command line:
Nixpkgs can be instantiated with <varname>localSystem</varname> alone, in which case there is no cross-compiling and everything is built by and for that system, or also with <varname>crossSystem</varname>, in which case packages run on the latter, but all building happens on the former. Both parameters take the same schema as the 3 (build, host, and target) platforms defined in the previous section. As mentioned above, <literal>lib.systems.examples</literal> has some platforms which are used as arguments for these parameters in practice. You can use them programmatically, or on the command line:
<programlisting>
nix-build &lt;nixpkgs&gt; --arg crossSystem '(import &lt;nixpkgs/lib&gt;).systems.examples.fooBarBaz' -A whatever</programlisting>
</para>
<note>
<para>
Eventually we would like to make these platform examples an unnecessary
convenience so that
Eventually we would like to make these platform examples an unnecessary convenience so that
<programlisting>
nix-build &lt;nixpkgs&gt; --arg crossSystem '{ config = "&lt;arch&gt;-&lt;os&gt;-&lt;vendor&gt;-&lt;abi&gt;"; }' -A whatever</programlisting>
works in the vast majority of cases. The problem today is dependencies on
other sorts of configuration which aren't given proper defaults. We rely on
the examples to crudely to set those configuration parameters in some
vaguely sane manner on the users behalf. Issue
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/34274">#34274</link>
tracks this inconvenience along with its root cause in crufty configuration
options.
works in the vast majority of cases. The problem today is dependencies on other sorts of configuration which aren't given proper defaults. We rely on the examples to crudely to set those configuration parameters in some vaguely sane manner on the users behalf. Issue <link xlink:href="https://github.com/NixOS/nixpkgs/issues/34274">#34274</link> tracks this inconvenience along with its root cause in crufty configuration options.
</para>
</note>
<para>
While one is free to pass both parameters in full, there's a lot of logic to
fill in missing fields. As discussed in the previous section, only one of
<varname>system</varname>, <varname>config</varname>, and
<varname>parsed</varname> is needed to infer the other two. Additionally,
<varname>libc</varname> will be inferred from <varname>parse</varname>.
Finally, <literal>localSystem.system</literal> is also
<emphasis>impurely</emphasis> inferred based on the platform evaluation
occurs. This means it is often not necessary to pass
<varname>localSystem</varname> at all, as in the command-line example in the
previous paragraph.
While one is free to pass both parameters in full, there's a lot of logic to fill in missing fields. As discussed in the previous section, only one of <varname>system</varname>, <varname>config</varname>, and <varname>parsed</varname> is needed to infer the other two. Additionally, <varname>libc</varname> will be inferred from <varname>parse</varname>. Finally, <literal>localSystem.system</literal> is also <emphasis>impurely</emphasis> inferred based on the platform evaluation occurs. This means it is often not necessary to pass <varname>localSystem</varname> at all, as in the command-line example in the previous paragraph.
</para>
<note>
<para>
Many sources (manual, wiki, etc) probably mention passing
<varname>system</varname>, <varname>platform</varname>, along with the
optional <varname>crossSystem</varname> to nixpkgs: <literal>import
&lt;nixpkgs&gt; { system = ..; platform = ..; crossSystem = ..;
}</literal>. Passing those two instead of <varname>localSystem</varname> is
still supported for compatibility, but is discouraged. Indeed, much of the
inference we do for these parameters is motivated by compatibility as much
as convenience.
Many sources (manual, wiki, etc) probably mention passing <varname>system</varname>, <varname>platform</varname>, along with the optional <varname>crossSystem</varname> to nixpkgs: <literal>import &lt;nixpkgs&gt; { system = ..; platform = ..; crossSystem = ..; }</literal>. Passing those two instead of <varname>localSystem</varname> is still supported for compatibility, but is discouraged. Indeed, much of the inference we do for these parameters is motivated by compatibility as much as convenience.
</para>
</note>
<para>
One would think that <varname>localSystem</varname> and
<varname>crossSystem</varname> overlap horribly with the three
<varname>*Platforms</varname> (<varname>buildPlatform</varname>,
<varname>hostPlatform,</varname> and <varname>targetPlatform</varname>; see
<varname>stage.nix</varname> or the manual). Actually, those identifiers are
purposefully not used here to draw a subtle but important distinction: While
the granularity of having 3 platforms is necessary to properly *build*
packages, it is overkill for specifying the user's *intent* when making a
build plan or package set. A simple "build vs deploy" dichotomy is adequate:
the sliding window principle described in the previous section shows how to
interpolate between the these two "end points" to get the 3 platform triple
for each bootstrapping stage. That means for any package a given package
set, even those not bound on the top level but only reachable via
dependencies or <varname>buildPackages</varname>, the three platforms will
be defined as one of <varname>localSystem</varname> or
<varname>crossSystem</varname>, with the former replacing the latter as one
traverses build-time dependencies. A last simple difference is that
<varname>crossSystem</varname> should be null when one doesn't want to
cross-compile, while the <varname>*Platform</varname>s are always non-null.
<varname>localSystem</varname> is always non-null.
One would think that <varname>localSystem</varname> and <varname>crossSystem</varname> overlap horribly with the three <varname>*Platforms</varname> (<varname>buildPlatform</varname>, <varname>hostPlatform,</varname> and <varname>targetPlatform</varname>; see <varname>stage.nix</varname> or the manual). Actually, those identifiers are purposefully not used here to draw a subtle but important distinction: While the granularity of having 3 platforms is necessary to properly *build* packages, it is overkill for specifying the user's *intent* when making a build plan or package set. A simple "build vs deploy" dichotomy is adequate: the sliding window principle described in the previous section shows how to interpolate between the these two "end points" to get the 3 platform triple for each bootstrapping stage. That means for any package a given package set, even those not bound on the top level but only reachable via dependencies or <varname>buildPackages</varname>, the three platforms will be defined as one of <varname>localSystem</varname> or <varname>crossSystem</varname>, with the former replacing the latter as one traverses build-time dependencies. A last simple difference is that <varname>crossSystem</varname> should be null when one doesn't want to cross-compile, while the <varname>*Platform</varname>s are always non-null. <varname>localSystem</varname> is always non-null.
</para>
</section>
<!--============================================================-->
@@ -481,62 +305,20 @@ nix-build &lt;nixpkgs&gt; --arg crossSystem '{ config = "&lt;arch&gt;-&lt;os&gt;
<title>Implementation of dependencies</title>
<para>
The categorizes of dependencies developed in
<xref
linkend="ssec-cross-dependency-categorization"/> are specified as
lists of derivations given to <varname>mkDerivation</varname>, as
documented in <xref linkend="ssec-stdenv-dependencies"/>. In short,
each list of dependencies for "host → target" of "foo → bar" is called
<varname>depsFooBar</varname>, with exceptions for backwards
compatibility that <varname>depsBuildHost</varname> is instead called
<varname>nativeBuildInputs</varname> and <varname>depsHostTarget</varname>
is instead called <varname>buildInputs</varname>. Nixpkgs is now structured
so that each <varname>depsFooBar</varname> is automatically taken from
<varname>pkgsFooBar</varname>. (These <varname>pkgsFooBar</varname>s are
quite new, so there is no special case for
<varname>nativeBuildInputs</varname> and <varname>buildInputs</varname>.)
For example, <varname>pkgsBuildHost.gcc</varname> should be used at
build-time, while <varname>pkgsHostTarget.gcc</varname> should be used at
run-time.
The categorizes of dependencies developed in <xref
linkend="ssec-cross-dependency-categorization"/> are specified as lists of derivations given to <varname>mkDerivation</varname>, as documented in <xref linkend="ssec-stdenv-dependencies"/>. In short, each list of dependencies for "host → target" of "foo → bar" is called <varname>depsFooBar</varname>, with exceptions for backwards compatibility that <varname>depsBuildHost</varname> is instead called <varname>nativeBuildInputs</varname> and <varname>depsHostTarget</varname> is instead called <varname>buildInputs</varname>. Nixpkgs is now structured so that each <varname>depsFooBar</varname> is automatically taken from <varname>pkgsFooBar</varname>. (These <varname>pkgsFooBar</varname>s are quite new, so there is no special case for <varname>nativeBuildInputs</varname> and <varname>buildInputs</varname>.) For example, <varname>pkgsBuildHost.gcc</varname> should be used at build-time, while <varname>pkgsHostTarget.gcc</varname> should be used at run-time.
</para>
<para>
Now, for most of Nixpkgs's history, there were no
<varname>pkgsFooBar</varname> attributes, and most packages have not been
refactored to use it explicitly. Prior to those, there were just
<varname>buildPackages</varname>, <varname>pkgs</varname>, and
<varname>targetPackages</varname>. Those are now redefined as aliases to
<varname>pkgsBuildHost</varname>, <varname>pkgsHostTarget</varname>, and
<varname>pkgsTargetTarget</varname>. It is acceptable, even
recommended, to use them for libraries to show that the host platform is
irrelevant.
Now, for most of Nixpkgs's history, there were no <varname>pkgsFooBar</varname> attributes, and most packages have not been refactored to use it explicitly. Prior to those, there were just <varname>buildPackages</varname>, <varname>pkgs</varname>, and <varname>targetPackages</varname>. Those are now redefined as aliases to <varname>pkgsBuildHost</varname>, <varname>pkgsHostTarget</varname>, and <varname>pkgsTargetTarget</varname>. It is acceptable, even recommended, to use them for libraries to show that the host platform is irrelevant.
</para>
<para>
But before that, there was just <varname>pkgs</varname>, even though both
<varname>buildInputs</varname> and <varname>nativeBuildInputs</varname>
existed. [Cross barely worked, and those were implemented with some hacks
on <varname>mkDerivation</varname> to override dependencies.] What this
means is the vast majority of packages do not use any explicit package set
to populate their dependencies, just using whatever
<varname>callPackage</varname> gives them even if they do correctly sort
their dependencies into the multiple lists described above. And indeed,
asking that users both sort their dependencies, <emphasis>and</emphasis>
take them from the right attribute set, is both too onerous and redundant,
so the recommended approach (for now) is to continue just categorizing by
list and not using an explicit package set.
But before that, there was just <varname>pkgs</varname>, even though both <varname>buildInputs</varname> and <varname>nativeBuildInputs</varname> existed. [Cross barely worked, and those were implemented with some hacks on <varname>mkDerivation</varname> to override dependencies.] What this means is the vast majority of packages do not use any explicit package set to populate their dependencies, just using whatever <varname>callPackage</varname> gives them even if they do correctly sort their dependencies into the multiple lists described above. And indeed, asking that users both sort their dependencies, <emphasis>and</emphasis> take them from the right attribute set, is both too onerous and redundant, so the recommended approach (for now) is to continue just categorizing by list and not using an explicit package set.
</para>
<para>
To make this work, we "splice" together the six
<varname>pkgsFooBar</varname> package sets and have
<varname>callPackage</varname> actually take its arguments from that. This
is currently implemented in <filename>pkgs/top-level/splice.nix</filename>.
<varname>mkDerivation</varname> then, for each dependency attribute, pulls
the right derivation out from the splice. This splicing can be skipped when
not cross-compiling as the package sets are the same, but still is a bit
slow for cross-compiling. We'd like to do something better, but haven't
come up with anything yet.
To make this work, we "splice" together the six <varname>pkgsFooBar</varname> package sets and have <varname>callPackage</varname> actually take its arguments from that. This is currently implemented in <filename>pkgs/top-level/splice.nix</filename>. <varname>mkDerivation</varname> then, for each dependency attribute, pulls the right derivation out from the splice. This splicing can be skipped when not cross-compiling as the package sets are the same, but still is a bit slow for cross-compiling. We'd like to do something better, but haven't come up with anything yet.
</para>
</section>
@@ -544,21 +326,11 @@ nix-build &lt;nixpkgs&gt; --arg crossSystem '{ config = "&lt;arch&gt;-&lt;os&gt;
<title>Bootstrapping</title>
<para>
Each of the package sets described above come from a single bootstrapping
stage. While <filename>pkgs/top-level/default.nix</filename>, coordinates
the composition of stages at a high level,
<filename>pkgs/top-level/stage.nix</filename> "ties the knot" (creates the
fixed point) of each stage. The package sets are defined per-stage however,
so they can be thought of as edges between stages (the nodes) in a graph.
Compositions like <literal>pkgsBuildTarget.targetPackages</literal> can be
thought of as paths to this graph.
Each of the package sets described above come from a single bootstrapping stage. While <filename>pkgs/top-level/default.nix</filename>, coordinates the composition of stages at a high level, <filename>pkgs/top-level/stage.nix</filename> "ties the knot" (creates the fixed point) of each stage. The package sets are defined per-stage however, so they can be thought of as edges between stages (the nodes) in a graph. Compositions like <literal>pkgsBuildTarget.targetPackages</literal> can be thought of as paths to this graph.
</para>
<para>
While there are many package sets, and thus many edges, the stages can also
be arranged in a linear chain. In other words, many of the edges are
redundant as far as connectivity is concerned. This hinges on the type of
bootstrapping we do. Currently for cross it is:
While there are many package sets, and thus many edges, the stages can also be arranged in a linear chain. In other words, many of the edges are redundant as far as connectivity is concerned. This hinges on the type of bootstrapping we do. Currently for cross it is:
<orderedlist>
<listitem>
<para>
@@ -576,101 +348,45 @@ nix-build &lt;nixpkgs&gt; --arg crossSystem '{ config = "&lt;arch&gt;-&lt;os&gt;
</para>
</listitem>
</orderedlist>
In each stage, <varname>pkgsBuildHost</varname> refers the the previous
stage, <varname>pkgsBuildBuild</varname> refers to the one before that, and
<varname>pkgsHostTarget</varname> refers to the current one, and
<varname>pkgsTargetTarget</varname> refers to the next one. When there is
no previous or next stage, they instead refer to the current stage. Note
how all the invariants regarding the mapping between dependency and depending
packages' build host and target platforms are preserved.
<varname>pkgsBuildTarget</varname> and <varname>pkgsHostHost</varname> are
more complex in that the stage fitting the requirements isn't always a
fixed chain of "prevs" and "nexts" away (modulo the "saturating"
self-references at the ends). We just special case each instead. All the primary
edges are implemented is in <filename>pkgs/stdenv/booter.nix</filename>,
and secondarily aliases in <filename>pkgs/top-level/stage.nix</filename>.
In each stage, <varname>pkgsBuildHost</varname> refers to the previous stage, <varname>pkgsBuildBuild</varname> refers to the one before that, and <varname>pkgsHostTarget</varname> refers to the current one, and <varname>pkgsTargetTarget</varname> refers to the next one. When there is no previous or next stage, they instead refer to the current stage. Note how all the invariants regarding the mapping between dependency and depending packages' build host and target platforms are preserved. <varname>pkgsBuildTarget</varname> and <varname>pkgsHostHost</varname> are more complex in that the stage fitting the requirements isn't always a fixed chain of "prevs" and "nexts" away (modulo the "saturating" self-references at the ends). We just special case each instead. All the primary edges are implemented is in <filename>pkgs/stdenv/booter.nix</filename>, and secondarily aliases in <filename>pkgs/top-level/stage.nix</filename>.
</para>
<note>
<para>
Note the native stages are bootstrapped in legacy ways that predate the
current cross implementation. This is why the the bootstrapping stages
leading up to the final stages are ignored inthe previous paragraph.
Note the native stages are bootstrapped in legacy ways that predate the current cross implementation. This is why the bootstrapping stages leading up to the final stages are ignored inthe previous paragraph.
</para>
</note>
<para>
If one looks at the 3 platform triples, one can see that they overlap such
that one could put them together into a chain like:
If one looks at the 3 platform triples, one can see that they overlap such that one could put them together into a chain like:
<programlisting>
(native, native, native, foreign, foreign)
</programlisting>
If one imagines the saturating self references at the end being replaced
with infinite stages, and then overlays those platform triples, one ends up
with the infinite tuple:
If one imagines the saturating self references at the end being replaced with infinite stages, and then overlays those platform triples, one ends up with the infinite tuple:
<programlisting>
(native..., native, native, native, foreign, foreign, foreign...)
</programlisting>
On can then imagine any sequence of platforms such that there are bootstrap
stages with their 3 platforms determined by "sliding a window" that is the
3 tuple through the sequence. This was the original model for
bootstrapping. Without a target platform (assume a better world where all
compilers are multi-target and all standard libraries are built in their
own derivation), this is sufficient. Conversely if one wishes to cross
compile "faster", with a "Canadian Cross" bootstraping stage where
<literal>build != host != target</literal>, more bootstrapping stages are
needed since no sliding window providess the pesky
<varname>pkgsBuildTarget</varname> package set since it skips the Canadian
cross stage's "host".
On can then imagine any sequence of platforms such that there are bootstrap stages with their 3 platforms determined by "sliding a window" that is the 3 tuple through the sequence. This was the original model for bootstrapping. Without a target platform (assume a better world where all compilers are multi-target and all standard libraries are built in their own derivation), this is sufficient. Conversely if one wishes to cross compile "faster", with a "Canadian Cross" bootstraping stage where <literal>build != host != target</literal>, more bootstrapping stages are needed since no sliding window providess the pesky <varname>pkgsBuildTarget</varname> package set since it skips the Canadian cross stage's "host".
</para>
<note>
<para>
It is much better to refer to <varname>buildPackages</varname> than
<varname>targetPackages</varname>, or more broadly package sets that do
not mention "target". There are three reasons for this.
It is much better to refer to <varname>buildPackages</varname> than <varname>targetPackages</varname>, or more broadly package sets that do not mention "target". There are three reasons for this.
</para>
<para>
First, it is because bootstrapping stages do not have a unique
<varname>targetPackages</varname>. For example a <literal>(x86-linux,
x86-linux, arm-linux)</literal> and <literal>(x86-linux, x86-linux,
x86-windows)</literal> package set both have a <literal>(x86-linux,
x86-linux, x86-linux)</literal> package set. Because there is no canonical
<varname>targetPackages</varname> for such a native (<literal>build ==
host == target</literal>) package set, we set their
<varname>targetPackages</varname>
First, it is because bootstrapping stages do not have a unique <varname>targetPackages</varname>. For example a <literal>(x86-linux, x86-linux, arm-linux)</literal> and <literal>(x86-linux, x86-linux, x86-windows)</literal> package set both have a <literal>(x86-linux, x86-linux, x86-linux)</literal> package set. Because there is no canonical <varname>targetPackages</varname> for such a native (<literal>build == host == target</literal>) package set, we set their <varname>targetPackages</varname>
</para>
<para>
Second, it is because this is a frequent source of hard-to-follow
"infinite recursions" / cycles. When only package sets that don't mention
target are used, the package set forms a directed acyclic graph. This
means that all cycles that exist are confined to one stage. This means
they are a lot smaller, and easier to follow in the code or a backtrace. It
also means they are present in native and cross builds alike, and so more
likely to be caught by CI and other users.
Second, it is because this is a frequent source of hard-to-follow "infinite recursions" / cycles. When only package sets that don't mention target are used, the package set forms a directed acyclic graph. This means that all cycles that exist are confined to one stage. This means they are a lot smaller, and easier to follow in the code or a backtrace. It also means they are present in native and cross builds alike, and so more likely to be caught by CI and other users.
</para>
<para>
Thirdly, it is because everything target-mentioning only exists to
accommodate compilers with lousy build systems that insist on the compiler
itself and standard library being built together. Of course that is bad
because bigger derivations means longer rebuilds. It is also problematic because
it tends to make the standard libraries less like other libraries than
they could be, complicating code and build systems alike. Because of the
other problems, and because of these innate disadvantages, compilers ought
to be packaged another way where possible.
Thirdly, it is because everything target-mentioning only exists to accommodate compilers with lousy build systems that insist on the compiler itself and standard library being built together. Of course that is bad because bigger derivations means longer rebuilds. It is also problematic because it tends to make the standard libraries less like other libraries than they could be, complicating code and build systems alike. Because of the other problems, and because of these innate disadvantages, compilers ought to be packaged another way where possible.
</para>
</note>
<note>
<para>
If one explores Nixpkgs, they will see derivations with names like
<literal>gccCross</literal>. Such <literal>*Cross</literal> derivations is
a holdover from before we properly distinguished between the host and
target platforms—the derivation with "Cross" in the name covered the
<literal>build = host != target</literal> case, while the other covered
the <literal>host = target</literal>, with build platform the same or not
based on whether one was using its <literal>.nativeDrv</literal> or
<literal>.crossDrv</literal>. This ugliness will disappear soon.
If one explores Nixpkgs, they will see derivations with names like <literal>gccCross</literal>. Such <literal>*Cross</literal> derivations is a holdover from before we properly distinguished between the host and target platforms—the derivation with "Cross" in the name covered the <literal>build = host != target</literal> case, while the other covered the <literal>host = target</literal>, with build platform the same or not based on whether one was using its <literal>.nativeDrv</literal> or <literal>.crossDrv</literal>. This ugliness will disappear soon.
</para>
</note>
</section>

View File

@@ -8,7 +8,7 @@
<xsl:param name="html.script" select="'./highlightjs/highlight.pack.js ./highlightjs/loader.js'" />
<xsl:param name="xref.with.number.and.title" select="1" />
<xsl:param name="use.id.as.filename" select="1" />
<xsl:param name="toc.section.depth" select="3" />
<xsl:param name="toc.section.depth" select="0" />
<xsl:param name="admon.style" select="''" />
<xsl:param name="callout.graphics.extension" select="'.svg'" />
</xsl:stylesheet>

View File

@@ -4,21 +4,11 @@
xml:id="chap-functions">
<title>Functions reference</title>
<para>
The nixpkgs repository has several utility functions to manipulate Nix
expressions.
The nixpkgs repository has several utility functions to manipulate Nix expressions.
</para>
<xi:include href="functions/library.xml" />
<xi:include href="functions/overrides.xml" />
<xi:include href="functions/generators.xml" />
<xi:include href="functions/debug.xml" />
<xi:include href="functions/fetchers.xml" />
<xi:include href="functions/trivial-builders.xml" />
<xi:include href="functions/fhs-environments.xml" />
<xi:include href="functions/shell.xml" />
<xi:include href="functions/dockertools.xml" />
<xi:include href="functions/snaptools.xml" />
<xi:include href="functions/appimagetools.xml" />
<xi:include href="functions/prefer-remote-fetch.xml" />
<xi:include href="functions/nix-gitignore.xml" />
<xi:include href="functions/ocitools.xml" />
</chapter>

View File

@@ -5,17 +5,10 @@
<title>Debugging Nix Expressions</title>
<para>
Nix is a unityped, dynamic language, this means every value can potentially
appear anywhere. Since it is also non-strict, evaluation order and what
ultimately is evaluated might surprise you. Therefore it is important to be
able to debug nix expressions.
Nix is a unityped, dynamic language, this means every value can potentially appear anywhere. Since it is also non-strict, evaluation order and what ultimately is evaluated might surprise you. Therefore it is important to be able to debug nix expressions.
</para>
<para>
In the <literal>lib/debug.nix</literal> file you will find a number of
functions that help (pretty-)printing values while evaluation is runnnig. You
can even specify how deep these values should be printed recursively, and
transform them on the fly. Please consult the docstrings in
<literal>lib/debug.nix</literal> for usage information.
In the <literal>lib/debug.nix</literal> file you will find a number of functions that help (pretty-)printing values while evaluation is runnnig. You can even specify how deep these values should be printed recursively, and transform them on the fly. Please consult the docstrings in <literal>lib/debug.nix</literal> for usage information.
</para>
</section>

View File

@@ -1,194 +0,0 @@
<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-fetchers">
<title>Fetcher functions</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>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>
</section>

View File

@@ -5,28 +5,15 @@
<title>Generators</title>
<para>
Generators are functions that create file formats from nix data structures,
e.g. for configuration files. There are generators available for:
<literal>INI</literal>, <literal>JSON</literal> and <literal>YAML</literal>
Generators are functions that create file formats from nix data structures, e.g. for configuration files. There are generators available for: <literal>INI</literal>, <literal>JSON</literal> and <literal>YAML</literal>
</para>
<para>
All generators follow a similar call interface: <code>generatorName
configFunctions data</code>, where <literal>configFunctions</literal> is an
attrset of user-defined functions that format nested parts of the content.
They each have common defaults, so often they do not need to be set manually.
An example is <code>mkSectionName ? (name: libStr.escape [ "[" "]" ]
name)</code> from the <literal>INI</literal> generator. It receives the name
of a section and sanitizes it. The default <literal>mkSectionName</literal>
escapes <literal>[</literal> and <literal>]</literal> with a backslash.
All generators follow a similar call interface: <code>generatorName configFunctions data</code>, where <literal>configFunctions</literal> is an attrset of user-defined functions that format nested parts of the content. They each have common defaults, so often they do not need to be set manually. An example is <code>mkSectionName ? (name: libStr.escape [ "[" "]" ] name)</code> from the <literal>INI</literal> generator. It receives the name of a section and sanitizes it. The default <literal>mkSectionName</literal> escapes <literal>[</literal> and <literal>]</literal> with a backslash.
</para>
<para>
Generators can be fine-tuned to produce exactly the file format required by
your application/service. One example is an INI-file format which uses
<literal>: </literal> as separator, the strings
<literal>"yes"</literal>/<literal>"no"</literal> as boolean values and
requires all string values to be quoted:
Generators can be fine-tuned to produce exactly the file format required by your application/service. One example is an INI-file format which uses <literal>: </literal> as separator, the strings <literal>"yes"</literal>/<literal>"no"</literal> as boolean values and requires all string values to be quoted:
</para>
<programlisting>
@@ -77,13 +64,11 @@ merge:"diff3"
<note>
<para>
Nix store paths can be converted to strings by enclosing a derivation
attribute like so: <code>"${drv}"</code>.
Nix store paths can be converted to strings by enclosing a derivation attribute like so: <code>"${drv}"</code>.
</para>
</note>
<para>
Detailed documentation for each generator can be found in
<literal>lib/generators.nix</literal>.
Detailed documentation for each generator can be found in <literal>lib/generators.nix</literal>.
</para>
</section>

View File

@@ -5,8 +5,7 @@
<title>Nixpkgs Library Functions</title>
<para>
Nixpkgs provides a standard library at <varname>pkgs.lib</varname>, or
through <code>import &lt;nixpkgs/lib&gt;</code>.
Nixpkgs provides a standard library at <varname>pkgs.lib</varname>, or through <code>import &lt;nixpkgs/lib&gt;</code>.
</para>
<xi:include href="./library/asserts.xml" />

View File

@@ -27,8 +27,7 @@
</term>
<listitem>
<para>
Condition under which the <varname>msg</varname> should
<emphasis>not</emphasis> be printed.
Condition under which the <varname>msg</varname> should <emphasis>not</emphasis> be printed.
</para>
</listitem>
</varlistentry>
@@ -64,9 +63,7 @@ stderr> assert failed
<xi:include href="./locations.xml" xpointer="lib.asserts.assertOneOf" />
<para>
Specialized <function>asserts.assertMsg</function> for checking if
<varname>val</varname> is one of the elements of <varname>xs</varname>.
Useful for checking enums.
Specialized <function>asserts.assertMsg</function> for checking if <varname>val</varname> is one of the elements of <varname>xs</varname>. Useful for checking enums.
</para>
<variablelist>
@@ -76,8 +73,7 @@ stderr> assert failed
</term>
<listitem>
<para>
The name of the variable the user entered <varname>val</varname> into,
for inclusion in the error message.
The name of the variable the user entered <varname>val</varname> into, for inclusion in the error message.
</para>
</listitem>
</varlistentry>
@@ -87,8 +83,7 @@ stderr> assert failed
</term>
<listitem>
<para>
The value of what the user provided, to be compared against the values in
<varname>xs</varname>.
The value of what the user provided, to be compared against the values in <varname>xs</varname>.
</para>
</listitem>
</varlistentry>

View File

@@ -23,8 +23,7 @@
</term>
<listitem>
<para>
A list of strings representing the path through the nested attribute set
<varname>set</varname>.
A list of strings representing the path through the nested attribute set <varname>set</varname>.
</para>
</listitem>
</varlistentry>
@@ -34,8 +33,7 @@
</term>
<listitem>
<para>
Default value if <varname>attrPath</varname> does not resolve to an
existing value.
Default value if <varname>attrPath</varname> does not resolve to an existing value.
</para>
</listitem>
</varlistentry>
@@ -88,8 +86,7 @@ lib.attrsets.attrByPath [ "a" "b" ] 0 {}
</term>
<listitem>
<para>
A list of strings representing the path through the nested attribute set
<varname>set</varname>.
A list of strings representing the path through the nested attribute set <varname>set</varname>.
</para>
</listitem>
</varlistentry>
@@ -125,8 +122,7 @@ lib.attrsets.hasAttrByPath
<xi:include href="./locations.xml" xpointer="lib.attrsets.setAttrByPath" />
<para>
Create a new attribute set with <varname>value</varname> set at the nested
attribute location specified in <varname>attrPath</varname>.
Create a new attribute set with <varname>value</varname> set at the nested attribute location specified in <varname>attrPath</varname>.
</para>
<variablelist>
@@ -146,8 +142,7 @@ lib.attrsets.hasAttrByPath
</term>
<listitem>
<para>
The value to set at the location described by
<varname>attrPath</varname>.
The value to set at the location described by <varname>attrPath</varname>.
</para>
</listitem>
</varlistentry>
@@ -171,8 +166,7 @@ lib.attrsets.setAttrByPath [ "a" "b" ] 3
<xi:include href="./locations.xml" xpointer="lib.attrsets.getAttrFromPath" />
<para>
Like <xref linkend="function-library-lib.attrsets.attrByPath" /> except
without a default, and it will throw if the value doesn't exist.
Like <xref linkend="function-library-lib.attrsets.attrByPath" /> except without a default, and it will throw if the value doesn't exist.
</para>
<variablelist>
@@ -182,8 +176,7 @@ lib.attrsets.setAttrByPath [ "a" "b" ] 3
</term>
<listitem>
<para>
A list of strings representing the path through the nested attribute set
<varname>set</varname>.
A list of strings representing the path through the nested attribute set <varname>set</varname>.
</para>
</listitem>
</varlistentry>
@@ -235,8 +228,7 @@ lib.attrsets.getAttrFromPath [ "x" "y" ] { }
</term>
<listitem>
<para>
The list of attributes to fetch from <varname>set</varname>. Each
attribute name must exist on the attrbitue set.
The list of attributes to fetch from <varname>set</varname>. Each attribute name must exist on the attrbitue set.
</para>
</listitem>
</varlistentry>
@@ -282,8 +274,7 @@ error: attribute 'd' missing
</para>
<para>
Provides a backwards-compatible interface of
<function>builtins.attrValues</function> for Nix version older than 1.8.
Provides a backwards-compatible interface of <function>builtins.attrValues</function> for Nix version older than 1.8.
</para>
<variablelist>
@@ -317,14 +308,11 @@ lib.attrsets.attrValues { a = 1; b = 2; c = 3; }
<xi:include href="./locations.xml" xpointer="lib.attrsets.catAttrs" />
<para>
Collect each attribute named `attr' from the list of attribute sets,
<varname>sets</varname>. Sets that don't contain the named attribute are
ignored.
Collect each attribute named `attr' from the list of attribute sets, <varname>sets</varname>. Sets that don't contain the named attribute are ignored.
</para>
<para>
Provides a backwards-compatible interface of
<function>builtins.catAttrs</function> for Nix version older than 1.9.
Provides a backwards-compatible interface of <function>builtins.catAttrs</function> for Nix version older than 1.9.
</para>
<variablelist>
@@ -334,8 +322,7 @@ lib.attrsets.attrValues { a = 1; b = 2; c = 3; }
</term>
<listitem>
<para>
Attribute name to select from each attribute set in
<varname>sets</varname>.
Attribute name to select from each attribute set in <varname>sets</varname>.
</para>
</listitem>
</varlistentry>
@@ -372,8 +359,7 @@ catAttrs "a" [{a = 1;} {b = 0;} {a = 2;}]
<xi:include href="./locations.xml" xpointer="lib.attrsets.filterAttrs" />
<para>
Filter an attribute set by removing all attributes for which the given
predicate return false.
Filter an attribute set by removing all attributes for which the given predicate return false.
</para>
<variablelist>
@@ -386,8 +372,7 @@ catAttrs "a" [{a = 1;} {b = 0;} {a = 2;}]
<literal>String -> Any -> Bool</literal>
</para>
<para>
Predicate which returns true to include an attribute, or returns false to
exclude it.
Predicate which returns true to include an attribute, or returns false to exclude it.
</para>
<variablelist>
<varlistentry>
@@ -412,8 +397,7 @@ catAttrs "a" [{a = 1;} {b = 0;} {a = 2;}]
</varlistentry>
</variablelist>
<para>
Returns <literal>true</literal> to include the attribute,
<literal>false</literal> to exclude the attribute.
Returns <literal>true</literal> to include the attribute, <literal>false</literal> to exclude the attribute.
</para>
</listitem>
</varlistentry>
@@ -447,8 +431,7 @@ filterAttrs (n: v: n == "foo") { foo = 1; bar = 2; }
<xi:include href="./locations.xml" xpointer="lib.attrsets.filterAttrsRecursive" />
<para>
Filter an attribute set recursively by removing all attributes for which the
given predicate return false.
Filter an attribute set recursively by removing all attributes for which the given predicate return false.
</para>
<variablelist>
@@ -461,8 +444,7 @@ filterAttrs (n: v: n == "foo") { foo = 1; bar = 2; }
<literal>String -> Any -> Bool</literal>
</para>
<para>
Predicate which returns true to include an attribute, or returns false to
exclude it.
Predicate which returns true to include an attribute, or returns false to exclude it.
</para>
<variablelist>
<varlistentry>
@@ -487,8 +469,7 @@ filterAttrs (n: v: n == "foo") { foo = 1; bar = 2; }
</varlistentry>
</variablelist>
<para>
Returns <literal>true</literal> to include the attribute,
<literal>false</literal> to exclude the attribute.
Returns <literal>true</literal> to include the attribute, <literal>false</literal> to exclude the attribute.
</para>
</listitem>
</varlistentry>
@@ -557,8 +538,7 @@ lib.attrsets.filterAttrsRecursive
<literal>Any -> Any -> Any</literal>
</para>
<para>
Given a value <varname>val</varname> and a collector
<varname>col</varname>, combine the two.
Given a value <varname>val</varname> and a collector <varname>col</varname>, combine the two.
</para>
<variablelist>
<varlistentry>
@@ -578,8 +558,7 @@ lib.attrsets.filterAttrsRecursive
<listitem>
<!-- TODO: make this not bad, use more fold-ey terms -->
<para>
The result of previous <function>op</function> calls with other values
and <function>nul</function>.
The result of previous <function>op</function> calls with other values and <function>nul</function>.
</para>
</listitem>
</varlistentry>
@@ -632,9 +611,7 @@ lib.attrsets.foldAttrs
<xi:include href="./locations.xml" xpointer="lib.attrsets.collect" />
<para>
Recursively collect sets that verify a given predicate named
<varname>pred</varname> from the set <varname>attrs</varname>. The recursion
stops when <varname>pred</varname> returns <literal>true</literal>.
Recursively collect sets that verify a given predicate named <varname>pred</varname> from the set <varname>attrs</varname>. The recursion stops when <varname>pred</varname> returns <literal>true</literal>.
</para>
<variablelist>
@@ -702,8 +679,7 @@ collect (x: x ? outPath)
<xi:include href="./locations.xml" xpointer="lib.attrsets.nameValuePair" />
<para>
Utility function that creates a <literal>{name, value}</literal> pair as
expected by <function>builtins.listToAttrs</function>.
Utility function that creates a <literal>{name, value}</literal> pair as expected by <function>builtins.listToAttrs</function>.
</para>
<variablelist>
@@ -747,13 +723,11 @@ nameValuePair "some" 6
<xi:include href="./locations.xml" xpointer="lib.attrsets.mapAttrs" />
<para>
Apply a function to each element in an attribute set, creating a new
attribute set.
Apply a function to each element in an attribute set, creating a new attribute set.
</para>
<para>
Provides a backwards-compatible interface of
<function>builtins.mapAttrs</function> for Nix version older than 2.1.
Provides a backwards-compatible interface of <function>builtins.mapAttrs</function> for Nix version older than 2.1.
</para>
<variablelist>
@@ -814,9 +788,7 @@ lib.attrsets.mapAttrs
<xi:include href="./locations.xml" xpointer="lib.attrsets.mapAttrs-prime" />
<para>
Like <function>mapAttrs</function>, but allows the name of each attribute to
be changed in addition to the value. The applied function should return both
the new name and value as a <function>nameValuePair</function>.
Like <function>mapAttrs</function>, but allows the name of each attribute to be changed in addition to the value. The applied function should return both the new name and value as a <function>nameValuePair</function>.
</para>
<variablelist>
@@ -829,10 +801,8 @@ lib.attrsets.mapAttrs
<literal>String -> Any -> { name = String; value = Any }</literal>
</para>
<para>
Given an attribute's name and value, return a new
<link
linkend="function-library-lib.attrsets.nameValuePair">name
value pair</link>.
Given an attribute's name and value, return a new <link
linkend="function-library-lib.attrsets.nameValuePair">name value pair</link>.
</para>
<variablelist>
<varlistentry>
@@ -891,8 +861,7 @@ lib.attrsets.mapAttrs' (name: value: lib.attrsets.nameValuePair ("foo_" + name)
<xi:include href="./locations.xml" xpointer="lib.attrsets.mapAttrsToList" />
<para>
Call <varname>fn</varname> for each attribute in the given
<varname>set</varname> and return the result in a list.
Call <varname>fn</varname> for each attribute in the given <varname>set</varname> and return the result in a list.
</para>
<variablelist>
@@ -962,9 +931,7 @@ lib.attrsets.mapAttrsToList (name: value: "${name}=${value}")
<xi:include href="./locations.xml" xpointer="lib.attrsets.mapAttrsRecursive" />
<para>
Like <function>mapAttrs</function>, except that it recursively applies
itself to attribute sets. Also, the first argument of the argument function
is a <emphasis>list</emphasis> of the names of the containing attributes.
Like <function>mapAttrs</function>, except that it recursively applies itself to attribute sets. Also, the first argument of the argument function is a <emphasis>list</emphasis> of the names of the containing attributes.
</para>
<variablelist>
@@ -989,10 +956,7 @@ lib.attrsets.mapAttrsToList (name: value: "${name}=${value}")
The list of attribute names to this value.
</para>
<para>
For example, the <varname>name_path</varname> for the
<literal>example</literal> string in the attribute set <literal>{ foo
= { bar = "example"; }; }</literal> is <literal>[ "foo" "bar"
]</literal>.
For example, the <varname>name_path</varname> for the <literal>example</literal> string in the attribute set <literal>{ foo = { bar = "example"; }; }</literal> is <literal>[ "foo" "bar" ]</literal>.
</para>
</listitem>
</varlistentry>
@@ -1059,11 +1023,7 @@ mapAttrsRecursive
<xi:include href="./locations.xml" xpointer="lib.attrsets.mapAttrsRecursiveCond" />
<para>
Like <function>mapAttrsRecursive</function>, but it takes an additional
predicate function that tells it whether to recursive into an attribute set.
If it returns false, <function>mapAttrsRecursiveCond</function> does not
recurse, but does apply the map function. It is returns true, it does
recurse, and does not apply the map function.
Like <function>mapAttrsRecursive</function>, but it takes an additional predicate function that tells it whether to recursive into an attribute set. If it returns false, <function>mapAttrsRecursiveCond</function> does not recurse, but does apply the map function. It is returns true, it does recurse, and does not apply the map function.
</para>
<variablelist>
@@ -1076,8 +1036,7 @@ mapAttrsRecursive
<literal>(AttrSet -> Bool)</literal>
</para>
<para>
Determine if <function>mapAttrsRecursive</function> should recurse deeper
in to the attribute set.
Determine if <function>mapAttrsRecursive</function> should recurse deeper in to the attribute set.
</para>
<variablelist>
<varlistentry>
@@ -1114,10 +1073,7 @@ mapAttrsRecursive
The list of attribute names to this value.
</para>
<para>
For example, the <varname>name_path</varname> for the
<literal>example</literal> string in the attribute set <literal>{ foo
= { bar = "example"; }; }</literal> is <literal>[ "foo" "bar"
]</literal>.
For example, the <varname>name_path</varname> for the <literal>example</literal> string in the attribute set <literal>{ foo = { bar = "example"; }; }</literal> is <literal>[ "foo" "bar" ]</literal>.
</para>
</listitem>
</varlistentry>
@@ -1181,8 +1137,7 @@ lib.attrsets.mapAttrsRecursiveCond
<xi:include href="./locations.xml" xpointer="lib.attrsets.genAttrs" />
<para>
Generate an attribute set by mapping a function over a list of attribute
names.
Generate an attribute set by mapping a function over a list of attribute names.
</para>
<variablelist>
@@ -1241,8 +1196,7 @@ lib.attrsets.genAttrs [ "foo" "bar" ] (name: "x_${name}")
<xi:include href="./locations.xml" xpointer="lib.attrsets.isDerivation" />
<para>
Check whether the argument is a derivation. Any set with <code>{ type =
"derivation"; }</code> counts as a derivation.
Check whether the argument is a derivation. Any set with <code>{ type = "derivation"; }</code> counts as a derivation.
</para>
<variablelist>
@@ -1320,8 +1274,7 @@ lib.attrsets.isDerivation "foobar"
</term>
<listitem>
<para>
Condition under which the <varname>as</varname> attribute set is
returned.
Condition under which the <varname>as</varname> attribute set is returned.
</para>
</listitem>
</varlistentry>
@@ -1363,8 +1316,7 @@ lib.attrsets.optionalAttrs false { my = "set"; }
<xi:include href="./locations.xml" xpointer="lib.attrsets.zipAttrsWithNames" />
<para>
Merge sets of attributes and use the function <varname>f</varname> to merge
attribute values where the attribute name is in <varname>names</varname>.
Merge sets of attributes and use the function <varname>f</varname> to merge attribute values where the attribute name is in <varname>names</varname>.
</para>
<variablelist>
@@ -1451,11 +1403,8 @@ lib.attrsets.zipAttrsWithNames
<xi:include href="./locations.xml" xpointer="lib.attrsets.zipAttrsWith" />
<para>
Merge sets of attributes and use the function <varname>f</varname> to merge
attribute values. Similar to
<xref
linkend="function-library-lib.attrsets.zipAttrsWithNames" /> where
all key names are passed for <varname>names</varname>.
Merge sets of attributes and use the function <varname>f</varname> to merge attribute values. Similar to <xref
linkend="function-library-lib.attrsets.zipAttrsWithNames" /> where all key names are passed for <varname>names</varname>.
</para>
<variablelist>
@@ -1531,9 +1480,7 @@ lib.attrsets.zipAttrsWith
<xi:include href="./locations.xml" xpointer="lib.attrsets.zipAttrs" />
<para>
Merge sets of attributes and combine each attribute value in to a list.
Similar to <xref linkend="function-library-lib.attrsets.zipAttrsWith" />
where the merge function returns a list of all values.
Merge sets of attributes and combine each attribute value in to a list. Similar to <xref linkend="function-library-lib.attrsets.zipAttrsWith" /> where the merge function returns a list of all values.
</para>
<variablelist>
@@ -1573,12 +1520,7 @@ lib.attrsets.zipAttrs
<xi:include href="./locations.xml" xpointer="lib.attrsets.recursiveUpdateUntil" />
<para>
Does the same as the update operator <literal>//</literal> except that
attributes are merged until the given predicate is verified. The predicate
should accept 3 arguments which are the path to reach the attribute, a part
of the first attribute set and a part of the second attribute set. When the
predicate is verified, the value of the first attribute set is replaced by
the value of the second attribute set.
Does the same as the update operator <literal>//</literal> except that attributes are merged until the given predicate is verified. The predicate should accept 3 arguments which are the path to reach the attribute, a part of the first attribute set and a part of the second attribute set. When the predicate is verified, the value of the first attribute set is replaced by the value of the second attribute set.
</para>
<variablelist>
@@ -1681,10 +1623,7 @@ lib.attrsets.recursiveUpdateUntil (path: l: r: path == ["foo"])
<xi:include href="./locations.xml" xpointer="lib.attrsets.recursiveUpdate" />
<para>
A recursive variant of the update operator <literal>//</literal>. The
recursion stops when one of the attribute values is not an attribute set, in
which case the right hand side value takes precedence over the left hand
side value.
A recursive variant of the update operator <literal>//</literal>. The recursion stops when one of the attribute values is not an attribute set, in which case the right hand side value takes precedence over the left hand side value.
</para>
<variablelist>

View File

@@ -5,21 +5,14 @@
<title>pkgs.nix-gitignore</title>
<para>
<function>pkgs.nix-gitignore</function> is a function that acts similarly to
<literal>builtins.filterSource</literal> but also allows filtering with the
help of the gitignore format.
<function>pkgs.nix-gitignore</function> is a function that acts similarly to <literal>builtins.filterSource</literal> but also allows filtering with the help of the gitignore format.
</para>
<section xml:id="sec-pkgs-nix-gitignore-usage">
<title>Usage</title>
<para>
<literal>pkgs.nix-gitignore</literal> exports a number of functions, but
you'll most likely need either <literal>gitignoreSource</literal> or
<literal>gitignoreSourcePure</literal>. As their first argument, they both
accept either 1. a file with gitignore lines or 2. a string with gitignore
lines, or 3. a list of either of the two. They will be concatenated into a
single big string.
<literal>pkgs.nix-gitignore</literal> exports a number of functions, but you'll most likely need either <literal>gitignoreSource</literal> or <literal>gitignoreSourcePure</literal>. As their first argument, they both accept either 1. a file with gitignore lines or 2. a string with gitignore lines, or 3. a list of either of the two. They will be concatenated into a single big string.
</para>
<programlisting><![CDATA[
@@ -40,8 +33,7 @@
]]></programlisting>
<para>
These functions are derived from the <literal>Filter</literal> functions by
setting the first filter argument to <literal>(_: _: true)</literal>:
These functions are derived from the <literal>Filter</literal> functions by setting the first filter argument to <literal>(_: _: true)</literal>:
</para>
<programlisting><![CDATA[
@@ -50,12 +42,7 @@ gitignoreSource = gitignoreFilterSource (_: _: true);
]]></programlisting>
<para>
Those filter functions accept the same arguments the
<literal>builtins.filterSource</literal> function would pass to its filters,
thus <literal>fn: gitignoreFilterSourcePure fn ""</literal> should be
extensionally equivalent to <literal>filterSource</literal>. The file is
blacklisted iff it's blacklisted by either your filter or the
gitignoreFilter.
Those filter functions accept the same arguments the <literal>builtins.filterSource</literal> function would pass to its filters, thus <literal>fn: gitignoreFilterSourcePure fn ""</literal> should be extensionally equivalent to <literal>filterSource</literal>. The file is blacklisted iff it's blacklisted by either your filter or the gitignoreFilter.
</para>
<para>
@@ -71,8 +58,7 @@ gitignoreFilter = ign: root: filterPattern (gitignoreToPatterns ign) root;
<title>gitignore files in subdirectories</title>
<para>
If you wish to use a filter that would search for .gitignore files in
subdirectories, just like git does by default, use this function:
If you wish to use a filter that would search for .gitignore files in subdirectories, just like git does by default, use this function:
</para>
<programlisting><![CDATA[

View File

@@ -1,212 +0,0 @@
<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-overrides">
<title>Overriding</title>
<para>
Sometimes one wants to override parts of <literal>nixpkgs</literal>, e.g.
derivation attributes, the results of derivations.
</para>
<para>
These functions are used to make changes to packages, returning only single
packages. <link xlink:href="#chap-overlays">Overlays</link>, on the other
hand, can be used to combine the overridden packages across the entire
package set of Nixpkgs.
</para>
<section xml:id="sec-pkg-override">
<title>&lt;pkg&gt;.override</title>
<para>
The function <varname>override</varname> is usually available for all the
derivations in the nixpkgs expression (<varname>pkgs</varname>).
</para>
<para>
It is used to override the arguments passed to a function.
</para>
<para>
Example usages:
<programlisting>pkgs.foo.override { arg1 = val1; arg2 = val2; ... }</programlisting>
<!-- TODO: move below programlisting to a new section about extending and overlays
and reference it
-->
<programlisting>
import pkgs.path { overlays = [ (self: super: {
foo = super.foo.override { barSupport = true ; };
})]};
</programlisting>
<programlisting>
mypkg = pkgs.callPackage ./mypkg.nix {
mydep = pkgs.mydep.override { ... };
}
</programlisting>
</para>
<para>
In the first example, <varname>pkgs.foo</varname> is the result of a
function call with some default arguments, usually a derivation. Using
<varname>pkgs.foo.override</varname> will call the same function with the
given new arguments.
</para>
</section>
<section xml:id="sec-pkg-overrideAttrs">
<title>&lt;pkg&gt;.overrideAttrs</title>
<para>
The function <varname>overrideAttrs</varname> allows overriding the
attribute set passed to a <varname>stdenv.mkDerivation</varname> call,
producing a new derivation based on the original one. This function is
available on all derivations produced by the
<varname>stdenv.mkDerivation</varname> function, which is most packages in
the nixpkgs expression <varname>pkgs</varname>.
</para>
<para>
Example usage:
<programlisting>
helloWithDebug = pkgs.hello.overrideAttrs (oldAttrs: rec {
separateDebugInfo = true;
});
</programlisting>
</para>
<para>
In the above example, the <varname>separateDebugInfo</varname> attribute is
overridden to be true, thus building debug info for
<varname>helloWithDebug</varname>, while all other attributes will be
retained from the original <varname>hello</varname> package.
</para>
<para>
The argument <varname>oldAttrs</varname> is conventionally used to refer to
the attr set originally passed to <varname>stdenv.mkDerivation</varname>.
</para>
<note>
<para>
Note that <varname>separateDebugInfo</varname> is processed only by the
<varname>stdenv.mkDerivation</varname> function, not the generated, raw Nix
derivation. Thus, using <varname>overrideDerivation</varname> will not work
in this case, as it overrides only the attributes of the final derivation.
It is for this reason that <varname>overrideAttrs</varname> should be
preferred in (almost) all cases to <varname>overrideDerivation</varname>,
i.e. to allow using <varname>stdenv.mkDerivation</varname> to process input
arguments, as well as the fact that it is easier to use (you can use the
same attribute names you see in your Nix code, instead of the ones
generated (e.g. <varname>buildInputs</varname> vs
<varname>nativeBuildInputs</varname>), and it involves less typing).
</para>
</note>
</section>
<section xml:id="sec-pkg-overrideDerivation">
<title>&lt;pkg&gt;.overrideDerivation</title>
<warning>
<para>
You should prefer <varname>overrideAttrs</varname> in almost all cases, see
its documentation for the reasons why.
<varname>overrideDerivation</varname> is not deprecated and will continue
to work, but is less nice to use and does not have as many abilities as
<varname>overrideAttrs</varname>.
</para>
</warning>
<warning>
<para>
Do not use this function in Nixpkgs as it evaluates a Derivation before
modifying it, which breaks package abstraction and removes error-checking
of function arguments. In addition, this evaluation-per-function
application incurs a performance penalty, which can become a problem if
many overrides are used. It is only intended for ad-hoc customisation, such
as in <filename>~/.config/nixpkgs/config.nix</filename>.
</para>
</warning>
<para>
The function <varname>overrideDerivation</varname> creates a new derivation
based on an existing one by overriding the original's attributes with the
attribute set produced by the specified function. This function is available
on all derivations defined using the <varname>makeOverridable</varname>
function. Most standard derivation-producing functions, such as
<varname>stdenv.mkDerivation</varname>, are defined using this function,
which means most packages in the nixpkgs expression,
<varname>pkgs</varname>, have this function.
</para>
<para>
Example usage:
<programlisting>
mySed = pkgs.gnused.overrideDerivation (oldAttrs: {
name = "sed-4.2.2-pre";
src = fetchurl {
url = ftp://alpha.gnu.org/gnu/sed/sed-4.2.2-pre.tar.bz2;
sha256 = "11nq06d131y4wmf3drm0yk502d2xc6n5qy82cg88rb9nqd2lj41k";
};
patches = [];
});
</programlisting>
</para>
<para>
In the above example, the <varname>name</varname>, <varname>src</varname>,
and <varname>patches</varname> of the derivation will be overridden, while
all other attributes will be retained from the original derivation.
</para>
<para>
The argument <varname>oldAttrs</varname> is used to refer to the attribute
set of the original derivation.
</para>
<note>
<para>
A package's attributes are evaluated *before* being modified by the
<varname>overrideDerivation</varname> function. For example, the
<varname>name</varname> attribute reference in <varname>url =
"mirror://gnu/hello/${name}.tar.gz";</varname> is filled-in *before* the
<varname>overrideDerivation</varname> function modifies the attribute set.
This means that overriding the <varname>name</varname> attribute, in this
example, *will not* change the value of the <varname>url</varname>
attribute. Instead, we need to override both the <varname>name</varname>
*and* <varname>url</varname> attributes.
</para>
</note>
</section>
<section xml:id="sec-lib-makeOverridable">
<title>lib.makeOverridable</title>
<para>
The function <varname>lib.makeOverridable</varname> is used to make the
result of a function easily customizable. This utility only makes sense for
functions that accept an argument set and return an attribute set.
</para>
<para>
Example usage:
<programlisting>
f = { a, b }: { result = a+b; };
c = lib.makeOverridable f { a = 1; b = 2; };
</programlisting>
</para>
<para>
The variable <varname>c</varname> is the value of the <varname>f</varname>
function applied with some default arguments. Hence the value of
<varname>c.result</varname> is <literal>3</literal>, in this example.
</para>
<para>
The variable <varname>c</varname> however also has some additional
functions, like <link linkend="sec-pkg-override">c.override</link> which can
be used to override the default arguments. In this example the value of
<varname>(c.override { a = 4; }).result</varname> is 6.
</para>
</section>
</section>

View File

@@ -5,16 +5,12 @@
<title>prefer-remote-fetch overlay</title>
<para>
<function>prefer-remote-fetch</function> is an overlay that download sources
on remote builder. This is useful when the evaluating machine has a slow
upload while the builder can fetch faster directly from the source. To use
it, put the following snippet as a new overlay:
<function>prefer-remote-fetch</function> is an overlay that download sources on remote builder. This is useful when the evaluating machine has a slow upload while the builder can fetch faster directly from the source. To use it, put the following snippet as a new overlay:
<programlisting>
self: super:
(super.prefer-remote-fetch self super)
</programlisting>
A full configuration example for that sets the overlay up for your own
account, could look like this
A full configuration example for that sets the overlay up for your own account, could look like this
<screen>
<prompt>$ </prompt>mkdir ~/.config/nixpkgs/overlays/
<prompt>$ </prompt>cat &gt; ~/.config/nixpkgs/overlays/prefer-remote-fetch.nix &lt;&lt;EOF

View File

@@ -1,113 +0,0 @@
<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-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>
<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>
<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>
<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>
<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>
</section>

View File

@@ -95,7 +95,7 @@ $ nix-build
The Android SDK gets deployed with all desired plugin versions.
We can also deploy subsets of the Android SDK. For example, to only the the
We can also deploy subsets of the Android SDK. For example, to only the
`platform-tools` package, you can evaluate the following expression:
```nix

View File

@@ -7,12 +7,7 @@
<title>Introduction</title>
<para>
In this document and related Nix expressions, we use the term,
<emphasis>BEAM</emphasis>, to describe the environment. BEAM is the name of
the Erlang Virtual Machine and, as far as we're concerned, from a packaging
perspective, all languages that run on the BEAM are interchangeable. That
which varies, like the build system, is transparent to users of any given
BEAM package, so we make no distinction.
In this document and related Nix expressions, we use the term, <emphasis>BEAM</emphasis>, to describe the environment. BEAM is the name of the Erlang Virtual Machine and, as far as we're concerned, from a packaging perspective, all languages that run on the BEAM are interchangeable. That which varies, like the build system, is transparent to users of any given BEAM package, so we make no distinction.
</para>
</section>
@@ -20,57 +15,36 @@
<title>Structure</title>
<para>
All BEAM-related expressions are available via the top-level
<literal>beam</literal> attribute, which includes:
All BEAM-related expressions are available via the top-level <literal>beam</literal> attribute, which includes:
</para>
<itemizedlist>
<listitem>
<para>
<literal>interpreters</literal>: a set of compilers running on the BEAM,
including multiple Erlang/OTP versions
(<literal>beam.interpreters.erlangR19</literal>, etc), Elixir
(<literal>beam.interpreters.elixir</literal>) and LFE
(<literal>beam.interpreters.lfe</literal>).
<literal>interpreters</literal>: a set of compilers running on the BEAM, including multiple Erlang/OTP versions (<literal>beam.interpreters.erlangR19</literal>, etc), Elixir (<literal>beam.interpreters.elixir</literal>) and LFE (<literal>beam.interpreters.lfe</literal>).
</para>
</listitem>
<listitem>
<para>
<literal>packages</literal>: a set of package sets, each compiled with a
specific Erlang/OTP version, e.g.
<literal>beam.packages.erlangR19</literal>.
<literal>packages</literal>: a set of package sets, each compiled with a specific Erlang/OTP version, e.g. <literal>beam.packages.erlangR19</literal>.
</para>
</listitem>
</itemizedlist>
<para>
The default Erlang compiler, defined by
<literal>beam.interpreters.erlang</literal>, is aliased as
<literal>erlang</literal>. The default BEAM package set is defined by
<literal>beam.packages.erlang</literal> and aliased at the top level as
<literal>beamPackages</literal>.
The default Erlang compiler, defined by <literal>beam.interpreters.erlang</literal>, is aliased as <literal>erlang</literal>. The default BEAM package set is defined by <literal>beam.packages.erlang</literal> and aliased at the top level as <literal>beamPackages</literal>.
</para>
<para>
To create a package set built with a custom Erlang version, use the lambda,
<literal>beam.packagesWith</literal>, which accepts an Erlang/OTP derivation
and produces a package set similar to
<literal>beam.packages.erlang</literal>.
To create a package set built with a custom Erlang version, use the lambda, <literal>beam.packagesWith</literal>, which accepts an Erlang/OTP derivation and produces a package set similar to <literal>beam.packages.erlang</literal>.
</para>
<para>
Many Erlang/OTP distributions available in
<literal>beam.interpreters</literal> have versions with ODBC and/or Java
enabled. For example, there's
<literal>beam.interpreters.erlangR19_odbc_javac</literal>, which corresponds
to <literal>beam.interpreters.erlangR19</literal>.
Many Erlang/OTP distributions available in <literal>beam.interpreters</literal> have versions with ODBC and/or Java enabled. For example, there's <literal>beam.interpreters.erlangR19_odbc_javac</literal>, which corresponds to <literal>beam.interpreters.erlangR19</literal>.
</para>
<para xml:id="erlang-call-package">
We also provide the lambda,
<literal>beam.packages.erlang.callPackage</literal>, which simplifies
writing BEAM package definitions by injecting all packages from
<literal>beam.packages.erlang</literal> into the top-level context.
We also provide the lambda, <literal>beam.packages.erlang.callPackage</literal>, which simplifies writing BEAM package definitions by injecting all packages from <literal>beam.packages.erlang</literal> into the top-level context.
</para>
</section>
@@ -81,28 +55,7 @@
<title>Rebar3</title>
<para>
By default, Rebar3 wants to manage its own dependencies. This is perfectly
acceptable in the normal, non-Nix setup, but in the Nix world, it is not.
To rectify this, we provide two versions of Rebar3:
<itemizedlist>
<listitem>
<para>
<literal>rebar3</literal>: patched to remove the ability to download
anything. When not running it via <literal>nix-shell</literal> or
<literal>nix-build</literal>, it's probably not going to work as
desired.
</para>
</listitem>
<listitem>
<para>
<literal>rebar3-open</literal>: the normal, unmodified Rebar3. It should
work exactly as would any other version of Rebar3. Any Erlang package
should rely on <literal>rebar3</literal> instead. See
<xref
linkend="rebar3-packages"/>.
</para>
</listitem>
</itemizedlist>
We provide a version of Rebar3, which is the normal, unmodified Rebar3, under <literal>rebar3</literal>. We also provide a helper to fetch Rebar3 dependencies from a lockfile under <literal>fetchRebar3Deps</literal>.
</para>
</section>
@@ -110,10 +63,7 @@
<title>Mix &amp; Erlang.mk</title>
<para>
Both Mix and Erlang.mk work exactly as expected. There is a bootstrap
process that needs to be run for both, however, which is supported by the
<literal>buildMix</literal> and <literal>buildErlangMk</literal>
derivations, respectively.
Both Mix and Erlang.mk work exactly as expected. There is a bootstrap process that needs to be run for both, however, which is supported by the <literal>buildMix</literal> and <literal>buildErlangMk</literal> derivations, respectively.
</para>
</section>
</section>
@@ -122,13 +72,7 @@
<title>How to Install BEAM Packages</title>
<para>
BEAM packages are not registered at the top level, simply because they are
not relevant to the vast majority of Nix users. They are installable using
the <literal>beam.packages.erlang</literal> attribute set (aliased as
<literal>beamPackages</literal>), which points to packages built by the
default Erlang/OTP version in Nixpkgs, as defined by
<literal>beam.interpreters.erlang</literal>. To list the available packages
in <literal>beamPackages</literal>, use the following command:
BEAM packages are not registered at the top level, simply because they are not relevant to the vast majority of Nix users. They are installable using the <literal>beam.packages.erlang</literal> attribute set (aliased as <literal>beamPackages</literal>), which points to packages built by the default Erlang/OTP version in Nixpkgs, as defined by <literal>beam.interpreters.erlang</literal>. To list the available packages in <literal>beamPackages</literal>, use the following command:
</para>
<screen>
@@ -143,8 +87,7 @@ beamPackages.rebar3-pc pc-1.1.0
</screen>
<para>
To install any of those packages into your profile, refer to them by their
attribute path (first column):
To install any of those packages into your profile, refer to them by their attribute path (first column):
</para>
<screen>
@@ -152,9 +95,7 @@ beamPackages.rebar3-pc pc-1.1.0
</screen>
<para>
The attribute path of any BEAM package corresponds to the name of that
particular package in <link xlink:href="https://hex.pm">Hex</link> or its
OTP Application/Release name.
The attribute path of any BEAM package corresponds to the name of that particular package in <link xlink:href="https://hex.pm">Hex</link> or its OTP Application/Release name.
</para>
</section>
@@ -168,13 +109,8 @@ beamPackages.rebar3-pc pc-1.1.0
<title>Rebar3 Packages</title>
<para>
The Nix function, <literal>buildRebar3</literal>, defined in
<literal>beam.packages.erlang.buildRebar3</literal> and aliased at the top
level, can be used to build a derivation that understands how to build a
Rebar3 project. For example, we can build
<link
xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link>
as follows:
The Nix function, <literal>buildRebar3</literal>, defined in <literal>beam.packages.erlang.buildRebar3</literal> and aliased at the top level, can be used to build a derivation that understands how to build a Rebar3 project. For example, we can build <link
xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link> as follows:
</para>
<programlisting>
@@ -196,25 +132,16 @@ buildRebar3 rec {
</programlisting>
<para>
Such derivations are callable with
<literal>beam.packages.erlang.callPackage</literal> (see
<xref
linkend="erlang-call-package"/>). To call this package using
the normal <literal>callPackage</literal>, refer to dependency packages
via <literal>beamPackages</literal>, e.g.
<literal>beamPackages.ibrowse</literal>.
Such derivations are callable with <literal>beam.packages.erlang.callPackage</literal> (see <xref
linkend="erlang-call-package"/>). To call this package using the normal <literal>callPackage</literal>, refer to dependency packages via <literal>beamPackages</literal>, e.g. <literal>beamPackages.ibrowse</literal>.
</para>
<para>
Notably, <literal>buildRebar3</literal> includes
<literal>beamDeps</literal>, while <literal>stdenv.mkDerivation</literal>
does not. BEAM dependencies added there will be correctly handled by the
system.
Notably, <literal>buildRebar3</literal> includes <literal>beamDeps</literal>, while <literal>stdenv.mkDerivation</literal> does not. BEAM dependencies added there will be correctly handled by the system.
</para>
<para>
If a package needs to compile native code via Rebar3's port compilation
mechanism, add <literal>compilePort = true;</literal> to the derivation.
If a package needs to compile native code via Rebar3's port compilation mechanism, add <literal>compilePort = true;</literal> to the derivation.
</para>
</section>
@@ -222,9 +149,7 @@ buildRebar3 rec {
<title>Erlang.mk Packages</title>
<para>
Erlang.mk functions similarly to Rebar3, except we use
<literal>buildErlangMk</literal> instead of
<literal>buildRebar3</literal>.
Erlang.mk functions similarly to Rebar3, except we use <literal>buildErlangMk</literal> instead of <literal>buildRebar3</literal>.
</para>
<programlisting>
@@ -257,8 +182,7 @@ buildErlangMk {
<title>Mix Packages</title>
<para>
Mix functions similarly to Rebar3, except we use
<literal>buildMix</literal> instead of <literal>buildRebar3</literal>.
Mix functions similarly to Rebar3, except we use <literal>buildMix</literal> instead of <literal>buildRebar3</literal>.
</para>
<programlisting>
@@ -323,11 +247,7 @@ buildHex {
<title>Accessing an Environment</title>
<para>
Often, we simply want to access a valid environment that contains a
specific package and its dependencies. We can accomplish that with the
<literal>env</literal> attribute of a derivation. For example, let's say we
want to access an Erlang REPL with <literal>ibrowse</literal> loaded up. We
could do the following:
Often, we simply want to access a valid environment that contains a specific package and its dependencies. We can accomplish that with the <literal>env</literal> attribute of a derivation. For example, let's say we want to access an Erlang REPL with <literal>ibrowse</literal> loaded up. We could do the following:
</para>
<screen>
@@ -373,8 +293,7 @@ ok</computeroutput>
</screen>
<para>
Notice the <literal>-A beamPackages.ibrowse.env</literal>. That is the key
to this functionality.
Notice the <literal>-A beamPackages.ibrowse.env</literal>. That is the key to this functionality.
</para>
</section>
@@ -382,11 +301,7 @@ ok</computeroutput>
<title>Creating a Shell</title>
<para>
Getting access to an environment often isn't enough to do real development.
Usually, we need to create a <literal>shell.nix</literal> file and do our
development inside of the environment specified therein. This file looks a
lot like the packaging described above, except that <literal>src</literal>
points to the project root and we call the package directly.
Getting access to an environment often isn't enough to do real development. Usually, we need to create a <literal>shell.nix</literal> file and do our development inside of the environment specified therein. This file looks a lot like the packaging described above, except that <literal>src</literal> points to the project root and we call the package directly.
</para>
<programlisting>
@@ -414,8 +329,7 @@ in
<title>Building in a Shell (for Mix Projects)</title>
<para>
We can leverage the support of the derivation, irrespective of the build
derivation, by calling the commands themselves.
We can leverage the support of the derivation, irrespective of the build derivation, by calling the commands themselves.
</para>
<programlisting>
@@ -477,12 +391,8 @@ analyze: build plt
</programlisting>
<para>
Using a <literal>shell.nix</literal> as described (see
<xref
linkend="creating-a-shell"/>) should just work. Aside from
<literal>test</literal>, <literal>plt</literal>, and
<literal>analyze</literal>, the Make targets work just fine for all of the
build derivations.
Using a <literal>shell.nix</literal> as described (see <xref
linkend="creating-a-shell"/>) should just work. Aside from <literal>test</literal>, <literal>plt</literal>, and <literal>analyze</literal>, the Make targets work just fine for all of the build derivations.
</para>
</section>
</section>
@@ -492,25 +402,14 @@ analyze: build plt
<title>Generating Packages from Hex with <literal>hex2nix</literal></title>
<para>
Updating the <link xlink:href="https://hex.pm">Hex</link> package set
requires
<link
xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link>.
Given the path to the Erlang modules (usually
<literal>pkgs/development/erlang-modules</literal>), it will dump a file
called <literal>hex-packages.nix</literal>, containing all the packages that
use a recognized build system in
<link
xlink:href="https://hex.pm">Hex</link>. It can't be determined,
however, whether every package is buildable.
Updating the <link xlink:href="https://hex.pm">Hex</link> package set requires <link
xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link>. Given the path to the Erlang modules (usually <literal>pkgs/development/erlang-modules</literal>), it will dump a file called <literal>hex-packages.nix</literal>, containing all the packages that use a recognized build system in <link
xlink:href="https://hex.pm">Hex</link>. It can't be determined, however, whether every package is buildable.
</para>
<para>
To make life easier for our users, try to build every
<link
xlink:href="https://hex.pm">Hex</link> package and remove those
that fail. To do that, simply run the following command in the root of your
<literal>nixpkgs</literal> repository:
To make life easier for our users, try to build every <link
xlink:href="https://hex.pm">Hex</link> package and remove those that fail. To do that, simply run the following command in the root of your <literal>nixpkgs</literal> repository:
</para>
<screen>
@@ -518,11 +417,8 @@ analyze: build plt
</screen>
<para>
That will attempt to build every package in <literal>beamPackages</literal>.
Then manually remove those that fail. Hopefully, someone will improve
<link
xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link>
in the future to automate the process.
That will attempt to build every package in <literal>beamPackages</literal>. Then manually remove those that fail. Hopefully, someone will improve <link
xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link> in the future to automate the process.
</para>
</section>
</section>

View File

@@ -4,32 +4,22 @@
<title>Bower</title>
<para>
<link xlink:href="http://bower.io">Bower</link> is a package manager for web
site front-end components. Bower packages (comprising of build artefacts and
sometimes sources) are stored in <command>git</command> repositories,
typically on Github. The package registry is run by the Bower team with
package metadata coming from the <filename>bower.json</filename> file within
each package.
<link xlink:href="http://bower.io">Bower</link> is a package manager for web site front-end components. Bower packages (comprising of build artefacts and sometimes sources) are stored in <command>git</command> repositories, typically on Github. The package registry is run by the Bower team with package metadata coming from the <filename>bower.json</filename> file within each package.
</para>
<para>
The end result of running Bower is a <filename>bower_components</filename>
directory which can be included in the web app's build process.
The end result of running Bower is a <filename>bower_components</filename> directory which can be included in the web app's build process.
</para>
<para>
Bower can be run interactively, by installing
<varname>nodePackages.bower</varname>. More interestingly, the Bower
components can be declared in a Nix derivation, with the help of
<varname>nodePackages.bower2nix</varname>.
Bower can be run interactively, by installing <varname>nodePackages.bower</varname>. More interestingly, the Bower components can be declared in a Nix derivation, with the help of <varname>nodePackages.bower2nix</varname>.
</para>
<section xml:id="ssec-bower2nix-usage">
<title><command>bower2nix</command> usage</title>
<para>
Suppose you have a <filename>bower.json</filename> with the following
contents:
Suppose you have a <filename>bower.json</filename> with the following contents:
<example xml:id="ex-bowerJson">
<title><filename>bower.json</filename></title>
<programlisting language="json">
@@ -45,8 +35,7 @@
</para>
<para>
Running <command>bower2nix</command> will produce something like the
following output:
Running <command>bower2nix</command> will produce something like the following output:
<programlisting language="nix">
<![CDATA[{ fetchbower, buildEnv }:
buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
@@ -58,15 +47,11 @@ buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
</para>
<para>
Using the <command>bower2nix</command> command line arguments, the output
can be redirected to a file. A name like
<filename>bower-packages.nix</filename> would be fine.
Using the <command>bower2nix</command> command line arguments, the output can be redirected to a file. A name like <filename>bower-packages.nix</filename> would be fine.
</para>
<para>
The resulting derivation is a union of all the downloaded Bower packages
(and their dependencies). To use it, they still need to be linked together
by Bower, which is where <varname>buildBowerComponents</varname> is useful.
The resulting derivation is a union of all the downloaded Bower packages (and their dependencies). To use it, they still need to be linked together by Bower, which is where <varname>buildBowerComponents</varname> is useful.
</para>
</section>
@@ -74,10 +59,7 @@ buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
<title><varname>buildBowerComponents</varname> function</title>
<para>
The function is implemented in
<link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/bower-modules/generic/default.nix">
<filename>pkgs/development/bower-modules/generic/default.nix</filename></link>.
Example usage:
The function is implemented in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/bower-modules/generic/default.nix"> <filename>pkgs/development/bower-modules/generic/default.nix</filename></link>. Example usage:
<example xml:id="ex-buildBowerComponents">
<title>buildBowerComponents</title>
<programlisting language="nix">
@@ -91,34 +73,27 @@ bowerComponents = buildBowerComponents {
</para>
<para>
In <xref linkend="ex-buildBowerComponents" />, the following arguments are
of special significance to the function:
In <xref linkend="ex-buildBowerComponents" />, the following arguments are of special significance to the function:
<calloutlist>
<callout arearefs="ex-buildBowerComponents-1">
<para>
<varname>generated</varname> specifies the file which was created by
<command>bower2nix</command>.
<varname>generated</varname> specifies the file which was created by <command>bower2nix</command>.
</para>
</callout>
<callout arearefs="ex-buildBowerComponents-2">
<para>
<varname>src</varname> is your project's sources. It needs to contain a
<filename>bower.json</filename> file.
<varname>src</varname> is your project's sources. It needs to contain a <filename>bower.json</filename> file.
</para>
</callout>
</calloutlist>
</para>
<para>
<varname>buildBowerComponents</varname> will run Bower to link together the
output of <command>bower2nix</command>, resulting in a
<filename>bower_components</filename> directory which can be used.
<varname>buildBowerComponents</varname> will run Bower to link together the output of <command>bower2nix</command>, resulting in a <filename>bower_components</filename> directory which can be used.
</para>
<para>
Here is an example of a web frontend build process using
<command>gulp</command>. You might use <command>grunt</command>, or anything
else.
Here is an example of a web frontend build process using <command>gulp</command>. You might use <command>grunt</command>, or anything else.
</para>
<example xml:id="ex-bowerGulpFile">
@@ -174,21 +149,17 @@ pkgs.stdenv.mkDerivation {
<calloutlist>
<callout arearefs="ex-buildBowerComponentsDefault-1">
<para>
The result of <varname>buildBowerComponents</varname> is an input to the
frontend build.
The result of <varname>buildBowerComponents</varname> is an input to the frontend build.
</para>
</callout>
<callout arearefs="ex-buildBowerComponentsDefault-2">
<para>
Whether to symlink or copy the <filename>bower_components</filename>
directory depends on the build tool in use. In this case a copy is used
to avoid <command>gulp</command> silliness with permissions.
Whether to symlink or copy the <filename>bower_components</filename> directory depends on the build tool in use. In this case a copy is used to avoid <command>gulp</command> silliness with permissions.
</para>
</callout>
<callout arearefs="ex-buildBowerComponentsDefault-3">
<para>
<command>gulp</command> requires <varname>HOME</varname> to refer to a
writeable directory.
<command>gulp</command> requires <varname>HOME</varname> to refer to a writeable directory.
</para>
</callout>
<callout arearefs="ex-buildBowerComponentsDefault-4">
@@ -210,17 +181,13 @@ pkgs.stdenv.mkDerivation {
</term>
<listitem>
<para>
This means that Bower was looking for a package version which doesn't
exist in the generated <filename>bower-packages.nix</filename>.
This means that Bower was looking for a package version which doesn't exist in the generated <filename>bower-packages.nix</filename>.
</para>
<para>
If <filename>bower.json</filename> has been updated, then run
<command>bower2nix</command> again.
If <filename>bower.json</filename> has been updated, then run <command>bower2nix</command> again.
</para>
<para>
It could also be a bug in <command>bower2nix</command> or
<command>fetchbower</command>. If possible, try reformulating the version
specification in <filename>bower.json</filename>.
It could also be a bug in <command>bower2nix</command> or <command>fetchbower</command>. If possible, try reformulating the version specification in <filename>bower.json</filename>.
</para>
</listitem>
</varlistentry>

View File

@@ -4,31 +4,19 @@
<title>Coq</title>
<para>
Coq libraries should be installed in
<literal>$(out)/lib/coq/${coq.coq-version}/user-contrib/</literal>. Such
directories are automatically added to the <literal>$COQPATH</literal>
environment variable by the hook defined in the Coq derivation.
Coq libraries should be installed in <literal>$(out)/lib/coq/${coq.coq-version}/user-contrib/</literal>. Such directories are automatically added to the <literal>$COQPATH</literal> environment variable by the hook defined in the Coq derivation.
</para>
<para>
Some extensions (plugins) might require OCaml and sometimes other OCaml
packages. The <literal>coq.ocamlPackages</literal> attribute can be used to
depend on the same package set Coq was built against.
Some extensions (plugins) might require OCaml and sometimes other OCaml packages. The <literal>coq.ocamlPackages</literal> attribute can be used to depend on the same package set Coq was built against.
</para>
<para>
Coq libraries may be compatible with some specific versions of Coq only. The
<literal>compatibleCoqVersions</literal> attribute is used to precisely
select those versions of Coq that are compatible with this derivation.
Coq libraries may be compatible with some specific versions of Coq only. The <literal>compatibleCoqVersions</literal> attribute is used to precisely select those versions of Coq that are compatible with this derivation.
</para>
<para>
Here is a simple package example. It is a pure Coq library, thus it depends
on Coq. It builds on the Mathematical Components library, thus it also takes
<literal>mathcomp</literal> as <literal>buildInputs</literal>. Its
<literal>Makefile</literal> has been generated using
<literal>coq_makefile</literal> so we only have to set the
<literal>$COQLIB</literal> variable at install time.
Here is a simple package example. It is a pure Coq library, thus it depends on Coq. It builds on the Mathematical Components library, thus it also takes <literal>mathcomp</literal> as <literal>buildInputs</literal>. Its <literal>Makefile</literal> has been generated using <literal>coq_makefile</literal> so we only have to set the <literal>$COQLIB</literal> variable at install time.
</para>
<programlisting>

View File

@@ -1,4 +1,4 @@
# User's Guide to Emscripten in Nixpkgs
# Emscripten
[Emscripten](https://github.com/kripken/emscripten): An LLVM-to-JavaScript Compiler

View File

@@ -0,0 +1,263 @@
<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-language-gnome">
<title>GNOME</title>
<section xml:id="ssec-gnome-packaging">
<title>Packaging GNOME applications</title>
<para>
Programs in the GNOME universe are written in various languages but they all use GObject-based libraries like GLib, GTK or GStreamer. These libraries are often modular, relying on looking into certain directories to find their modules. However, due to Nixs specific file system organization, this will fail without our intervention. Fortunately, the libraries usually allow overriding the directories through environment variables, either natively or thanks to a patch in nixpkgs. <link xlink:href="#fun-wrapProgram">Wrapping</link> the executables to ensure correct paths are available to the application constitutes a significant part of packaging a modern desktop application. In this section, we will describe various modules needed by such applications, environment variables needed to make the modules load, and finally a script that will do the work for us.
</para>
<section xml:id="ssec-gnome-settings">
<title>Settings</title>
<para>
<link xlink:href="https://developer.gnome.org/gio/stable/GSettings.html">GSettings</link> API is often used for storing settings. GSettings schemas are required, to know the type and other metadata of the stored values. GLib looks for <filename>glib-2.0/schemas/gschemas.compiled</filename> files inside the directories of <envar>XDG_DATA_DIRS</envar>.
</para>
<para>
On Linux, GSettings API is implemented using <link xlink:href="https://wiki.gnome.org/Projects/dconf">dconf</link> backend. You will need to add <literal>dconf</literal> GIO module to <envar>GIO_EXTRA_MODULES</envar> variable, otherwise the <literal>memory</literal> backend will be used and the saved settings will not be persistent.
</para>
<para>
Last you will need the dconf database D-Bus service itself. You can enable it using <option>programs.dconf.enable</option>.
</para>
<para>
Some applications will also require <package>gsettings-desktop-schemas</package> for things like reading proxy configuration or user interface customization. This dependency is often not mentioned by upstream, you should grep for <literal>org.gnome.desktop</literal> and <literal>org.gnome.system</literal> to see if the schemas are needed.
</para>
</section>
<section xml:id="ssec-gnome-icons">
<title>Icons</title>
<para>
When an application uses icons, an icon theme should be available in <envar>XDG_DATA_DIRS</envar>. The package for the default, icon-less <link xlink:href="https://www.freedesktop.org/wiki/Software/icon-theme/">hicolor-icon-theme</link> contains <link linkend="ssec-gnome-hooks-hicolor-icon-theme">a setup hook</link> that will pick up icon themes from <literal>buildInputs</literal> and pass it to our wrapper. Unfortunately, relying on that would mean every user has to download the theme included in the package expression no matter their preference. For that reason, we leave the installation of icon theme on the user. If you use one of the desktop environments, you probably already have an icon theme installed.
</para>
</section>
<section xml:id="ssec-gnome-themes">
<title>GTK Themes</title>
<para>
Previously, a GTK theme needed to be in <envar>XDG_DATA_DIRS</envar>. This is no longer necessary for most programs since GTK incorporated Adwaita theme. Some programs (for example, those designed for <link xlink:href="https://elementary.io/docs/human-interface-guidelines#human-interface-guidelines">elementary HIG</link>) might require a special theme like <package>pantheon.elementary-gtk-theme</package>.
</para>
</section>
<section xml:id="ssec-gnome-typelibs">
<title>GObject introspection typelibs</title>
<para>
<link xlink:href="https://wiki.gnome.org/Projects/GObjectIntrospection">GObject introspection</link> allows applications to use C libraries in other languages easily. It does this through <literal>typelib</literal> files searched in <envar>GI_TYPELIB_PATH</envar>.
</para>
</section>
<section xml:id="ssec-gnome-plugins">
<title>Various plug-ins</title>
<para>
If your application uses <link xlink:href="https://gstreamer.freedesktop.org/">GStreamer</link> or <link xlink:href="https://wiki.gnome.org/Projects/Grilo">Grilo</link>, you should set <envar>GST_PLUGIN_SYSTEM_PATH_1_0</envar> and <envar>GRL_PLUGIN_PATH</envar>, respectively.
</para>
</section>
</section>
<section xml:id="ssec-gnome-hooks">
<title>Onto <package>wrapGAppsHook</package></title>
<para>
Given the requirements above, the package expression would become messy quickly:
<programlisting>
preFixup = ''
for f in $(find $out/bin/ $out/libexec/ -type f -executable); do
wrapProgram "$f" \
--prefix GIO_EXTRA_MODULES : "${getLib gnome3.dconf}/lib/gio/modules" \
--prefix XDG_DATA_DIRS : "$out/share" \
--prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/${name}" \
--prefix XDG_DATA_DIRS : "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" \
--prefix XDG_DATA_DIRS : "${hicolor-icon-theme}/share" \
--prefix GI_TYPELIB_PATH : "${lib.makeSearchPath "lib/girepository-1.0" [ pango json-glib ]}"
done
'';
</programlisting>
Fortunately, there is <package>wrapGAppsHook</package>, that does the wrapping for us. In particular, it works in conjunction with other setup hooks that will populate the variable:
<itemizedlist>
<listitem xml:id="ssec-gnome-hooks-wrapgappshook">
<para>
<package>wrapGAppsHook</package> itself will add the packages <filename>share</filename> directory to <envar>XDG_DATA_DIRS</envar>.
</para>
</listitem>
<listitem xml:id="ssec-gnome-hooks-glib">
<para>
<package>glib</package> setup hook will populate <envar>GSETTINGS_SCHEMAS_PATH</envar> and then <package>wrapGAppsHook</package> will prepend it to <envar>XDG_DATA_DIRS</envar>.
</para>
</listitem>
<listitem xml:id="ssec-gnome-hooks-dconf">
<para>
<package>gnome3.dconf.lib</package> is a dependency of <package>wrapGAppsHook</package>, which then also adds it to the <envar>GIO_EXTRA_MODULES</envar> variable.
</para>
</listitem>
<listitem xml:id="ssec-gnome-hooks-hicolor-icon-theme">
<para>
<package>hicolor-icon-theme</package>s setup hook will add icon themes to <envar>XDG_ICON_DIRS</envar> which is prepended to <envar>XDG_DATA_DIRS</envar> by <package>wrapGAppsHook</package>.
</para>
</listitem>
<listitem xml:id="ssec-gnome-hooks-gobject-introspection">
<para>
<package>gobject-introspection</package> setup hook populates <envar>GI_TYPELIB_PATH</envar> variable with <filename>lib/girepository-1.0</filename> directories of dependencies, which is then added to wrapper by <package>wrapGAppsHook</package>. It also adds <filename>share</filename> directories of dependencies to <envar>XDG_DATA_DIRS</envar>, which is intended to promote GIR files but it also <link xlink:href="https://github.com/NixOS/nixpkgs/issues/32790">pollutes the closures</link> of packages using <package>wrapGAppsHook</package>.
</para>
<warning>
<para>
The setup hook <link xlink:href="https://github.com/NixOS/nixpkgs/issues/56943">currently</link> does not work in expressions with <literal>strictDeps</literal> enabled, like Python packages. In those cases, you will need to disable it with <code>strictDeps = false;</code>.
</para>
</warning>
</listitem>
<listitem xml:id="ssec-gnome-hooks-gst-grl-plugins">
<para>
Setup hooks of <package>gst_all_1.gstreamer</package> and <package>gnome3.grilo</package> will populate the <envar>GST_PLUGIN_SYSTEM_PATH_1_0</envar> and <envar>GRL_PLUGIN_PATH</envar> variables, respectively, which will then be added to the wrapper by <literal>wrapGAppsHook</literal>.
</para>
</listitem>
</itemizedlist>
</para>
<para>
You can also pass additional arguments to <literal>makeWrapper</literal> using <literal>gappsWrapperArgs</literal> in <literal>preFixup</literal> hook:
<programlisting>
preFixup = ''
gappsWrapperArgs+=(
# Thumbnailers
--prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share"
--prefix XDG_DATA_DIRS : "${librsvg}/share"
--prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
)
'';
</programlisting>
</para>
</section>
<section xml:id="ssec-gnome-updating">
<title>Updating GNOME packages</title>
<para>
Most GNOME package offer <link linkend="var-passthru-updateScript"><literal>updateScript</literal></link>, it is therefore possible to update to latest source tarball by running <command>nix-shell maintainers/scripts/update.nix --argstr package gnome3.nautilus</command> or even en masse with <command>nix-shell maintainers/scripts/update.nix --argstr path gnome3</command>. Read the packages <filename>NEWS</filename> file to see what changed.
</para>
</section>
<section xml:id="ssec-gnome-common-issues">
<title>Frequently encountered issues</title>
<variablelist>
<varlistentry xml:id="ssec-gnome-common-issues-no-schemas">
<term>
<computeroutput>GLib-GIO-ERROR **: <replaceable>06:04:50.903</replaceable>: No GSettings schemas are installed on the system</computeroutput>
</term>
<listitem>
<para>
There are no schemas avalable in <envar>XDG_DATA_DIRS</envar>. Temporarily add a random package containing schemas like <package>gsettings-desktop-schemas</package> to <literal>buildInputs</literal>. <link linkend="ssec-gnome-hooks-glib"><package>glib</package></link> and <link linkend="ssec-gnome-hooks-wrapgappshook"><package>wrapGAppsHook</package></link> setup hooks will take care of making the schemas available to application and you will see the actual missing schemas with the <link linkend="ssec-gnome-common-issues-missing-schema">next error</link>. Or you can try looking through the source code for the actual schemas used.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ssec-gnome-common-issues-missing-schema">
<term>
<computeroutput>GLib-GIO-ERROR **: <replaceable>06:04:50.903</replaceable>: Settings schema <replaceable>org.gnome.foo</replaceable> is not installed</computeroutput>
</term>
<listitem>
<para>
Package is missing some GSettings schemas. You can find out the package containing the schema with <command>nix-locate <replaceable>org.gnome.foo</replaceable>.gschema.xml</command> and let the hooks handle the wrapping as <link linkend="ssec-gnome-common-issues-no-schemas">above</link>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ssec-gnome-common-issues-double-wrapped">
<term>
When using <package>wrapGAppsHook</package> with special derivers you can end up with double wrapped binaries.
</term>
<listitem>
<para>
This is because derivers like <function>python.pkgs.buildPythonApplication</function> or <function>qt5.mkDerivation</function> have setup-hooks automatically added that produce wrappers with <package>makeWrapper</package>. The simplest way to workaround that is to disable the <package>wrapGAppsHook</package> automatic wrapping with <code>dontWrapGApps = true;</code> and pass the arguments it intended to pass to <package>makeWrapper</package> to another.
</para>
<para>
In the case of a Python application it could look like:
<programlisting>
python3.pkgs.buildPythonApplication {
pname = "gnome-music";
version = "3.32.2";
nativeBuildInputs = [
wrapGAppsHook
gobject-introspection
...
];
dontWrapGApps = true;
# Arguments to be passed to `makeWrapper`, only used by buildPython*
makeWrapperArgs = [
"\${gappsWrapperArgs[@]}"
];
}
</programlisting>
And for a QT app like:
<programlisting>
mkDerivation {
pname = "calibre";
version = "3.47.0";
nativeBuildInputs = [
wrapGAppsHook
qmake
...
];
dontWrapGApps = true;
# Arguments to be passed to `makeWrapper`, only used by qt5s mkDerivation
qtWrapperArgs [
"\${gappsWrapperArgs[@]}"
];
}
</programlisting>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ssec-gnome-common-issues-unwrappable-package">
<term>
I am packaging a project that cannot be wrapped, like a library or GNOME Shell extension.
</term>
<listitem>
<para>
You can rely on applications depending on the library setting the necessary environment variables but that is often easy to miss. Instead we recommend to patch the paths in the source code whenever possible. Here are some examples:
<itemizedlist>
<listitem xml:id="ssec-gnome-common-issues-unwrappable-package-gnome-shell-ext">
<para>
<link xlink:href="https://github.com/NixOS/nixpkgs/blob/7bb8f05f12ca3cff9da72b56caa2f7472d5732bc/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix#L21-L24">Replacing a <envar>GI_TYPELIB_PATH</envar> in GNOME Shell extension</link> we are using <function>substituteAll</function> to include the path to a typelib into a patch.
</para>
</listitem>
<listitem xml:id="ssec-gnome-common-issues-unwrappable-package-gsettings">
<para>
The following examples are hardcoding GSettings schema paths. To get the schema paths we use the functions
<itemizedlist>
<listitem>
<para>
<function>glib.getSchemaPath</function> Takes a nix package attribute as an argument.
</para>
</listitem>
<listitem>
<para>
<function>glib.makeSchemaPath</function> Takes a package output like <literal>$out</literal> and a derivation name. You should use this if the schemas you need to hardcode are in the same derivation.
</para>
</listitem>
</itemizedlist>
</para>
<para xml:id="ssec-gnome-common-issues-unwrappable-package-gsettings-vala">
<link xlink:href="https://github.com/NixOS/nixpkgs/blob/7bb8f05f12ca3cff9da72b56caa2f7472d5732bc/pkgs/desktops/pantheon/apps/elementary-files/default.nix#L78-L86">Hard-coding GSettings schema path in Vala plug-in (dynamically loaded library)</link> here, <function>substituteAll</function> cannot be used since the schema comes from the same package preventing us from pass its path to the function, probably due to a <link xlink:href="https://github.com/NixOS/nix/issues/1846">Nix bug</link>.
</para>
<para xml:id="ssec-gnome-common-issues-unwrappable-package-gsettings-c">
<link xlink:href="https://github.com/NixOS/nixpkgs/blob/29c120c065d03b000224872251bed93932d42412/pkgs/development/libraries/glib-networking/default.nix#L31-L34">Hard-coding GSettings schema path in C library</link> nothing special other than using <link xlink:href="https://github.com/NixOS/nixpkgs/pull/67957#issuecomment-527717467">Coccinelle patch</link> to generate the patch itself.
</para>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
</variablelist>
</section>
</section>

View File

@@ -7,21 +7,16 @@
<title>Go modules</title>
<para>
The function <varname> buildGoModule </varname> builds Go programs managed
with Go modules. It builds a
<link xlink:href="https://github.com/golang/go/wiki/Modules">Go
modules</link> through a two phase build:
The function <varname> buildGoModule </varname> builds Go programs managed with Go modules. It builds a <link xlink:href="https://github.com/golang/go/wiki/Modules">Go modules</link> through a two phase build:
<itemizedlist>
<listitem>
<para>
An intermediate fetcher derivation. This derivation will be used to fetch
all of the dependencies of the Go module.
An intermediate fetcher derivation. This derivation will be used to fetch all of the dependencies of the Go module.
</para>
</listitem>
<listitem>
<para>
A final derivation will use the output of the intermediate derivation to
build the binaries and produce the final output.
A final derivation will use the output of the intermediate derivation to build the binaries and produce the final output.
</para>
</listitem>
</itemizedlist>
@@ -57,21 +52,16 @@ pet = buildGoModule rec {
</example>
<para>
<xref linkend='ex-buildGoModule'/> is an example expression using
buildGoModule, the following arguments are of special significance to the
function:
<xref linkend='ex-buildGoModule'/> is an example expression using buildGoModule, the following arguments are of special significance to the function:
<calloutlist>
<callout arearefs='ex-buildGoModule-1'>
<para>
<varname>modSha256</varname> is the hash of the output of the
intermediate fetcher derivation.
<varname>modSha256</varname> is the hash of the output of the intermediate fetcher derivation.
</para>
</callout>
<callout arearefs='ex-buildGoModule-2'>
<para>
<varname>subPackages</varname> limits the builder from building child
packages that have not been listed. If <varname>subPackages</varname> is
not specified, all child packages will be built.
<varname>subPackages</varname> limits the builder from building child packages that have not been listed. If <varname>subPackages</varname> is not specified, all child packages will be built.
</para>
</callout>
</calloutlist>
@@ -82,8 +72,7 @@ pet = buildGoModule rec {
<title>Go legacy</title>
<para>
The function <varname> buildGoPackage </varname> builds legacy Go programs,
not supporting Go modules.
The function <varname> buildGoPackage </varname> builds legacy Go programs, not supporting Go modules.
</para>
<example xml:id='ex-buildGoPackage'>
@@ -111,49 +100,36 @@ deis = buildGoPackage rec {
</example>
<para>
<xref linkend='ex-buildGoPackage'/> is an example expression using
buildGoPackage, the following arguments are of special significance to the
function:
<xref linkend='ex-buildGoPackage'/> is an example expression using buildGoPackage, the following arguments are of special significance to the function:
<calloutlist>
<callout arearefs='ex-buildGoPackage-1'>
<para>
<varname>goPackagePath</varname> specifies the package's canonical Go
import path.
<varname>goPackagePath</varname> specifies the package's canonical Go import path.
</para>
</callout>
<callout arearefs='ex-buildGoPackage-2'>
<para>
<varname>subPackages</varname> limits the builder from building child
packages that have not been listed. If <varname>subPackages</varname> is
not specified, all child packages will be built.
<varname>subPackages</varname> limits the builder from building child packages that have not been listed. If <varname>subPackages</varname> is not specified, all child packages will be built.
</para>
<para>
In this example only <literal>github.com/deis/deis/client</literal> will
be built.
In this example only <literal>github.com/deis/deis/client</literal> will be built.
</para>
</callout>
<callout arearefs='ex-buildGoPackage-3'>
<para>
<varname>goDeps</varname> is where the Go dependencies of a Go program
are listed as a list of package source identified by Go import path. It
could be imported as a separate <varname>deps.nix</varname> file for
readability. The dependency data structure is described below.
<varname>goDeps</varname> is where the Go dependencies of a Go program are listed as a list of package source identified by Go import path. It could be imported as a separate <varname>deps.nix</varname> file for readability. The dependency data structure is described below.
</para>
</callout>
<callout arearefs='ex-buildGoPackage-4'>
<para>
<varname>buildFlags</varname> is a list of flags passed to the go build
command.
<varname>buildFlags</varname> is a list of flags passed to the go build command.
</para>
</callout>
</calloutlist>
</para>
<para>
The <varname>goDeps</varname> attribute can be imported from a separate
<varname>nix</varname> file that defines which Go libraries are needed and
should be included in <varname>GOPATH</varname> for
<varname>buildPhase</varname>.
The <varname>goDeps</varname> attribute can be imported from a separate <varname>nix</varname> file that defines which Go libraries are needed and should be included in <varname>GOPATH</varname> for <varname>buildPhase</varname>.
</para>
<example xml:id='ex-goDeps'>
@@ -196,27 +172,18 @@ deis = buildGoPackage rec {
</callout>
<callout arearefs='ex-goDeps-3'>
<para>
<varname>fetch type</varname> that needs to be used to get package
source. If <varname>git</varname> is used there should be
<varname>url</varname>, <varname>rev</varname> and
<varname>sha256</varname> defined next to it.
<varname>fetch type</varname> that needs to be used to get package source. If <varname>git</varname> is used there should be <varname>url</varname>, <varname>rev</varname> and <varname>sha256</varname> defined next to it.
</para>
</callout>
</calloutlist>
</para>
<para>
To extract dependency information from a Go package in automated way use
<link xlink:href="https://github.com/kamilchm/go2nix">go2nix</link>. It can
produce complete derivation and <varname>goDeps</varname> file for Go
programs.
To extract dependency information from a Go package in automated way use <link xlink:href="https://github.com/kamilchm/go2nix">go2nix</link>. It can produce complete derivation and <varname>goDeps</varname> file for Go programs.
</para>
<para>
<varname>buildGoPackage</varname> produces
<xref linkend='chap-multiple-output' xrefstyle="select: title" /> where
<varname>bin</varname> includes program binaries. You can test build a Go
binary as follows:
<varname>buildGoPackage</varname> produces <xref linkend='chap-multiple-output' xrefstyle="select: title" /> where <varname>bin</varname> includes program binaries. You can test build a Go binary as follows:
<screen>
<prompt>$ </prompt>nix-build -A deis.bin
</screen>
@@ -224,13 +191,11 @@ deis = buildGoPackage rec {
<screen>
<prompt>$ </prompt>nix-build -A deis.all
</screen>
<varname>bin</varname> output will be installed by default with
<varname>nix-env -i</varname> or <varname>systemPackages</varname>.
<varname>bin</varname> output will be installed by default with <varname>nix-env -i</varname> or <varname>systemPackages</varname>.
</para>
<para>
You may use Go packages installed into the active Nix profiles by adding the
following to your ~/.bashrc:
You may use Go packages installed into the active Nix profiles by adding the following to your ~/.bashrc:
<screen>
for p in $NIX_PROFILES; do
GOPATH="$p/share/go:$GOPATH"

View File

@@ -3,7 +3,7 @@ title: User's Guide for Haskell in Nixpkgs
author: Peter Simons
date: 2015-06-01
---
# User's Guide to the Haskell Infrastructure
# Haskell
## How to install Haskell packages

View File

@@ -1,4 +1,4 @@
# Idris packages
# Idris
## Installing Idris

View File

@@ -1,19 +1,17 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="chap-language-support">
<title>Support for specific programming languages and frameworks</title>
<title>Languages and frameworks</title>
<para>
The <link linkend="chap-stdenv">standard build environment</link> makes it
easy to build typical Autotools-based packages with very little code. Any
other kind of package can be accomodated by overriding the appropriate phases
of <literal>stdenv</literal>. However, there are specialised functions in
Nixpkgs to easily build packages for other programming languages, such as
Perl or Haskell. These are described in this chapter.
The <link linkend="chap-stdenv">standard build environment</link> makes it easy to build typical Autotools-based packages with very little code. Any other kind of package can be accomodated by overriding the appropriate phases of <literal>stdenv</literal>. However, there are specialised functions in Nixpkgs to easily build packages for other programming languages, such as Perl or Haskell. These are described in this chapter.
</para>
<xi:include href="android.section.xml" />
<xi:include href="beam.xml" />
<xi:include href="bower.xml" />
<xi:include href="coq.xml" />
<xi:include href="crystal.section.xml" />
<xi:include href="emscripten.section.xml" />
<xi:include href="gnome.xml" />
<xi:include href="go.xml" />
<xi:include href="haskell.section.xml" />
<xi:include href="idris.section.xml" />
@@ -31,6 +29,4 @@
<xi:include href="texlive.xml" />
<xi:include href="titanium.section.xml" />
<xi:include href="vim.section.xml" />
<xi:include href="emscripten.section.xml" />
<xi:include href="crystal.section.xml" />
</chapter>

View File

@@ -1,7 +1,7 @@
---
title: iOS
author: Sander van der Burg
date: 2018-11-18
date: 2019-11-10
---
# iOS
@@ -217,3 +217,13 @@ xcode.simulateApp {
By providing the result of an `xcode.buildApp {}` function and configuring the
app bundle id, the app gets deployed automatically and started.
Troubleshooting
---------------
In some rare cases, it may happen that after a failure, changes are not picked
up. Most likely, this is caused by a derived data cache that Xcode maintains.
To wipe it you can run:
```bash
$ rm -rf ~/Library/Developer/Xcode/DerivedData
```

View File

@@ -15,37 +15,24 @@ stdenv.mkDerivation {
buildPhase = "ant";
}
</programlisting>
Note that <varname>jdk</varname> is an alias for the OpenJDK (self-built
where available, or pre-built via Zulu). Platforms with OpenJDK not (yet) in
Nixpkgs (<literal>Aarch32</literal>, <literal>Aarch64</literal>) point to the
(unfree) <literal>oraclejdk</literal>.
Note that <varname>jdk</varname> is an alias for the OpenJDK (self-built where available, or pre-built via Zulu). Platforms with OpenJDK not (yet) in Nixpkgs (<literal>Aarch32</literal>, <literal>Aarch64</literal>) point to the (unfree) <literal>oraclejdk</literal>.
</para>
<para>
JAR files that are intended to be used by other packages should be installed
in <filename>$out/share/java</filename>. JDKs have a stdenv setup hook that
add any JARs in the <filename>share/java</filename> directories of the build
inputs to the <envar>CLASSPATH</envar> environment variable. For instance, if
the package <literal>libfoo</literal> installs a JAR named
<filename>foo.jar</filename> in its <filename>share/java</filename>
directory, and another package declares the attribute
JAR files that are intended to be used by other packages should be installed in <filename>$out/share/java</filename>. JDKs have a stdenv setup hook that add any JARs in the <filename>share/java</filename> directories of the build inputs to the <envar>CLASSPATH</envar> environment variable. For instance, if the package <literal>libfoo</literal> installs a JAR named <filename>foo.jar</filename> in its <filename>share/java</filename> directory, and another package declares the attribute
<programlisting>
buildInputs = [ libfoo ];
nativeBuildInputs = [ jdk ];
</programlisting>
then <envar>CLASSPATH</envar> will be set to
<filename>/nix/store/...-libfoo/share/java/foo.jar</filename>.
then <envar>CLASSPATH</envar> will be set to <filename>/nix/store/...-libfoo/share/java/foo.jar</filename>.
</para>
<para>
Private JARs should be installed in a location like
<filename>$out/share/<replaceable>package-name</replaceable></filename>.
Private JARs should be installed in a location like <filename>$out/share/<replaceable>package-name</replaceable></filename>.
</para>
<para>
If your Java package provides a program, you need to generate a wrapper
script to run it using the OpenJRE. You can use
<literal>makeWrapper</literal> for this:
If your Java package provides a program, you need to generate a wrapper script to run it using the OpenJRE. You can use <literal>makeWrapper</literal> for this:
<programlisting>
nativeBuildInputs = [ makeWrapper ];
@@ -56,30 +43,21 @@ installPhase =
--add-flags "-cp $out/share/java/foo.jar org.foo.Main"
'';
</programlisting>
Note the use of <literal>jre</literal>, which is the part of the OpenJDK
package that contains the Java Runtime Environment. By using
<literal>${jre}/bin/java</literal> instead of
<literal>${jdk}/bin/java</literal>, you prevent your package from depending
on the JDK at runtime.
Note the use of <literal>jre</literal>, which is the part of the OpenJDK package that contains the Java Runtime Environment. By using <literal>${jre}/bin/java</literal> instead of <literal>${jdk}/bin/java</literal>, you prevent your package from depending on the JDK at runtime.
</para>
<para>
Note all JDKs passthru <literal>home</literal>, so if your application
requires environment variables like <envar>JAVA_HOME</envar> being set, that
can be done in a generic fashion with the <literal>--set</literal> argument
of <literal>makeWrapper</literal>:
Note all JDKs passthru <literal>home</literal>, so if your application requires environment variables like <envar>JAVA_HOME</envar> being set, that can be done in a generic fashion with the <literal>--set</literal> argument of <literal>makeWrapper</literal>:
<programlisting>
--set JAVA_HOME ${jdk.home}
</programlisting>
</para>
<para>
It is possible to use a different Java compiler than <command>javac</command>
from the OpenJDK. For instance, to use the GNU Java Compiler:
It is possible to use a different Java compiler than <command>javac</command> from the OpenJDK. For instance, to use the GNU Java Compiler:
<programlisting>
nativeBuildInputs = [ gcj ant ];
</programlisting>
Here, Ant will automatically use <command>gij</command> (the GNU Java
Runtime) instead of the OpenJRE.
Here, Ant will automatically use <command>gij</command> (the GNU Java Runtime) instead of the OpenJRE.
</para>
</section>

View File

@@ -4,18 +4,11 @@
<title>Lua</title>
<para>
Lua packages are built by the <varname>buildLuaPackage</varname> function.
This function is implemented in
<link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/lua-modules/generic/default.nix">
<filename>pkgs/development/lua-modules/generic/default.nix</filename></link>
and works similarly to <varname>buildPerlPackage</varname>. (See
<xref linkend="sec-language-perl"/> for details.)
Lua packages are built by the <varname>buildLuaPackage</varname> function. This function is implemented in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/lua-modules/generic/default.nix"> <filename>pkgs/development/lua-modules/generic/default.nix</filename></link> and works similarly to <varname>buildPerlPackage</varname>. (See <xref linkend="sec-language-perl"/> for details.)
</para>
<para>
Lua packages are defined in
<link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/lua-packages.nix"><filename>pkgs/top-level/lua-packages.nix</filename></link>.
Most of them are simple. For example:
Lua packages are defined in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/lua-packages.nix"><filename>pkgs/top-level/lua-packages.nix</filename></link>. Most of them are simple. For example:
<programlisting>
fileSystem = buildLuaPackage {
name = "filesystem-1.6.2";
@@ -33,16 +26,11 @@ fileSystem = buildLuaPackage {
</para>
<para>
Though, more complicated package should be placed in a seperate file in
<link
Though, more complicated package should be placed in a seperate file in <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/lua-modules"><filename>pkgs/development/lua-modules</filename></link>.
</para>
<para>
Lua packages accept additional parameter <varname>disabled</varname>, which
defines the condition of disabling package from luaPackages. For example, if
package has <varname>disabled</varname> assigned to <literal>lua.luaversion
!= "5.1"</literal>, it will not be included in any luaPackages except
lua51Packages, making it only be built for lua 5.1.
Lua packages accept additional parameter <varname>disabled</varname>, which defines the condition of disabling package from luaPackages. For example, if package has <varname>disabled</varname> assigned to <literal>lua.luaversion != "5.1"</literal>, it will not be included in any luaPackages except lua51Packages, making it only be built for lua 5.1.
</para>
</section>

View File

@@ -1,5 +1,5 @@
Node.js packages
================
Node.js
=======
The `pkgs/development/node-packages` folder contains a generated collection of
[NPM packages](https://npmjs.com/) that can be installed with the Nix package
manager.

View File

@@ -4,35 +4,15 @@
<title>OCaml</title>
<para>
OCaml libraries should be installed in
<literal>$(out)/lib/ocaml/${ocaml.version}/site-lib/</literal>. Such
directories are automatically added to the <literal>$OCAMLPATH</literal>
environment variable when building another package that depends on them or
when opening a <literal>nix-shell</literal>.
OCaml libraries should be installed in <literal>$(out)/lib/ocaml/${ocaml.version}/site-lib/</literal>. Such directories are automatically added to the <literal>$OCAMLPATH</literal> environment variable when building another package that depends on them or when opening a <literal>nix-shell</literal>.
</para>
<para>
Given that most of the OCaml ecosystem is now built with dune, nixpkgs
includes a convenience build support function called
<literal>buildDunePackage</literal> that will build an OCaml package using
dune, OCaml and findlib and any additional dependencies provided as
<literal>buildInputs</literal> or <literal>propagatedBuildInputs</literal>.
Given that most of the OCaml ecosystem is now built with dune, nixpkgs includes a convenience build support function called <literal>buildDunePackage</literal> that will build an OCaml package using dune, OCaml and findlib and any additional dependencies provided as <literal>buildInputs</literal> or <literal>propagatedBuildInputs</literal>.
</para>
<para>
Here is a simple package example. It defines an (optional) attribute
<literal>minimumOCamlVersion</literal> that will be used to throw a
descriptive evaluation error if building with an older OCaml is attempted. It
uses the <literal>fetchFromGitHub</literal> fetcher to get its source. It
sets the <literal>doCheck</literal> (optional) attribute to
<literal>true</literal> which means that tests will be run with <literal>dune
runtest -p angstrom</literal> after the build (<literal>dune build -p
angstrom</literal>) is complete. It uses <literal>alcotest</literal> as a
build input (because it is needed to run the tests) and
<literal>bigstringaf</literal> and <literal>result</literal> as propagated
build inputs (thus they will also be available to libraries depending on this
library). The library will be installed using the
<literal>angstrom.install</literal> file that dune generates.
Here is a simple package example. It defines an (optional) attribute <literal>minimumOCamlVersion</literal> that will be used to throw a descriptive evaluation error if building with an older OCaml is attempted. It uses the <literal>fetchFromGitHub</literal> fetcher to get its source. It sets the <literal>doCheck</literal> (optional) attribute to <literal>true</literal> which means that tests will be run with <literal>dune runtest -p angstrom</literal> after the build (<literal>dune build -p angstrom</literal>) is complete. It uses <literal>alcotest</literal> as a build input (because it is needed to run the tests) and <literal>bigstringaf</literal> and <literal>result</literal> as propagated build inputs (thus they will also be available to libraries depending on this library). The library will be installed using the <literal>angstrom.install</literal> file that dune generates.
</para>
<programlisting>
@@ -65,11 +45,7 @@ buildDunePackage rec {
</programlisting>
<para>
Here is a second example, this time using a source archive generated with
<literal>dune-release</literal>. It is a good idea to use this archive when
it is available as it will usually contain substituted variables such as a
<literal>%%VERSION%%</literal> field. This library does not depend on any
other OCaml library and no tests are run after building it.
Here is a second example, this time using a source archive generated with <literal>dune-release</literal>. It is a good idea to use this archive when it is available as it will usually contain substituted variables such as a <literal>%%VERSION%%</literal> field. This library does not depend on any other OCaml library and no tests are run after building it.
</para>
<programlisting>

View File

@@ -4,24 +4,13 @@
<title>Perl</title>
<para>
Nixpkgs provides a function <varname>buildPerlPackage</varname>, a generic
package builder function for any Perl package that has a standard
<varname>Makefile.PL</varname>. Its implemented in
<link
Nixpkgs provides a function <varname>buildPerlPackage</varname>, a generic package builder function for any Perl package that has a standard <varname>Makefile.PL</varname>. Its implemented in <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/perl-modules/generic"><filename>pkgs/development/perl-modules/generic</filename></link>.
</para>
<para>
Perl packages from CPAN are defined in
<link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/perl-packages.nix"><filename>pkgs/top-level/perl-packages.nix</filename></link>,
rather than <filename>pkgs/all-packages.nix</filename>. Most Perl packages
are so straight-forward to build that they are defined here directly, rather
than having a separate function for each package called from
<filename>perl-packages.nix</filename>. However, more complicated packages
should be put in a separate file, typically in
<filename>pkgs/development/perl-modules</filename>. Here is an example of the
former:
Perl packages from CPAN are defined in <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/perl-packages.nix"><filename>pkgs/top-level/perl-packages.nix</filename></link>, rather than <filename>pkgs/all-packages.nix</filename>. Most Perl packages are so straight-forward to build that they are defined here directly, rather than having a separate function for each package called from <filename>perl-packages.nix</filename>. However, more complicated packages should be put in a separate file, typically in <filename>pkgs/development/perl-modules</filename>. Here is an example of the former:
<programlisting>
ClassC3 = buildPerlPackage rec {
name = "Class-C3-0.21";
@@ -31,32 +20,22 @@ ClassC3 = buildPerlPackage rec {
};
};
</programlisting>
Note the use of <literal>mirror://cpan/</literal>, and the
<literal>${name}</literal> in the URL definition to ensure that the name
attribute is consistent with the source that were actually downloading.
Perl packages are made available in <filename>all-packages.nix</filename>
through the variable <varname>perlPackages</varname>. For instance, if you
have a package that needs <varname>ClassC3</varname>, you would typically
write
Note the use of <literal>mirror://cpan/</literal>, and the <literal>${name}</literal> in the URL definition to ensure that the name attribute is consistent with the source that were actually downloading. Perl packages are made available in <filename>all-packages.nix</filename> through the variable <varname>perlPackages</varname>. For instance, if you have a package that needs <varname>ClassC3</varname>, you would typically write
<programlisting>
foo = import ../path/to/foo.nix {
inherit stdenv fetchurl ...;
inherit (perlPackages) ClassC3;
};
</programlisting>
in <filename>all-packages.nix</filename>. You can test building a Perl
package as follows:
in <filename>all-packages.nix</filename>. You can test building a Perl package as follows:
<screen>
<prompt>$ </prompt>nix-build -A perlPackages.ClassC3
</screen>
<varname>buildPerlPackage</varname> adds <literal>perl-</literal> to the
start of the name attribute, so the package above is actually called
<literal>perl-Class-C3-0.21</literal>. So to install it, you can say:
<varname>buildPerlPackage</varname> adds <literal>perl-</literal> to the start of the name attribute, so the package above is actually called <literal>perl-Class-C3-0.21</literal>. So to install it, you can say:
<screen>
<prompt>$ </prompt>nix-env -i perl-Class-C3
</screen>
(Of course you can also install using the attribute name: <literal>nix-env -i
-A perlPackages.ClassC3</literal>.)
(Of course you can also install using the attribute name: <literal>nix-env -i -A perlPackages.ClassC3</literal>.)
</para>
<para>
@@ -64,40 +43,24 @@ foo = import ../path/to/foo.nix {
<orderedlist>
<listitem>
<para>
In the configure phase, it calls <literal>perl Makefile.PL</literal> to
generate a Makefile. You can set the variable
<varname>makeMakerFlags</varname> to pass flags to
<filename>Makefile.PL</filename>
In the configure phase, it calls <literal>perl Makefile.PL</literal> to generate a Makefile. You can set the variable <varname>makeMakerFlags</varname> to pass flags to <filename>Makefile.PL</filename>
</para>
</listitem>
<listitem>
<para>
It adds the contents of the <envar>PERL5LIB</envar> environment variable
to <literal>#! .../bin/perl</literal> line of Perl scripts as
<literal>-I<replaceable>dir</replaceable></literal> flags. This ensures
that a script can find its dependencies. (This can cause this shebang line
to become too long for Darwin to handle; see the note below.)
It adds the contents of the <envar>PERL5LIB</envar> environment variable to <literal>#! .../bin/perl</literal> line of Perl scripts as <literal>-I<replaceable>dir</replaceable></literal> flags. This ensures that a script can find its dependencies. (This can cause this shebang line to become too long for Darwin to handle; see the note below.)
</para>
</listitem>
<listitem>
<para>
In the fixup phase, it writes the propagated build inputs
(<varname>propagatedBuildInputs</varname>) to the file
<filename>$out/nix-support/propagated-user-env-packages</filename>.
<command>nix-env</command> recursively installs all packages listed in
this file when you install a package that has it. This ensures that a Perl
package can find its dependencies.
In the fixup phase, it writes the propagated build inputs (<varname>propagatedBuildInputs</varname>) to the file <filename>$out/nix-support/propagated-user-env-packages</filename>. <command>nix-env</command> recursively installs all packages listed in this file when you install a package that has it. This ensures that a Perl package can find its dependencies.
</para>
</listitem>
</orderedlist>
</para>
<para>
<varname>buildPerlPackage</varname> is built on top of
<varname>stdenv</varname>, so everything can be customised in the usual way.
For instance, the <literal>BerkeleyDB</literal> module has a
<varname>preConfigure</varname> hook to generate a configuration file used by
<filename>Makefile.PL</filename>:
<varname>buildPerlPackage</varname> is built on top of <varname>stdenv</varname>, so everything can be customised in the usual way. For instance, the <literal>BerkeleyDB</literal> module has a <varname>preConfigure</varname> hook to generate a configuration file used by <filename>Makefile.PL</filename>:
<programlisting>
{ buildPerlPackage, fetchurl, db }:
@@ -118,12 +81,7 @@ buildPerlPackage rec {
</para>
<para>
Dependencies on other Perl packages can be specified in the
<varname>buildInputs</varname> and <varname>propagatedBuildInputs</varname>
attributes. If something is exclusively a build-time dependency, use
<varname>buildInputs</varname>; if its (also) a runtime dependency, use
<varname>propagatedBuildInputs</varname>. For instance, this builds a Perl
module that has runtime dependencies on a bunch of other modules:
Dependencies on other Perl packages can be specified in the <varname>buildInputs</varname> and <varname>propagatedBuildInputs</varname> attributes. If something is exclusively a build-time dependency, use <varname>buildInputs</varname>; if its (also) a runtime dependency, use <varname>propagatedBuildInputs</varname>. For instance, this builds a Perl module that has runtime dependencies on a bunch of other modules:
<programlisting>
ClassC3Componentised = buildPerlPackage rec {
name = "Class-C3-Componentised-1.0004";
@@ -139,11 +97,7 @@ ClassC3Componentised = buildPerlPackage rec {
</para>
<para>
On Darwin, if a script has too many
<literal>-I<replaceable>dir</replaceable></literal> flags in its first line
(its “shebang line”), it will not run. This can be worked around by calling
the <literal>shortenPerlShebang</literal> function from the
<literal>postInstall</literal> phase:
On Darwin, if a script has too many <literal>-I<replaceable>dir</replaceable></literal> flags in its first line (its “shebang line”), it will not run. This can be worked around by calling the <literal>shortenPerlShebang</literal> function from the <literal>postInstall</literal> phase:
<programlisting>
{ stdenv, buildPerlPackage, fetchurl, shortenPerlShebang }:
@@ -162,20 +116,14 @@ ImageExifTool = buildPerlPackage {
'';
};
</programlisting>
This will remove the <literal>-I</literal> flags from the shebang line,
rewrite them in the <literal>use lib</literal> form, and put them on the next
line instead. This function can be given any number of Perl scripts as
arguments; it will modify them in-place.
This will remove the <literal>-I</literal> flags from the shebang line, rewrite them in the <literal>use lib</literal> form, and put them on the next line instead. This function can be given any number of Perl scripts as arguments; it will modify them in-place.
</para>
<section xml:id="ssec-generation-from-CPAN">
<title>Generation from CPAN</title>
<para>
Nix expressions for Perl packages can be generated (almost) automatically
from CPAN. This is done by the program
<command>nix-generate-from-cpan</command>, which can be installed as
follows:
Nix expressions for Perl packages can be generated (almost) automatically from CPAN. This is done by the program <command>nix-generate-from-cpan</command>, which can be installed as follows:
</para>
<screen>
@@ -183,9 +131,7 @@ ImageExifTool = buildPerlPackage {
</screen>
<para>
This program takes a Perl module name, looks it up on CPAN, fetches and
unpacks the corresponding package, and prints a Nix expression on standard
output. For example:
This program takes a Perl module name, looks it up on CPAN, fetches and unpacks the corresponding package, and prints a Nix expression on standard output. For example:
<screen>
<prompt>$ </prompt>nix-generate-from-cpan XML::Simple
XMLSimple = buildPerlPackage rec {
@@ -201,9 +147,7 @@ ImageExifTool = buildPerlPackage {
};
};
</screen>
The output can be pasted into
<filename>pkgs/top-level/perl-packages.nix</filename> or wherever else you
need it.
The output can be pasted into <filename>pkgs/top-level/perl-packages.nix</filename> or wherever else you need it.
</para>
</section>
@@ -211,13 +155,7 @@ ImageExifTool = buildPerlPackage {
<title>Cross-compiling modules</title>
<para>
Nixpkgs has experimental support for cross-compiling Perl modules. In many
cases, it will just work out of the box, even for modules with native
extensions. Sometimes, however, the Makefile.PL for a module may
(indirectly) import a native module. In that case, you will need to make a
stub for that module that will satisfy the Makefile.PL and install it into
<filename>lib/perl5/site_perl/cross_perl/${perl.version}</filename>. See the
<varname>postInstall</varname> for <varname>DBI</varname> for an example.
Nixpkgs has experimental support for cross-compiling Perl modules. In many cases, it will just work out of the box, even for modules with native extensions. Sometimes, however, the Makefile.PL for a module may (indirectly) import a native module. In that case, you will need to make a stub for that module that will satisfy the Makefile.PL and install it into <filename>lib/perl5/site_perl/cross_perl/${perl.version}</filename>. See the <varname>postInstall</varname> for <varname>DBI</varname> for an example.
</para>
</section>
</section>

View File

@@ -803,6 +803,9 @@ should be used with `ignoreCollisions = true`.
The following are setup hooks specifically for Python packages. Most of these are
used in `buildPythonPackage`.
- `eggUnpackhook` to move an egg to the correct folder so it can be installed with the `eggInstallHook`
- `eggBuildHook` to skip building for eggs.
- `eggInstallHook` to install eggs.
- `flitBuildHook` to build a wheel using `flit`.
- `pipBuildHook` to build a wheel using `pip` and PEP 517. Note a build system (e.g. `setuptools` or `flit`) should still be added as `nativeBuildInput`.
- `pipInstallHook` to install wheels.

View File

@@ -4,16 +4,12 @@
<title>Qt</title>
<para>
This section describes the differences between Nix expressions for Qt
libraries and applications and Nix expressions for other C++ software. Some
knowledge of the latter is assumed. There are primarily two problems which
the Qt infrastructure is designed to address: ensuring consistent versioning
of all dependencies and finding dependencies at runtime.
This section describes the differences between Nix expressions for Qt libraries and applications and Nix expressions for other C++ software. Some knowledge of the latter is assumed. There are primarily two problems which the Qt infrastructure is designed to address: ensuring consistent versioning of all dependencies and finding dependencies at runtime.
</para>
<example xml:id='qt-default-nix'>
<title>Nix expression for a Qt package (<filename>default.nix</filename>)</title>
<programlisting>
<title>Nix expression for a Qt package (<filename>default.nix</filename>)</title>
<programlisting>
{ mkDerivation, lib, qtbase }: <co xml:id='qt-default-nix-co-1' />
mkDerivation { <co xml:id='qt-default-nix-co-2' />
@@ -26,53 +22,36 @@ mkDerivation { <co xml:id='qt-default-nix-co-2' />
</example>
<calloutlist>
<callout arearefs='qt-default-nix-co-1'>
<para>
Import <literal>mkDerivation</literal> and Qt (such as
<literal>qtbase</literal> modules directly. <emphasis>Do not</emphasis>
import Qt package sets; the Qt versions of dependencies may not be
coherent, causing build and runtime failures.
</para>
</callout>
<callout arearefs='qt-default-nix-co-2'>
<para>
Use <literal>mkDerivation</literal> instead of
<literal>stdenv.mkDerivation</literal>. <literal>mkDerivation</literal>
is a wrapper around <literal>stdenv.mkDerivation</literal> which
applies some Qt-specific settings.
This deriver accepts the same arguments as
<literal>stdenv.mkDerivation</literal>; refer to
<xref linkend='chap-stdenv' /> for details.
</para>
<para>
To use another deriver instead of
<literal>stdenv.mkDerivation</literal>, use
<literal>mkDerivationWith</literal>:
<callout arearefs='qt-default-nix-co-1'>
<para>
Import <literal>mkDerivation</literal> and Qt (such as <literal>qtbase</literal> modules directly. <emphasis>Do not</emphasis> import Qt package sets; the Qt versions of dependencies may not be coherent, causing build and runtime failures.
</para>
</callout>
<callout arearefs='qt-default-nix-co-2'>
<para>
Use <literal>mkDerivation</literal> instead of <literal>stdenv.mkDerivation</literal>. <literal>mkDerivation</literal> is a wrapper around <literal>stdenv.mkDerivation</literal> which applies some Qt-specific settings. This deriver accepts the same arguments as <literal>stdenv.mkDerivation</literal>; refer to <xref linkend='chap-stdenv' /> for details.
</para>
<para>
To use another deriver instead of <literal>stdenv.mkDerivation</literal>, use <literal>mkDerivationWith</literal>:
<programlisting>
mkDerivationWith myDeriver {
# ...
}
</programlisting>
If you cannot use <literal>mkDerivationWith</literal>, please refer to
<xref linkend='qt-runtime-dependencies' />.
</para>
</callout>
<callout arearefs='qt-default-nix-co-3'>
<para>
<literal>mkDerivation</literal> accepts the same arguments as
<literal>stdenv.mkDerivation</literal>, such as
<literal>buildInputs</literal>.
</para>
</callout>
If you cannot use <literal>mkDerivationWith</literal>, please refer to <xref linkend='qt-runtime-dependencies' />.
</para>
</callout>
<callout arearefs='qt-default-nix-co-3'>
<para>
<literal>mkDerivation</literal> accepts the same arguments as <literal>stdenv.mkDerivation</literal>, such as <literal>buildInputs</literal>.
</para>
</callout>
</calloutlist>
<formalpara xml:id='qt-runtime-dependencies'>
<title>Locating runtime dependencies</title>
<para>
Qt applications need to be wrapped to find runtime dependencies. If you
cannot use <literal>mkDerivation</literal> or
<literal>mkDerivationWith</literal> above, include
<literal>wrapQtAppsHook</literal> in <literal>nativeBuildInputs</literal>:
<title>Locating runtime dependencies</title>
<para>
Qt applications need to be wrapped to find runtime dependencies. If you cannot use <literal>mkDerivation</literal> or <literal>mkDerivationWith</literal> above, include <literal>wrapQtAppsHook</literal> in <literal>nativeBuildInputs</literal>:
<programlisting>
stdenv.mkDerivation {
# ...
@@ -80,13 +59,11 @@ stdenv.mkDerivation {
nativeBuildInputs = [ wrapQtAppsHook ];
}
</programlisting>
</para>
</para>
</formalpara>
<para>
Entries added to <literal>qtWrapperArgs</literal> are used to modify the
wrappers created by <literal>wrapQtAppsHook</literal>. The entries are
passed as arguments to <xref linkend='fun-wrapProgram' />.
Entries added to <literal>qtWrapperArgs</literal> are used to modify the wrappers created by <literal>wrapQtAppsHook</literal>. The entries are passed as arguments to <xref linkend='fun-wrapProgram' />.
<programlisting>
mkDerivation {
# ...
@@ -97,10 +74,7 @@ mkDerivation {
</para>
<para>
Set <literal>dontWrapQtApps</literal> to stop applications from being
wrapped automatically. It is required to wrap applications manually with
<literal>wrapQtApp</literal>, using the syntax of
<xref linkend='fun-wrapProgram' />:
Set <literal>dontWrapQtApps</literal> to stop applications from being wrapped automatically. It is required to wrap applications manually with <literal>wrapQtApp</literal>, using the syntax of <xref linkend='fun-wrapProgram' />:
<programlisting>
mkDerivation {
# ...
@@ -115,16 +89,12 @@ mkDerivation {
<note>
<para>
<literal>wrapQtAppsHook</literal> ignores files that are non-ELF executables.
This means that scripts won't be automatically wrapped so you'll need to manually
wrap them as previously mentioned. An example of when you'd always need to do this
is with Python applications that use PyQT.
<literal>wrapQtAppsHook</literal> ignores files that are non-ELF executables. This means that scripts won't be automatically wrapped so you'll need to manually wrap them as previously mentioned. An example of when you'd always need to do this is with Python applications that use PyQT.
</para>
</note>
<para>
Libraries are built with every available version of Qt. Use the <literal>meta.broken</literal>
attribute to disable the package for unsupported Qt versions:
Libraries are built with every available version of Qt. Use the <literal>meta.broken</literal> attribute to disable the package for unsupported Qt versions:
<programlisting>
mkDerivation {
# ...
@@ -136,13 +106,11 @@ mkDerivation {
</para>
<formalpara>
<title>Adding a library to Nixpkgs</title>
<para>
Add a Qt library to <filename>all-packages.nix</filename> by adding it to the
collection inside <literal>mkLibsForQt5</literal>. This ensures that the
library is built with every available version of Qt as needed.
<example xml:id='qt-library-all-packages-nix'>
<title>Adding a Qt library to <filename>all-packages.nix</filename></title>
<title>Adding a library to Nixpkgs</title>
<para>
Add a Qt library to <filename>all-packages.nix</filename> by adding it to the collection inside <literal>mkLibsForQt5</literal>. This ensures that the library is built with every available version of Qt as needed.
<example xml:id='qt-library-all-packages-nix'>
<title>Adding a Qt library to <filename>all-packages.nix</filename></title>
<programlisting>
{
# ...
@@ -156,19 +124,16 @@ mkDerivation {
# ...
}
</programlisting>
</example>
</para>
</example>
</para>
</formalpara>
<formalpara>
<title>Adding an application to Nixpkgs</title>
<para>
Add a Qt application to <filename>all-packages.nix</filename> using
<literal>libsForQt5.callPackage</literal> instead of the usual
<literal>callPackage</literal>. The former ensures that all dependencies
are built with the same version of Qt.
<example xml:id='qt-application-all-packages-nix'>
<title>Adding a Qt application to <filename>all-packages.nix</filename></title>
<title>Adding an application to Nixpkgs</title>
<para>
Add a Qt application to <filename>all-packages.nix</filename> using <literal>libsForQt5.callPackage</literal> instead of the usual <literal>callPackage</literal>. The former ensures that all dependencies are built with the same version of Qt.
<example xml:id='qt-application-all-packages-nix'>
<title>Adding a Qt application to <filename>all-packages.nix</filename></title>
<programlisting>
{
# ...
@@ -178,8 +143,7 @@ mkDerivation {
# ...
}
</programlisting>
</example>
</para>
</example>
</para>
</formalpara>
</section>

View File

@@ -1,5 +1,5 @@
R packages
==========
R
=
## Installation

View File

@@ -4,11 +4,7 @@
<title>Ruby</title>
<para>
There currently is support to bundle applications that are packaged as Ruby
gems. The utility "bundix" allows you to write a
<filename>Gemfile</filename>, let bundler create a
<filename>Gemfile.lock</filename>, and then convert this into a nix
expression that contains all Gem dependencies automatically.
There currently is support to bundle applications that are packaged as Ruby gems. The utility "bundix" allows you to write a <filename>Gemfile</filename>, let bundler create a <filename>Gemfile.lock</filename>, and then convert this into a nix expression that contains all Gem dependencies automatically.
</para>
<para>
@@ -45,9 +41,7 @@ bundlerEnv rec {
</screen>
<para>
Please check in the <filename>Gemfile</filename>,
<filename>Gemfile.lock</filename> and the <filename>gemset.nix</filename> so
future updates can be run easily.
Please check in the <filename>Gemfile</filename>, <filename>Gemfile.lock</filename> and the <filename>gemset.nix</filename> so future updates can be run easily.
</para>
<para>
@@ -62,10 +56,7 @@ $ nix-shell -p bundix --run 'bundix'
</screen>
<para>
For tools written in Ruby - i.e. where the desire is to install a package and
then execute e.g. <command>rake</command> at the command line, there is an
alternative builder called <literal>bundlerApp</literal>. Set up the
<filename>gemset.nix</filename> the same way, and then, for example:
For tools written in Ruby - i.e. where the desire is to install a package and then execute e.g. <command>rake</command> at the command line, there is an alternative builder called <literal>bundlerApp</literal>. Set up the <filename>gemset.nix</filename> the same way, and then, for example:
</para>
<screen>
@@ -87,29 +78,11 @@ bundlerApp {
</screen>
<para>
The chief advantage of <literal>bundlerApp</literal> over
<literal>bundlerEnv</literal> is the executables introduced in the
environment are precisely those selected in the <literal>exes</literal> list,
as opposed to <literal>bundlerEnv</literal> which adds all the executables
made available by gems in the gemset, which can mean e.g.
<command>rspec</command> or <command>rake</command> in unpredictable versions
available from various packages.
The chief advantage of <literal>bundlerApp</literal> over <literal>bundlerEnv</literal> is the executables introduced in the environment are precisely those selected in the <literal>exes</literal> list, as opposed to <literal>bundlerEnv</literal> which adds all the executables made available by gems in the gemset, which can mean e.g. <command>rspec</command> or <command>rake</command> in unpredictable versions available from various packages.
</para>
<para>
Resulting derivations for both builders also have two helpful attributes,
<literal>env</literal> and <literal>wrappedRuby</literal>. The first one
allows one to quickly drop into <command>nix-shell</command> with the
specified environment present. E.g. <command>nix-shell -A sensu.env</command>
would give you an environment with Ruby preset so it has all the libraries
necessary for <literal>sensu</literal> in its paths. The second one can be
used to make derivations from custom Ruby scripts which have
<filename>Gemfile</filename>s with their dependencies specified. It is a
derivation with <command>ruby</command> wrapped so it can find all the needed
dependencies. For example, to make a derivation <literal>my-script</literal>
for a <filename>my-script.rb</filename> (which should be placed in
<filename>bin</filename>) you should run <command>bundix</command> as
specified above and then use <literal>bundlerEnv</literal> like this:
Resulting derivations for both builders also have two helpful attributes, <literal>env</literal> and <literal>wrappedRuby</literal>. The first one allows one to quickly drop into <command>nix-shell</command> with the specified environment present. E.g. <command>nix-shell -A sensu.env</command> would give you an environment with Ruby preset so it has all the libraries necessary for <literal>sensu</literal> in its paths. The second one can be used to make derivations from custom Ruby scripts which have <filename>Gemfile</filename>s with their dependencies specified. It is a derivation with <command>ruby</command> wrapped so it can find all the needed dependencies. For example, to make a derivation <literal>my-script</literal> for a <filename>my-script.rb</filename> (which should be placed in <filename>bin</filename>) you should run <command>bundix</command> as specified above and then use <literal>bundlerEnv</literal> like this:
</para>
<programlisting>

View File

@@ -4,7 +4,7 @@ author: Matthias Beyer
date: 2017-03-05
---
# User's Guide to the Rust Infrastructure
# Rust
To install the rust compiler and cargo put
@@ -188,7 +188,7 @@ argument and returns a set that contains all attribute that should be
overwritten.
For more complicated cases, such as when parts of the crate's
derivation depend on the the crate's version, the `attrs` argument of
derivation depend on the crate's version, the `attrs` argument of
the override above can be read, as in the following example, which
patches the derivation:

View File

@@ -4,8 +4,7 @@
<title>TeX Live</title>
<para>
Since release 15.09 there is a new TeX Live packaging that lives entirely
under attribute <varname>texlive</varname>.
Since release 15.09 there is a new TeX Live packaging that lives entirely under attribute <varname>texlive</varname>.
</para>
<section xml:id="sec-language-texlive-users-guide">
@@ -14,28 +13,23 @@
<itemizedlist>
<listitem>
<para>
For basic usage just pull <varname>texlive.combined.scheme-basic</varname>
for an environment with basic LaTeX support.
For basic usage just pull <varname>texlive.combined.scheme-basic</varname> for an environment with basic LaTeX support.
</para>
</listitem>
<listitem>
<para>
It typically won't work to use separately installed packages together.
Instead, you can build a custom set of packages like this:
It typically won't work to use separately installed packages together. Instead, you can build a custom set of packages like this:
<programlisting>
texlive.combine {
inherit (texlive) scheme-small collection-langkorean algorithms cm-super;
}
</programlisting>
There are all the schemes, collections and a few thousand packages, as
defined upstream (perhaps with tiny differences).
There are all the schemes, collections and a few thousand packages, as defined upstream (perhaps with tiny differences).
</para>
</listitem>
<listitem>
<para>
By default you only get executables and files needed during runtime, and a
little documentation for the core packages. To change that, you need to
add <varname>pkgFilter</varname> function to <varname>combine</varname>.
By default you only get executables and files needed during runtime, and a little documentation for the core packages. To change that, you need to add <varname>pkgFilter</varname> function to <varname>combine</varname>.
<programlisting>
texlive.combine {
# inherit (texlive) whatever-you-want;
@@ -59,10 +53,7 @@ nix-repl> texlive.collection-<TAB>
</listitem>
<listitem>
<para>
Note that the wrapper assumes that the result has a chance to be useful.
For example, the core executables should be present, as well as some core
data files. The supported way of ensuring this is by including some
scheme, for example <varname>scheme-basic</varname>, into the combination.
Note that the wrapper assumes that the result has a chance to be useful. For example, the core executables should be present, as well as some core data files. The supported way of ensuring this is by including some scheme, for example <varname>scheme-basic</varname>, into the combination.
</para>
</listitem>
</itemizedlist>
@@ -84,14 +75,12 @@ nix-repl> texlive.collection-<TAB>
</listitem>
<listitem>
<para>
feature/bug: when a package is rejected by <varname>pkgFilter</varname>,
its dependencies are still propagated;
feature/bug: when a package is rejected by <varname>pkgFilter</varname>, its dependencies are still propagated;
</para>
</listitem>
<listitem>
<para>
in case of any bugs or feature requests, file a github issue or better a
pull request and /cc @vcunat.
in case of any bugs or feature requests, file a github issue or better a pull request and /cc @vcunat.
</para>
</listitem>
</itemizedlist>

View File

@@ -3,7 +3,7 @@ title: User's Guide for Vim in Nixpkgs
author: Marc Weber
date: 2016-06-25
---
# User's Guide to Vim Plugins/Addons/Bundles/Scripts in Nixpkgs
# Vim
Both Neovim and Vim can be configured to include your favorite plugins
and additional libraries.

View File

@@ -1,25 +1,41 @@
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude">
<info>
<title>Nixpkgs Users and Contributors Guide</title>
<title>Nixpkgs Manual</title>
<subtitle>Version <xi:include href=".version" parse="text" />
</subtitle>
</info>
<xi:include href="introduction.chapter.xml" />
<xi:include href="quick-start.xml" />
<xi:include href="package-specific-user-notes.xml" />
<xi:include href="stdenv.xml" />
<xi:include href="multiple-output.xml" />
<xi:include href="cross-compilation.xml" />
<xi:include href="configuration.xml" />
<xi:include href="functions.xml" />
<xi:include href="meta.xml" />
<xi:include href="languages-frameworks/index.xml" />
<xi:include href="platform-notes.xml" />
<xi:include href="package-notes.xml" />
<xi:include href="overlays.xml" />
<xi:include href="coding-conventions.xml" />
<xi:include href="submitting-changes.xml" />
<xi:include href="reviewing-contributions.xml" />
<xi:include href="contributing.xml" />
<part>
<title>Using Nixpkgs</title>
<xi:include href="configuration.xml" />
<xi:include href="overlays.xml" />
<xi:include href="overrides.xml" />
<xi:include href="functions.xml" />
</part>
<part>
<title>Standard environment</title>
<xi:include href="stdenv.xml" />
<xi:include href="meta.xml" />
<xi:include href="multiple-output.xml" />
<xi:include href="cross-compilation.xml" />
<xi:include href="platform-notes.xml" />
</part>
<part>
<title>Builders</title>
<xi:include href="builders/fetchers.xml" />
<xi:include href="builders/trivial-builders.xml" />
<xi:include href="builders/special.xml" />
<xi:include href="builders/images.xml" />
<xi:include href="languages-frameworks/index.xml" />
<xi:include href="packages/index.xml" />
</part>
<part>
<title>Contributing to Nixpkgs</title>
<xi:include href="quick-start.xml" />
<xi:include href="coding-conventions.xml" />
<xi:include href="submitting-changes.xml" />
<xi:include href="reviewing-contributions.xml" />
<xi:include href="contributing-to-documentation.xml" />
</part>
</book>

View File

@@ -3,10 +3,7 @@
xml:id="chap-meta">
<title>Meta-attributes</title>
<para>
Nix packages can declare <emphasis>meta-attributes</emphasis> that contain
information about a package such as a description, its homepage, its license,
and so on. For instance, the GNU Hello package has a <varname>meta</varname>
declaration like this:
Nix packages can declare <emphasis>meta-attributes</emphasis> that contain information about a package such as a description, its homepage, its license, and so on. For instance, the GNU Hello package has a <varname>meta</varname> declaration like this:
<programlisting>
meta = with stdenv.lib; {
description = "A program that produces a familiar, friendly greeting";
@@ -22,13 +19,10 @@ meta = with stdenv.lib; {
</programlisting>
</para>
<para>
Meta-attributes are not passed to the builder of the package. Thus, a change
to a meta-attribute doesnt trigger a recompilation of the package. The
value of a meta-attribute must be a string.
Meta-attributes are not passed to the builder of the package. Thus, a change to a meta-attribute doesnt trigger a recompilation of the package. The value of a meta-attribute must be a string.
</para>
<para>
The meta-attributes of a package can be queried from the command-line using
<command>nix-env</command>:
The meta-attributes of a package can be queried from the command-line using <command>nix-env</command>:
<screen>
<prompt>$ </prompt>nix-env -qa hello --json
{
@@ -67,8 +61,7 @@ meta = with stdenv.lib; {
</screen>
<command>nix-env</command> knows about the <varname>description</varname>
field specifically:
<command>nix-env</command> knows about the <varname>description</varname> field specifically:
<screen>
<prompt>$ </prompt>nix-env -qa hello --description
hello-2.3 A program that produces a familiar, friendly greeting
@@ -88,18 +81,13 @@ hello-2.3 A program that produces a familiar, friendly greeting
</term>
<listitem>
<para>
A short (one-line) description of the package. This is shown by
<command>nix-env -q --description</command> and also on the Nixpkgs
release pages.
A short (one-line) description of the package. This is shown by <command>nix-env -q --description</command> and also on the Nixpkgs release pages.
</para>
<para>
Dont include a period at the end. Dont include newline characters.
Capitalise the first character. For brevity, dont repeat the name of
package — just describe what it does.
Dont include a period at the end. Dont include newline characters. Capitalise the first character. For brevity, dont repeat the name of package — just describe what it does.
</para>
<para>
Wrong: <literal>"libpng is a library that allows you to decode PNG
images."</literal>
Wrong: <literal>"libpng is a library that allows you to decode PNG images."</literal>
</para>
<para>
Right: <literal>"A library for decoding PNG images"</literal>
@@ -122,9 +110,7 @@ hello-2.3 A program that produces a familiar, friendly greeting
</term>
<listitem>
<para>
Release branch. Used to specify that a package is not going to receive
updates that are not in this branch; for example, Linux kernel 3.0 is
supposed to be updated to 3.0.X, not 3.1.
Release branch. Used to specify that a package is not going to receive updates that are not in this branch; for example, Linux kernel 3.0 is supposed to be updated to 3.0.X, not 3.1.
</para>
</listitem>
</varlistentry>
@@ -134,8 +120,7 @@ hello-2.3 A program that produces a familiar, friendly greeting
</term>
<listitem>
<para>
The packages homepage. Example:
<literal>https://www.gnu.org/software/hello/manual/</literal>
The packages homepage. Example: <literal>https://www.gnu.org/software/hello/manual/</literal>
</para>
</listitem>
</varlistentry>
@@ -145,8 +130,7 @@ hello-2.3 A program that produces a familiar, friendly greeting
</term>
<listitem>
<para>
The page where a link to the current version can be found. Example:
<literal>https://ftp.gnu.org/gnu/hello/</literal>
The page where a link to the current version can be found. Example: <literal>https://ftp.gnu.org/gnu/hello/</literal>
</para>
</listitem>
</varlistentry>
@@ -156,10 +140,7 @@ hello-2.3 A program that produces a familiar, friendly greeting
</term>
<listitem>
<para>
A link or a list of links to the location of Changelog for a package.
A link may use expansion to refer to the correct changelog version.
Example:
<literal>"https://git.savannah.gnu.org/cgit/hello.git/plain/NEWS?h=v${version}"</literal>
A link or a list of links to the location of Changelog for a package. A link may use expansion to refer to the correct changelog version. Example: <literal>"https://git.savannah.gnu.org/cgit/hello.git/plain/NEWS?h=v${version}"</literal>
</para>
</listitem>
</varlistentry>
@@ -169,46 +150,32 @@ hello-2.3 A program that produces a familiar, friendly greeting
</term>
<listitem>
<para>
The license, or licenses, for the package. One from the attribute set
defined in
<link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix">
<filename>nixpkgs/lib/licenses.nix</filename></link>. At this moment
using both a list of licenses and a single license is valid. If the
license field is in the form of a list representation, then it means that
parts of the package are licensed differently. Each license should
preferably be referenced by their attribute. The non-list attribute value
can also be a space delimited string representation of the contained
attribute shortNames or spdxIds. The following are all valid examples:
The license, or licenses, for the package. One from the attribute set defined in <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix"> <filename>nixpkgs/lib/licenses.nix</filename></link>. At this moment using both a list of licenses and a single license is valid. If the license field is in the form of a list representation, then it means that parts of the package are licensed differently. Each license should preferably be referenced by their attribute. The non-list attribute value can also be a space delimited string representation of the contained attribute shortNames or spdxIds. The following are all valid examples:
<itemizedlist>
<listitem>
<para>
Single license referenced by attribute (preferred)
<literal>stdenv.lib.licenses.gpl3</literal>.
Single license referenced by attribute (preferred) <literal>stdenv.lib.licenses.gpl3</literal>.
</para>
</listitem>
<listitem>
<para>
Single license referenced by its attribute shortName (frowned upon)
<literal>"gpl3"</literal>.
Single license referenced by its attribute shortName (frowned upon) <literal>"gpl3"</literal>.
</para>
</listitem>
<listitem>
<para>
Single license referenced by its attribute spdxId (frowned upon)
<literal>"GPL-3.0"</literal>.
Single license referenced by its attribute spdxId (frowned upon) <literal>"GPL-3.0"</literal>.
</para>
</listitem>
<listitem>
<para>
Multiple licenses referenced by attribute (preferred) <literal>with
stdenv.lib.licenses; [ asl20 free ofl ]</literal>.
Multiple licenses referenced by attribute (preferred) <literal>with stdenv.lib.licenses; [ asl20 free ofl ]</literal>.
</para>
</listitem>
<listitem>
<para>
Multiple licenses referenced as a space delimited string of attribute
shortNames (frowned upon) <literal>"asl20 free ofl"</literal>.
Multiple licenses referenced as a space delimited string of attribute shortNames (frowned upon) <literal>"asl20 free ofl"</literal>.
</para>
</listitem>
</itemizedlist>
@@ -222,13 +189,8 @@ hello-2.3 A program that produces a familiar, friendly greeting
</term>
<listitem>
<para>
A list of names and e-mail addresses of the maintainers of this Nix
expression. If you would like to be a maintainer of a package, you may
want to add yourself to
<link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/maintainers/maintainer-list.nix"><filename>nixpkgs/maintainers/maintainer-list.nix</filename></link>
and write something like <literal>[ stdenv.lib.maintainers.alice
stdenv.lib.maintainers.bob ]</literal>.
A list of names and e-mail addresses of the maintainers of this Nix expression. If you would like to be a maintainer of a package, you may want to add yourself to <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/maintainers/maintainer-list.nix"><filename>nixpkgs/maintainers/maintainer-list.nix</filename></link> and write something like <literal>[ stdenv.lib.maintainers.alice stdenv.lib.maintainers.bob ]</literal>.
</para>
</listitem>
</varlistentry>
@@ -238,10 +200,7 @@ hello-2.3 A program that produces a familiar, friendly greeting
</term>
<listitem>
<para>
The <emphasis>priority</emphasis> of the package, used by
<command>nix-env</command> to resolve file name conflicts between
packages. See the Nix manual page for <command>nix-env</command> for
details. Example: <literal>"10"</literal> (a low-priority package).
The <emphasis>priority</emphasis> of the package, used by <command>nix-env</command> to resolve file name conflicts between packages. See the Nix manual page for <command>nix-env</command> for details. Example: <literal>"10"</literal> (a low-priority package).
</para>
</listitem>
</varlistentry>
@@ -251,15 +210,11 @@ hello-2.3 A program that produces a familiar, friendly greeting
</term>
<listitem>
<para>
The list of Nix platform types on which the package is supported. Hydra
builds packages according to the platform specified. If no platform is
specified, the package does not have prebuilt binaries. An example is:
The list of Nix platform types on which the package is supported. Hydra builds packages according to the platform specified. If no platform is specified, the package does not have prebuilt binaries. An example is:
<programlisting>
meta.platforms = stdenv.lib.platforms.linux;
</programlisting>
Attribute Set <varname>stdenv.lib.platforms</varname> defines
<link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/systems/doubles.nix">
various common lists</link> of platforms types.
Attribute Set <varname>stdenv.lib.platforms</varname> defines <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/systems/doubles.nix"> various common lists</link> of platforms types.
</para>
</listitem>
</varlistentry>
@@ -270,23 +225,14 @@ meta.platforms = stdenv.lib.platforms.linux;
<listitem>
<warning>
<para>
This attribute is special in that it is not actually under the
<literal>meta</literal> attribute set but rather under the
<literal>passthru</literal> attribute set. This is due to how
<literal>meta</literal> attributes work, and the fact that they
are supposed to contain only metadata, not derivations.
This attribute is special in that it is not actually under the <literal>meta</literal> attribute set but rather under the <literal>passthru</literal> attribute set. This is due to how <literal>meta</literal> attributes work, and the fact that they are supposed to contain only metadata, not derivations.
</para>
</warning>
<para>
An attribute set with as values tests. A test is a derivation, which
builds successfully when the test passes, and fails to build otherwise. A
derivation that is a test needs to have <literal>meta.timeout</literal>
defined.
An attribute set with as values tests. A test is a derivation, which builds successfully when the test passes, and fails to build otherwise. A derivation that is a test needs to have <literal>meta.timeout</literal> defined.
</para>
<para>
The NixOS tests are available as <literal>nixosTests</literal> in
parameters of derivations. For instance, the OpenSMTPD derivation
includes lines similar to:
The NixOS tests are available as <literal>nixosTests</literal> in parameters of derivations. For instance, the OpenSMTPD derivation includes lines similar to:
<programlisting>
{ /* ... */, nixosTests }:
{
@@ -305,13 +251,7 @@ meta.platforms = stdenv.lib.platforms.linux;
</term>
<listitem>
<para>
A timeout (in seconds) for building the derivation. If the derivation
takes longer than this time to build, it can fail due to breaking the
timeout. However, all computers do not have the same computing power,
hence some builders may decide to apply a multiplicative factor to this
value. When filling this value in, try to keep it approximately
consistent with other values already present in
<literal>nixpkgs</literal>.
A timeout (in seconds) for building the derivation. If the derivation takes longer than this time to build, it can fail due to breaking the timeout. However, all computers do not have the same computing power, hence some builders may decide to apply a multiplicative factor to this value. When filling this value in, try to keep it approximately consistent with other values already present in <literal>nixpkgs</literal>.
</para>
</listitem>
</varlistentry>
@@ -321,13 +261,7 @@ meta.platforms = stdenv.lib.platforms.linux;
</term>
<listitem>
<para>
The list of Nix platform types for which the Hydra instance at
<literal>hydra.nixos.org</literal> will build the package. (Hydra is the
Nix-based continuous build system.) It defaults to the value of
<varname>meta.platforms</varname>. Thus, the only reason to set
<varname>meta.hydraPlatforms</varname> is if you want
<literal>hydra.nixos.org</literal> to build the package on a subset of
<varname>meta.platforms</varname>, or not at all, e.g.
The list of Nix platform types for which the Hydra instance at <literal>hydra.nixos.org</literal> will build the package. (Hydra is the Nix-based continuous build system.) It defaults to the value of <varname>meta.platforms</varname>. Thus, the only reason to set <varname>meta.hydraPlatforms</varname> is if you want <literal>hydra.nixos.org</literal> to build the package on a subset of <varname>meta.platforms</varname>, or not at all, e.g.
<programlisting>
meta.platforms = stdenv.lib.platforms.linux;
meta.hydraPlatforms = [];
@@ -341,10 +275,7 @@ meta.hydraPlatforms = [];
</term>
<listitem>
<para>
If set to <literal>true</literal>, the package is marked as “broken”,
meaning that it wont show up in <literal>nix-env -qa</literal>, and
cannot be built or installed. Such packages should be removed from
Nixpkgs eventually unless they are fixed.
If set to <literal>true</literal>, the package is marked as “broken”, meaning that it wont show up in <literal>nix-env -qa</literal>, and cannot be built or installed. Such packages should be removed from Nixpkgs eventually unless they are fixed.
</para>
</listitem>
</varlistentry>
@@ -354,12 +285,7 @@ meta.hydraPlatforms = [];
</term>
<listitem>
<para>
If set to <literal>true</literal>, the package is tested to be updated
correctly by the <literal>update-walker.sh</literal> script without
additional settings. Such packages have <varname>meta.version</varname>
set and their homepage (or the page specified by
<varname>meta.downloadPage</varname>) contains a direct link to the
package tarball.
If set to <literal>true</literal>, the package is tested to be updated correctly by the <literal>update-walker.sh</literal> script without additional settings. Such packages have <varname>meta.version</varname> set and their homepage (or the page specified by <varname>meta.downloadPage</varname>) contains a direct link to the package tarball.
</para>
</listitem>
</varlistentry>
@@ -369,17 +295,11 @@ meta.hydraPlatforms = [];
<title>Licenses</title>
<para>
The <varname>meta.license</varname> attribute should preferrably contain a
value from <varname>stdenv.lib.licenses</varname> defined in
<link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix">
<filename>nixpkgs/lib/licenses.nix</filename></link>, or in-place license
description of the same format if the license is unlikely to be useful in
another expression.
The <varname>meta.license</varname> attribute should preferrably contain a value from <varname>stdenv.lib.licenses</varname> defined in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix"> <filename>nixpkgs/lib/licenses.nix</filename></link>, or in-place license description of the same format if the license is unlikely to be useful in another expression.
</para>
<para>
Although it's typically better to indicate the specific license, a few
generic options are available:
Although it's typically better to indicate the specific license, a few generic options are available:
<variablelist>
<varlistentry>
<term>
@@ -397,18 +317,10 @@ meta.hydraPlatforms = [];
</term>
<listitem>
<para>
Unfree package that can be redistributed in binary form. That is, its
legal to redistribute the <emphasis>output</emphasis> of the derivation.
This means that the package can be included in the Nixpkgs channel.
Unfree package that can be redistributed in binary form. That is, its legal to redistribute the <emphasis>output</emphasis> of the derivation. This means that the package can be included in the Nixpkgs channel.
</para>
<para>
Sometimes proprietary software can only be redistributed unmodified.
Make sure the builder doesnt actually modify the original binaries;
otherwise were breaking the license. For instance, the NVIDIA X11
drivers can be redistributed unmodified, but our builder applies
<command>patchelf</command> to make them work. Thus, its license is
<varname>"unfree"</varname> and it cannot be included in the Nixpkgs
channel.
Sometimes proprietary software can only be redistributed unmodified. Make sure the builder doesnt actually modify the original binaries; otherwise were breaking the license. For instance, the NVIDIA X11 drivers can be redistributed unmodified, but our builder applies <command>patchelf</command> to make them work. Thus, its license is <varname>"unfree"</varname> and it cannot be included in the Nixpkgs channel.
</para>
</listitem>
</varlistentry>
@@ -418,9 +330,7 @@ meta.hydraPlatforms = [];
</term>
<listitem>
<para>
Unfree package that cannot be redistributed. You can build it yourself,
but you cannot redistribute the output of the derivation. Thus it cannot
be included in the Nixpkgs channel.
Unfree package that cannot be redistributed. You can build it yourself, but you cannot redistribute the output of the derivation. Thus it cannot be included in the Nixpkgs channel.
</para>
</listitem>
</varlistentry>
@@ -430,9 +340,7 @@ meta.hydraPlatforms = [];
</term>
<listitem>
<para>
This package supplies unfree, redistributable firmware. This is a
separate value from <varname>unfree-redistributable</varname> because
not everybody cares whether firmware is free.
This package supplies unfree, redistributable firmware. This is a separate value from <varname>unfree-redistributable</varname> because not everybody cares whether firmware is free.
</para>
</listitem>
</varlistentry>

View File

@@ -10,31 +10,16 @@
<title>Introduction</title>
<para>
The Nix language allows a derivation to produce multiple outputs, which is
similar to what is utilized by other Linux distribution packaging systems.
The outputs reside in separate Nix store paths, so they can be mostly
handled independently of each other, including passing to build inputs,
garbage collection or binary substitution. The exception is that building
from source always produces all the outputs.
The Nix language allows a derivation to produce multiple outputs, which is similar to what is utilized by other Linux distribution packaging systems. The outputs reside in separate Nix store paths, so they can be mostly handled independently of each other, including passing to build inputs, garbage collection or binary substitution. The exception is that building from source always produces all the outputs.
</para>
<para>
The main motivation is to save disk space by reducing runtime closure sizes;
consequently also sizes of substituted binaries get reduced. Splitting can
be used to have more granular runtime dependencies, for example the typical
reduction is to split away development-only files, as those are typically
not needed during runtime. As a result, closure sizes of many packages can
get reduced to a half or even much less.
The main motivation is to save disk space by reducing runtime closure sizes; consequently also sizes of substituted binaries get reduced. Splitting can be used to have more granular runtime dependencies, for example the typical reduction is to split away development-only files, as those are typically not needed during runtime. As a result, closure sizes of many packages can get reduced to a half or even much less.
</para>
<note>
<para>
The reduction effects could be instead achieved by building the parts in
completely separate derivations. That would often additionally reduce
build-time closures, but it tends to be much harder to write such
derivations, as build systems typically assume all parts are being built at
once. This compromise approach of single source package producing multiple
binary packages is also utilized often by rpm and deb.
The reduction effects could be instead achieved by building the parts in completely separate derivations. That would often additionally reduce build-time closures, but it tends to be much harder to write such derivations, as build systems typically assume all parts are being built at once. This compromise approach of single source package producing multiple binary packages is also utilized often by rpm and deb.
</para>
</note>
</section>
@@ -42,23 +27,18 @@
<title>Installing a split package</title>
<para>
When installing a package via <varname>systemPackages</varname> or
<command>nix-env</command> you have several options:
When installing a package via <varname>systemPackages</varname> or <command>nix-env</command> you have several options:
</para>
<itemizedlist>
<listitem>
<para>
You can install particular outputs explicitly, as each is available in the
Nix language as an attribute of the package. The
<varname>outputs</varname> attribute contains a list of output names.
You can install particular outputs explicitly, as each is available in the Nix language as an attribute of the package. The <varname>outputs</varname> attribute contains a list of output names.
</para>
</listitem>
<listitem>
<para>
You can let it use the default outputs. These are handled by
<varname>meta.outputsToInstall</varname> attribute that contains a list of
output names.
You can let it use the default outputs. These are handled by <varname>meta.outputsToInstall</varname> attribute that contains a list of output names.
</para>
<para>
TODO: more about tweaking the attribute, etc.
@@ -66,19 +46,11 @@
</listitem>
<listitem>
<para>
NixOS provides configuration option
<varname>environment.extraOutputsToInstall</varname> that allows adding
extra outputs of <varname>environment.systemPackages</varname> atop the
default ones. It's mainly meant for documentation and debug symbols, and
it's also modified by specific options.
NixOS provides configuration option <varname>environment.extraOutputsToInstall</varname> that allows adding extra outputs of <varname>environment.systemPackages</varname> atop the default ones. It's mainly meant for documentation and debug symbols, and it's also modified by specific options.
</para>
<note>
<para>
At this moment there is no similar configurability for packages installed
by <command>nix-env</command>. You can still use approach from
<xref linkend="sec-modify-via-packageOverrides" /> to override
<varname>meta.outputsToInstall</varname> attributes, but that's a rather
inconvenient way.
At this moment there is no similar configurability for packages installed by <command>nix-env</command>. You can still use approach from <xref linkend="sec-modify-via-packageOverrides" /> to override <varname>meta.outputsToInstall</varname> attributes, but that's a rather inconvenient way.
</para>
</note>
</listitem>
@@ -88,25 +60,15 @@
<title>Using a split package</title>
<para>
In the Nix language the individual outputs can be reached explicitly as
attributes, e.g. <varname>coreutils.info</varname>, but the typical case is
just using packages as build inputs.
In the Nix language the individual outputs can be reached explicitly as attributes, e.g. <varname>coreutils.info</varname>, but the typical case is just using packages as build inputs.
</para>
<para>
When a multiple-output derivation gets into a build input of another
derivation, the <varname>dev</varname> output is added if it exists,
otherwise the first output is added. In addition to that,
<varname>propagatedBuildOutputs</varname> of that package which by default
contain <varname>$outputBin</varname> and <varname>$outputLib</varname> are
also added. (See <xref linkend="multiple-output-file-type-groups" />.)
When a multiple-output derivation gets into a build input of another derivation, the <varname>dev</varname> output is added if it exists, otherwise the first output is added. In addition to that, <varname>propagatedBuildOutputs</varname> of that package which by default contain <varname>$outputBin</varname> and <varname>$outputLib</varname> are also added. (See <xref linkend="multiple-output-file-type-groups" />.)
</para>
<para>
In some cases it may be desirable to combine different outputs under a
single store path. A function <literal>symlinkJoin</literal> can be used to
do this. (Note that it may negate some closure size benefits of using a
multiple-output package.)
In some cases it may be desirable to combine different outputs under a single store path. A function <literal>symlinkJoin</literal> can be used to do this. (Note that it may negate some closure size benefits of using a multiple-output package.)
</para>
</section>
<section xml:id="sec-multiple-outputs-">
@@ -117,29 +79,18 @@
</para>
<para>
In nixpkgs there is a framework supporting multiple-output derivations. It
tries to cover most cases by default behavior. You can find the source
separated in
&lt;<filename>nixpkgs/pkgs/build-support/setup-hooks/multiple-outputs.sh</filename>&gt;;
it's relatively well-readable. The whole machinery is triggered by defining
the <varname>outputs</varname> attribute to contain the list of desired
output names (strings).
In nixpkgs there is a framework supporting multiple-output derivations. It tries to cover most cases by default behavior. You can find the source separated in &lt;<filename>nixpkgs/pkgs/build-support/setup-hooks/multiple-outputs.sh</filename>&gt;; it's relatively well-readable. The whole machinery is triggered by defining the <varname>outputs</varname> attribute to contain the list of desired output names (strings).
</para>
<programlisting>outputs = [ "bin" "dev" "out" "doc" ];</programlisting>
<para>
Often such a single line is enough. For each output an equally named
environment variable is passed to the builder and contains the path in nix
store for that output. Typically you also want to have the main
<varname>out</varname> output, as it catches any files that didn't get
elsewhere.
Often such a single line is enough. For each output an equally named environment variable is passed to the builder and contains the path in nix store for that output. Typically you also want to have the main <varname>out</varname> output, as it catches any files that didn't get elsewhere.
</para>
<note>
<para>
There is a special handling of the <varname>debug</varname> output,
described at <xref linkend="stdenv-separateDebugInfo" />.
There is a special handling of the <varname>debug</varname> output, described at <xref linkend="stdenv-separateDebugInfo" />.
</para>
</note>
@@ -147,36 +98,15 @@
<title><quote>Binaries first</quote></title>
<para>
A commonly adopted convention in <literal>nixpkgs</literal> is that
executables provided by the package are contained within its first output.
This convention allows the dependent packages to reference the executables
provided by packages in a uniform manner. For instance, provided with the
knowledge that the <literal>perl</literal> package contains a
<literal>perl</literal> executable it can be referenced as
<literal>${pkgs.perl}/bin/perl</literal> within a Nix derivation that needs
to execute a Perl script.
A commonly adopted convention in <literal>nixpkgs</literal> is that executables provided by the package are contained within its first output. This convention allows the dependent packages to reference the executables provided by packages in a uniform manner. For instance, provided with the knowledge that the <literal>perl</literal> package contains a <literal>perl</literal> executable it can be referenced as <literal>${pkgs.perl}/bin/perl</literal> within a Nix derivation that needs to execute a Perl script.
</para>
<para>
The <literal>glibc</literal> package is a deliberate single exception to
the <quote>binaries first</quote> convention. The <literal>glibc</literal>
has <literal>libs</literal> as its first output allowing the libraries
provided by <literal>glibc</literal> to be referenced directly (e.g.
<literal>${stdenv.glibc}/lib/ld-linux-x86-64.so.2</literal>). The
executables provided by <literal>glibc</literal> can be accessed via its
<literal>bin</literal> attribute (e.g.
<literal>${stdenv.glibc.bin}/bin/ldd</literal>).
The <literal>glibc</literal> package is a deliberate single exception to the <quote>binaries first</quote> convention. The <literal>glibc</literal> has <literal>libs</literal> as its first output allowing the libraries provided by <literal>glibc</literal> to be referenced directly (e.g. <literal>${stdenv.glibc}/lib/ld-linux-x86-64.so.2</literal>). The executables provided by <literal>glibc</literal> can be accessed via its <literal>bin</literal> attribute (e.g. <literal>${stdenv.glibc.bin}/bin/ldd</literal>).
</para>
<para>
The reason for why <literal>glibc</literal> deviates from the convention is
because referencing a library provided by <literal>glibc</literal> is a
very common operation among Nix packages. For instance, third-party
executables packaged by Nix are typically patched and relinked with the
relevant version of <literal>glibc</literal> libraries from Nix packages
(please see the documentation on
<link xlink:href="https://nixos.org/patchelf.html">patchelf</link> for more
details).
The reason for why <literal>glibc</literal> deviates from the convention is because referencing a library provided by <literal>glibc</literal> is a very common operation among Nix packages. For instance, third-party executables packaged by Nix are typically patched and relinked with the relevant version of <literal>glibc</literal> libraries from Nix packages (please see the documentation on <link xlink:href="https://nixos.org/patchelf.html">patchelf</link> for more details).
</para>
</section>
@@ -184,13 +114,7 @@
<title>File type groups</title>
<para>
The support code currently recognizes some particular kinds of outputs and
either instructs the build system of the package to put files into their
desired outputs or it moves the files during the fixup phase. Each group of
file types has an <varname>outputFoo</varname> variable specifying the
output name where they should go. If that variable isn't defined by the
derivation writer, it is guessed &ndash; a default output name is defined,
falling back to other possibilities if the output isn't defined.
The support code currently recognizes some particular kinds of outputs and either instructs the build system of the package to put files into their desired outputs or it moves the files during the fixup phase. Each group of file types has an <varname>outputFoo</varname> variable specifying the output name where they should go. If that variable isn't defined by the derivation writer, it is guessed &ndash; a default output name is defined, falling back to other possibilities if the output isn't defined.
</para>
<variablelist>
@@ -200,9 +124,7 @@
</term>
<listitem>
<para>
is for development-only files. These include C(++) headers, pkg-config,
cmake and aclocal files. They go to <varname>dev</varname> or
<varname>out</varname> by default.
is for development-only files. These include C(++) headers, pkg-config, cmake and aclocal files. They go to <varname>dev</varname> or <varname>out</varname> by default.
</para>
</listitem>
</varlistentry>
@@ -212,8 +134,7 @@
</term>
<listitem>
<para>
is meant for user-facing binaries, typically residing in bin/. They go
to <varname>bin</varname> or <varname>out</varname> by default.
is meant for user-facing binaries, typically residing in bin/. They go to <varname>bin</varname> or <varname>out</varname> by default.
</para>
</listitem>
</varlistentry>
@@ -223,9 +144,7 @@
</term>
<listitem>
<para>
is meant for libraries, typically residing in <filename>lib/</filename>
and <filename>libexec/</filename>. They go to <varname>lib</varname> or
<varname>out</varname> by default.
is meant for libraries, typically residing in <filename>lib/</filename> and <filename>libexec/</filename>. They go to <varname>lib</varname> or <varname>out</varname> by default.
</para>
</listitem>
</varlistentry>
@@ -235,9 +154,7 @@
</term>
<listitem>
<para>
is for user documentation, typically residing in
<filename>share/doc/</filename>. It goes to <varname>doc</varname> or
<varname>out</varname> by default.
is for user documentation, typically residing in <filename>share/doc/</filename>. It goes to <varname>doc</varname> or <varname>out</varname> by default.
</para>
</listitem>
</varlistentry>
@@ -247,10 +164,7 @@
</term>
<listitem>
<para>
is for <emphasis>developer</emphasis> documentation. Currently we count
gtk-doc and devhelp books in there. It goes to <varname>devdoc</varname>
or is removed (!) by default. This is because e.g. gtk-doc tends to be
rather large and completely unused by nixpkgs users.
is for <emphasis>developer</emphasis> documentation. Currently we count gtk-doc and devhelp books in there. It goes to <varname>devdoc</varname> or is removed (!) by default. This is because e.g. gtk-doc tends to be rather large and completely unused by nixpkgs users.
</para>
</listitem>
</varlistentry>
@@ -260,8 +174,7 @@
</term>
<listitem>
<para>
is for man pages (except for section 3). They go to
<varname>man</varname> or <varname>$outputBin</varname> by default.
is for man pages (except for section 3). They go to <varname>man</varname> or <varname>$outputBin</varname> by default.
</para>
</listitem>
</varlistentry>
@@ -271,8 +184,7 @@
</term>
<listitem>
<para>
is for section 3 man pages. They go to <varname>devman</varname> or
<varname>$outputMan</varname> by default.
is for section 3 man pages. They go to <varname>devman</varname> or <varname>$outputMan</varname> by default.
</para>
</listitem>
</varlistentry>
@@ -282,8 +194,7 @@
</term>
<listitem>
<para>
is for info pages. They go to <varname>info</varname> or
<varname>$outputBin</varname> by default.
is for info pages. They go to <varname>info</varname> or <varname>$outputBin</varname> by default.
</para>
</listitem>
</varlistentry>
@@ -296,31 +207,22 @@
<itemizedlist>
<listitem>
<para>
Some configure scripts don't like some of the parameters passed by
default by the framework, e.g. <literal>--docdir=/foo/bar</literal>. You
can disable this by setting <literal>setOutputFlags = false;</literal>.
Some configure scripts don't like some of the parameters passed by default by the framework, e.g. <literal>--docdir=/foo/bar</literal>. You can disable this by setting <literal>setOutputFlags = false;</literal>.
</para>
</listitem>
<listitem>
<para>
The outputs of a single derivation can retain references to each other,
but note that circular references are not allowed. (And each
strongly-connected component would act as a single output anyway.)
The outputs of a single derivation can retain references to each other, but note that circular references are not allowed. (And each strongly-connected component would act as a single output anyway.)
</para>
</listitem>
<listitem>
<para>
Most of split packages contain their core functionality in libraries.
These libraries tend to refer to various kind of data that typically gets
into <varname>out</varname>, e.g. locale strings, so there is often no
advantage in separating the libraries into <varname>lib</varname>, as
keeping them in <varname>out</varname> is easier.
Most of split packages contain their core functionality in libraries. These libraries tend to refer to various kind of data that typically gets into <varname>out</varname>, e.g. locale strings, so there is often no advantage in separating the libraries into <varname>lib</varname>, as keeping them in <varname>out</varname> is easier.
</para>
</listitem>
<listitem>
<para>
Some packages have hidden assumptions on install paths, which complicates
splitting.
Some packages have hidden assumptions on install paths, which complicates splitting.
</para>
</listitem>
</itemizedlist>

View File

@@ -3,47 +3,32 @@
xml:id="chap-overlays">
<title>Overlays</title>
<para>
This chapter describes how to extend and change Nixpkgs using overlays.
Overlays are used to add layers in the fixed-point used by Nixpkgs to compose
the set of all packages.
This chapter describes how to extend and change Nixpkgs using overlays. Overlays are used to add layers in the fixed-point used by Nixpkgs to compose the set of all packages.
</para>
<para>
Nixpkgs can be configured with a list of overlays, which are applied in
order. This means that the order of the overlays can be significant if
multiple layers override the same package.
Nixpkgs can be configured with a list of overlays, which are applied in order. This means that the order of the overlays can be significant if multiple layers override the same package.
</para>
<!--============================================================-->
<section xml:id="sec-overlays-install">
<title>Installing overlays</title>
<para>
The list of overlays can be set either explicitly in a Nix expression, or
through <literal>&lt;nixpkgs-overlays></literal> or user configuration
files.
The list of overlays can be set either explicitly in a Nix expression, or through <literal>&lt;nixpkgs-overlays></literal> or user configuration files.
</para>
<section xml:id="sec-overlays-argument">
<title>Set overlays in NixOS or Nix expressions</title>
<para>
On a NixOS system the value of the <literal>nixpkgs.overlays</literal>
option, if present, is passed to the system Nixpkgs directly as an
argument. Note that this does not affect the overlays for non-NixOS
operations (e.g. <literal>nix-env</literal>), which are
<link xlink:href="#sec-overlays-lookup">looked</link> up independently.
On a NixOS system the value of the <literal>nixpkgs.overlays</literal> option, if present, is passed to the system Nixpkgs directly as an argument. Note that this does not affect the overlays for non-NixOS operations (e.g. <literal>nix-env</literal>), which are <link xlink:href="#sec-overlays-lookup">looked</link> up independently.
</para>
<para>
The list of overlays can be passed explicitly when importing nixpkgs, for
example <literal>import &lt;nixpkgs> { overlays = [ overlay1 overlay2 ];
}</literal>.
The list of overlays can be passed explicitly when importing nixpkgs, for example <literal>import &lt;nixpkgs> { overlays = [ overlay1 overlay2 ]; }</literal>.
</para>
<para>
Further overlays can be added by calling the <literal>pkgs.extend</literal>
or <literal>pkgs.appendOverlays</literal>, although it is often preferable
to avoid these functions, because they recompute the Nixpkgs fixpoint,
which is somewhat expensive to do.
Further overlays can be added by calling the <literal>pkgs.extend</literal> or <literal>pkgs.appendOverlays</literal>, although it is often preferable to avoid these functions, because they recompute the Nixpkgs fixpoint, which is somewhat expensive to do.
</para>
</section>
@@ -58,30 +43,20 @@
<orderedlist>
<listitem>
<para>
First, if an
<link xlink:href="#sec-overlays-argument"><varname>overlays</varname>
argument</link> to the Nixpkgs function itself is given, then that is
used and no path lookup will be performed.
First, if an <link xlink:href="#sec-overlays-argument"><varname>overlays</varname> argument</link> to the Nixpkgs function itself is given, then that is used and no path lookup will be performed.
</para>
</listitem>
<listitem>
<para>
Otherwise, if the Nix path entry
<literal>&lt;nixpkgs-overlays></literal> exists, we look for overlays at
that path, as described below.
Otherwise, if the Nix path entry <literal>&lt;nixpkgs-overlays></literal> exists, we look for overlays at that path, as described below.
</para>
<para>
See the section on <literal>NIX_PATH</literal> in the Nix manual for
more details on how to set a value for
<literal>&lt;nixpkgs-overlays>.</literal>
See the section on <literal>NIX_PATH</literal> in the Nix manual for more details on how to set a value for <literal>&lt;nixpkgs-overlays>.</literal>
</para>
</listitem>
<listitem>
<para>
If one of <filename>~/.config/nixpkgs/overlays.nix</filename> and
<filename>~/.config/nixpkgs/overlays/</filename> exists, then we look
for overlays at that path, as described below. It is an error if both
exist.
If one of <filename>~/.config/nixpkgs/overlays.nix</filename> and <filename>~/.config/nixpkgs/overlays/</filename> exists, then we look for overlays at that path, as described below. It is an error if both exist.
</para>
</listitem>
</orderedlist>
@@ -92,15 +67,12 @@
<itemizedlist>
<listitem>
<para>
If the path is a file, then the file is imported as a Nix expression and
used as the list of overlays.
If the path is a file, then the file is imported as a Nix expression and used as the list of overlays.
</para>
</listitem>
<listitem>
<para>
If the path is a directory, then we take the content of the directory,
order it lexicographically, and attempt to interpret each as an overlay
by:
If the path is a directory, then we take the content of the directory, order it lexicographically, and attempt to interpret each as an overlay by:
<itemizedlist>
<listitem>
<para>
@@ -109,8 +81,7 @@
</listitem>
<listitem>
<para>
Importing a top-level <filename>default.nix</filename> file, if it is
a directory.
Importing a top-level <filename>default.nix</filename> file, if it is a directory.
</para>
</listitem>
</itemizedlist>
@@ -120,12 +91,7 @@
</para>
<para>
Because overlays that are set in NixOS configuration do not affect
non-NixOS operations such as <literal>nix-env</literal>, the
<filename>overlays.nix</filename> option provides a convenient way to use
the same overlays for a NixOS system configuration and user configuration:
the same file can be used as <filename>overlays.nix</filename> and imported
as the value of <literal>nixpkgs.overlays</literal>.
Because overlays that are set in NixOS configuration do not affect non-NixOS operations such as <literal>nix-env</literal>, the <filename>overlays.nix</filename> option provides a convenient way to use the same overlays for a NixOS system configuration and user configuration: the same file can be used as <filename>overlays.nix</filename> and imported as the value of <literal>nixpkgs.overlays</literal>.
</para>
<!-- TODO: Example of sharing overlays between NixOS configuration
@@ -139,9 +105,7 @@
<title>Defining overlays</title>
<para>
Overlays are Nix functions which accept two arguments, conventionally called
<varname>self</varname> and <varname>super</varname>, and return a set of
packages. For example, the following is a valid overlay.
Overlays are Nix functions which accept two arguments, conventionally called <varname>self</varname> and <varname>super</varname>, and return a set of packages. For example, the following is a valid overlay.
</para>
<programlisting>
@@ -158,38 +122,19 @@ self: super:
</programlisting>
<para>
The first argument (<varname>self</varname>) corresponds to the final
package set. You should use this set for the dependencies of all packages
specified in your overlay. For example, all the dependencies of
<varname>rr</varname> in the example above come from
<varname>self</varname>, as well as the overridden dependencies used in the
<varname>boost</varname> override.
The first argument (<varname>self</varname>) corresponds to the final package set. You should use this set for the dependencies of all packages specified in your overlay. For example, all the dependencies of <varname>rr</varname> in the example above come from <varname>self</varname>, as well as the overridden dependencies used in the <varname>boost</varname> override.
</para>
<para>
The second argument (<varname>super</varname>) corresponds to the result of
the evaluation of the previous stages of Nixpkgs. It does not contain any of
the packages added by the current overlay, nor any of the following
overlays. This set should be used either to refer to packages you wish to
override, or to access functions defined in Nixpkgs. For example, the
original recipe of <varname>boost</varname> in the above example, comes from
<varname>super</varname>, as well as the <varname>callPackage</varname>
function.
The second argument (<varname>super</varname>) corresponds to the result of the evaluation of the previous stages of Nixpkgs. It does not contain any of the packages added by the current overlay, nor any of the following overlays. This set should be used either to refer to packages you wish to override, or to access functions defined in Nixpkgs. For example, the original recipe of <varname>boost</varname> in the above example, comes from <varname>super</varname>, as well as the <varname>callPackage</varname> function.
</para>
<para>
The value returned by this function should be a set similar to
<filename>pkgs/top-level/all-packages.nix</filename>, containing overridden
and/or new packages.
The value returned by this function should be a set similar to <filename>pkgs/top-level/all-packages.nix</filename>, containing overridden and/or new packages.
</para>
<para>
Overlays are similar to other methods for customizing Nixpkgs, in particular
the <literal>packageOverrides</literal> attribute described in
<xref linkend="sec-modify-via-packageOverrides"/>. Indeed,
<literal>packageOverrides</literal> acts as an overlay with only the
<varname>super</varname> argument. It is therefore appropriate for basic
use, but overlays are more powerful and easier to distribute.
Overlays are similar to other methods for customizing Nixpkgs, in particular the <literal>packageOverrides</literal> attribute described in <xref linkend="sec-modify-via-packageOverrides"/>. Indeed, <literal>packageOverrides</literal> acts as an overlay with only the <varname>super</varname> argument. It is therefore appropriate for basic use, but overlays are more powerful and easier to distribute.
</para>
</section>
</chapter>

View File

@@ -1,9 +1,22 @@
.docbook .xref img[src^=images\/callouts\/],
.screen img,
.programlisting img {
.programlisting img,
.literallayout img,
.synopsis img {
width: 1em;
}
.calloutlist img {
width: 1.5em;
}
.prompt,
.screen img,
.programlisting img,
.literallayout img,
.synopsis img {
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
}

151
doc/overrides.xml Normal file
View File

@@ -0,0 +1,151 @@
<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-overrides">
<title>Overriding</title>
<para>
Sometimes one wants to override parts of <literal>nixpkgs</literal>, e.g. derivation attributes, the results of derivations.
</para>
<para>
These functions are used to make changes to packages, returning only single packages. <link xlink:href="#chap-overlays">Overlays</link>, on the other hand, can be used to combine the overridden packages across the entire package set of Nixpkgs.
</para>
<section xml:id="sec-pkg-override">
<title>&lt;pkg&gt;.override</title>
<para>
The function <varname>override</varname> is usually available for all the derivations in the nixpkgs expression (<varname>pkgs</varname>).
</para>
<para>
It is used to override the arguments passed to a function.
</para>
<para>
Example usages:
<programlisting>pkgs.foo.override { arg1 = val1; arg2 = val2; ... }</programlisting>
<!-- TODO: move below programlisting to a new section about extending and overlays
and reference it
-->
<programlisting>
import pkgs.path { overlays = [ (self: super: {
foo = super.foo.override { barSupport = true ; };
})]};
</programlisting>
<programlisting>
mypkg = pkgs.callPackage ./mypkg.nix {
mydep = pkgs.mydep.override { ... };
}
</programlisting>
</para>
<para>
In the first example, <varname>pkgs.foo</varname> is the result of a function call with some default arguments, usually a derivation. Using <varname>pkgs.foo.override</varname> will call the same function with the given new arguments.
</para>
</section>
<section xml:id="sec-pkg-overrideAttrs">
<title>&lt;pkg&gt;.overrideAttrs</title>
<para>
The function <varname>overrideAttrs</varname> allows overriding the attribute set passed to a <varname>stdenv.mkDerivation</varname> call, producing a new derivation based on the original one. This function is available on all derivations produced by the <varname>stdenv.mkDerivation</varname> function, which is most packages in the nixpkgs expression <varname>pkgs</varname>.
</para>
<para>
Example usage:
<programlisting>
helloWithDebug = pkgs.hello.overrideAttrs (oldAttrs: rec {
separateDebugInfo = true;
});
</programlisting>
</para>
<para>
In the above example, the <varname>separateDebugInfo</varname> attribute is overridden to be true, thus building debug info for <varname>helloWithDebug</varname>, while all other attributes will be retained from the original <varname>hello</varname> package.
</para>
<para>
The argument <varname>oldAttrs</varname> is conventionally used to refer to the attr set originally passed to <varname>stdenv.mkDerivation</varname>.
</para>
<note>
<para>
Note that <varname>separateDebugInfo</varname> is processed only by the <varname>stdenv.mkDerivation</varname> function, not the generated, raw Nix derivation. Thus, using <varname>overrideDerivation</varname> will not work in this case, as it overrides only the attributes of the final derivation. It is for this reason that <varname>overrideAttrs</varname> should be preferred in (almost) all cases to <varname>overrideDerivation</varname>, i.e. to allow using <varname>stdenv.mkDerivation</varname> to process input arguments, as well as the fact that it is easier to use (you can use the same attribute names you see in your Nix code, instead of the ones generated (e.g. <varname>buildInputs</varname> vs <varname>nativeBuildInputs</varname>), and it involves less typing).
</para>
</note>
</section>
<section xml:id="sec-pkg-overrideDerivation">
<title>&lt;pkg&gt;.overrideDerivation</title>
<warning>
<para>
You should prefer <varname>overrideAttrs</varname> in almost all cases, see its documentation for the reasons why. <varname>overrideDerivation</varname> is not deprecated and will continue to work, but is less nice to use and does not have as many abilities as <varname>overrideAttrs</varname>.
</para>
</warning>
<warning>
<para>
Do not use this function in Nixpkgs as it evaluates a Derivation before modifying it, which breaks package abstraction and removes error-checking of function arguments. In addition, this evaluation-per-function application incurs a performance penalty, which can become a problem if many overrides are used. It is only intended for ad-hoc customisation, such as in <filename>~/.config/nixpkgs/config.nix</filename>.
</para>
</warning>
<para>
The function <varname>overrideDerivation</varname> creates a new derivation based on an existing one by overriding the original's attributes with the attribute set produced by the specified function. This function is available on all derivations defined using the <varname>makeOverridable</varname> function. Most standard derivation-producing functions, such as <varname>stdenv.mkDerivation</varname>, are defined using this function, which means most packages in the nixpkgs expression, <varname>pkgs</varname>, have this function.
</para>
<para>
Example usage:
<programlisting>
mySed = pkgs.gnused.overrideDerivation (oldAttrs: {
name = "sed-4.2.2-pre";
src = fetchurl {
url = ftp://alpha.gnu.org/gnu/sed/sed-4.2.2-pre.tar.bz2;
sha256 = "11nq06d131y4wmf3drm0yk502d2xc6n5qy82cg88rb9nqd2lj41k";
};
patches = [];
});
</programlisting>
</para>
<para>
In the above example, the <varname>name</varname>, <varname>src</varname>, and <varname>patches</varname> of the derivation will be overridden, while all other attributes will be retained from the original derivation.
</para>
<para>
The argument <varname>oldAttrs</varname> is used to refer to the attribute set of the original derivation.
</para>
<note>
<para>
A package's attributes are evaluated *before* being modified by the <varname>overrideDerivation</varname> function. For example, the <varname>name</varname> attribute reference in <varname>url = "mirror://gnu/hello/${name}.tar.gz";</varname> is filled-in *before* the <varname>overrideDerivation</varname> function modifies the attribute set. This means that overriding the <varname>name</varname> attribute, in this example, *will not* change the value of the <varname>url</varname> attribute. Instead, we need to override both the <varname>name</varname> *and* <varname>url</varname> attributes.
</para>
</note>
</section>
<section xml:id="sec-lib-makeOverridable">
<title>lib.makeOverridable</title>
<para>
The function <varname>lib.makeOverridable</varname> is used to make the result of a function easily customizable. This utility only makes sense for functions that accept an argument set and return an attribute set.
</para>
<para>
Example usage:
<programlisting>
f = { a, b }: { result = a+b; };
c = lib.makeOverridable f { a = 1; b = 2; };
</programlisting>
</para>
<para>
The variable <varname>c</varname> is the value of the <varname>f</varname> function applied with some default arguments. Hence the value of <varname>c.result</varname> is <literal>3</literal>, in this example.
</para>
<para>
The variable <varname>c</varname> however also has some additional functions, like <link linkend="sec-pkg-override">c.override</link> which can be used to override the default arguments. In this example the value of <varname>(c.override { a = 4; }).result</varname> is 6.
</para>
</section>
</chapter>

View File

@@ -1,590 +0,0 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="chap-package-notes">
<title>Package Notes</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>
<!--============================================================-->
<section 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>
<!--============================================================-->
<section 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>
<!--============================================================-->
<!--
<section xml:id="sec-package-notes-gnome">
<title>Gnome</title>
<para>* Expression is auto-generated</para>
<para>* How to update</para>
</section>
-->
<!--============================================================-->
<!--
<section xml:id="sec-package-notes-gcc">
<title>GCC</title>
<para>…</para>
</section>
-->
<!--============================================================-->
<section 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>
<section 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>
<section 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>
<section 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>
<section 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>
<section 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>
<section 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>
</chapter>

View File

@@ -1,482 +0,0 @@
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="package-specific-user-notes">
<title>Package-specific usage notes</title>
<para>
These chapters includes some notes
that apply to specific packages and should
answer some of the frequently asked questions
related to Nixpkgs use.
Some useful information related to package use
can be found in <link linkend="chap-package-notes">package-specific development notes</link>.
</para>
<section xml:id="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>
<section 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>
<section 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>
<section 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>
<section 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>
<section 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>
For 64-bit systems it's important to have
<programlisting>hardware.opengl.driSupport32Bit = true;</programlisting>
in your <filename>/etc/nixos/configuration.nix</filename>. You'll also need
<programlisting>hardware.pulseaudio.support32Bit = true;</programlisting>
if you are using PulseAudio - this will enable 32bit ALSA apps integration.
To use the Steam controller or other Steam supported controllers such as
the DualShock 4 or Nintendo Switch Pro, you need to add
<programlisting>hardware.steam-hardware.enable = true;</programlisting>
to your configuration.
</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>
<section xml:id="sec-citrix">
<title>Citrix Receiver &amp; Citrix Workspace App</title>
<para>
<note>
<para>
Please note that the <literal>citrix_receiver</literal> package has been deprecated since its
development was <link xlink:href="https://docs.citrix.com/en-us/citrix-workspace-app.html">discontinued by upstream</link>
and will be replaced by <link xlink:href="https://www.citrix.com/products/workspace-app/">the citrix workspace app</link>.
</para>
</note>
<link xlink:href="https://www.citrix.com/products/receiver/">Citrix Receiver</link> and
<link xlink:href="https://www.citrix.com/products/workspace-app/">Citrix Workspace App</link>
are a remote desktop viewers which provide 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.com/downloads/citrix-receiver/">Citrix Receiver</link>
or <link xlink:href="https://www.citrix.de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html">Citrix Workspace</link>
need 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>
<warning>
<title>Caution with <command>nix-shell</command> installs</title>
<para>
It's recommended to install <literal>Citrix Receiver</literal>
and/or <literal>Citrix Workspace</literal> using
<literal>nix-env -i</literal> or globally to
ensure that the <literal>.desktop</literal> files are installed properly
into <literal>$XDG_CONFIG_DIRS</literal>. Otherwise it won't be possible to
open <literal>.ica</literal> files automatically from the browser to start
a Citrix connection.
</para>
</warning>
</section>
<section xml:id="sec-citrix-custom-certs">
<title>Custom certificates</title>
<para>
The <literal>Citrix Receiver</literal> and <literal>Citrix Workspace App</literal>
in <literal>nixpkgs</literal> trust 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 { # the same applies for `citrix_receiver` if used.
inherit extraCerts;
}]]>
</programlisting>
</para>
</section>
</section>
</chapter>

44
doc/packages/citrix.xml Normal file
View File

@@ -0,0 +1,44 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-citrix">
<title>Citrix Workspace</title>
<para>
<note>
<para>
Please note that the <literal>citrix_receiver</literal> package has been deprecated since its development was <link xlink:href="https://docs.citrix.com/en-us/citrix-workspace-app.html">discontinued by upstream</link> and has been replaced by <link xlink:href="https://www.citrix.com/products/workspace-app/">the citrix workspace app</link>.
</para>
</note>
<link xlink:href="https://www.citrix.com/products/receiver/">Citrix Receiver</link> and <link xlink:href="https://www.citrix.com/products/workspace-app/">Citrix Workspace App</link> are a remote desktop viewers which provide 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.com/downloads/citrix-receiver/">Citrix Receiver</link> or <link xlink:href="https://www.citrix.de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html">Citrix Workspace</link> need 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>
<warning>
<title>Caution with <command>nix-shell</command> installs</title>
<para>
It's recommended to install <literal>Citrix Receiver</literal> and/or <literal>Citrix Workspace</literal> using <literal>nix-env -i</literal> or globally to ensure that the <literal>.desktop</literal> files are installed properly into <literal>$XDG_CONFIG_DIRS</literal>. Otherwise it won't be possible to open <literal>.ica</literal> files automatically from the browser to start a Citrix connection.
</para>
</warning>
</section>
<section xml:id="sec-citrix-custom-certs">
<title>Custom certificates</title>
<para>
The <literal>Citrix Workspace App</literal> in <literal>nixpkgs</literal> trust 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>

24
doc/packages/dlib.xml Normal file
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>

72
doc/packages/eclipse.xml Normal file
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>

17
doc/packages/elm.xml Normal file
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>

131
doc/packages/emacs.xml Normal file
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>

57
doc/packages/ibus.xml Normal file
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>

23
doc/packages/index.xml Normal file
View File

@@ -0,0 +1,23 @@
<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="weechat.xml" />
<xi:include href="xorg.xml" />
</chapter>

14
doc/packages/kakoune.xml Normal file
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>

85
doc/packages/linux.xml Normal file
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>

13
doc/packages/locales.xml Normal file
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>

25
doc/packages/nginx.xml Normal file
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>

9
doc/packages/opengl.xml Normal file
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>

131
doc/packages/steam.xml Normal file
View File

@@ -0,0 +1,131 @@
<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>
For 64-bit systems it's important to have
<programlisting>hardware.opengl.driSupport32Bit = true;</programlisting>
in your <filename>/etc/nixos/configuration.nix</filename>. You'll also need
<programlisting>hardware.pulseaudio.support32Bit = true;</programlisting>
if you are using PulseAudio - this will enable 32bit ALSA apps integration. To use the Steam controller or other Steam supported controllers such as the DualShock 4 or Nintendo Switch Pro, you need to add
<programlisting>hardware.steam-hardware.enable = true;</programlisting>
to your configuration.
</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>

13
doc/packages/unfree.xml Normal file
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>

85
doc/packages/weechat.xml Normal file
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>

34
doc/packages/xorg.xml Normal file
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>

View File

@@ -1,6 +1,6 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="chap-platform-nodes">
xml:id="chap-platform-notes">
<title>Platform Notes</title>
<section xml:id="sec-darwin">
<title>Darwin (macOS)</title>
@@ -12,12 +12,7 @@
<itemizedlist>
<listitem>
<para>
The Darwin <literal>stdenv</literal> uses clang instead of gcc. When
referring to the compiler <varname>$CC</varname> or <command>cc</command>
will work in both cases. Some builds hardcode gcc/g++ in their build
scripts, that can usually be fixed with using something like
<literal>makeFlags = [ "CC=cc" ];</literal> or by patching the build
scripts.
The Darwin <literal>stdenv</literal> uses clang instead of gcc. When referring to the compiler <varname>$CC</varname> or <command>cc</command> will work in both cases. Some builds hardcode gcc/g++ in their build scripts, that can usually be fixed with using something like <literal>makeFlags = [ "CC=cc" ];</literal> or by patching the build scripts.
</para>
<programlisting>
stdenv.mkDerivation {
@@ -31,12 +26,7 @@ stdenv.mkDerivation {
</listitem>
<listitem>
<para>
On Darwin, libraries are linked using absolute paths, libraries are
resolved by their <literal>install_name</literal> at link time. Sometimes
packages won't set this correctly causing the library lookups to fail at
runtime. This can be fixed by adding extra linker flags or by running
<command>install_name_tool -id</command> during the
<function>fixupPhase</function>.
On Darwin, libraries are linked using absolute paths, libraries are resolved by their <literal>install_name</literal> at link time. Sometimes packages won't set this correctly causing the library lookups to fail at runtime. This can be fixed by adding extra linker flags or by running <command>install_name_tool -id</command> during the <function>fixupPhase</function>.
</para>
<programlisting>
stdenv.mkDerivation {
@@ -48,16 +38,10 @@ stdenv.mkDerivation {
</listitem>
<listitem>
<para>
Even if the libraries are linked using absolute paths and resolved via
their <literal>install_name</literal> correctly, tests can sometimes fail
to run binaries. This happens because the <varname>checkPhase</varname>
runs before the libraries are installed.
Even if the libraries are linked using absolute paths and resolved via their <literal>install_name</literal> correctly, tests can sometimes fail to run binaries. This happens because the <varname>checkPhase</varname> runs before the libraries are installed.
</para>
<para>
This can usually be solved by running the tests after the
<varname>installPhase</varname> or alternatively by using
<varname>DYLD_LIBRARY_PATH</varname>. More information about this variable
can be found in the <citerefentry>
This can usually be solved by running the tests after the <varname>installPhase</varname> or alternatively by using <varname>DYLD_LIBRARY_PATH</varname>. More information about this variable can be found in the <citerefentry>
<refentrytitle>dyld</refentrytitle>
<manvolnum>1</manvolnum></citerefentry> manpage.
</para>
@@ -78,11 +62,7 @@ stdenv.mkDerivation {
</listitem>
<listitem>
<para>
Some packages assume xcode is available and use <command>xcrun</command>
to resolve build tools like <command>clang</command>, etc. This causes
errors like <code>xcode-select: error: no developer tools were found at
'/Applications/Xcode.app'</code> while the build doesn't actually depend
on xcode.
Some packages assume xcode is available and use <command>xcrun</command> to resolve build tools like <command>clang</command>, etc. This causes errors like <code>xcode-select: error: no developer tools were found at '/Applications/Xcode.app'</code> while the build doesn't actually depend on xcode.
</para>
<programlisting>
stdenv.mkDerivation {
@@ -95,9 +75,7 @@ stdenv.mkDerivation {
}
</programlisting>
<para>
The package <literal>xcbuild</literal> can be used to build projects that
really depend on Xcode. However, this replacement is not 100% compatible
with Xcode and can occasionally cause issues.
The package <literal>xcbuild</literal> can be used to build projects that really depend on Xcode. However, this replacement is not 100% compatible with Xcode and can occasionally cause issues.
</para>
</listitem>
</itemizedlist>

View File

@@ -15,120 +15,75 @@
</listitem>
<listitem>
<para>
Find a good place in the Nixpkgs tree to add the Nix expression for your
package. For instance, a library package typically goes into
<filename>pkgs/development/libraries/<replaceable>pkgname</replaceable></filename>,
while a web browser goes into
<filename>pkgs/applications/networking/browsers/<replaceable>pkgname</replaceable></filename>.
See <xref linkend="sec-organisation" /> for some hints on the tree
organisation. Create a directory for your package, e.g.
Find a good place in the Nixpkgs tree to add the Nix expression for your package. For instance, a library package typically goes into <filename>pkgs/development/libraries/<replaceable>pkgname</replaceable></filename>, while a web browser goes into <filename>pkgs/applications/networking/browsers/<replaceable>pkgname</replaceable></filename>. See <xref linkend="sec-organisation" /> for some hints on the tree organisation. Create a directory for your package, e.g.
<screen>
<prompt>$ </prompt>mkdir pkgs/development/libraries/libfoo</screen>
</para>
</listitem>
<listitem>
<para>
In the package directory, create a Nix expression — a piece of code that
describes how to build the package. In this case, it should be a
<emphasis>function</emphasis> that is called with the package dependencies
as arguments, and returns a build of the package in the Nix store. The
expression should usually be called <filename>default.nix</filename>.
In the package directory, create a Nix expression — a piece of code that describes how to build the package. In this case, it should be a <emphasis>function</emphasis> that is called with the package dependencies as arguments, and returns a build of the package in the Nix store. The expression should usually be called <filename>default.nix</filename>.
<screen>
<prompt>$ </prompt>emacs pkgs/development/libraries/libfoo/default.nix
<prompt>$ </prompt>git add pkgs/development/libraries/libfoo/default.nix</screen>
</para>
<para>
You can have a look at the existing Nix expressions under
<filename>pkgs/</filename> to see how its done. Here are some good
ones:
You can have a look at the existing Nix expressions under <filename>pkgs/</filename> to see how its done. Here are some good ones:
<itemizedlist>
<listitem>
<para>
GNU Hello:
<link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/hello/default.nix"><filename>pkgs/applications/misc/hello/default.nix</filename></link>.
Trivial package, which specifies some <varname>meta</varname>
attributes which is good practice.
GNU Hello: <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/hello/default.nix"><filename>pkgs/applications/misc/hello/default.nix</filename></link>. Trivial package, which specifies some <varname>meta</varname> attributes which is good practice.
</para>
</listitem>
<listitem>
<para>
GNU cpio:
<link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/archivers/cpio/default.nix"><filename>pkgs/tools/archivers/cpio/default.nix</filename></link>.
Also a simple package. The generic builder in <varname>stdenv</varname>
does everything for you. It has no dependencies beyond
<varname>stdenv</varname>.
GNU cpio: <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/archivers/cpio/default.nix"><filename>pkgs/tools/archivers/cpio/default.nix</filename></link>. Also a simple package. The generic builder in <varname>stdenv</varname> does everything for you. It has no dependencies beyond <varname>stdenv</varname>.
</para>
</listitem>
<listitem>
<para>
GNU Multiple Precision arithmetic library (GMP):
<link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/gmp/5.1.x.nix"><filename>pkgs/development/libraries/gmp/5.1.x.nix</filename></link>.
Also done by the generic builder, but has a dependency on
<varname>m4</varname>.
GNU Multiple Precision arithmetic library (GMP): <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/gmp/5.1.x.nix"><filename>pkgs/development/libraries/gmp/5.1.x.nix</filename></link>. Also done by the generic builder, but has a dependency on <varname>m4</varname>.
</para>
</listitem>
<listitem>
<para>
Pan, a GTK-based newsreader:
<link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/newsreaders/pan/default.nix"><filename>pkgs/applications/networking/newsreaders/pan/default.nix</filename></link>.
Has an optional dependency on <varname>gtkspell</varname>, which is
only built if <varname>spellCheck</varname> is <literal>true</literal>.
Pan, a GTK-based newsreader: <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/newsreaders/pan/default.nix"><filename>pkgs/applications/networking/newsreaders/pan/default.nix</filename></link>. Has an optional dependency on <varname>gtkspell</varname>, which is only built if <varname>spellCheck</varname> is <literal>true</literal>.
</para>
</listitem>
<listitem>
<para>
Apache HTTPD:
<link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/http/apache-httpd/2.4.nix"><filename>pkgs/servers/http/apache-httpd/2.4.nix</filename></link>.
A bunch of optional features, variable substitutions in the configure
flags, a post-install hook, and miscellaneous hackery.
Apache HTTPD: <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/http/apache-httpd/2.4.nix"><filename>pkgs/servers/http/apache-httpd/2.4.nix</filename></link>. A bunch of optional features, variable substitutions in the configure flags, a post-install hook, and miscellaneous hackery.
</para>
</listitem>
<listitem>
<para>
Thunderbird:
<link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/mailreaders/thunderbird/default.nix"><filename>pkgs/applications/networking/mailreaders/thunderbird/default.nix</filename></link>.
Lots of dependencies.
Thunderbird: <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/mailreaders/thunderbird/default.nix"><filename>pkgs/applications/networking/mailreaders/thunderbird/default.nix</filename></link>. Lots of dependencies.
</para>
</listitem>
<listitem>
<para>
JDiskReport, a Java utility:
<link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/jdiskreport/default.nix"><filename>pkgs/tools/misc/jdiskreport/default.nix</filename></link>
(and the
<link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/jdiskreport/builder.sh">builder</link>).
Nixpkgs doesnt have a decent <varname>stdenv</varname> for Java yet
so this is pretty ad-hoc.
JDiskReport, a Java utility: <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/jdiskreport/default.nix"><filename>pkgs/tools/misc/jdiskreport/default.nix</filename></link> (and the <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/jdiskreport/builder.sh">builder</link>). Nixpkgs doesnt have a decent <varname>stdenv</varname> for Java yet so this is pretty ad-hoc.
</para>
</listitem>
<listitem>
<para>
XML::Simple, a Perl module:
<link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/perl-packages.nix"><filename>pkgs/top-level/perl-packages.nix</filename></link>
(search for the <varname>XMLSimple</varname> attribute). Most Perl
modules are so simple to build that they are defined directly in
<filename>perl-packages.nix</filename>; no need to make a separate file
for them.
XML::Simple, a Perl module: <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/perl-packages.nix"><filename>pkgs/top-level/perl-packages.nix</filename></link> (search for the <varname>XMLSimple</varname> attribute). Most Perl modules are so simple to build that they are defined directly in <filename>perl-packages.nix</filename>; no need to make a separate file for them.
</para>
</listitem>
<listitem>
<para>
Adobe Reader:
<link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/adobe-reader/default.nix"><filename>pkgs/applications/misc/adobe-reader/default.nix</filename></link>.
Shows how binary-only packages can be supported. In particular the
<link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/adobe-reader/builder.sh">builder</link>
uses <command>patchelf</command> to set the RUNPATH and ELF interpreter
of the executables so that the right libraries are found at runtime.
Adobe Reader: <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/adobe-reader/default.nix"><filename>pkgs/applications/misc/adobe-reader/default.nix</filename></link>. Shows how binary-only packages can be supported. In particular the <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/adobe-reader/builder.sh">builder</link> uses <command>patchelf</command> to set the RUNPATH and ELF interpreter of the executables so that the right libraries are found at runtime.
</para>
</listitem>
</itemizedlist>
@@ -138,67 +93,45 @@
<itemizedlist>
<listitem>
<para>
All <varname linkend="chap-meta">meta</varname> attributes are
optional, but its still a good idea to provide at least the
<varname>description</varname>, <varname>homepage</varname> and
<varname
All <varname linkend="chap-meta">meta</varname> attributes are optional, but its still a good idea to provide at least the <varname>description</varname>, <varname>homepage</varname> and <varname
linkend="sec-meta-license">license</varname>.
</para>
</listitem>
<listitem>
<para>
You can use <command>nix-prefetch-url</command>
<replaceable>url</replaceable> to get the SHA-256 hash of source
distributions. There are similar commands as
<command>nix-prefetch-git</command> and
<command>nix-prefetch-hg</command> available in
<literal>nix-prefetch-scripts</literal> package.
You can use <command>nix-prefetch-url</command> <replaceable>url</replaceable> to get the SHA-256 hash of source distributions. There are similar commands as <command>nix-prefetch-git</command> and <command>nix-prefetch-hg</command> available in <literal>nix-prefetch-scripts</literal> package.
</para>
</listitem>
<listitem>
<para>
A list of schemes for <literal>mirror://</literal> URLs can be found in
<link
A list of schemes for <literal>mirror://</literal> URLs can be found in <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/fetchurl/mirrors.nix"><filename>pkgs/build-support/fetchurl/mirrors.nix</filename></link>.
</para>
</listitem>
</itemizedlist>
</para>
<para>
The exact syntax and semantics of the Nix expression language, including
the built-in function, are described in the Nix manual in the
<link
xlink:href="http://hydra.nixos.org/job/nix/trunk/tarball/latest/download-by-type/doc/manual/#chap-writing-nix-expressions">chapter
on writing Nix expressions</link>.
The exact syntax and semantics of the Nix expression language, including the built-in function, are described in the Nix manual in the <link
xlink:href="http://hydra.nixos.org/job/nix/trunk/tarball/latest/download-by-type/doc/manual/#chap-writing-nix-expressions">chapter on writing Nix expressions</link>.
</para>
</listitem>
<listitem>
<para>
Add a call to the function defined in the previous step to
<link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/all-packages.nix"><filename>pkgs/top-level/all-packages.nix</filename></link>
with some descriptive name for the variable, e.g.
<varname>libfoo</varname>.
Add a call to the function defined in the previous step to <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/all-packages.nix"><filename>pkgs/top-level/all-packages.nix</filename></link> with some descriptive name for the variable, e.g. <varname>libfoo</varname>.
<screen>
<prompt>$ </prompt>emacs pkgs/top-level/all-packages.nix</screen>
</para>
<para>
The attributes in that file are sorted by category (like “Development /
Libraries”) that more-or-less correspond to the directory structure of
Nixpkgs, and then by attribute name.
The attributes in that file are sorted by category (like “Development / Libraries”) that more-or-less correspond to the directory structure of Nixpkgs, and then by attribute name.
</para>
</listitem>
<listitem>
<para>
To test whether the package builds, run the following command from the
root of the nixpkgs source tree:
To test whether the package builds, run the following command from the root of the nixpkgs source tree:
<screen>
<prompt>$ </prompt>nix-build -A libfoo</screen>
where <varname>libfoo</varname> should be the variable name defined in the
previous step. You may want to add the flag <option>-K</option> to keep
the temporary build directory in case something fails. If the build
succeeds, a symlink <filename>./result</filename> to the package in the
Nix store is created.
where <varname>libfoo</varname> should be the variable name defined in the previous step. You may want to add the flag <option>-K</option> to keep the temporary build directory in case something fails. If the build succeeds, a symlink <filename>./result</filename> to the package in the Nix store is created.
</para>
</listitem>
<listitem>
@@ -211,11 +144,8 @@
<listitem>
<para>
Optionally commit the new package and open a pull request <link
xlink:href="https://github.com/NixOS/nixpkgs/pulls">to nixpkgs</link>, or
use <link
xlink:href="https://discourse.nixos.org/t/about-the-patches-category/477">
the Patches category</link> on Discourse for sending a patch without a
GitHub account.
xlink:href="https://github.com/NixOS/nixpkgs/pulls">to nixpkgs</link>, or use <link
xlink:href="https://discourse.nixos.org/t/about-the-patches-category/477"> the Patches category</link> on Discourse for sending a patch without a GitHub account.
</para>
</listitem>
</orderedlist>

View File

@@ -6,15 +6,11 @@
<title>Release 0.14 (June 4, 2012)</title>
<para>
In preparation for the switch from Subversion to Git, this release is mainly
the prevent the Nixpkgs version number from going backwards. (This would
happen because prerelease version numbers produced for the Git repository
are lower than those for the Subversion repository.)
In preparation for the switch from Subversion to Git, this release is mainly the prevent the Nixpkgs version number from going backwards. (This would happen because prerelease version numbers produced for the Git repository are lower than those for the Subversion repository.)
</para>
<para>
Since the last release, there have been thousands of changes and new
packages by numerous contributors. For details, see the commit logs.
Since the last release, there have been thousands of changes and new packages by numerous contributors. For details, see the commit logs.
</para>
</section>
<section xml:id="release-notes-0.13">
@@ -55,14 +51,11 @@
<title>Release 0.12 (April 24, 2009)</title>
<para>
There are way too many additions to Nixpkgs since the last release to list
here: for example, the number of packages on Linux has increased from 1002
to 2159. However, some specific improvements are worth listing:
There are way too many additions to Nixpkgs since the last release to list here: for example, the number of packages on Linux has increased from 1002 to 2159. However, some specific improvements are worth listing:
<itemizedlist>
<listitem>
<para>
Nixpkgs now has a manual. In particular, it describes the standard build
environment in detail.
Nixpkgs now has a manual. In particular, it describes the standard build environment in detail.
</para>
</listitem>
<listitem>
@@ -122,9 +115,7 @@
</listitem>
<listitem>
<para>
Support for building derivations in a virtual machine, including RPM and
Debian builds in automatically generated VM images. See
<filename>pkgs/build-support/vm/default.nix</filename> for details.
Support for building derivations in a virtual machine, including RPM and Debian builds in automatically generated VM images. See <filename>pkgs/build-support/vm/default.nix</filename> for details.
</para>
</listitem>
<listitem>
@@ -136,13 +127,7 @@
</para>
<para>
The following people contributed to this release: Andres Löh, Arie
Middelkoop, Armijn Hemel, Eelco Dolstra, Lluís Batlle, Ludovic Courtès,
Marc Weber, Mart Kolthof, Martin Bravenboer, Michael Raskin, Nicolas
Pierron, Peter Simons, Pjotr Prins, Rob Vermaas, Sander van der Burg, Tobias
Hammerschmidt, Valentin David, Wouter den Breejen and Yury G. Kudryashov. In
addition, several people contributed patches on the
<literal>nix-dev</literal> mailing list.
The following people contributed to this release: Andres Löh, Arie Middelkoop, Armijn Hemel, Eelco Dolstra, Lluís Batlle, Ludovic Courtès, Marc Weber, Mart Kolthof, Martin Bravenboer, Michael Raskin, Nicolas Pierron, Peter Simons, Pjotr Prins, Rob Vermaas, Sander van der Burg, Tobias Hammerschmidt, Valentin David, Wouter den Breejen and Yury G. Kudryashov. In addition, several people contributed patches on the <literal>nix-dev</literal> mailing list.
</para>
</section>
<section xml:id="release-notes-0.11">
@@ -153,25 +138,12 @@
<itemizedlist>
<listitem>
<para>
The standard build environment (<literal>stdenv</literal>) is now pure on
the <literal>x86_64-linux</literal> and <literal>powerpc-linux</literal>
platforms, just as on <literal>i686-linux</literal>. (Purity means that
building and using the standard environment has no dependencies outside
of the Nix store. For instance, it doesnt require an external C
compiler such as <filename>/usr/bin/gcc</filename>.) Also, the statically
linked binaries used in the bootstrap process are now automatically
reproducible, making it easy to update the bootstrap tools and to add
support for other Linux platforms. See
<filename>pkgs/stdenv/linux/make-bootstrap-tools.nix</filename> for
details.
The standard build environment (<literal>stdenv</literal>) is now pure on the <literal>x86_64-linux</literal> and <literal>powerpc-linux</literal> platforms, just as on <literal>i686-linux</literal>. (Purity means that building and using the standard environment has no dependencies outside of the Nix store. For instance, it doesnt require an external C compiler such as <filename>/usr/bin/gcc</filename>.) Also, the statically linked binaries used in the bootstrap process are now automatically reproducible, making it easy to update the bootstrap tools and to add support for other Linux platforms. See <filename>pkgs/stdenv/linux/make-bootstrap-tools.nix</filename> for details.
</para>
</listitem>
<listitem>
<para>
Hook variables in the generic builder are now executed using the
<function>eval</function> shell command. This has a major advantage: you
can write hooks directly in Nix expressions. For instance, rather than
writing a builder like this:
Hook variables in the generic builder are now executed using the <function>eval</function> shell command. This has a major advantage: you can write hooks directly in Nix expressions. For instance, rather than writing a builder like this:
<programlisting>
source $stdenv/setup
@@ -182,91 +154,57 @@ postInstall() {
}
genericBuild</programlisting>
(the <literal>gzip</literal> builder), you can just add this attribute to
the derivation:
(the <literal>gzip</literal> builder), you can just add this attribute to the derivation:
<programlisting>
postInstall = "ln -sf gzip $out/bin/gunzip; ln -sf gzip $out/bin/zcat";</programlisting>
and so a separate build script becomes unnecessary. This should allow us
to get rid of most builders in Nixpkgs.
and so a separate build script becomes unnecessary. This should allow us to get rid of most builders in Nixpkgs.
</para>
</listitem>
<listitem>
<para>
It is now possible to have the generic builder pass arguments to
<command>configure</command> and <command>make</command> that contain
whitespace. Previously, for example, you could say in a builder,
It is now possible to have the generic builder pass arguments to <command>configure</command> and <command>make</command> that contain whitespace. Previously, for example, you could say in a builder,
<programlisting>
configureFlags="CFLAGS=-O0"</programlisting>
but not
<programlisting>
configureFlags="CFLAGS=-O0 -g"</programlisting>
since the <literal>-g</literal> would be interpreted as a separate
argument to <command>configure</command>. Now you can say
since the <literal>-g</literal> would be interpreted as a separate argument to <command>configure</command>. Now you can say
<programlisting>
configureFlagsArray=("CFLAGS=-O0 -g")</programlisting>
or similarly
<programlisting>
configureFlagsArray=("CFLAGS=-O0 -g" "LDFLAGS=-L/foo -L/bar")</programlisting>
which does the right thing. Idem for <literal>makeFlags</literal>,
<literal>installFlags</literal>, <literal>checkFlags</literal> and
<literal>distFlags</literal>.
which does the right thing. Idem for <literal>makeFlags</literal>, <literal>installFlags</literal>, <literal>checkFlags</literal> and <literal>distFlags</literal>.
</para>
<para>
Unfortunately you can't pass arrays to Bash through the environment, so
you can't put the array above in a Nix expression, e.g.,
Unfortunately you can't pass arrays to Bash through the environment, so you can't put the array above in a Nix expression, e.g.,
<programlisting>
configureFlagsArray = ["CFLAGS=-O0 -g"];</programlisting>
since it would just be flattened to a since string. However, you
<emphasis>can</emphasis> use the inline hooks described above:
since it would just be flattened to a since string. However, you <emphasis>can</emphasis> use the inline hooks described above:
<programlisting>
preConfigure = "configureFlagsArray=(\"CFLAGS=-O0 -g\")";</programlisting>
</para>
</listitem>
<listitem>
<para>
The function <function>fetchurl</function> now has support for two
different kinds of mirroring of files. First, it has support for
<emphasis>content-addressable mirrors</emphasis>. For example, given the
<function>fetchurl</function> call
The function <function>fetchurl</function> now has support for two different kinds of mirroring of files. First, it has support for <emphasis>content-addressable mirrors</emphasis>. For example, given the <function>fetchurl</function> call
<programlisting>
fetchurl {
url = http://releases.mozilla.org/<replaceable>...</replaceable>/firefox-2.0.0.6-source.tar.bz2;
sha1 = "eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082";
}</programlisting>
<function>fetchurl</function> will first try to download this file from
<link
xlink:href="http://tarballs.nixos.org/sha1/eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082"/>.
If that file doesnt exist, it will try the original URL. In general,
the “content-addressed” location is
<replaceable>mirror</replaceable><literal>/</literal><replaceable>hash-type</replaceable><literal>/</literal><replaceable>hash</replaceable>.
There is currently only one content-addressable mirror
(<link
xlink:href="http://tarballs.nixos.org"/>), but more can be
specified in the <varname>hashedMirrors</varname> attribute in
<filename>pkgs/build-support/fetchurl/mirrors.nix</filename>, or by
setting the <envar>NIX_HASHED_MIRRORS</envar> environment variable to a
whitespace-separated list of URLs.
<function>fetchurl</function> will first try to download this file from <link
xlink:href="http://tarballs.nixos.org/sha1/eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082"/>. If that file doesnt exist, it will try the original URL. In general, the “content-addressed” location is <replaceable>mirror</replaceable><literal>/</literal><replaceable>hash-type</replaceable><literal>/</literal><replaceable>hash</replaceable>. There is currently only one content-addressable mirror (<link
xlink:href="http://tarballs.nixos.org"/>), but more can be specified in the <varname>hashedMirrors</varname> attribute in <filename>pkgs/build-support/fetchurl/mirrors.nix</filename>, or by setting the <envar>NIX_HASHED_MIRRORS</envar> environment variable to a whitespace-separated list of URLs.
</para>
<para>
Second, <function>fetchurl</function> has support for widely-mirrored
distribution sites such as SourceForge or the Linux kernel archives.
Given a URL of the form
<literal>mirror://<replaceable>site</replaceable>/<replaceable>path</replaceable></literal>,
it will try to download <replaceable>path</replaceable> from a
configurable list of mirrors for <replaceable>site</replaceable>. (This
idea was borrowed from Gentoo Linux.) Example:
Second, <function>fetchurl</function> has support for widely-mirrored distribution sites such as SourceForge or the Linux kernel archives. Given a URL of the form <literal>mirror://<replaceable>site</replaceable>/<replaceable>path</replaceable></literal>, it will try to download <replaceable>path</replaceable> from a configurable list of mirrors for <replaceable>site</replaceable>. (This idea was borrowed from Gentoo Linux.) Example:
<programlisting>
fetchurl {
url = mirror://gnu/gcc/gcc-4.2.0/gcc-core-4.2.0.tar.bz2;
sha256 = "0ykhzxhr8857dr97z0j9wyybfz1kjr71xk457cfapfw5fjas4ny1";
}</programlisting>
Currently <replaceable>site</replaceable> can be
<literal>sourceforge</literal>, <literal>gnu</literal> and
<literal>kernel</literal>. The list of mirrors is defined in
<filename>pkgs/build-support/fetchurl/mirrors.nix</filename>. You can
override the list of mirrors for a particular site by setting the
environment variable
<envar>NIX_MIRRORS_<replaceable>site</replaceable></envar>, e.g.
Currently <replaceable>site</replaceable> can be <literal>sourceforge</literal>, <literal>gnu</literal> and <literal>kernel</literal>. The list of mirrors is defined in <filename>pkgs/build-support/fetchurl/mirrors.nix</filename>. You can override the list of mirrors for a particular site by setting the environment variable <envar>NIX_MIRRORS_<replaceable>site</replaceable></envar>, e.g.
<programlisting>
export NIX_MIRRORS_sourceforge=http://osdn.dl.sourceforge.net/sourceforge/</programlisting>
</para>
@@ -339,9 +277,7 @@ export NIX_MIRRORS_sourceforge=http://osdn.dl.sourceforge.net/sourceforge/</prog
</para>
<para>
The following people contributed to this release: Andres Löh, Arie
Middelkoop, Armijn Hemel, Eelco Dolstra, Marc Weber, Mart Kolthof, Martin
Bravenboer, Michael Raskin, Wouter den Breejen and Yury G. Kudryashov.
The following people contributed to this release: Andres Löh, Arie Middelkoop, Armijn Hemel, Eelco Dolstra, Marc Weber, Mart Kolthof, Martin Bravenboer, Michael Raskin, Wouter den Breejen and Yury G. Kudryashov.
</para>
</section>
<section xml:id="release-notes-0.10">
@@ -349,10 +285,8 @@ export NIX_MIRRORS_sourceforge=http://osdn.dl.sourceforge.net/sourceforge/</prog
<note>
<para>
This release of Nixpkgs requires
<link
xlink:href='http://nixos.org/releases/nix/nix-0.10/'>Nix 0.10</link>
or higher.
This release of Nixpkgs requires <link
xlink:href='http://nixos.org/releases/nix/nix-0.10/'>Nix 0.10</link> or higher.
</para>
</note>
@@ -363,32 +297,15 @@ xlink:href='http://nixos.org/releases/nix/nix-0.10/'>Nix 0.10</link>
<itemizedlist>
<listitem>
<para>
<filename>pkgs/system/all-packages-generic.nix</filename> is gone, we now
just have <filename>pkgs/top-level/all-packages.nix</filename> that
contains all available packages. This should cause much less confusion
with users. <filename>all-packages.nix</filename> is a function that by
default returns packages for the current platform, but you can override
this by specifying a different <varname>system</varname> argument.
<filename>pkgs/system/all-packages-generic.nix</filename> is gone, we now just have <filename>pkgs/top-level/all-packages.nix</filename> that contains all available packages. This should cause much less confusion with users. <filename>all-packages.nix</filename> is a function that by default returns packages for the current platform, but you can override this by specifying a different <varname>system</varname> argument.
</para>
</listitem>
<listitem>
<para>
Certain packages in Nixpkgs are now user-configurable through a
configuration file, i.e., without having to edit the Nix expressions in
Nixpkgs. For instance, the Firefox provided in the Nixpkgs channel is
built without the RealPlayer plugin (for legal reasons). Previously, you
could easily enable RealPlayer support by editing the call to the Firefox
function in <filename>all-packages.nix</filename>, but such changes are
not respected when Firefox is subsequently updated through the Nixpkgs
channel.
Certain packages in Nixpkgs are now user-configurable through a configuration file, i.e., without having to edit the Nix expressions in Nixpkgs. For instance, the Firefox provided in the Nixpkgs channel is built without the RealPlayer plugin (for legal reasons). Previously, you could easily enable RealPlayer support by editing the call to the Firefox function in <filename>all-packages.nix</filename>, but such changes are not respected when Firefox is subsequently updated through the Nixpkgs channel.
</para>
<para>
The Nixpkgs configuration file (found in
<filename>~/.nixpkgs/config.nix</filename> or through the
<envar>NIXPKGS_CONFIG</envar> environment variable) is an attribute set
that contains configuration options that
<filename>all-packages.nix</filename> reads and uses for certain packages.
For instance, the following configuration file:
The Nixpkgs configuration file (found in <filename>~/.nixpkgs/config.nix</filename> or through the <envar>NIXPKGS_CONFIG</envar> environment variable) is an attribute set that contains configuration options that <filename>all-packages.nix</filename> reads and uses for certain packages. For instance, the following configuration file:
<programlisting>
{
firefox = {
@@ -398,9 +315,7 @@ xlink:href='http://nixos.org/releases/nix/nix-0.10/'>Nix 0.10</link>
persistently enables RealPlayer support in the Firefox build.
</para>
<para>
(Actually, <literal>firefox.enableRealPlayer</literal> is the
<emphasis>only</emphasis> configuration option currently available, but
more are sure to be added.)
(Actually, <literal>firefox.enableRealPlayer</literal> is the <emphasis>only</emphasis> configuration option currently available, but more are sure to be added.)
</para>
</listitem>
<listitem>
@@ -409,17 +324,8 @@ xlink:href='http://nixos.org/releases/nix/nix-0.10/'>Nix 0.10</link>
<itemizedlist>
<listitem>
<para>
<literal>i686-cygwin</literal>, i.e., Windows (using
<link xlink:href="http://www.cygwin.com/">Cygwin</link>). The standard
environment on <literal>i686-cygwin</literal> by default builds
binaries for the Cygwin environment (i.e., it uses Cygwin tools and
produces executables that use the Cygwin library). However, there is
also a standard environment that produces binaries that use
<link
xlink:href="http://www.mingw.org/">MinGW</link>. You can
use it by calling <filename>all-package.nix</filename> with the
<varname>stdenvType</varname> argument set to
<literal>"i686-mingw"</literal>.
<literal>i686-cygwin</literal>, i.e., Windows (using <link xlink:href="http://www.cygwin.com/">Cygwin</link>). The standard environment on <literal>i686-cygwin</literal> by default builds binaries for the Cygwin environment (i.e., it uses Cygwin tools and produces executables that use the Cygwin library). However, there is also a standard environment that produces binaries that use <link
xlink:href="http://www.mingw.org/">MinGW</link>. You can use it by calling <filename>all-package.nix</filename> with the <varname>stdenvType</varname> argument set to <literal>"i686-mingw"</literal>.
</para>
</listitem>
<listitem>
@@ -434,9 +340,7 @@ xlink:href='http://nixos.org/releases/nix/nix-0.10/'>Nix 0.10</link>
</listitem>
<listitem>
<para>
<literal>x86_64-linux</literal>, i.e., Linux on 64-bit AMD/Intel CPUs.
Unlike <literal>i686-linux</literal>, this platform doesnt have a
pure <literal>stdenv</literal> yet.
<literal>x86_64-linux</literal>, i.e., Linux on 64-bit AMD/Intel CPUs. Unlike <literal>i686-linux</literal>, this platform doesnt have a pure <literal>stdenv</literal> yet.
</para>
</listitem>
</itemizedlist>
@@ -472,21 +376,10 @@ xlink:href='http://nixos.org/releases/nix/nix-0.10/'>Nix 0.10</link>
</listitem>
<listitem>
<para>
It is now <emphasis>much</emphasis> easier to override the default C
compiler and other tools in <literal>stdenv</literal> for specific
packages. <filename>all-packages.nix</filename> provides two utility
functions for this purpose: <function>overrideGCC</function> and
<function>overrideInStdenv</function>. Both take a
<literal>stdenv</literal> and return an augmented
<literal>stdenv</literal>; the formed changes the C compiler, and the
latter adds additional packages to the front of
<literal>stdenv</literal>s initial <envar>PATH</envar>, allowing tools
to be overridden.
It is now <emphasis>much</emphasis> easier to override the default C compiler and other tools in <literal>stdenv</literal> for specific packages. <filename>all-packages.nix</filename> provides two utility functions for this purpose: <function>overrideGCC</function> and <function>overrideInStdenv</function>. Both take a <literal>stdenv</literal> and return an augmented <literal>stdenv</literal>; the formed changes the C compiler, and the latter adds additional packages to the front of <literal>stdenv</literal>s initial <envar>PATH</envar>, allowing tools to be overridden.
</para>
<para>
For instance, the package <varname>strategoxt</varname> doesnt build
with the GNU Make in <literal>stdenv</literal> (version 3.81), so we call
it with an augmented <literal>stdenv</literal> that uses GNU Make 3.80:
For instance, the package <varname>strategoxt</varname> doesnt build with the GNU Make in <literal>stdenv</literal> (version 3.81), so we call it with an augmented <literal>stdenv</literal> that uses GNU Make 3.80:
<programlisting>
strategoxt = (import ../development/compilers/strategoxt) {
inherit fetchurl pkgconfig sdf aterm;
@@ -494,8 +387,7 @@ strategoxt = (import ../development/compilers/strategoxt) {
};
gnumake380 = <replaceable>...</replaceable>;</programlisting>
Likewise, there are many packages that dont compile with the default
GCC (4.1.1), but thats easily fixed:
Likewise, there are many packages that dont compile with the default GCC (4.1.1), but thats easily fixed:
<programlisting>
exult = import ../games/exult {
inherit fetchurl SDL SDL_mixer zlib libpng unzip;
@@ -505,13 +397,7 @@ exult = import ../games/exult {
</listitem>
<listitem>
<para>
It has also become much easier to experiment with changes to the
<literal>stdenv</literal> setup script (which notably contains the generic
builder). Since edits to <filename>pkgs/stdenv/generic/setup.sh</filename>
trigger a rebuild of <emphasis>everything</emphasis>, this was formerly
quite painful. But now <literal>stdenv</literal> contains a function to
“regenerate” <literal>stdenv</literal> with a different setup script,
allowing the use of a different setup script for specific packages:
It has also become much easier to experiment with changes to the <literal>stdenv</literal> setup script (which notably contains the generic builder). Since edits to <filename>pkgs/stdenv/generic/setup.sh</filename> trigger a rebuild of <emphasis>everything</emphasis>, this was formerly quite painful. But now <literal>stdenv</literal> contains a function to “regenerate” <literal>stdenv</literal> with a different setup script, allowing the use of a different setup script for specific packages:
<programlisting>
pkg = import <replaceable>...</replaceable> {
stdenv = stdenv.regenerate ./my-setup.sh;
@@ -521,10 +407,7 @@ pkg = import <replaceable>...</replaceable> {
</listitem>
<listitem>
<para>
Packages can now have a human-readable <emphasis>description</emphasis>
field. Package descriptions are shown by <literal>nix-env -qa
--description</literal>. In addition, theyre shown on the Nixpkgs
release page. A description can be added to a package as follows:
Packages can now have a human-readable <emphasis>description</emphasis> field. Package descriptions are shown by <literal>nix-env -qa --description</literal>. In addition, theyre shown on the Nixpkgs release page. A description can be added to a package as follows:
<programlisting>
stdenv.mkDerivation {
name = "exult-1.2";
@@ -533,34 +416,26 @@ stdenv.mkDerivation {
description = "A reimplementation of the Ultima VII game engine";
};
}</programlisting>
The <varname>meta</varname> attribute is not passed to the builder, so
changes to the description do not trigger a rebuild. Additional
<varname>meta</varname> attributes may be defined in the future (such as
the URL of the packages homepage, the license, etc.).
The <varname>meta</varname> attribute is not passed to the builder, so changes to the description do not trigger a rebuild. Additional <varname>meta</varname> attributes may be defined in the future (such as the URL of the packages homepage, the license, etc.).
</para>
</listitem>
</itemizedlist>
<para>
The following people contributed to this release: Andres Löh, Armijn Hemel,
Christof Douma, Eelco Dolstra, Eelco Visser, Mart Kolthof, Martin
Bravenboer, Merijn de Jonge, Rob Vermaas and Roy van den Broek.
The following people contributed to this release: Andres Löh, Armijn Hemel, Christof Douma, Eelco Dolstra, Eelco Visser, Mart Kolthof, Martin Bravenboer, Merijn de Jonge, Rob Vermaas and Roy van den Broek.
</para>
</section>
<section xml:id="release-notes-0.9">
<title>Release 0.9 (January 31, 2006)</title>
<para>
There have been zillions of changes since the last release of Nixpkgs. Many
packages have been added or updated. The following are some of the more
notable changes:
There have been zillions of changes since the last release of Nixpkgs. Many packages have been added or updated. The following are some of the more notable changes:
</para>
<itemizedlist>
<listitem>
<para>
Distribution files have been moved to
<link
Distribution files have been moved to <link
xlink:href="http://nixos.org/" />.
</para>
</listitem>
@@ -576,24 +451,17 @@ stdenv.mkDerivation {
</listitem>
<listitem>
<para>
The old, unofficial Xlibs has been replaced by the official modularised
X11 distribution from X.org, i.e., X11R7.0. X11R7.0 consists of 287 (!)
packages, all of which are in Nixpkgs though not all have been tested. It
is now possible to build a working X server (previously we only had X
client libraries). We use a fully Nixified X server on NixOS.
The old, unofficial Xlibs has been replaced by the official modularised X11 distribution from X.org, i.e., X11R7.0. X11R7.0 consists of 287 (!) packages, all of which are in Nixpkgs though not all have been tested. It is now possible to build a working X server (previously we only had X client libraries). We use a fully Nixified X server on NixOS.
</para>
</listitem>
<listitem>
<para>
The Sun JDK 5 has been purified, i.e., it doesnt require any non-Nix
components such as <filename>/lib/ld-linux.so.2</filename>. This means
that Java applications such as Eclipse and Azureus can run on NixOS.
The Sun JDK 5 has been purified, i.e., it doesnt require any non-Nix components such as <filename>/lib/ld-linux.so.2</filename>. This means that Java applications such as Eclipse and Azureus can run on NixOS.
</para>
</listitem>
<listitem>
<para>
Hardware-accelerated OpenGL support, used by games like Quake 3 (which is
now built from source).
Hardware-accelerated OpenGL support, used by games like Quake 3 (which is now built from source).
</para>
</listitem>
<listitem>
@@ -608,8 +476,7 @@ stdenv.mkDerivation {
</listitem>
<listitem>
<para>
Some support for cross-compilation: cross-compiling builds of GCC and
Binutils, and cross-compiled builds of the C library uClibc.
Some support for cross-compilation: cross-compiling builds of GCC and Binutils, and cross-compiled builds of the C library uClibc.
</para>
</listitem>
<listitem>
@@ -618,8 +485,7 @@ stdenv.mkDerivation {
<itemizedlist>
<listitem>
<para>
teTeX, including support for building LaTeX documents using Nix (with
automatic dependency determination).
teTeX, including support for building LaTeX documents using Nix (with automatic dependency determination).
</para>
</listitem>
<listitem>
@@ -629,14 +495,12 @@ stdenv.mkDerivation {
</listitem>
<listitem>
<para>
System-level packages to support NixOS, e.g. Grub, GNU
<literal>parted</literal> and so on.
System-level packages to support NixOS, e.g. Grub, GNU <literal>parted</literal> and so on.
</para>
</listitem>
<listitem>
<para>
<literal>ecj</literal>, the Eclipse Compiler for Java, so we finally
have a freely distributable compiler that supports Java 5.0.
<literal>ecj</literal>, the Eclipse Compiler for Java, so we finally have a freely distributable compiler that supports Java 5.0.
</para>
</listitem>
<listitem>
@@ -661,8 +525,7 @@ stdenv.mkDerivation {
</listitem>
<listitem>
<para>
<literal>kdelibs</literal>. This allows us to add KDE-based packages
(such as <literal>kcachegrind</literal>).
<literal>kdelibs</literal>. This allows us to add KDE-based packages (such as <literal>kcachegrind</literal>).
</para>
</listitem>
</itemizedlist>
@@ -671,17 +534,14 @@ stdenv.mkDerivation {
</itemizedlist>
<para>
The following people contributed to this release: Andres Löh, Armijn Hemel,
Bogdan Dumitriu, Christof Douma, Eelco Dolstra, Eelco Visser, Mart Kolthof,
Martin Bravenboer, Rob Vermaas and Roy van den Broek.
The following people contributed to this release: Andres Löh, Armijn Hemel, Bogdan Dumitriu, Christof Douma, Eelco Dolstra, Eelco Visser, Mart Kolthof, Martin Bravenboer, Rob Vermaas and Roy van den Broek.
</para>
</section>
<section xml:id="release-notes-0.8">
<title>Release 0.8 (April 11, 2005)</title>
<para>
This release is mostly to remain synchronised with the changed hashing
scheme in Nix 0.8.
This release is mostly to remain synchronised with the changed hashing scheme in Nix 0.8.
</para>
<para>
@@ -706,16 +566,10 @@ stdenv.mkDerivation {
<itemizedlist>
<listitem>
<para>
The bootstrap process for the standard build environment on Linux
(stdenv-linux) has been improved. It is no longer dependent in its initial
bootstrap stages on the system Glibc, GCC, and other tools. Rather,
Nixpkgs contains a statically linked bash and curl, and uses that to
download other statically linked tools. These are then used to build a
Glibc and dynamically linked versions of all other tools.
The bootstrap process for the standard build environment on Linux (stdenv-linux) has been improved. It is no longer dependent in its initial bootstrap stages on the system Glibc, GCC, and other tools. Rather, Nixpkgs contains a statically linked bash and curl, and uses that to download other statically linked tools. These are then used to build a Glibc and dynamically linked versions of all other tools.
</para>
<para>
This change also makes the bootstrap process faster. For instance, GCC is
built only once instead of three times.
This change also makes the bootstrap process faster. For instance, GCC is built only once instead of three times.
</para>
<para>
(Contributed by Armijn Hemel.)
@@ -723,17 +577,13 @@ stdenv.mkDerivation {
</listitem>
<listitem>
<para>
Tarballs used by Nixpkgs are now obtained from the same server that hosts
Nixpkgs (<link
xlink:href="http://catamaran.labs.cs.uu.nl/" />). This
reduces the risk of packages being unbuildable due to moved or deleted
files on various servers.
Tarballs used by Nixpkgs are now obtained from the same server that hosts Nixpkgs (<link
xlink:href="http://catamaran.labs.cs.uu.nl/" />). This reduces the risk of packages being unbuildable due to moved or deleted files on various servers.
</para>
</listitem>
<listitem>
<para>
There now is a generic mechanism for building Perl modules. See the
various Perl modules defined in pkgs/system/all-packages-generic.nix.
There now is a generic mechanism for building Perl modules. See the various Perl modules defined in pkgs/system/all-packages-generic.nix.
</para>
</listitem>
<listitem>

View File

@@ -2,72 +2,44 @@
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="sec-reviewing-contributions">
xml:id="chap-reviewing-contributions">
<title>Reviewing contributions</title>
<warning>
<para>
The following section is a draft, and the policy for reviewing is still
being discussed in issues such as
<link
xlink:href="https://github.com/NixOS/nixpkgs/issues/11166">#11166
</link> and
<link
xlink:href="https://github.com/NixOS/nixpkgs/issues/20836">#20836
</link>.
The following section is a draft, and the policy for reviewing is still being discussed in issues such as <link
xlink:href="https://github.com/NixOS/nixpkgs/issues/11166">#11166 </link> and <link
xlink:href="https://github.com/NixOS/nixpkgs/issues/20836">#20836 </link>.
</para>
</warning>
<para>
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 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.
</para>
<para>
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
<link
xlink:href="https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc">most
recently</link> and the
<link
xlink:href="https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc">least
recently</link> updated pull requests. We highly encourage looking at
<link xlink:href="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">
this list of ready to merge, unreviewed pull requests</link>.
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 <link
xlink:href="https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc">most recently</link> and the <link
xlink:href="https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc">least recently</link> updated pull requests. We highly encourage looking at <link xlink:href="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"> this list of ready to merge, unreviewed pull requests</link>.
</para>
<para>
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.
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.
</para>
<para>
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.
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.
</para>
<para>
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.
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.
</para>
<para>
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.
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.
</para>
<section xml:id="reviewing-contributions-package-updates">
<title>Package updates</title>
<para>
A package update is the most trivial and common type of pull request. These
pull requests mainly consist of updating the version part of the package
name and the source hash.
A package update is the most trivial and common type of pull request. These pull requests mainly consist of updating the version part of the package name and the source hash.
</para>
<para>
It can happen that non-trivial updates include patches or more complex
changes.
It can happen that non-trivial updates include patches or more complex changes.
</para>
<para>
@@ -82,8 +54,7 @@
<itemizedlist>
<listitem>
<para>
<literal>8.has: package (update)</literal> and any topic label that fit
the updated package.
<literal>8.has: package (update)</literal> and any topic label that fit the updated package.
</para>
</listitem>
</itemizedlist>
@@ -105,9 +76,7 @@
<itemizedlist>
<listitem>
<para>
<link xlink:href="https://help.github.com/articles/about-codeowners/">CODEOWNERS</link>
will make GitHub notify users based on the submitted changes, but it can
happen that it misses some of the package maintainers.
<link xlink:href="https://help.github.com/articles/about-codeowners/">CODEOWNERS</link> will make GitHub notify users based on the submitted changes, but it can happen that it misses some of the package maintainers.
</para>
</listitem>
</itemizedlist>
@@ -119,15 +88,12 @@
<itemizedlist>
<listitem>
<para>
License can change with version updates, so it should be checked to
match the upstream license.
License can change with version updates, so it should be checked to match the upstream license.
</para>
</listitem>
<listitem>
<para>
If the package has no maintainer, a maintainer must be set. This can be
the update submitter or a community member that accepts to take
maintainership of the package.
If the package has no maintainer, a maintainer must be set. This can be the update submitter or a community member that accepts to take maintainership of the package.
</para>
</listitem>
</itemizedlist>
@@ -144,14 +110,10 @@
<itemizedlist>
<listitem>
<para>
pull requests are often targeted to the master or staging branch, and
building the pull request locally when it is submitted can trigger many
source builds.
pull requests are often targeted to the master or staging branch, and building the pull request locally when it is submitted can trigger many source builds.
</para>
<para>
It is possible to rebase the changes on nixos-unstable or
nixpkgs-unstable for easier review by running the following commands
from a nixpkgs clone.
It is possible to rebase the changes on nixos-unstable or nixpkgs-unstable for easier review by running the following commands from a nixpkgs clone.
<screen>
<prompt>$ </prompt>git remote add channels https://github.com/NixOS/nixpkgs-channels.git <co
xml:id='reviewing-rebase-1' />
@@ -163,8 +125,7 @@
<calloutlist>
<callout arearefs='reviewing-rebase-1'>
<para>
This should be done only once to be able to fetch channel branches
from the nixpkgs-channels repository.
This should be done only once to be able to fetch channel branches from the nixpkgs-channels repository.
</para>
</callout>
<callout arearefs='reviewing-rebase-2'>
@@ -174,9 +135,7 @@
</callout>
<callout arearefs='reviewing-rebase-3'>
<para>
Fetching the pull request changes, <varname>PRNUMBER</varname> is the
number at the end of the pull request title and
<varname>BASEBRANCH</varname> the base branch of the pull request.
Fetching the pull request changes, <varname>PRNUMBER</varname> is the number at the end of the pull request title and <varname>BASEBRANCH</varname> the base branch of the pull request.
</para>
</callout>
<callout arearefs='reviewing-rebase-4'>
@@ -189,15 +148,10 @@
</listitem>
<listitem>
<para>
The
<link xlink:href="https://github.com/Mic92/nix-review">nix-review</link>
tool can be used to review a pull request content in a single command.
<varname>PRNUMBER</varname> should be replaced by the number at the end
of the pull request title. You can also provide the full github pull
request url.
The <link xlink:href="https://github.com/Mic92/nixpkgs-review">nixpkgs-review</link> tool can be used to review a pull request content in a single command. <varname>PRNUMBER</varname> should be replaced by the number at the end of the pull request title. You can also provide the full github pull request url.
</para>
<screen>
<prompt>$ </prompt>nix-shell -p nix-review --run "nix-review pr PRNUMBER"
<prompt>$ </prompt>nix-shell -p nixpkgs-review --run "nixpkgs-review pr PRNUMBER"
</screen>
</listitem>
</itemizedlist>
@@ -231,8 +185,7 @@
<title>New packages</title>
<para>
New packages are a common type of pull requests. These pull requests
consists in adding a new nix-expression for a package.
New packages are a common type of pull requests. These pull requests consists in adding a new nix-expression for a package.
</para>
<para>
@@ -247,8 +200,7 @@
<itemizedlist>
<listitem>
<para>
<literal>8.has: package (new)</literal> and any topic label that fit the
new package.
<literal>8.has: package (new)</literal> and any topic label that fit the new package.
</para>
</listitem>
</itemizedlist>
@@ -280,8 +232,7 @@
</listitem>
<listitem>
<para>
A maintainer must be set. This can be the package submitter or a
community member that accepts to take maintainership of the package.
A maintainer must be set. This can be the package submitter or a community member that accepts to take maintainership of the package.
</para>
</listitem>
</itemizedlist>
@@ -303,8 +254,7 @@
</listitem>
<listitem>
<para>
The most appropriate function should be used (e.g. packages from GitHub
should use <literal>fetchFromGitHub</literal>).
The most appropriate function should be used (e.g. packages from GitHub should use <literal>fetchFromGitHub</literal>).
</para>
</listitem>
</itemizedlist>
@@ -351,8 +301,7 @@
<title>Module updates</title>
<para>
Module updates are submissions changing modules in some ways. These often
contains changes to the options or introduce new options.
Module updates are submissions changing modules in some ways. These often contains changes to the options or introduce new options.
</para>
<para>
@@ -367,8 +316,7 @@
<itemizedlist>
<listitem>
<para>
<literal>8.has: module (update)</literal> and any topic label that fit
the module.
<literal>8.has: module (update)</literal> and any topic label that fit the module.
</para>
</listitem>
</itemizedlist>
@@ -380,9 +328,7 @@
<itemizedlist>
<listitem>
<para>
<link xlink:href="https://help.github.com/articles/about-codeowners/">CODEOWNERS</link>
will make GitHub notify users based on the submitted changes, but it can
happen that it misses some of the package maintainers.
<link xlink:href="https://help.github.com/articles/about-codeowners/">CODEOWNERS</link> will make GitHub notify users based on the submitted changes, but it can happen that it misses some of the package maintainers.
</para>
</listitem>
</itemizedlist>
@@ -399,9 +345,7 @@
<itemizedlist>
<listitem>
<para>
Type should be appropriate (string related types differs in their
merging capabilities, <literal>optionSet</literal> and
<literal>string</literal> types are deprecated).
Type should be appropriate (string related types differs in their merging capabilities, <literal>optionSet</literal> and <literal>string</literal> types are deprecated).
</para>
</listitem>
<listitem>
@@ -418,23 +362,19 @@
<itemizedlist>
<listitem>
<para>
<literal>mkRenamedOptionModule</literal> and
<literal>mkAliasOptionModule</literal> functions provide way to make
option changes backward compatible.
<literal>mkRenamedOptionModule</literal> and <literal>mkAliasOptionModule</literal> functions provide way to make option changes backward compatible.
</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>
Ensure that removed options are declared with
<literal>mkRemovedOptionModule</literal>
Ensure that removed options are declared with <literal>mkRemovedOptionModule</literal>
</para>
</listitem>
<listitem>
<para>
Ensure that changes that are not backward compatible are mentioned in
release notes.
Ensure that changes that are not backward compatible are mentioned in release notes.
</para>
</listitem>
<listitem>
@@ -480,8 +420,7 @@
<itemizedlist>
<listitem>
<para>
<literal>8.has: module (new)</literal> and any topic label that fit the
module.
<literal>8.has: module (new)</literal> and any topic label that fit the module.
</para>
</listitem>
</itemizedlist>
@@ -498,9 +437,7 @@
<itemizedlist>
<listitem>
<para>
Type should be appropriate (string related types differs in their
merging capabilities, <literal>optionSet</literal> and
<literal>string</literal> types are deprecated).
Type should be appropriate (string related types differs in their merging capabilities, <literal>optionSet</literal> and <literal>string</literal> types are deprecated).
</para>
</listitem>
<listitem>
@@ -522,8 +459,7 @@
</listitem>
<listitem>
<para>
Module documentation should be declared with
<literal>meta.doc</literal>.
Module documentation should be declared with <literal>meta.doc</literal>.
</para>
</listitem>
</itemizedlist>
@@ -535,8 +471,7 @@
<itemizedlist>
<listitem>
<para>
For example, enabling a module should not open firewall ports by
default.
For example, enabling a module should not open firewall ports by default.
</para>
</listitem>
</itemizedlist>
@@ -573,25 +508,18 @@
</para>
<para>
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.
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.
</para>
<para>
Container system, boot system and library changes are some examples of the
pull requests fitting this category.
Container system, boot system and library changes are some examples of the pull requests fitting this category.
</para>
</section>
<section xml:id="reviewing-contributions--merging-pull-requests">
<title>Merging pull requests</title>
<para>
It is possible for community members that have enough knowledge and
experience on a special topic to contribute by merging pull requests.
It is possible for community members that have enough knowledge and experience on a special topic to contribute by merging pull requests.
</para>
<para>
@@ -608,12 +536,8 @@ policy.
-->
<para>
In a case a contributor definitively leaves the Nix community, they should
create an issue or post on
<link
xlink:href="https://discourse.nixos.org">Discourse</link> with
references of packages and modules they maintain so the maintainership can
be taken over by other contributors.
In a case a contributor definitively leaves the Nix community, they should create an issue or post on <link
xlink:href="https://discourse.nixos.org">Discourse</link> with references of packages and modules they maintain so the maintainership can be taken over by other contributors.
</para>
</section>
</chapter>

File diff suppressed because it is too large Load Diff

View File

@@ -8,8 +8,7 @@
<itemizedlist>
<listitem>
<para>
Read <link xlink:href="https://nixos.org/nixpkgs/manual/">Manual (How to
write packages for Nix)</link>.
Read <link xlink:href="https://nixos.org/nixpkgs/manual/">Manual (How to write packages for Nix)</link>.
</para>
</listitem>
<listitem>
@@ -23,15 +22,11 @@
<itemizedlist>
<listitem>
<para>
You can make branch from a commit of your local
<command>nixos-version</command>. That will help you to avoid
additional local compilations. Because you will receive packages from
binary cache.
You can make branch from a commit of your local <command>nixos-version</command>. That will help you to avoid additional local compilations. Because you will receive packages from binary cache.
<itemizedlist>
<listitem>
<para>
For example: <command>nixos-version</command> returns
<command>15.05.git.0998212 (Dingo)</command>. So you can do:
For example: <command>nixos-version</command> returns <command>15.05.git.0998212 (Dingo)</command>. So you can do:
</para>
</listitem>
</itemizedlist>
@@ -55,9 +50,7 @@
<itemizedlist>
<listitem>
<para>
If you removed pkgs, made some major NixOS changes etc., write about
them in
<command>nixos/doc/manual/release-notes/rl-unstable.xml</command>.
If you removed pkgs, made some major NixOS changes etc., write about them in <command>nixos/doc/manual/release-notes/rl-unstable.xml</command>.
</para>
</listitem>
</itemizedlist>
@@ -65,8 +58,7 @@
</listitem>
<listitem>
<para>
Check for unnecessary whitespace with <command>git diff --check</command>
before committing.
Check for unnecessary whitespace with <command>git diff --check</command> before committing.
</para>
</listitem>
<listitem>
@@ -121,8 +113,7 @@ Additional information.
<itemizedlist>
<listitem>
<para>
<command>nix-env -i pkg-name -f &lt;path to your local nixpkgs
folder&gt;</command>
<command>nix-env -i pkg-name -f &lt;path to your local nixpkgs folder&gt;</command>
</para>
</listitem>
</itemizedlist>
@@ -134,14 +125,12 @@ Additional information.
<itemizedlist>
<listitem>
<para>
Make sure it's in
<command>pkgs/top-level/all-packages.nix</command>
Make sure it's in <command>pkgs/top-level/all-packages.nix</command>
</para>
</listitem>
<listitem>
<para>
<command>nix-env -i pkg-name -f &lt;path to your local nixpkgs
folder&gt;</command>
<command>nix-env -i pkg-name -f &lt;path to your local nixpkgs folder&gt;</command>
</para>
</listitem>
</itemizedlist>
@@ -149,15 +138,11 @@ Additional information.
</listitem>
<listitem>
<para>
<emphasis>If you don't want to install pkg in you
profile</emphasis>.
<emphasis>If you don't want to install pkg in you profile</emphasis>.
<itemizedlist>
<listitem>
<para>
<command>nix-build -A pkg-attribute-name &lt;path to your local
nixpkgs folder&gt;/default.nix</command> and check results in the
folder <command>result</command>. It will appear in the same
directory where you did <command>nix-build</command>.
<command>nix-build -A pkg-attribute-name &lt;path to your local nixpkgs folder&gt;/default.nix</command> and check results in the folder <command>result</command>. It will appear in the same directory where you did <command>nix-build</command>.
</para>
</listitem>
</itemizedlist>
@@ -165,9 +150,7 @@ Additional information.
</listitem>
<listitem>
<para>
If you did <command>nix-env -i pkg-name</command> you can do
<command>nix-env -e pkg-name</command> to uninstall it from your
system.
If you did <command>nix-env -i pkg-name</command> you can do <command>nix-env -e pkg-name</command> to uninstall it from your system.
</para>
</listitem>
</itemizedlist>
@@ -179,10 +162,7 @@ Additional information.
<itemizedlist>
<listitem>
<para>
You can add new module to your NixOS configuration file (usually
it's <command>/etc/nixos/configuration.nix</command>). And do
<command>sudo nixos-rebuild test -I nixpkgs=&lt;path to your local
nixpkgs folder&gt; --fast</command>.
You can add new module to your NixOS configuration file (usually it's <command>/etc/nixos/configuration.nix</command>). And do <command>sudo nixos-rebuild test -I nixpkgs=&lt;path to your local nixpkgs folder&gt; --fast</command>.
</para>
</listitem>
</itemizedlist>
@@ -193,9 +173,7 @@ Additional information.
</listitem>
<listitem>
<para>
If you have commits <command>pkg-name: oh, forgot to insert
whitespace</command>: squash commits in this case. Use <command>git rebase
-i</command>.
If you have commits <command>pkg-name: oh, forgot to insert whitespace</command>: squash commits in this case. Use <command>git rebase -i</command>.
</para>
</listitem>
<listitem>
@@ -220,8 +198,7 @@ Additional information.
<itemizedlist>
<listitem>
<para>
Write the title in format <command>(pkg-name | nixos/&lt;module>):
improvement</command>.
Write the title in format <command>(pkg-name | nixos/&lt;module>): improvement</command>.
<itemizedlist>
<listitem>
<para>
@@ -233,8 +210,7 @@ Additional information.
</listitem>
<listitem>
<para>
Write in comment if you have tested your patch. Do not rely much on
<command>TravisCI</command>.
Write in comment if you have tested your patch. Do not rely much on <command>TravisCI</command>.
</para>
</listitem>
<listitem>
@@ -244,8 +220,7 @@ Additional information.
</listitem>
<listitem>
<para>
Notify maintainers of the package. For example add to the message:
<command>cc @jagajaga @domenkozar</command>.
Notify maintainers of the package. For example add to the message: <command>cc @jagajaga @domenkozar</command>.
</para>
</listitem>
</itemizedlist>
@@ -257,64 +232,39 @@ Additional information.
<title>Pull Request Template</title>
<para>
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.
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.
</para>
<para>
When a PR is created, it will be pre-populated with some checkboxes detailed
below:
When a PR is created, it will be pre-populated with some checkboxes detailed below:
</para>
<section xml:id="submitting-changes-tested-with-sandbox">
<title>Tested using sandboxing</title>
<para>
When sandbox builds are enabled, Nix will setup an isolated environment for
each build process. It is used to remove further hidden dependencies set by
the build environment to improve reproducibility. This includes access to
the network during the build outside of <function>fetch*</function>
functions and files outside the Nix store. Depending on the operating
system access to other resources are blocked as well (ex. inter process
communication is isolated on Linux); see
<link
xlink:href="https://nixos.org/nix/manual/#description-45">build-use-sandbox</link>
in Nix manual for details.
When sandbox builds are enabled, Nix will setup an isolated environment for each build process. It is used to remove further hidden dependencies set by the build environment to improve reproducibility. This includes access to the network during the build outside of <function>fetch*</function> functions and files outside the Nix store. Depending on the operating system access to other resources are blocked as well (ex. inter process communication is isolated on Linux); see <link
xlink:href="https://nixos.org/nix/manual/#description-45">build-use-sandbox</link> in Nix manual for details.
</para>
<para>
Sandboxing is not enabled by default in Nix due to a small performance hit
on each build. In pull requests for
<link
xlink:href="https://github.com/NixOS/nixpkgs/">nixpkgs</link>
people are asked to test builds with sandboxing enabled (see
<literal>Tested using sandboxing</literal> in the pull request template)
because
in<link
xlink:href="https://nixos.org/hydra/">https://nixos.org/hydra/</link>
sandboxing is also used.
Sandboxing is not enabled by default in Nix due to a small performance hit on each build. In pull requests for <link
xlink:href="https://github.com/NixOS/nixpkgs/">nixpkgs</link> people are asked to test builds with sandboxing enabled (see <literal>Tested using sandboxing</literal> in the pull request template) because in<link
xlink:href="https://nixos.org/hydra/">https://nixos.org/hydra/</link> sandboxing is also used.
</para>
<para>
Depending if you use NixOS or other platforms you can use one of the
following methods to enable sandboxing
<emphasis role="bold">before</emphasis> building the package:
Depending if you use NixOS or other platforms you can use one of the following methods to enable sandboxing <emphasis role="bold">before</emphasis> building the package:
<itemizedlist>
<listitem>
<para>
<emphasis role="bold">Globally enable sandboxing on NixOS</emphasis>:
add the following to <filename>configuration.nix</filename>
<emphasis role="bold">Globally enable sandboxing on NixOS</emphasis>: add the following to <filename>configuration.nix</filename>
<screen>nix.useSandbox = true;</screen>
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">Globally enable sandboxing on non-NixOS
platforms</emphasis>: add the following to:
<filename>/etc/nix/nix.conf</filename>
<emphasis role="bold">Globally enable sandboxing on non-NixOS platforms</emphasis>: add the following to: <filename>/etc/nix/nix.conf</filename>
<screen>build-use-sandbox = true</screen>
</para>
</listitem>
@@ -326,11 +276,7 @@ Additional information.
<title>Built on platform(s)</title>
<para>
Many Nix packages are designed to run on multiple platforms. As such, it's
important to let the maintainer know which platforms your changes have been
tested on. It's 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.
Many Nix packages are designed to run on multiple platforms. As such, it's important to let the maintainer know which platforms your changes have been tested on. It's 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.
</para>
</section>
@@ -338,37 +284,31 @@ Additional information.
<title>Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)</title>
<para>
Packages with automated tests are much more likely to be merged in a timely
fashion because it doesn't 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 only apply to packages with NixOS modules defined and can only
be run on Linux. For more details on writing and running tests, see the
<link
xlink:href="https://nixos.org/nixos/manual/index.html#sec-nixos-tests">section
in the NixOS manual</link>.
Packages with automated tests are much more likely to be merged in a timely fashion because it doesn't 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 only apply to packages with NixOS modules defined and can only be run on Linux. For more details on writing and running tests, see the <link
xlink:href="https://nixos.org/nixos/manual/index.html#sec-nixos-tests">section in the NixOS manual</link>.
</para>
</section>
<section xml:id="submitting-changes-tested-compilation">
<title>Tested compilation of all pkgs that depend on this change using <command>nix-review</command></title>
<title>Tested compilation of all pkgs that depend on this change using <command>nixpkgs-review</command></title>
<para>
If you are updating a package's version, you can use nix-review to make
sure all packages that depend on the updated package still compile
correctly. The <command>nix-review</command> utility can look for and build
all dependencies either based on uncommited changes with the
<literal>wip</literal> option or specifying a github pull request number.
If you are updating a package's version, you can use nixpkgs-review to make sure all packages that depend on the updated package still compile correctly. The <command>nixpkgs-review</command> utility can look for and build all dependencies either based on uncommited changes with the <literal>wip</literal> option or specifying a github pull request number.
</para>
<para>
review changes from pull request number 12345:
<screen>nix-shell -p nix-review --run "nix-review pr 12345"</screen>
<screen>nix run nixpkgs.nixpkgs-review -c nixpkgs-review pr 12345</screen>
</para>
<para>
review uncommitted changes:
<screen>nix-shell -p nix-review --run "nix-review wip"</screen>
<screen>nix run nixpkgs.nixpkgs-review -c nixpkgs-review wip</screen>
</para>
<para>
review changes from last commit:
<screen>nix run nixpkgs.nixpkgs-review -c nixpkgs-review rev HEAD</screen>
</para>
</section>
@@ -376,13 +316,7 @@ Additional information.
<title>Tested execution of all binary files (usually in <filename>./result/bin/</filename>)</title>
<para>
It's 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
<filename>./result/bin</filename> and running any files in there, or at a
minimum, the main executable for the package. For example, if you make a
change to <package>texlive</package>, you probably would only check the
binaries associated with the change you made rather than testing all of
them.
It's 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 <filename>./result/bin</filename> and running any files in there, or at a minimum, the main executable for the package. For example, if you make a change to <package>texlive</package>, you probably would only check the binaries associated with the change you made rather than testing all of them.
</para>
</section>
@@ -390,14 +324,8 @@ Additional information.
<title>Meets Nixpkgs contribution standards</title>
<para>
The last checkbox is fits
<link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md">CONTRIBUTING.md</link>.
The contributing document has detailed information on standards the Nix
community has for commit messages, reviews, licensing of contributions you
make to the project, etc... Everyone should read and understand the
standards the community has for contributing before submitting a pull
request.
The last checkbox is fits <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md">CONTRIBUTING.md</link>. The contributing document has detailed information on standards the Nix community has for commit messages, reviews, licensing of contributions you make to the project, etc... Everyone should read and understand the standards the community has for contributing before submitting a pull request.
</para>
</section>
</section>
@@ -435,61 +363,49 @@ Additional information.
<itemizedlist>
<listitem>
<para>
Commits must be sufficiently tested before being merged, both for the
master and staging branches.
Commits must be sufficiently tested before being merged, both for the master and staging branches.
</para>
</listitem>
<listitem>
<para>
Hydra builds for master and staging should not be used as testing
platform, it's a build farm for changes that have been already tested.
Hydra builds for master and staging should not be used as testing platform, it's a build farm for changes that have been already tested.
</para>
</listitem>
<listitem>
<para>
When changing the bootloader installation process, extra care must be
taken. Grub installations cannot be rolled back, hence changes may break
people's installations forever. For any non-trivial change to the
bootloader please file a PR asking for review, especially from @edolstra.
When changing the bootloader installation process, extra care must be taken. Grub installations cannot be rolled back, hence changes may break people's installations forever. For any non-trivial change to the bootloader please file a PR asking for review, especially from @edolstra.
</para>
</listitem>
</itemizedlist>
<section xml:id="submitting-changes-master-branch">
<title>Master branch</title>
<itemizedlist>
<listitem>
<para>
It should only see non-breaking commits that do not cause mass rebuilds.
</para>
</listitem>
</itemizedlist>
<para>
The <literal>master</literal> branch is the main development branch.
It should only see non-breaking commits that do not cause mass rebuilds.
</para>
</section>
<section xml:id="submitting-changes-staging-branch">
<title>Staging branch</title>
<para>
The <literal>staging</literal> branch is a development branch where mass-rebuilds go.
It should only see non-breaking mass-rebuild commits.
That means it is not to be used for testing, and changes must have been well tested already.
If the branch is already in a broken state, please refrain from adding extra new breakages.
</para>
</section>
<itemizedlist>
<listitem>
<para>
It's only for non-breaking mass-rebuild commits. That means it's not to
be used for testing, and changes must have been well tested already.
<link xlink:href="https://web.archive.org/web/20160528180406/http://comments.gmane.org/gmane.linux.distributions.nixos/13447">Read
policy here</link>.
</para>
</listitem>
<listitem>
<para>
If the branch is already in a broken state, please refrain from adding
extra new breakages. Stabilize it for a few days, merge into master, then
resume development on staging.
<link xlink:href="http://hydra.nixos.org/jobset/nixpkgs/staging#tabs-evaluations">Keep
an eye on the staging evaluations here</link>. If any fixes for staging
happen to be already in master, then master can be merged into staging.
</para>
</listitem>
</itemizedlist>
<section xml:id="submitting-changes-staging-next-branch">
<title>Staging-next branch</title>
<para>
The <literal>staging-next</literal> branch is for stabilizing mass-rebuilds submitted to the <literal>staging</literal> branch prior to merging them into <literal>master</literal>.
Mass-rebuilds should go via the <literal>staging</literal> branch.
It should only see non-breaking commits that are fixing issues blocking it from being merged into the <literal>master </literal> branch.
</para>
<para>
If the branch is already in a broken state, please refrain from adding extra new breakages. Stabilize it for a few days and then merge into master.
</para>
</section>
<section xml:id="submitting-changes-stable-release-branches">
@@ -498,10 +414,7 @@ Additional information.
<itemizedlist>
<listitem>
<para>
If you're cherry-picking a commit to a stable release branch, always use
<command>git cherry-pick -xe</command> and ensure the message contains a
clear description about why this needs to be included in the stable
branch.
If you're cherry-picking a commit to a stable release branch, always use <command>git cherry-pick -xe</command> and ensure the message contains a clear description about why this needs to be included in the stable branch.
</para>
<para>
An example of a cherry-picked commit would look like this:

View File

@@ -84,7 +84,8 @@ let
hasInfix hasPrefix hasSuffix stringToCharacters stringAsChars escape
escapeShellArg escapeShellArgs replaceChars lowerChars
upperChars toLower toUpper addContextFrom splitString
removePrefix removeSuffix versionOlder versionAtLeast getVersion
removePrefix removeSuffix versionOlder versionAtLeast
getName getVersion
nameFromURL enableFeature enableFeatureAs withFeature
withFeatureAs fixedWidthString fixedWidthNumber isStorePath
toInt readPathsFromFile fileContents;
@@ -134,5 +135,7 @@ let
mergeAttrsByFuncDefaultsClean mergeAttrBy
fakeSha256 fakeSha512
nixType imap;
inherit (versions)
splitVersion;
});
in lib

View File

@@ -591,12 +591,16 @@ rec {
{ options, ... }:
{ options = setAttrByPath optionName (mkOption {
visible = false;
apply = x: throw "The option `${showOption optionName}' can no longer be used since it's been removed. ${replacementInstructions}";
});
config.warnings =
let opt = getAttrFromPath optionName options; in
optional opt.isDefined ''
config.assertions =
let opt = getAttrFromPath optionName options; in [{
assertion = !opt.isDefined;
message = ''
The option definition `${showOption optionName}' in ${showFiles opt.files} no longer has any effect; please remove it.
${replacementInstructions}'';
${replacementInstructions}
'';
}];
};
/* Return a module that causes a warning to be shown if the

View File

@@ -472,6 +472,23 @@ rec {
*/
versionAtLeast = v1: v2: !versionOlder v1 v2;
/* This function takes an argument that's either a derivation or a
derivation's "name" attribute and extracts the name part from that
argument.
Example:
getName "youtube-dl-2016.01.01"
=> "youtube-dl"
getName pkgs.youtube-dl
=> "youtube-dl"
*/
getName = x:
let
parse = drv: (builtins.parseDrvName drv).name;
in if isString x
then parse x
else x.pname or (parse x.name);
/* This function takes an argument that's either a derivation or a
derivation's "name" attribute and extracts the version part from that
argument.

View File

@@ -7,7 +7,7 @@ let
all = [
"aarch64-linux"
"armv5tel-linux" "armv6l-linux" "armv7l-linux"
"armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux"
"mipsel-linux"
@@ -27,6 +27,8 @@ let
"riscv32-linux" "riscv64-linux"
"aarch64-none" "avr-none" "arm-none" "i686-none" "x86_64-none" "powerpc-none" "msp430-none" "riscv64-none" "riscv32-none"
"js-ghcjs"
];
allParsed = map parse.mkSystemFromString all;
@@ -45,6 +47,7 @@ in {
x86_64 = filterDoubles predicates.isx86_64;
mips = filterDoubles predicates.isMips;
riscv = filterDoubles predicates.isRiscV;
js = filterDoubles predicates.isJavaScript;
cygwin = filterDoubles predicates.isCygwin;
darwin = filterDoubles predicates.isDarwin;

View File

@@ -207,7 +207,7 @@ rec {
# 32 bit mingw-w64
mingw32 = {
config = "i686-pc-mingw32";
config = "i686-w64-mingw32";
libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
platform = {};
};
@@ -215,7 +215,7 @@ rec {
# 64 bit mingw-w64
mingwW64 = {
# That's the triplet they use in the mingw-w64 docs.
config = "x86_64-pc-mingw32";
config = "x86_64-w64-mingw32";
libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
platform = {};
};

View File

@@ -208,6 +208,9 @@ rec {
vendors = setTypes types.openVendor {
apple = {};
pc = {};
# Actually matters, unlocking some MinGW-w64-specific options in GCC. See
# bottom of https://sourceforge.net/p/mingw-w64/wiki2/Unicode%20apps/
w64 = {};
none = {};
unknown = {};

View File

@@ -12,9 +12,9 @@ let
expected = lib.sort lib.lessThan y;
};
in with lib.systems.doubles; lib.runTests {
testall = mseteq all (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos ++ wasi ++ windows ++ embedded);
testall = mseteq all (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos ++ wasi ++ windows ++ embedded ++ js);
testarm = mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv7l-linux" "arm-none" "armv7a-darwin" ];
testarm = mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "arm-none" "armv7a-darwin" ];
testi686 = mseteq i686 [ "i686-linux" "i686-freebsd" "i686-netbsd" "i686-openbsd" "i686-cygwin" "i686-windows" "i686-none" "i686-darwin" ];
testmips = mseteq mips [ "mipsel-linux" ];
testx86_64 = mseteq x86_64 [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin" "x86_64-solaris" "x86_64-windows" "x86_64-none" ];
@@ -24,7 +24,7 @@ in with lib.systems.doubles; lib.runTests {
testfreebsd = mseteq freebsd [ "i686-freebsd" "x86_64-freebsd" ];
testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */);
testillumos = mseteq illumos [ "x86_64-solaris" ];
testlinux = mseteq linux [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "i686-linux" "mipsel-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" "powerpc64le-linux" ];
testlinux = mseteq linux [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "i686-linux" "mipsel-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" "powerpc64le-linux" ];
testnetbsd = mseteq netbsd [ "i686-netbsd" "x86_64-netbsd" ];
testopenbsd = mseteq openbsd [ "i686-openbsd" "x86_64-openbsd" ];
testwindows = mseteq windows [ "i686-cygwin" "x86_64-cygwin" "i686-windows" "x86_64-windows" ];

View File

@@ -242,8 +242,7 @@ rec {
path = mkOptionType {
name = "path";
# Hacky: there is no isPath primop.
check = x: builtins.substring 0 1 (toString x) == "/";
check = x: isCoercibleToString x && builtins.substring 0 1 (toString x) == "/";
merge = mergeEqualOption;
};

View File

@@ -1,14 +1,16 @@
/* Version string functions. */
{ lib }:
let
rec {
/* Break a version string into its component parts.
Example:
splitVersion "1.2.3"
=> ["1" "2" "3"]
*/
splitVersion = builtins.splitVersion or (lib.splitString ".");
in
{
/* Get the major version string from a string.
Example:

View File

@@ -1427,6 +1427,12 @@
githubId = 245394;
name = "Hannu Hartikainen";
};
danderson = {
email = "dave@natulte.net";
github = "danderson";
githubId = 1918;
name = "David Anderson";
};
danharaj = {
email = "dan@obsidian.systems";
github = "danharaj";
@@ -1977,6 +1983,12 @@
email = "mpcervin@uncg.edu";
name = "Mabry Cervin";
};
equirosa = {
email = "eduardo@eduardoquiros.com";
github = "equirosa";
githubId = 39096810;
name = "Eduardo Quiros";
};
eqyiel = {
email = "ruben@maher.fyi";
github = "eqyiel";
@@ -2348,6 +2360,12 @@
github = "gavinrogers";
name = "Gavin Rogers";
};
gazally = {
email = "gazally@runbox.com";
github = "gazally";
githubId = 16470252;
name = "Gemini Lasswell";
};
gebner = {
email = "gebner@gebner.org";
github = "gebner";
@@ -2900,6 +2918,12 @@
githubId = 1198065;
name = "Jeffrey David Johnson";
};
jefflabonte = {
email = "grimsleepless@protonmail.com";
github = "jefflabonte";
githubId = 9425955;
name = "Jean-François Labonté";
};
jensbin = {
email = "jensbin+git@pm.me";
github = "jensbin";
@@ -3166,6 +3190,16 @@
githubId = 4611077;
name = "Raymond Gauthier";
};
jtcoolen = {
email = "jtcoolen@pm.me";
name = "Julien Coolen";
github = "jtcoolen";
githubId = 54635632;
keys = [{
longkeyid = "rsa4096/0x19642151C218F6F5";
fingerprint = "4C68 56EE DFDA 20FB 77E8 9169 1964 2151 C218 F6F5";
}];
};
jtobin = {
email = "jared@jtobin.io";
github = "jtobin";
@@ -3951,6 +3985,12 @@
githubId = 1269099;
name = "Marius Bakke";
};
mbaillie = {
email = "martin@baillie.email";
github = "martinbaillie";
githubId = 613740;
name = "Martin Baillie";
};
mbbx6spp = {
email = "me@susanpotter.net";
github = "mbbx6spp";
@@ -6824,6 +6864,12 @@
githubId = 3889405;
name = "vyp";
};
wamserma = {
name = "Markus S. Wamser";
email = "github-dev@mail2013.wamser.eu";
github = "wamserma";
githubId = 60148;
};
waynr = {
name = "Wayne Warren";
email = "wayne.warren.s@gmail.com";
@@ -6894,7 +6940,7 @@
email = "worldofpeace@protonmail.ch";
github = "worldofpeace";
githubId = 28888242;
name = "Worldofpeace";
name = "worldofpeace";
};
wscott = {
email = "wsc9tt@gmail.com";

View File

@@ -6,7 +6,7 @@ exec >${1:?usage: $0 <output-file>}
cat <<EOF
{ branch ? "stable", pkgs }:
# Generated by /maintainers/scripts/update-discord
let
inherit (pkgs) callPackage fetchurl;
in {
@@ -16,7 +16,7 @@ for branch in "" ptb canary; do
url=$(curl -sI "https://discordapp.com/api/download${branch:+/}${branch}?platform=linux&format=tar.gz" | grep -oP 'location: \K\S+')
version=${url##https://dl*.discordapp.net/apps/linux/}
version=${version%%/*.tar.gz}
echo " ${branch:-stable} = callPackage ./base.nix {"
echo " ${branch:-stable} = callPackage ./base.nix rec {"
echo " pname = \"discord${branch:+-}${branch}\";"
case $branch in
"") suffix="" ;;
@@ -27,7 +27,7 @@ for branch in "" ptb canary; do
echo " desktopName = \"Discord${suffix:+ }${suffix}\";"
echo " version = \"${version}\";"
echo " src = fetchurl {"
echo " url = \"${url}\";"
echo " url = \"${url//${version}/\$\{version\}}\";"
echo " sha256 = \"$(nix-prefetch-url "$url")\";"
echo " };"
echo " };"

View File

@@ -126,7 +126,7 @@ let
packageData = package: {
name = package.name;
pname = (builtins.parseDrvName package.name).name;
pname = pkgs.lib.getName package;
updateScript = map builtins.toString (pkgs.lib.toList package.updateScript);
};

View File

@@ -19,10 +19,17 @@
NixOS lets you specify networks for wpa_supplicant declaratively:
<programlisting>
<xref linkend="opt-networking.wireless.networks"/> = {
echelon = {
echelon = { # SSID with no spaces or special characters
psk = "abcdefgh";
};
"free.wifi" = {};
"echelon's AP" = { # SSID with spaces and/or special characters
psk = "ijklmnop";
};
echelon = { # Hidden SSID
hidden = true;
psk = "qrstuvwx";
};
free.wifi = {}; # Public wireless network
};
</programlisting>
Be aware that keys will be written to the nix store in plaintext! When no

View File

@@ -45,12 +45,12 @@
<listitem>
<para>
<literal>git tag -a -s -m &quot;Release 17.09-beta&quot; 17.09-beta
&amp;&amp; git push --tags</literal>
&amp;&amp; git push origin 17.09-beta</literal>
</para>
</listitem>
<listitem>
<para>
From the master branch run <literal>git checkout -B
From the master branch run <literal>git checkout -b
release-17.09</literal>.
</para>
</listitem>
@@ -157,7 +157,7 @@
<listitem>
<para>
Release Nix (currently only Eelco Dolstra can do that).
<link xlink:href="https://github.com/NixOS/nixpkgs/commit/53710c752a85f00658882531bc90a23a3d1287e4">
<link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/installer/tools/nix-fallback-paths.nix">
Make sure fallback is updated. </link>
</para>
</listitem>
@@ -169,8 +169,8 @@
</listitem>
<listitem>
<para>
Change <literal>stableBranch</literal> to true and wait for channel to
update.
Change <literal>stableBranch</literal> to <literal>true</literal> in Hydra and wait for
the channel to update.
</para>
</listitem>
</itemizedlist>
@@ -193,9 +193,11 @@
</listitem>
<listitem>
<para>
Update http://nixos.org/nixos/download.html and
http://nixos.org/nixos/manual in
https://github.com/NixOS/nixos-org-configurations
Update the
<link xlink:href="https://github.com/NixOS/nixos-homepage/commit/2a37975d5a617ecdfca94696242b6f32ffcba9f1"><code>NIXOS_SERIES</code></link>
in the
<link xlink:href="https://github.com/NixOS/nixos-homepage">nixos-homepage</link>
repository.
</para>
</listitem>
<listitem>
@@ -212,7 +214,8 @@
</listitem>
<listitem>
<para>
Send an email to nix-dev to announce the release with above information.
Create a new topic on <link xlink:href="https://discourse.nixos.org/">the
Discourse instance</link> to announce the release with the above information.
Best to check how previous email was formulated to see what needs to be
included.
</para>

View File

@@ -68,7 +68,7 @@
If you would like to continue the installation from a different machine you
need to activate the SSH daemon via <command>systemctl start
sshd</command>. You then must set a password for either <literal>root</literal> or
<literal>nixos</literal> with <command>passwd></command> to be able to login.
<literal>nixos</literal> with <command>passwd</command> to be able to login.
</para>
</section>
</section>
@@ -392,7 +392,11 @@
<filename>hardware-configuration.nix</filename> is included from
<filename>configuration.nix</filename> and will be overwritten by future
invocations of <command>nixos-generate-config</command>; thus, you
generally should not modify it.)
generally should not modify it.) Additionally, you may want to look at
<link xlink:href="https://github.com/NixOS/nixos-hardware">Hardware
configuration for known-hardware</link> at this point or after
installation.
</para>
<note>
<para>
@@ -414,11 +418,11 @@
Do the installation:
<screen>
<prompt># </prompt>nixos-install</screen>
Cross fingers. If this fails due to a temporary problem (such as a network
issue while downloading binaries from the NixOS binary cache), you can
just re-run <command>nixos-install</command>. Otherwise, fix your
<filename>configuration.nix</filename> and then re-run
<command>nixos-install</command>.
This will install your system based on the configuration you provided.
If anything fails due to a configuration problem or any other issue
(such as a network outage while downloading binaries from the NixOS
binary cache), you can re-run <command>nixos-install</command> after
fixing your <filename>configuration.nix</filename>.
</para>
<para>
As the last step, <command>nixos-install</command> will ask you to set the

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