Compare commits

..

1394 Commits

Author SHA1 Message Date
worldofpeace
5272327b81 rl-2003: release date
(cherry picked from commit 6380be302a)
2020-04-20 11:58:47 -04:00
worldofpeace
b5fc240b3b nixos/manual: 19.09 -> 20.03
(cherry picked from commit 40f3faedbd)
2020-04-20 11:58:47 -04:00
worldofpeace
c6696bd6c7 CONTRIBUTING.md: 20.03
(cherry picked from commit a045b050dc)
2020-04-20 11:58:46 -04:00
worldofpeace
2a7ea90237 README.md: 20.03 release
(cherry picked from commit 51fcafe779)
2020-04-20 11:58:46 -04:00
Maximilian Bosch
e03eeffd61 Merge pull request #85557 from kmcopper/r20.03/vswitch-2.13
[20.03] openvswitch 2.12.0 -> 2.13.0
2020-04-20 01:57:02 +02:00
Florian Klink
426646cc9b Merge pull request #85584 from emilazy/acme-test-cleanups-20.03
[20.03] ACME test cleanups
2020-04-20 00:30:38 +02:00
Emily
f035e2638f nixos/tests/common/acme: don't set nameservers for client
The resolver is mainly useful for the ACME server, and acme.nix uses its
own DNS server to test DNS-01 challenges.

(cherry picked from commit 21f183a3fe)
2020-04-19 23:26:19 +01:00
Emily
60e6ba6630 nixos/tests/acme: use CAP_NET_BIND_SERVICE
(cherry picked from commit 695fd78ac4)
2020-04-19 23:26:18 +01:00
Emily
2b8100d702 nixos/tests/acme: use *.test domains
Shimming out the Let's Encrypt domain name to reuse client configuration
doesn't work properly (Pebble uses different endpoint URL formats), is
recommended against by upstream,[1] and is unnecessary now that the ACME
module supports specifying an ACME server. This commit changes the tests
to use the domain name acme.test instead, and renames the letsencrypt
node to acme to reflect that it has nothing to do with the ACME server
that Let's Encrypt runs. The imports are renamed for clarity:

* nixos/tests/common/{letsencrypt => acme}/{common.nix => client}
* nixos/tests/common/{letsencrypt => acme}/{default.nix => server}

The test's other domain names are also adjusted to use *.test for
consistency (and to avoid misuse of non-reserved domain names such
as standalone.com).

[1] https://github.com/letsencrypt/pebble/issues/283#issuecomment-545123242

Co-authored-by: Yegor Timoshenko <yegortimoshenko@riseup.net>
(cherry picked from commit d0f04c1623)
2020-04-19 23:26:14 +01:00
Emily
8283094333 nixos/tests/acme: don't restrict to x86_64
This was added in aade4e577b, but the
implementation of the ACME module has been entirely rewritten since
then, and the test seems to run fine on AArch64.

(cherry picked from commit 352e30df8a)
2020-04-19 23:25:04 +01:00
Emily
b0d26e9d67 nixos/tests/common/acme: enable Pebble strict mode
This lets us get early warning about any bugs or backwards-compatibility
hazards in lego.

Pebble will default to this in the future, but doesn't currently;
see https://github.com/letsencrypt/pebble/blob/v2.3.0/README.md#strict-mode.

(cherry picked from commit e6d5e83cf1)
2020-04-19 23:25:03 +01:00
Emily
e1c41b8c56 pebble: v2.2.2 -> v2.3.0
Also add myself to maintainers and correct meta.homepage.

(cherry picked from commit 6285d5eabd)
2020-04-19 23:25:02 +01:00
R. RyanTM
60ce81079a openvswitch: 2.12.0 -> 2.13.0
(cherry picked from commit c8523fe003)
2020-04-19 11:08:14 +00:00
worldofpeace
a17e021b94 Merge pull request #85366 from immae/fix_acme_postrun_20_03
nixos/acme: Fix postRun in acme certificate being ran at every run
2020-04-18 13:16:30 -04:00
Markus Wamser
7fcae3781e maintainers: add wamserma
Signed-off-by: Markus S. Wamser <github-dev@mail2013.wamser.eu>
2020-04-18 10:02:16 -04:00
Florian Klink
e79b7c45c3 Merge pull request #85370 from immae/fix_acme_reuse_key_20_03
Update the release documentation
2020-04-18 14:14:45 +02:00
Benjamin Hipple
a60473031a Merge pull request #85430 from kuznero/release-20.03
vscode, vscodium: 1.44.0 -> 1.44.1
2020-04-17 23:05:24 -04:00
Ismaël Bouya
ed20edf012 nixos/acme: Fix postRun in acme certificate being ran at every run
(cherry picked from commit 8e88b8dce2)
2020-04-17 23:51:32 +02:00
rnhmjoj
2e08e8cb26 mitmproxy: fix build
ZHF: #80379
2020-04-17 23:10:48 +02:00
Ismaël Bouya
21c4a33cee rl-2003: Update the release documentation
It currently says that everything will be backward compatible between lego and simp-le certificates, but it’s not.
2020-04-17 22:19:34 +02:00
Maximilian Bosch
668d0ded6b grocy: 2.7.0 -> 2.7.1
https://github.com/grocy/grocy/releases/tag/v2.7.1
(cherry picked from commit 135ae45d24)
2020-04-17 22:03:52 +02:00
Maximilian Bosch
e3354dfc8c neomutt: 20200320 -> 20200417
https://github.com/neomutt/neomutt/releases/tag/20200417

To fix the tests, I had to copy the recently created
`neomutt-test-files`[1] repository into the build-environment.

Also applied a patch from master[2] which ensures that the
`change-folder` macro actually switches to the specified folder.

[1] https://github.com/neomutt/neomutt-test-files
[2] 9e7537cadd

(cherry picked from commit 192485f8fa)
2020-04-17 19:39:55 +02:00
Dominik Xaver Hörl
8e053b9b2a neomutt: configure with zlib to enable imap compression
(cherry picked from commit 45cc3c986d)
2020-04-17 19:39:55 +02:00
worldofpeace
708ed56f52 Merge pull request #85436 from symphorien/paperwork-broken
paperwork: unmark as broken
2020-04-17 13:23:02 -04:00
worldofpeace
a68f099e18 Merge pull request #85395 from tollb/flashplayer-32.0.0.363-release-20.03
[20.03] flashplayer: 32.0.0.330 -> 32.0.0.363
2020-04-17 12:33:52 -04:00
nschoe
a96fbaac8c st: copy config file in 'prePatch' instead of 'preBuild'
The patch phase runs after the build phase. Which means than when
using an override to override both 'conf' and 'patches' to provide
a custom config file and apply some patches, it doesn't work:
- first the patches applied (optionally changing config.def.h)
- then preBuild is run which overrides config.def.h with the user
supplied one (effectively cancelling previously applied patches)

By copying the config file in the prePatch phase instead, changes
are kept and applied in order.

(cherry picked from commit b584941ab9)
2020-04-17 14:56:35 +01:00
Tim Steinbach
edd58cf4a7 linux: 5.4.32 -> 5.4.33
(cherry picked from commit e341107367)
2020-04-17 08:35:59 -04:00
Tim Steinbach
ca713d3f76 linux: 4.19.115 -> 4.19.116
(cherry picked from commit d9258d33be)
2020-04-17 08:35:59 -04:00
Symphorien Gibol
b27ac93054 paperwork: unmark as broken on x86 2020-04-17 12:00:00 +00:00
Jörg Thalheim
9094d35925 python38.pkgs.python-jsonrpc-server: disable for python38
(cherry picked from commit ee6f5a32bb)
2020-04-17 11:25:18 +01:00
Roman Kuznetsov
41ed7bf2ef vscodium: 1.44.0 -> 1.44.1
(cherry picked from commit 4fd1f49ea4)
2020-04-17 09:58:29 +02:00
Roman Kuznetsov
a5f5386b5c vscode: 1.44.0 -> 1.44.1
(cherry picked from commit 4a129e6a32)
2020-04-17 09:55:13 +02:00
worldofpeace
5fe104de46 Merge pull request #85331 from NixOS/treewide-broken-20.03
treewide: mark broken packages for 20.03
2020-04-16 22:01:08 -04:00
worldofpeace
48c5aaa2fc treewide: mark broken wip 2020-04-16 21:29:49 -04:00
Maximilian Bosch
be4a41d062 mautrix-whatsapp: 2020-04-02 -> 2020-04-12
(cherry picked from commit e61c924adb)
2020-04-17 01:47:37 +02:00
Maximilian Bosch
962976d340 evcxr: 0.5.0 -> 0.5.1
582ce09f21/RELEASE_NOTES.md (version-051)
(cherry picked from commit cd5bc89cca)
2020-04-17 01:47:37 +02:00
Maximilian Bosch
34104aa360 grocy: 2.6.2 -> 2.7.0
(cherry picked from commit d4659dece2)
2020-04-16 23:31:44 +02:00
Maximilian Bosch
077bbd67d9 nixos/tests: fix inclusion of hydra test
(cherry picked from commit 5e124e5abd)
2020-04-16 23:31:44 +02:00
Maximilian Bosch
e7fea4336a hydra*: add passthru.tests to reference VM-tests
(cherry picked from commit ef80b6324b)
2020-04-16 23:31:44 +02:00
Maximilian Bosch
68ab8cf78b hydra-unstable: 2020-04-07 -> 2020-04-16
(cherry picked from commit 6f6c08af30)
2020-04-16 23:31:44 +02:00
Michael Weiss
1775cb5701 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)
Backport of #85360.
2020-04-16 22:35:18 +02:00
Michael Weiss
81dccfd358 google-chrome-{beta,dev}: Fix one substituteInPlace pattern
(cherry picked from commit 16477d764f)
2020-04-16 22:35:18 +02:00
taku0
23f337162d [20.03] flashplayer: 32.0.0.330 -> 32.0.0.363
(cherry picked from commit ac374d41c8)

Backported 32.0.0.363 to release 20.03 for important bug fixes.

Also needed because old upstream release is no longer available.
2020-04-16 12:51:42 -04:00
Matthew Bauer
5eb6f1ed44 build-bazel-package: fix linkopt flags
These values were incorrect. We need to use NIX_LDFLAGS, not
NIX_LD_FLAGS. Also need to prefix all flags with -Wl, for GCC to
accept it.

(cherry picked from commit 184cd9f6ff)
2020-04-16 11:33:59 -05:00
Benjamin Hipple
956a83820b Merge pull request #85375 from lbpdt/bp/node-problem-detector
[20.03] node-problem-detector: init at 0.8.1
2020-04-16 12:03:38 -04:00
Emily
f2d4179af3 nixos/stage-1: check secret paths before copying
Fixes #84976.

(cherry picked from commit 91c6809946)
2020-04-16 18:01:56 +03:00
Vladimír Čunát
0e48b5079a Merge branch 'staging-20.03' into release-20.03 2020-04-16 16:50:43 +02:00
James Ottaway
dd3652df6b git: 2.25.0 -> 2.25.3
v2.25.3 addresses CVE-2020-5260.  /cc roundup #75974.

See https://lore.kernel.org/lkml/xmqqy2qy7xn8.fsf@gitster.c.googlers.com/
2020-04-16 16:45:50 +02:00
Michael Weiss
7e466bfc9b Merge pull request #85372 from primeos/signal-desktop-backport
[20.03] signal-desktop: 1.33.0 -> 1.33.1 (backport)
2020-04-16 16:38:56 +02:00
Louis Blin
d73ea8dbde node-problem-detector: init at 0.8.1
Package is missing, built from Golang sources on GitHub.

(cherry picked from commit 511cb624b7)
2020-04-16 15:04:05 +01:00
worldofpeace
2ee6b5ce7c Merge pull request #85333 from arianvp/revert-acme-backport
[20.03] Revert "nixos/acme: Fix allowKeysForGroup not applying immediately"
2020-04-16 08:43:41 -04:00
Michael Weiss
efdee67fca signal-desktop: 1.33.0 -> 1.33.1
(cherry picked from commit 56f7c93a2f)
2020-04-16 14:32:53 +02:00
Pascal Bach
900b58e4ee unifiStable: 5.12.35 -> 5.12.66
(cherry picked from commit 05cc2b1f51)
2020-04-16 12:57:32 +02:00
Vladimír Čunát
a8e2838a29 Merge branch 'release-20.03' into staging-20.03 2020-04-16 11:44:06 +02:00
Maximilian Bosch
c7153272cb nixos/doc: fix database-setup example for matrix-synapse
Closes #85327

(cherry picked from commit 74d6e86ec2)
2020-04-16 11:43:26 +02:00
Arian van Putten
c51c677140 Revert "nixos/acme: Fix allowKeysForGroup not applying immediately"
This reverts commit 5532065d06.

As far as I can tell setting RemainAfterExit=true here completely breaks
certificate renewal, which is really bad!

the sytemd timer will activate the service unit every OnCalendar=,
however with RemainAfterExit=true the service is already active! So the
timer doesn't rerun the service!

The commit also broke the actual tests, (As it broke activation too)
but this was fixed later in https://github.com/NixOS/nixpkgs/pull/76052
I wrongly assumed that PR fixed renewal too, which it didn't!

testing renewals is hard, as we need to sleep in tests.
2020-04-16 10:36:34 +02:00
Ben Wolsieffer
0f920b05cb g2o: fix log limit exceeded error in Hydra
(cherry picked from commit dd14ee840c)
2020-04-16 02:34:20 -04:00
Dmitry Kudriavtsev
92d43c9279 multimc: 0.6.7 -> 0.6.11
(cherry picked from commit d44b9d3028)
2020-04-16 02:11:28 -04:00
worldofpeace
931c4db67a pantheon.pantheon-agent-geoclue2: 1.0.3 -> 1.0.4
https://github.com/elementary/pantheon-agent-geoclue2/releases/tag/1.0.4
(cherry picked from commit 7eb0a87ace)
2020-04-16 02:06:45 -04:00
worldofpeace
e6b82df11d pantheon.elementary-videos: 2.7.0 -> 2.7.1
https://github.com/elementary/videos/releases/tag/2.7.1
(cherry picked from commit 8da467e04b)
2020-04-16 02:06:45 -04:00
worldofpeace
17f92998ad ephemeral: 6.3.1 -> 6.3.3
https://github.com/cassidyjames/ephemeral/releases/tag/6.3.2
https://github.com/cassidyjames/ephemeral/releases/tag/6.3.3
(cherry picked from commit c3408adb7d)
2020-04-16 02:06:45 -04:00
worldofpeace
a37adb3367 monitor: add note how to use indicator.
(cherry picked from commit fbd4290fa9)
2020-04-16 02:06:44 -04:00
worldofpeace
2c0f6ef15f monitor: 0.6.2 -> 0.7.1
https://github.com/stsdc/monitor/releases/tag/0.7.0
https://github.com/stsdc/monitor/compare/0.7.0...0.7.1
(cherry picked from commit f646069c4c)
2020-04-16 02:06:44 -04:00
worldofpeace
a5ad726734 agenda: 1.0.12 -> 1.1.0
https://github.com/dahenson/agenda/releases/tag/1.1.0
(cherry picked from commit e4dc205023)
2020-04-16 02:06:44 -04:00
R. RyanTM
9c11bd9318 ephemeral: 6.3.0 -> 6.3.1
(cherry picked from commit e38859deac)
2020-04-16 02:06:44 -04:00
Mario Rodas
3abf820bc1 Merge pull request #85353 from das-g/release-20.03_chromedriver-81.0.4044
chromedriver: 78.0.3904.70 -> 81.0.4044.69
2020-04-15 23:26:20 -05:00
Raphael Das Gupta
d219b7b59f chromedriver: 78.0.3904.70 -> 81.0.4044.69
backport of NixOS/nixpkgs#85302
2020-04-16 05:09:28 +02:00
worldofpeace
142afb8942 nasc: fix build
(cherry picked from commit 433ea74af1)
2020-04-15 17:20:51 -04:00
worldofpeace
6ca86a05fb ping: use vala_0_40
fails to build otherwise.

(cherry picked from commit 10c03528c0)
2020-04-15 17:20:40 -04:00
Samuel Leathers
c6be4c1957 treewide: mark broken packages for 20.03 2020-04-15 17:07:33 -04:00
Maximilian Bosch
8c3b765bc6 cargo-make: 0.30.4 -> 0.30.5
https://github.com/sagiegurari/cargo-make/releases/tag/0.30.5
(cherry picked from commit b7c3c3f5cc)
2020-04-15 22:40:10 +02:00
vasile luta
a438aed5a6 tig: fix tig-completion's dependency on __git_complete
tig recently updated it's bash-completion making it depend on __git-complete from git.
Becase __git-complete is not automatically sourced tig bash completion fails.
Also this PR makes tig completion load on-demand.

(cherry picked from commit f57da8ef0a)
2020-04-15 22:23:44 +02:00
R. RyanTM
67e45efa3a nix-zsh-completions: 0.4.3 -> 0.4.4 (#85267)
(cherry picked from commit 7c21abdf4c)
2020-04-15 19:01:50 +02:00
Roberto Di Remigio
946287b319 mkl: 2020.0.166 -> 2020.1.217
(cherry picked from commit 488527eaa6)
2020-04-15 08:21:35 -04:00
Florian
e393449b43 airsonic: enable nginx.recommendedProxySettings with virtualHost
This fixes music playback when using the `services.airsonic.virtualHost`
option.

(cherry picked from commit 519d4f8e33)
2020-04-15 09:33:55 +02:00
Michael Weiss
07b3634cb4 Merge pull request #84713 from primeos/gn-backport
[20.03] gn: 20190403 -> 2020-03-09 (backport)
2020-04-14 22:07:14 +02:00
Michael Weiss
9a7d216703 chromiumDev: Override gn to fix the configuration phase
The configuration phase was failing due to:
```
configuring
ERROR at //BUILD.gn:1376:5: Unknown function.
    filter_exclude([ "$root_build_dir/foo" ],
    ^-------------
```

(cherry picked from commit ad3220f9ff)
2020-04-14 21:14:14 +02:00
Michael Weiss
72acf9cd34 aseprite.skia: Override the gn version to fix the build
With #83290 merged the build would fail during the configuration phase:
```
configuring
ERROR at //gn/BUILDCONFIG.gn:85:14: Script returned non-zero exit code.
  is_clang = exec_script("gn/is_clang.py",
             ^----------
Current dir: /build/source/out/Release/
Command: python /build/source/gn/gn/is_clang.py cc c++
Returned 2.
stderr:

python: can't open file '/build/source/gn/gn/is_clang.py': [Errno 2] No such file or directory
```

(cherry picked from commit ad66bbd98b)
2020-04-14 21:14:14 +02:00
Michael Weiss
4424442dc8 gn: 20190403 -> 2020-03-09
This updates gn to the required version for chromiumDev (the recommended
version for the stable release of Chromium isn't sufficient [0]).

[0]: The Chromium build fails during the configuration phase:
ERROR at //mojo/public/tools/bindings/mojom.gni:393:16: Undefined identifier
               "cpp_typemaps",
               ^-------------

(cherry picked from commit a1b4bfe34f)
2020-04-14 21:14:14 +02:00
Linus Heckemann
7f9c1d0ec3 nixos/libinput: refer to libinput manual
(cherry picked from commit 9953a26be1)
2020-04-14 09:43:27 -04:00
Sander van der Burg
6fd93c3389 nixos/dysnomia: fix documentRoot property
(cherry picked from commit 0ffb720e8c)
2020-04-14 14:44:47 +02:00
Sander van der Burg
8b40e8907b dysnomia: 0.9 -> 0.9.1
(cherry picked from commit dc13460a6c)
2020-04-14 14:44:47 +02:00
worldofpeace
7cf85ddf67 Merge pull request #84648 from cleverca22/fix-kafka-test
nixos: kafka test: fix building for other arches
2020-04-14 08:41:03 -04:00
Florian Klink
897182cdaf nixosTests.networking.virtual: fix with networkd
We only need to wait for network.target to get up, and the
network-addresses-${interfaceName} units are scripted networking only.

(cherry picked from commit a501abd5499d8f82f0991a7b78bcbc4169b0537f)
ZHF: #80379
Fix a failing test.
2020-04-14 14:35:06 +02:00
Dominik Honnef
3add50e56d luminance-hdr: use Qt5's mkDerivation
(cherry picked from commit b233a19fe1)
2020-04-14 08:33:10 -04:00
worldofpeace
e5ba0c5da5 Merge pull request #84431 from srhb/bp-ceph-14.2.8
[20.03] ceph 14.2.6 -> 14.2.8
2020-04-14 08:25:08 -04:00
Benjamin Hipple
89b864de64 ethminer: mark as broken
Doesn't build with gcc9, and if overlayed to use gcc8 stdenv fails on CUDA issues.

(cherry picked from commit 7f453f1822)
2020-04-14 08:16:23 -04:00
Lucas Savva
ecfd73db44 acme: share accounts between certificates
There are strict rate limits on account creation for Let's Encrypt
certificates. It is important to reuse credentails when possible.

(cherry picked from commit 827d5e6b44)
2020-04-14 13:13:40 +01:00
R. RyanTM
21750051b2 modemmanager: 1.12.6 -> 1.12.8
(cherry picked from commit b2fe03baf4)
2020-04-13 17:53:09 -04:00
R. RyanTM
8aa17dea0f modemmanager: 1.12.4 -> 1.12.6
(cherry picked from commit fe898d5f76)
2020-04-13 17:53:07 -04:00
Pavol Rusnak
22b5a32fad electron: fix wrapGAppsHook usage
(cherry picked from commit 96f52cb22b)
2020-04-13 17:43:46 -04:00
Pavol Rusnak
3ad8596931 Revert "riot-desktop: wrap with wrapGAppsHook"
This reverts commit fe6addbbf7.

(cherry picked from commit 3abd151f8e)
2020-04-13 17:43:45 -04:00
Linus Heckemann
9f0f06ac8b freeradius: make debug logging optional
(cherry picked from commit 0587329191)
2020-04-13 20:34:14 +02:00
Michael Weiss
ef7f4788c7 android-studio: Fix the license (unfree)
Android Studio states that it contains proprietary code!

(cherry picked from commit adcd8baa02)
2020-04-13 18:06:13 +02:00
Tim Steinbach
cb8b71c645 linux: 5.5.16 -> 5.5.17 2020-04-13 08:40:59 -04:00
Tim Steinbach
bab08a49df linux: 5.4.31 -> 5.4.32 2020-04-13 08:40:59 -04:00
Tim Steinbach
44537fa3f4 linux: 4.9.218 -> 4.9.219 2020-04-13 08:40:59 -04:00
Tim Steinbach
788dd86a62 linux: 4.19.114 -> 4.19.115 2020-04-13 08:40:59 -04:00
Tim Steinbach
585f651020 linux: 4.14.175 -> 4.14.176 2020-04-13 08:40:59 -04:00
Tim Steinbach
be8daae10c linux: 4.4.218 -> 4.4.219 2020-04-13 08:40:59 -04:00
Renato Alves
2fd2e031a3 mnemosyne: Install mnemosyne.desktop
(cherry picked from commit f5814e2075)
2020-04-13 14:00:22 +02:00
Renato Alves
7a0cb9c305 mnemosyne: Add pyopengl to silence OpenGL warning
(cherry picked from commit 4ea30958a8)
2020-04-13 14:00:22 +02:00
Renato Alves
ec099df093 mnemosyne: Fix 'Could not find Qt' segfault
(cherry picked from commit f6889aa21e)
2020-04-13 14:00:22 +02:00
Renato Alves
93e93f82e6 pythonPackages.gtts: init at 2.1.1
(cherry picked from commit 71113dbc69)
2020-04-13 14:00:22 +02:00
Renato Alves
c2d209265d pythonPackages.googletrans: init at 2.4.0
(cherry picked from commit e30abffb66)
2020-04-13 14:00:22 +02:00
Renato Alves
0182312e11 mnemosyne: add googletrans and gtts python dependencies
These python packages interface with Google Translate and their absence
causes mnemosyne to fail at launch.
2020-04-13 13:51:56 +02:00
Maximilian Bosch
96e35bf2a0 EmptyEpsilon: 2020.03.22 -> 2020.04.09
https://github.com/daid/EmptyEpsilon/releases/tag/EE-2020.04.09
(cherry picked from commit 0516977e49)
2020-04-13 12:23:19 +02:00
Maximilian Bosch
9325edaa1e linuxPackages.bpftrace: 0.9.3 -> 0.9.4
https://github.com/iovisor/bpftrace/releases/tag/v0.9.4
(cherry picked from commit 89d2967c9e)
2020-04-13 12:23:19 +02:00
Maximilian Bosch
56ff118499 packer: 1.5.4 -> 1.5.5
https://github.com/hashicorp/packer/releases/tag/v1.5.5
(cherry picked from commit 42ca8f54db)
2020-04-13 12:23:18 +02:00
Maximilian Bosch
26702dfb58 wdisplays: 2020-01-12 -> 2020-03-15
ba331ca...0faafdc
(cherry picked from commit 6b5186c2ca)
2020-04-13 12:23:18 +02:00
Vincent Laporte
1610b4ab21 coqPackages.dpdgraph: fix build with OCaml ≥ 4.08
(cherry picked from commit f2eeeb83f2)
2020-04-13 11:29:26 +02:00
John Ericson
708cb6b307 Merge pull request #85101 from Ericson2314/document-haskell-env-changes
nixos/doc: Document breaking change to Haskell dev shells for 20.03
2020-04-12 16:42:03 -04:00
worldofpeace
88661bfb64 Merge pull request #84846 from worldofpeace/backports-vscode-vscodium
vscode vscodium backports [20.03]
2020-04-12 15:15:10 -04:00
Andreas Rammhold
18cad55231 Merge pull request #84591 from andir/20.03/firefox
[20.03] firefox: 74.0.1 -> 75.0 and releated updates
2020-04-12 20:09:56 +02:00
worldofpeace
ea1c1ba19e Merge pull request #84971 from Emantor/fix/release_notes_i915
nixos/relrease-notes/rl-2003.xml: remove section on intel GPU workaround
2020-04-12 06:04:42 -04:00
Rouven Czerwinski
da764d22ce rl-2003: remove section on intel GPU workaround
According to my analysis the last critical fix went into v5.4.23, I have
confirmed this by running WebGL over night and haven't seen a single
i915 GPU hang. Lets remove the notes from the release notes.
2020-04-12 06:03:56 -04:00
Mario Rodas
ba1f98542d Merge pull request #84537 from JeffLabonte/20.03-brave_1.5.115_to_1.5.123
brave: 1.5.115 -> 1.5.123
2020-04-12 04:33:23 -05:00
Vladimír Čunát
21b3020b1a Merge #83022: simutrans: 120.2.2 -> 120.4.1 (unbreak)
(cherry picked from commit e7ca19f7cb)
2020-04-12 10:26:30 +02:00
Maximilian Bosch
b3f4b4dc3c feh: 3.3 -> 3.4
https://feh.finalrewind.org/archive/3.4/
(cherry picked from commit 2d836ab922)
2020-04-12 10:12:57 +02:00
Dmitry Kalinkin
d0982c0e0e herwig: 7.2.0 -> 7.2.1
thepeg: 2.2.0 -> 2.2.1

A minor bugfix

(cherry picked from commit 7cbffa0530)
2020-04-11 15:18:16 -04:00
R. RyanTM
1f4c855782 snakemake: 5.10.0 -> 5.13.0 (#83839)
(cherry picked from commit cff5adc2fb)
2020-04-11 14:40:48 -04:00
Dmitry Kalinkin
42f4fa6b0b snakemake: 5.9.1 -> 5.10.0
(cherry picked from commit 68db99ad97)
2020-04-11 14:40:43 -04:00
Dmitry Kalinkin
f070c90c01 pythonPackages.awkward1: use pytestCheckHook
(cherry picked from commit 5c72e84169)
2020-04-11 11:50:49 -04:00
Dmitry Kalinkin
8246657ddb pythonPackages.awkward1: 0.1.38 -> 0.2.12
(cherry picked from commit ab1c67eacd)
2020-04-11 11:50:43 -04:00
Michael Raskin
4528f9dbfb Merge pull request #84918 from woffs/backport-pingus-83706-20.03
[nixos-20.03] pingus: 0.7.6 -> unstable
2020-04-11 10:35:25 +00:00
Florian Klink
836e4b71c4 Merge pull request #84930 from flokli/rl-2003-highlights
nixos/release-notes/rl-2003.xml: add highlights
2020-04-11 12:11:22 +02:00
Maximilian Bosch
c218f19494 nixos/release-notes: fix minor spelling mistake in the Nextcloud section
As discovered by flokli.

(cherry picked from commit 9cddcac995)
2020-04-11 10:38:40 +02:00
Samuel Dionne-Riel
f3a3c969fe nextcloud: Review installation upgrade warning wording
The new wording does not assume the user is upgrading.

This is because a user could be setting up a new installation on 20.03
on a server that has a 19.09 or before stateVersion!!

The new wording ensures that confusion is reduced by stating that they
do not have to care about the assumed 16→17 transition.

Then, the wording explains that they should, and how to upgrade to
version 18.

It also reviews the confusing wording about "multiple" upgrades.

* * *

The only thing we cannot really do is stop a fresh install of 17 if
there was no previous install, as it cannot be detected. That makes a
useless upgrade forced for new users with old state versions.

It is also important to state that they must set their package to
Nextcloud 18, as future upgrades to Nextcloud will not allow an uprade
from 17!

I assume future warning messages will exist specifically stating what to
do to go from 18 to 19, then 19 to 20, etc...

(cherry picked from commit a1efbdb600)
2020-04-11 00:02:27 -04:00
worldofpeace
806ddfb696 Merge pull request #84950 from bhipple/bp/nose
[20.03] python3Packages.nose2: 0.9.1 -> 0.9.2 and fix build for ZHF
2020-04-10 22:53:51 -04:00
Niklas Hambüchen
fd7ac7e607 Merge pull request #84963 from nh2/issue-84391-nginx-as-root-changelog-20.03
[20.03] release notes: Explain how to run nginx master as root
2020-04-11 03:46:49 +02:00
Niklas Hambüchen
0e79744e20 release notes: Explain how to run nginx master as root. Fixes #84391
(cherry picked from commit ba50a7a3f1)
2020-04-11 03:34:24 +02:00
Mario Rodas
9099f30636 Merge pull request #84948 from nyanloutre/nginx_sso_backport_0_24_1
[20.03] nginx-sso: 0.24.0 -> 0.24.1
2020-04-10 19:09:11 -05:00
Benjamin Hipple
bb5bd4e831 python3Packages.nose2: 0.9.1 -> 0.9.2 and fix build for ZHF
See inline comment; this is currently broken and not going to continue working
on python2 without significant effort, so mark it python >= 3.6 only.

https://hydra.nixos.org/build/114680648
https://hydra.nixos.org/build/115518949

CC @NixOS/nixos-release-managers

ZHF: #80379
(cherry picked from commit f9bc195430)
2020-04-10 19:08:24 -04:00
nyanloutre
dc25644537 nginx-sso: 0.24.0 -> 0.24.1
(cherry picked from commit 0e087981ec)
2020-04-11 00:55:46 +02:00
worldofpeace
c26487314f nixos/gnome-remote-desktop: enable pipewire
We need the pipewire service to actually use this.
Tested with g-c-c Sharing.

(cherry picked from commit 94eb65a287)
2020-04-10 18:08:44 -04:00
worldofpeace
8d37cca45f pantheon.wingpanel-applications-menu: 2.5.0 -> 2.6.0
https://github.com/elementary/applications-menu/releases/tag/2.6.0
(cherry picked from commit dd805599a9)
2020-04-10 18:08:23 -04:00
worldofpeace
74ae69926e pantheon.switchboard-plug-security-privacy: 2.2.2 -> 2.2.3
* gtk toolbar to actionbar

https://github.com/elementary/switchboard-plug-security-privacy/releases/tag/2.2.3
(cherry picked from commit e7d592edb6)
2020-04-10 18:08:22 -04:00
worldofpeace
75a32d7434 pantheon.switchboard-plug-pantheon-shell: 2.8.2 -> 2.8.3
Don't need backgrounds patch anymore because of my patch upstream [0]

https://github.com/elementary/switchboard-plug-pantheon-shell/releases/tag/2.8.3

[0]: 541b1711fe

(cherry picked from commit 3c4cf5db81)
2020-04-10 18:08:22 -04:00
worldofpeace
e43ec384f7 pantheon.switchboard-plug-mouse-touchpad: 2.4.0 -> 2.4.1
https://github.com/elementary/switchboard-plug-mouse-touchpad/releases/tag/2.4.1
(cherry picked from commit cc1550c1ac)
2020-04-10 18:08:22 -04:00
worldofpeace
2507c5f0b4 pantheon.switchboard-plug-applications: 2.1.6 -> 2.1.7
https://github.com/elementary/switchboard-plug-applications/releases/tag/2.1.7
(cherry picked from commit c8a38c9ee1)
2020-04-10 18:08:22 -04:00
worldofpeace
44821b7121 pantheon.switchboard-plug-display: 2.2.0 -> 2.2.1
https://github.com/elementary/switchboard-plug-display/releases/tag/2.2.1
(cherry picked from commit a86f2a18ad)
2020-04-10 18:08:22 -04:00
worldofpeace
698d28006b pantheon.switchboard-plug-about: 2.6.1 -> 2.6.2
just translations

(cherry picked from commit 45e3470ae4)
2020-04-10 18:08:22 -04:00
worldofpeace
99e05f5a23 pantheon.wingpanel-indicators-bluetooth: 2.1.4 -> 2.1.5
(cherry picked from commit ac2f83c1ad)
2020-04-10 18:08:22 -04:00
worldofpeace
2165cd7a81 pantheon.elementary-capnet-assist: 2.2.4 -> 2.2.5
just translations

(cherry picked from commit 082d977eac)
2020-04-10 18:08:22 -04:00
worldofpeace
f64401aa1f pantheon.pantheon-agent-polkit: 1.0.0 -> 1.0.1
just translations

(cherry picked from commit b810ce57f7)
2020-04-10 18:08:22 -04:00
worldofpeace
86822f8ed8 pantheon.wingpanel: 2.3.0 -> 2.3.1 2020-04-10 18:08:22 -04:00
worldofpeace
9db8c33847 pantheon.elementary-photos: 2.6.5 -> 2.7.0
https://github.com/elementary/photos/releases/tag/2.7.0
(cherry picked from commit d484e6a9e9)
2020-04-10 18:08:22 -04:00
worldofpeace
da30881e58 pantheon.appcenter: 3.2.3 -> 3.2.4
https://github.com/elementary/appcenter/releases/tag/3.2.4
(cherry picked from commit 0ec78fe131)
2020-04-10 18:08:22 -04:00
Frank Doepper
e8ae534af7 pingus: move cmake to nativeBuildInputs
(cherry picked from commit de6a28d63a)
2020-04-10 23:47:23 +02:00
Joshua Fern
f35b2f29d2 citra: 2019-10-05 -> 2020-03-21
Version bump, also fixes the common qt xcb plugin error

(cherry picked from commit 83616f1bc5)

This contains a fix for issue #65399.
2020-04-10 22:06:52 +02:00
worldofpeace
7c9f30befa rl-2003: qa touchups
Fixes https://github.com/NixOS/nixpkgs/issues/82777
2020-04-10 15:44:58 -04:00
Izorkin
59d50ed9db maxscale: make broken package
(cherry picked from commit 63d9ab069a)
2020-04-10 15:41:57 -04:00
Florian Klink
ec11fd2163 nixos/release-notes/rl-2003.xml: add highlights
Fixes #79180.
2020-04-10 21:14:37 +02:00
Eelco Dolstra
63c1baa3eb nix: Fix fallback paths
(cherry picked from commit aa084e2a24)
2020-04-10 21:14:14 +02:00
Eelco Dolstra
609878cafb nix: 2.3.3 -> 2.3.4
(cherry picked from commit cea352d276)
2020-04-10 21:14:09 +02:00
Eelco Dolstra
12b319cd86 nix-fallback-paths.nix: Fix x86_64-linux path
https://github.com/NixOS/nix/issues/3370
(cherry picked from commit 21a3b141c3)
2020-04-10 21:14:06 +02:00
Eelco Dolstra
d676b04132 nix: 2.3.2 -> 2.3.3
(cherry picked from commit 3c47f78e82)
2020-04-10 21:11:19 +02:00
worldofpeace
66d8a2bda5 Merge pull request #84811 from Emantor/bump/20.03/xorg_server
[20.03] xorg.xorgserver: 1.20.7 -> 1.20.8
2020-04-10 14:36:12 -04:00
Michael Raskin
a63370143f pingus: 0.7.6 -> unstable; fixes build conflicts with dependency updates
(cherry picked from commit 35a2f790f6)
2020-04-10 19:13:45 +02:00
worldofpeace
ab018f754b Merge pull request #84221 from erictapen/dhcpcd-error-on-bridges
[20.03] nixos/network-interfaces: Assert that bridges can get an address via DHCP
2020-04-10 12:49:44 -04:00
Benjamin Hipple
f19157dfa0 Merge pull request #84840 from helsinki-systems/backport/20.03/unit
[20.03] unit: 1.14.0 -> 1.16.0
2020-04-10 12:40:39 -04:00
Justin Humm
54ad186461 nixos/network-interfaces: assertion for DHCP on bridges
Assert that the user doesn't have a bridge configured while
networking.useDHCP is true. Due to new behaviour of dhcpcd [0], this
would result in the bridge not getting an address via DHCP, regardless
of wether it has networking.interfaces.<name?>.useDHCP set or not.

[0] https://roy.marples.name/archives/dhcpcd-discuss/0002621.html
2020-04-10 17:28:22 +02:00
worldofpeace
c2d5fe8586 Merge pull request #84891 from schmittlauch/cawbird1.0.5-backport
[backport] cawbird: 1.0.4 -> 1.0.5
2020-04-10 11:06:07 -04:00
Joachim F
f372211402 Merge pull request #84893 from andriokha/tor-browser-bundle-bin-9.0.9-release-20.03
[20.03] tor-browser-bundle-bin: 9.0.7 -> 9.0.9
2020-04-10 14:56:53 +00:00
Frederik Rietdijk
a1119e2239 Merge release-20.03 into staging-20.03 2020-04-10 12:09:49 +02:00
Andy Fowlston
c713b1b49f 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:29:26 +01:00
ajs124
1e925e1545 performous: fix build (#84841)
(cherry picked from commit 87f75f8e35)

Co-authored-by: Orivej Desh <orivej@gmx.fr>
2020-04-10 01:33:51 +00:00
worldofpeace
d3d904c2f1 Merge pull request #84707 from zowoq/gh-backport
[20.03] gitAndTools.gh: 0.5.3 -> 0.6.4
2020-04-09 20:57:09 -04:00
worldofpeace
9e50a36859 Merge pull request #84863 from worldofpeace/backport-83551
[20.03] iso-image: normalize volumeID
2020-04-09 20:51:45 -04:00
worldofpeace
17d67c00c9 iso-image: make $ARCH shorter
we use stdenv.hostPlatform.uname.processor, which I believe is just like
`uname -p`.

Example values:
```
(import <nixpkgs> { system = "x86_64-linux"; }).stdenv.hostPlatform.uname.processor
"x86_64"

(import <nixpkgs> { system = "aarch64-linux"; }).stdenv.hostPlatform.uname.processor
aarch64

(import <nixpkgs> { system = "armv7l-linux"; }).stdenv.hostPlatform.uname.processor
"armv7l"
```

(cherry picked from commit df8c30fa25)
2020-04-09 20:26:57 -04:00
worldofpeace
0a634109d4 iso-image: make sure volumeID is less than 32 chars
(cherry picked from commit 591e8d5708)
2020-04-09 19:36:09 -04:00
worldofpeace
519ace8441 iso-image: normalize volumeID
The volumeID will now be in the format of:
nixos-$EDITON-$RELEASE-$ARCH

an example for the minimal image would look like:
nixos-minimal-20.09-x86-64-linux

(cherry picked from commit 70a8e9ace9)
2020-04-09 19:36:09 -04:00
worldofpeace
84b906d5c4 make-iso9660-image.sh: enable joliet extension
This is per the advice of the osinfo-db maintainers https://gitlab.com/libosinfo/osinfo-db/-/merge_requests/107#note_313094852

(cherry picked from commit f59aa66fc1)
2020-04-09 19:36:09 -04:00
Maximilian Bosch
a74e7092b0 gitAndTools.tig: 2.5.0 -> 2.5.1
https://github.com/jonas/tig/releases/tag/tig-2.5.1
(cherry picked from commit a3eaf6c88b)
2020-04-09 22:29:19 +02:00
Maximilian Bosch
5f33f338ce thermald: also install thermal-conf.xml into $out
Otherwise you get errors like this when running `thermald.service` from
the `services.thermald` module:

```
[WARN]22 CPUID levels; family:model:stepping 0x6:8e:a (6:142:10)
[WARN]Polling mode is enabled: 4
[WARN]sensor id 10 : No temp sysfs for reading raw temp
I/O warning : failed to load external entity "/nix/store/7d7cfc1949g7n7ywx47a0dsfz3b3rix5-thermald-1.9.1/etc/thermald/thermal-conf.xml"
[WARN]error: could not parse file /nix/store/7d7cfc1949g7n7ywx47a0dsfz3b3rix5-thermald-1.9.1/etc/thermald/thermal-conf.xml
[WARN]sysfs open failed
I/O warning : failed to load external entity "/nix/store/7d7cfc1949g7n7ywx47a0dsfz3b3rix5-thermald-1.9.1/etc/thermald/thermal-conf.xml"
[WARN]error: could not parse file /nix/store/7d7cfc1949g7n7ywx47a0dsfz3b3rix5-thermald-1.9.1/etc/thermald/thermal-conf.xml
I/O warning : failed to load external entity "/nix/store/7d7cfc1949g7n7ywx47a0dsfz3b3rix5-thermald-1.9.1/etc/thermald/thermal-conf.xml"
[WARN]error: could not parse file /nix/store/7d7cfc1949g7n7ywx47a0dsfz3b3rix5-thermald-1.9.1/etc/thermald/thermal-conf.xml
```

(cherry picked from commit 9fc8856b25)
2020-04-09 22:29:18 +02:00
Patrick Hilhorst
69f1529084 vscode, vscodium: 1.43.2 -> 1.44.0
(cherry picked from commit 939041bce4)
2020-04-09 16:26:06 -04:00
Edmund Wu
763a3b46ec vscodium: 1.43.0 -> 1.43.2
(cherry picked from commit 3f75bc2660)
2020-04-09 16:26:05 -04:00
Edmund Wu
829f656072 vscode: 1.43.0 -> 1.43.2
(cherry picked from commit a05f67ea0a)
2020-04-09 16:26:05 -04:00
worldofpeace
13d0920dad vscodium: add backports notice
(cherry picked from commit f9fc1d3be4)
2020-04-09 16:26:05 -04:00
worldofpeace
de5269a3ff vscode: add backports notice
(cherry picked from commit c9fd76de75)
2020-04-09 16:26:04 -04:00
Domen Kožar
d6209e540c vscode: fix build on darwin
(cherry picked from commit be80721e74)
2020-04-09 16:26:04 -04:00
Patrick Hilhorst
5c8fd2d9e1 vscode, vscodium: 1.42.1 -> 1.43.0
(cherry picked from commit 9be58002ed)
2020-04-09 16:26:04 -04:00
Domen Kožar
35b1992f6d 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)
2020-04-09 16:26:04 -04:00
Patrick Hilhorst
95ca22a418 vscode, vscodium: 1.42.0 -> 1.42.1
(cherry picked from commit 91a106d4b4)
2020-04-09 16:26:03 -04:00
Patrick Hilhorst
7514605998 vscodium: 1.41.1 -> 1.42.0
(cherry picked from commit 603109c171)
2020-04-09 16:26:03 -04:00
Izorkin
56eb406631 unit: 1.15.0 -> 1.16.0
(cherry picked from commit 5dbe01af5b)
2020-04-09 20:47:09 +02:00
R. RyanTM
4efd728157 unit: 1.14.0 -> 1.15.0
(cherry picked from commit 3815de80c0)
2020-04-09 20:46:23 +02:00
Mario Rodas
5f6ba36fd2 Merge #82267: sane-airscan: init at 0.9.17
(cherry picked from commit ab1a184de3)
2020-04-09 18:08:41 +02:00
Vladimír Čunát
842167291c Merge #84773: thunderbird*: 68.6.0 -> 68.7.0
https://www.thunderbird.net/en-US/thunderbird/68.7.0/releasenotes/
(ATM it's unclear if there are any security fixes or not.)

(cherry picked from commit f719350bac)
Re-tested both on 20.03.
2020-04-09 18:08:33 +02:00
Matthew Bauer
5ad2b732e9 kwallet-pam: unset QT_PLUGIN_PATH
kwallet sets a limit of 1000 for a single characters for environment
variables read from the socket[1]. wrapQtApps gives us a huge value
for QT_PLUGIN_PATH (up to 13000 bytes on my system!) Since this was
overflowing, the Qt plugin loading mechanism was hitting a segfault
when it was trying to parse the truncated QT_PLUGIN_PATH.

So for now, we can just unset QT_PLUGIN_PATH in the pam_kwallet_init
script. kwalletd5 has its own QT_PLUGIN_PATH which it can use.

This problem occured on 20.03, but not 19.09. It’s unclear what
changes were made in that time, but likely that previously we weren’t
getting a QT_PLUGIN_PATH set in the plasma5 startup at all. This means
that in 19.09 our QT_PLUGIN_PATH value must have been small enough to
fit into the 1000 char limit.

Fixes #77290

[1]: bc9713e272/src/runtime/kwalletd/main.cpp (L44)

/cc @ttuegel

(cherry picked from commit f0db4de598)
2020-04-09 10:50:03 -04:00
Rouven Czerwinski
aa4ec3bb37 xorg.xorgserver: 1.20.7 -> 1.20.8
https://lists.x.org/archives/xorg-announce/2020-March/003041.html

This release contains a fix for XWayland which removes a buffer swap
race between XWayland and the compositor. This resulted in flickering in
previous versions.
2020-04-09 15:24:09 +02:00
Shea Levy
253f8a76fa emacsPackages: Add standalone agda-input package that doesn't require building Agda.
(cherry picked from commit 6fac063e09)
2020-04-09 09:14:55 -04:00
Aaron Andersen
0ef4da1ea1 Merge pull request #84293 from aanderse/httpd-20.03
apacheHttpd: 2.4.41 -> 2.4.43 [20.03]
2020-04-09 08:42:51 -04:00
Maximilian Bosch
c25e25f46f hydra: 2020-03-24 -> 2020-04-07
Also removed `pkgs.hydra-flakes` since flake-support has been merged
into master[1]. Because of that, `pkgs.hydra-unstable` is now compiled
against `pkgs.nixFlakes` and currently requires a patch since Hydra's
master doesn't compile[2] atm.

[1] https://github.com/NixOS/hydra/pull/730
[2] https://github.com/NixOS/hydra/pull/732

(cherry picked from commit 0f5c38feed)
2020-04-09 12:35:51 +02:00
Jörg Thalheim
377b0248c5 acme: create certificates in subdirectory
This allows to have multiple certificates with the same common name.
Lego uses in its internal directory the common name to name the certificate.

fixes #84409

(cherry picked from commit d7ff6ab94a)
2020-04-09 11:06:10 +01:00
Domen Kožar
8c6a5a26a7 Merge pull request #84789 from bennofs/backport-ghc-llvm-aarch64
[20.03] haskell.compiler.ghc822Binary: propagate llvm dependency
2020-04-09 11:40:47 +02:00
Andrew Childs
48a0195416 haskell.compiler.ghc822Binary: propagate llvm dependency
Fixes the following error when attempting to build packages using this
compiler:

  <no location info>: error:
      Warning: Couldn't figure out LLVM version!
               Make sure you have installed LLVM 3.9

  <no location info>: error: ghc: could not execute: opt

(cherry picked from commit 31f557c88f)
2020-04-09 11:01:15 +02:00
Bernardo Meurer
f56a3e1aac linuxPackages.nvidia_x11: 440.64 -> 440.82
(cherry picked from commit 73ff54e7b9)
cc #84680
2020-04-09 00:18:56 -04:00
Mike Sperber
5ac5f503b2 bazel_0_26: fix linker flags for darwin (#84614)
Same as done for bazel_0_29 in d1ee615f1c:

(cherry picked from commit 677b2d818e)
2020-04-08 18:56:57 -04:00
worldofpeace
84aa023cf4 Merge pull request #82295 from erictapen/dhcpcd-release-notes
nixos/release-notes: mention that dhcpcd stopped giving IPv4 addresses to bridges
2020-04-08 17:44:53 -04:00
Trolli Schmittlauch
6d4959314c cawbird: 1.0.4 -> 1.0.5
(cherry picked from commit 6be41c6df8)
2020-04-08 21:22:19 +02:00
Jörg Thalheim
4ca13721d9 vocal: add missing glib-networking
otherwise https is disabled

(cherry picked from commit b9b8388e4a)
2020-04-08 13:24:27 -04:00
Michael Fellinger
f16ed9f715 set GEM_HOME via Gem.paths
(cherry picked from commit b285fa07d5)
2020-04-08 12:57:28 -04:00
Michael Fellinger
97f1e86387 update versions in Gemfile.lock
(cherry picked from commit f92600b406)
2020-04-08 12:57:26 -04:00
Michael Fellinger
c6758ee13d bundler: 1.17.3 -> 2.1.4
(cherry picked from commit a2e73b062a)
2020-04-08 12:47:42 -04:00
Jörg Thalheim
78e69d9306 linuxPackages.acpi-call: switch to nix-community fork
This fixes also build against linux 5.6
We also took the opportunity to cleanup the build.

(cherry picked from commit 1ae03c9db1)
2020-04-08 15:35:21 +01:00
Graham Christensen
99cbf968fd Merge pull request #84717 from bennofs/backport-test-hibernate-x86_64
nixos/release-combined.nix: test hibernate only on x86_64
2020-04-08 09:40:59 -04:00
Tim Steinbach
c1af4f35b7 linux: 5.5.15 -> 5.5.16 2020-04-08 08:52:43 -04:00
Tim Steinbach
2d68afdaab linux: 5.4.30 -> 5.4.31 2020-04-08 08:52:43 -04:00
Benno Fünfstück
6193a9e242 nixos/release-combined.nix: test hibernate only on x86_64
(cherry picked from commit 918cb88d1f)
2020-04-08 14:52:19 +02:00
Michael Weiss
224a5e5b05 chromiumDev: Add the missing setuptools dependency
The build was failing with:
```
[1625/39505] ACTION //components/schema_org:generate_schema_org_code(//build/toolchain/linux:clang_x64)
FAILED: gen/components/schema_org/schema_org_entity_names.h gen/components/schema_org/schema_org_entity_names.cc gen/components/schema_org/schema_org_property_configurations.h gen/components/schema_org/schema_org_property_configurations.cc gen/components/schema_org/schema_org_property_names.h gen/components/schema_org/schema_org_property_names.cc
python ../../components/schema_org/generate_schema_org_code.py --schema-file ../../third_party/schema_org/schema.jsonld --output-dir gen/components/schema_org --templates templates/schema_org_entity_names.cc.tmpl templates/schema_org_entity_names.h.tmpl templates/schema_org_property_configurations.cc.tmpl templates/schema_org_property_configurations.h.tmpl templates/schema_org_property_names.cc.tmpl templates/schema_org_property_names.h.tmpl
Traceback (most recent call last):
  File "../../components/schema_org/generate_schema_org_code.py", line 22, in <module>
    env = Environment(loader=PackageLoader('generate_schema_org_code', ''))
  File "/build/chromium-83.0.4100.3/components/schema_org/../../third_party/jinja2/loaders.py", line 222, in __init__
    from pkg_resources import DefaultProvider, ResourceManager, \
ImportError: No module named pkg_resources
```

(cherry picked from commit d782c440ae)
2020-04-08 13:50:12 +02:00
Michael Weiss
3cfa78fe30 chromiumDev: Fix the build
Building Chromium 82 requires LLVM 10 for the new argument
"-fintegrated-cc1". LLVM 9 fails with:
clang++: error: unknown argument: '-fintegrated-cc1'

(cherry picked from commit 1d961a4c6d)
2020-04-08 13:47:31 +02:00
Michael Weiss
a62dac34e6 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)
Backport of #84671.
2020-04-08 13:36:38 +02:00
Michael Weiss
85e8548a1f 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:36:38 +02:00
Michael Weiss
df50124d63 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:36:37 +02:00
Michael Weiss
468fa8738f Merge pull request #84705 from primeos/signal-desktop-backport
[20.03] signal-desktop: 1.32.3 -> 1.33.0 (backport)
2020-04-08 13:08:19 +02:00
zowoq
fbd0974dff gitAndTools.gh: 0.6.3 -> 0.6.4
https://github.com/cli/cli/releases/tag/v0.6.4
(cherry picked from commit 26a6d89cab)
2020-04-08 19:46:36 +10:00
zowoq
cf7513bc27 gitAndTools.gh: 0.6.2 -> 0.6.3
https://github.com/cli/cli/releases/tag/v0.6.3
(cherry picked from commit 68a50aaaa5)
2020-04-08 19:46:27 +10:00
zowoq
f7b3dfc9d8 gitAndTools.gh: 0.6.1 -> 0.6.2
https://github.com/cli/cli/releases/tag/v0.6.2
(cherry picked from commit 20f197d0b9)
2020-04-08 19:46:18 +10:00
zowoq
ba71d71c13 gitAndTools.gh 0.6.0 -> 0.6.1
https://github.com/cli/cli/releases/tag/v0.6.1
(cherry picked from commit 4656fba5ab)
2020-04-08 19:46:09 +10:00
zowoq
86a179a74b gitAndTools.gh: 0.5.7 -> 0.6.0
https://github.com/cli/cli/releases/tag/v0.6.0
(cherry picked from commit 85a8d13017)
2020-04-08 19:46:01 +10:00
zowoq
085b7360d5 gitAndTools.gh: 0.5.6 -> 0.5.7
https://github.com/cli/cli/releases/tag/v0.5.7
(cherry picked from commit 3338225cd2)
2020-04-08 19:45:51 +10:00
zowoq
1d6ad14c73 gitAndTools.gh: 0.5.5 -> 0.5.6
https://github.com/cli/cli/releases/tag/v0.5.6
(cherry picked from commit 185aabefb0)
2020-04-08 19:45:42 +10:00
zowoq
ca75c088e9 gitAndTools.gh: 0.5.4 -> 0.5.5
https://github.com/cli/cli/releases/tag/v0.5.5
(cherry picked from commit 66f50128dc)
2020-04-08 19:45:33 +10:00
R. RyanTM
1e8fc3dd4d gitAndTools.gh: 0.5.3 -> 0.5.4
(cherry picked from commit 7b61246b95)
2020-04-08 19:45:14 +10:00
Michael Weiss
ef5b4301fc signal-desktop: 1.32.3 -> 1.33.0
(cherry picked from commit fdedc5d16c)
2020-04-08 11:38:10 +02:00
Vincent Laporte
d41fe83633 alt-ergo: 2.3.1 → 2.3.2
(cherry picked from commit f4ff33cce6)
2020-04-08 10:28:59 +02:00
Dennis Gosnell
0b1657a278 Merge pull request #84571 from woffs/unbreak-amqp-utils-20.03a
[nixos-20.03] haskellPackages.amqp-utils: fix amqp-0.19 dependency
2020-04-08 10:39:47 +09:00
Dennis Gosnell
540d6716cc Merge pull request #84645 from rnhmjoj/pandoc-crossref-20.03
[20.03] haskellPackages.pandoc-crossref: downgrade to latest working
2020-04-08 09:40:12 +09:00
Michael Bishop
6be1626da5 nixos: kafka test: fix building for other arches
(cherry picked from commit 8b7e843dab)
2020-04-07 15:44:32 -03:00
Benjamin Hipple
d63f95896c Merge pull request #84623 from bhipple/bp/tmux-plugins
[20.03] tmuxPlugins: upgrade all to latest
2020-04-07 14:21:30 -04:00
worldofpeace
a5a30e85c9 Merge branch 'release-20.03' into staging-20.03 2020-04-07 13:25:36 -04:00
worldofpeace
29b6ad6278 Merge branch 'staging-20.03' into release-20.03 2020-04-07 13:24:24 -04:00
Benjamin Hipple
5b34063594 tmuxPlugins: upgrade all to latest
Many of the tmux plugins had not been updated in some time. This PR:

- Updates all of them to the latest version. This is notable because `tmux 3.0`
  has come out recently, and some of them have compatibility fixes for the new
  version (e.g., `vim-tmux-navigator`), as well as general performance
  improvements and bugfixes for many of them.

- Uses `fetchFromGitHub`, which is both more performant and hashed mirror friendly.

- Adds the standard `version = "unstable-YYYY-MM-DD"`, which makes it easy to
  determine at a glance how old/unmaintained some of these are.

- Adds the standard `pname` for overlay friendliness

(cherry picked from commit d5ccc59056)
2020-04-07 12:06:17 -04:00
rnhmjoj
c5a806cfc0 haskellPackages.pandoc-crossref: downgrade to latest working 2020-04-07 17:39:13 +02:00
Andreas Rammhold
5e9ae03746 firefox-devedition-bin: 75.0b12 -> 76.0b1
(cherry picked from commit 79fb58973f)
2020-04-07 13:47:47 +02:00
Andreas Rammhold
f545f8ec14 firefox-beta-bin: 75.0b11 -> 76.0b1
(cherry picked from commit 9d6a7fdaad)
2020-04-07 13:47:47 +02:00
Andreas Rammhold
9b3e192bcb firefox-bin: 74.0.1 -> 75.0
(cherry picked from commit bab82e78b2)
2020-04-07 13:47:47 +02:00
Andreas Rammhold
fb97dfdcfa firefox-esr-68: 68.6.1esr -> 68.7.0esr
(cherry picked from commit f56ea6cdd7)
2020-04-07 13:47:47 +02:00
Andreas Rammhold
37e814ba75 firefox: 74.0.1 -> 75.0
(cherry picked from commit 4a41fd7a1e)
2020-04-07 13:47:47 +02:00
Andreas Rammhold
8aa6834525 firefox: prepare for version 75
(cherry picked from commit 9de3c9749c)
2020-04-07 13:47:46 +02:00
Andreas Rammhold
612a2978de 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:47:45 +02:00
Maximilian Bosch
4291ef9bb6 prometheus-wireguard-exporter: 3.2.4 -> 3.3.0
https://github.com/MindFlavor/prometheus_wireguard_exporter/releases/tag/3.3.0
(cherry picked from commit e2b327cd4e)
2020-04-07 13:35:04 +02:00
Maximilian Bosch
3c700b8aa6 cargo-make: 0.30.2 -> 0.30.4
https://github.com/sagiegurari/cargo-make/releases/tag/0.30.3
https://github.com/sagiegurari/cargo-make/releases/tag/0.30.4
(cherry picked from commit 564af64783)
2020-04-07 13:35:04 +02:00
Frank Doepper
6570f2aec5 haskellPackages.amqp-utils: fix amqp-0.19 dependency 2020-04-07 10:14:11 +02:00
Jeff Labonte
f7522984c4 brave: 1.5.115 -> 1.5.123
Updated the checksum and the version of the brave package.

(cherry picked from commit 7a80ead781)
Reason: The browser must be kept up-to-date
2020-04-06 22:30:31 -04:00
worldofpeace
29eddfc36d Merge pull request #80848 from worldofpeace/20.03-release-notes
rl-2003: mention python driver
2020-04-06 20:31:14 -04:00
worldofpeace
a435d41af5 rl-2003: mention python driver 2020-04-06 20:07:11 -04:00
Bernardo Meurer
8b8b278a8a linuxPackages.nvidia_x11: 440.59 -> 440.64
(cherry picked from commit 408de509cc)
cc #84163
2020-04-06 19:06:18 -04:00
Silvan Mosberger
2216211144 nixos/lib/test-driver: Fix require_unit_state hardcoded formatting
(cherry picked from commit 85e866db6f)
2020-04-07 00:58:50 +02:00
Florian Klink
0abc66e252 Merge pull request #84497 from toonn/release-20.03
[20.03] wire-desktop: mac 3.15.3621 -> 3.16.3630
2020-04-06 22:13:12 +02:00
toonn
4cedeb7475 wire-desktop: mac 3.15.3621 -> 3.16.3630
(cherry picked from commit 39c5e1c723)
2020-04-06 19:01:20 +02:00
Daiderd Jordan
10f80999df Merge pull request #84334 from LnL7/darwin-itstool
itstool: fix double-shebang backport
2020-04-06 18:42:53 +02:00
Daiderd Jordan
ef0537b9cd Merge pull request #84332 from LnL7/darwin-backports
darwin 20.03 backports
2020-04-06 18:41:53 +02:00
Elis Hirwing
84926c9480 php72: 7.2.28 -> 7.2.29
Changelog: https://www.php.net/ChangeLog-7.php#7.2.29
(cherry picked from commit 8272ebe961)
2020-04-06 17:58:23 +02:00
Elis Hirwing
185b684425 php73: 7.3.15 -> 7.3.16
Changelog: https://www.php.net/ChangeLog-7.php#7.3.16
(cherry picked from commit 1118080dc0)
2020-04-06 17:58:04 +02:00
Elis Hirwing
865abba6e9 php74: 7.4.3 -> 7.4.4
Changelog: https://www.php.net/ChangeLog-7.php#7.4.4
(cherry picked from commit faf79b6384)
2020-04-06 17:57:36 +02:00
Jörg Thalheim
5d1de8ca0f Merge pull request #84483 from bcdarwin/backport-fix-sedlex-inputs
ocamlPackages.sedlex: fix dependencies
2020-04-06 16:48:47 +01:00
Ben Darwin
81ae9cbefe ocamlPackages.sedlex: fix dependencies
(cherry picked from commit 77901a96da)
2020-04-06 11:09:33 -04:00
worldofpeace
649b8e1f0f Merge pull request #82886 from bennofs/fix-nixos-aarch64-eval
Fix evaluation of release-20.03-aarch64 jobset
2020-04-06 10:48:31 -04:00
Artem Khramov
10d60f7fae rockbox-utility: add wrapQtAppsHook
It seems like all QT apps which use dynamic plugins should be wrapped
with `wrapQtAppsHook`. However, rockbox-utility is still not wrapped,
therefore fails to launch.

This change adds `qt5.wrapQtAppsHook` to nativeBuildInputs of
rockbox-utility.

(cherry picked from commit 861df8abd5)
2020-04-06 12:21:04 +01:00
Eelco Dolstra
b4e14e9254 nix: 2.4pre7250_94c93437 -> 2.4pre7346_5e7ccdc9, 2.4pre20200220_4a4521f -> 2.4pre20200403_3473b19
(cherry picked from commit b23f697b00)
2020-04-06 12:51:08 +02:00
Eelco Dolstra
13cbfa88db Remove Nix 1.x
(cherry picked from commit 5d583db5a2)
2020-04-06 12:51:04 +02:00
Edward Amsden
0dda3d53a5 nix: Drive-by cleanup: replace ifthenelse with lib.optionalString
(cherry picked from commit 3b72c55fc5)
2020-04-06 12:50:59 +02:00
Edward Amsden
93c13ab1f0 nix: Patch config.nix.in to reference host platform binaries
(cherry picked from commit f1415f633c)
2020-04-06 12:50:33 +02:00
worldofpeace
a128dd3af8 riot-desktop: wrap with wrapGAppsHook
wrap as per https://nixos.org/nixpkgs/manual/#sec-language-gnome.

(cherry picked from commit fe6addbbf7)
2020-04-06 03:51:56 -04:00
worldofpeace
57ecbc5c61 Revert "riot-desktop: add gsettings schemas to the wrapper"
This reverts commit 1af6a1a134.

(cherry picked from commit 204d7bc28b)
2020-04-06 03:51:56 -04:00
Vincent Laporte
9fa7ee47b7 coq_8_11: 8.11.0 → 8.11.1
(cherry picked from commit d6a8d0ca5b)
2020-04-06 08:00:13 +02:00
Sarah Brofeldt
637325d63f nixos/tests/ceph: Fix pg number to power of 2
(cherry picked from commit 6ccd347e46)
2020-04-06 07:49:37 +02:00
Sarah Brofeldt
74ee45c435 ceph: 14.2.7 -> 14.2.8
(cherry picked from commit ec21f70c4b)
2020-04-06 07:49:35 +02:00
Sarah Brofeldt
ee47f5285f ceph: 14.2.6 -> 14.2.7
(cherry picked from commit 41547d11ec)
2020-04-06 07:49:28 +02:00
worldofpeace
4c2401ae4d pantheon.wingpanel-indicator-notifications: remove wnck
Don't need it 8ba4666015

(cherry picked from commit ce867da997)
2020-04-06 01:36:14 -04:00
worldofpeace
7ff1a0d9f1 Merge pull request #84418 from worldofpeace/pantheon-update-04-03-20.03
[20.03] Pantheon update 2020-04-03
2020-04-06 00:03:03 -04:00
worldofpeace
133f76fff0 pantheon.gala: 3.2.0 -> 3.3.0
https://github.com/elementary/gala/releases/tag/3.3.0
2020-04-05 22:28:15 -04:00
worldofpeace
11aea6c3c6 pantheon.elementary-greeter: 5.0.2 -> 5.0.3
https://github.com/elementary/greeter/releases/tag/5.0.3
2020-04-05 22:28:15 -04:00
worldofpeace
d723711d63 pantheon.wingpanel: 2.2.6 -> 2.3.0
https://github.com/elementary/wingpanel/releases/tag/2.3.0
2020-04-05 22:28:14 -04:00
worldofpeace
883e15f223 pantheon.xml: drop slow shutdown workaround
Them removing cerbere and registering with the SessionManager
should make shutdown very fast. This was even done in plank [0]
which was the last factor outside cerbere causing this.

[0]]: a8d2f255b2
2020-04-05 22:28:14 -04:00
worldofpeace
2c4c025107 pantheon.elementary-dock: init at 2020-02-28
It seems Pantheon has forked Plank.
2020-04-05 22:28:14 -04:00
worldofpeace
5e12c6403d pantheon.cerbere: remove 2020-04-05 22:27:52 -04:00
worldofpeace
90a3d62260 pantheon.wingpanel-indicator-sound: 2.1.4 -> 2.1.5 2020-04-05 22:27:34 -04:00
worldofpeace
cf1f59cf2f pantheon.wingpanel-indicator-session: 2.2.7 -> 2.2.8 2020-04-05 22:27:34 -04:00
worldofpeace
6319579a07 pantheon.wingpanel-indicator-power: 2.1.4 -> 2.1.5 2020-04-05 22:27:34 -04:00
worldofpeace
5ddd566191 pantheon.wingpanel-indicator-notifications: 2.1.3 -> 2.1.4 2020-04-05 22:27:34 -04:00
worldofpeace
32175d2a87 pantheon.wingpanel-indicator-network: 2.2.2 -> 2.2.3 2020-04-05 22:27:33 -04:00
worldofpeace
6123950811 pantheon.wingpanel-indicator-keyboard: 2.2.0 -> 2.2.1 2020-04-05 22:27:33 -04:00
worldofpeace
6350caf275 pantheon.wingpanel-indicator-datetime: 2.2.1 -> 2.2.2 2020-04-05 22:27:33 -04:00
worldofpeace
ce8bce8352 pantheon.elementary-shortcut-overlay: 1.1.0 -> 1.1.1 2020-04-05 22:27:33 -04:00
worldofpeace
a569a23a40 pantheon.elementary-onboarding: 1.1.0 -> 1.2.0 2020-04-05 22:27:33 -04:00
worldofpeace
1e219069be pantheon.switchboard-plug-sound: 2.2.2 -> 2.2.3 2020-04-05 22:27:32 -04:00
worldofpeace
eaa6002188 pantheon.switchboard-plug-sharing: 2.1.3 -> 2.1.4 2020-04-05 22:27:32 -04:00
worldofpeace
1dda5cab01 pantheon.switchboard-plug-printers: 2.1.7 -> 2.1.8 2020-04-05 22:27:32 -04:00
worldofpeace
4576a78233 pantheon.switchboard-plug-power: 2.4.0 -> 2.4.1 2020-04-05 22:27:32 -04:00
worldofpeace
9f4e21ff3e pantheon.switchboard-plug-notifications: 2.1.5 -> 2.1.6 2020-04-05 22:27:32 -04:00
worldofpeace
d63add4516 pantheon.switchboard-plug-network: 2.2.0 -> 2.3.0 2020-04-05 22:27:31 -04:00
worldofpeace
13be8d025f pantheon.switchboard-plug-keyboard: 2.3.5 -> 2.3.6 2020-04-05 22:27:31 -04:00
worldofpeace
89eeebc42a pantheon.switchboard-plug-datetime: 2.1.6 -> 2.1.7 2020-04-05 22:27:31 -04:00
worldofpeace
86719de340 pantheon.switchboard-plug-a11y: 2.1.3 -> 2.2.0 2020-04-05 22:27:31 -04:00
worldofpeace
568500a93f pantheon.granite: 5.3.0 -> 5.3.1 2020-04-05 22:27:31 -04:00
worldofpeace
f2f7833bdd pantheon.switchboard: 2.3.8 -> 2.3.9 2020-04-05 22:27:31 -04:00
worldofpeace
ef4ce3bdc1 pantheon.sideload: 1.0.1 -> 1.1.0 2020-04-05 22:27:30 -04:00
worldofpeace
b9087a830f pantheon.elementary-terminal: 5.5.1 -> 5.5.2 2020-04-05 22:27:30 -04:00
worldofpeace
d24c057ecb pantheon.elementary-files: 4.4.1 -> 4.4.2 2020-04-05 22:27:30 -04:00
worldofpeace
16712bb2e6 pantheon.elementary-code: 3.3.0 -> 3.4.0 2020-04-05 22:27:30 -04:00
worldofpeace
802a803ec0 pantheon.elementary-camera: 1.0.5 -> 1.0.6 2020-04-05 22:27:30 -04:00
worldofpeace
3434b85c75 pantheon.elementary-calendar: 5.0.3 -> 5.0.4 2020-04-05 22:27:29 -04:00
worldofpeace
fed6a0b63d pantheon.elementary-calculator: 1.5.4 -> 1.5.5 2020-04-05 22:27:29 -04:00
worldofpeace
b98eceeed1 pantheon.appcenter: 3.2.2 -> 3.2.3 2020-04-05 22:27:29 -04:00
Robert Helgesson
2444e3c418 documentation: minor spelling and stylistic fixes
(cherry picked from commit 40bbbb8f7d)
2020-04-06 02:38:44 +02:00
volth
0bb35152be firefox: mark as broken on 32-bit buildPlatform
(cherry picked from commit ed33a6c327)
2020-04-05 20:30:18 +02:00
Maximilian Bosch
8f720ba725 bandwhich: 0.12.0 -> 0.13.0
https://github.com/imsnif/bandwhich/releases/tag/0.13.0
(cherry picked from commit 35c0d9da9b)
2020-04-05 19:58:56 +02:00
Maximilian Bosch
0d4f92d789 mautrix-whatsapp: 2020-03-26 -> 2020-04-02
(cherry picked from commit ca0cb2c43f)
2020-04-05 17:47:19 +02:00
Vladimír Čunát
d815dc4b68 Merge #84273: gnutls: 3.6.12 -> 3.6.13 [security]
... into staging.  Fixes CVE-2020-11501.

(cherry picked from commit f91b34e53e)
2020-04-05 17:20:15 +02:00
Tristan Helmich (omniIT)
182f229ba7 graylog: 3.2.2 -> 3.2.4
(cherry picked from commit 5cb04b4377)
2020-04-05 12:54:51 +02:00
Jörg Thalheim
7601af232b itstool: use wrapPython to fix double shebang on macOS
(cherry picked from commit 02a5f3e88d)
2020-04-05 12:23:48 +02:00
Burke Libbey
6e14cf0e62 itstool: fix double-shebang issue on macOS
(cherry picked from commit 9761d5ac9f)
2020-04-05 12:23:37 +02:00
Armin1402
92e20dc020 nexus: 3.20.1-01 -> 3.22.0-02
(cherry picked from commit e10b507ec0)
See
https://help.sonatype.com/repomanager3/release-notes/2020-release-notes
for security fixes details.
2020-04-05 02:23:54 +02:00
Pascal Bach
7c9e1ecdf5 nixos/nextcloud: prevent warning about missing X-Frame-Option
(cherry picked from commit 119a7aae50)
2020-04-05 01:39:07 +02:00
R. RyanTM
1e19a82577 apacheHttpd: 2.4.41 -> 2.4.43
(cherry picked from commit f26b2afb93)
2020-04-04 19:29:52 -04:00
Samuel Dionne-Riel
17af97f997 Merge pull request #84248 from andir/20.03/firefox
[20.03] update firefox to latests stable (secure) release
2020-04-04 18:08:00 -04:00
Tony Olagbaiye
01ac831e03 emacsPackages.lua-mode: Fix hash
for the third time...

(cherry picked from commit df594f1e45)
2020-04-04 23:12:38 +02:00
Maximilian Bosch
1d13409cb7 mautrix-telegram: 0.7.1 -> 0.7.2
https://github.com/tulir/mautrix-telegram/releases/tag/v0.7.2
(cherry picked from commit 1c54edcf8d)
2020-04-04 22:36:47 +02:00
Constantine Glen Evans
5de67dfd72 libunique: add darwin
libunique builds, and dependencies appear to build and run correctly,
in OS X.

(cherry picked from commit 45c9ad32fd)
2020-04-04 20:54:13 +02:00
Dmitry Kalinkin
feacec6a87 higan: fix darwin build
(cherry picked from commit 4c931a8217)
2020-04-04 20:53:23 +02:00
Dmitry Kalinkin
8876e5edb8 mame: add darwin support
(cherry picked from commit 39921bd43b)
2020-04-04 20:53:22 +02:00
Mario Rodas
06fe4b2528 lepton: enable on darwin
(cherry picked from commit 310b108efa)
2020-04-04 20:42:53 +02:00
Marek Mahut
b460ece5d6 cloudflare-wrangler: adding dependencies for darwin
(cherry picked from commit 6274ce11a1)
2020-04-04 20:42:48 +02:00
Nikolay Korotkiy
3c39e188d8 goldendict: enable on darwin
(cherry picked from commit 217b221eab)
2020-04-04 20:36:58 +02:00
Nikolay Korotkiy
ee4164e1da osm2pgsql: enable on darwin
(cherry picked from commit d6f5459da9)
2020-04-04 20:34:50 +02:00
rnhmjoj
ef955ecb1e riot-desktop: add gsettings schemas to the wrapper
(cherry picked from commit 1af6a1a134)
This fixes a crash when opening the file picker.
2020-04-04 20:24:54 +02:00
Eelco Dolstra
7d80362d6c kscreen: Fix #82141
https://bugs.kde.org/show_bug.cgi?id=417316
(cherry picked from commit 18539b1041)
2020-04-04 20:10:20 +02:00
Benjamin Hipple
3cd943704e Merge pull request #84224 from drewrisinger/dr-pr-backport-20.03-84223
[20.03]: python38Packages.uvloop: enable build
2020-04-04 13:45:28 -04:00
Drew Risinger
6118f04200 python3Packages.uvloop: enable on python3.8
Allow build pass by disabling test. Isolated issue to
test_sockets.py::TestAIOSockets::test_sock_close_add_reader_race.
This test is supposed to be skipped, but it isn't for some reason,
so we disable it instead.
See uvloop#284 (https://github.com/MagicStack/uvloop/pull/284)
for full details. Don't know why this test isn't properly skipped.

(cherry picked from commit 364909d535)
2020-04-04 13:18:29 -04:00
Maximilian Bosch
564d9c03b3 cargo-make: 0.30.1 -> 0.30.2
https://github.com/sagiegurari/cargo-make/releases/tag/0.30.2
(cherry picked from commit 268f71cfd7)
2020-04-04 15:57:08 +02:00
Andreas Rammhold
30e54a0680 firefox-devedition-bin: 73.0b3 -> 75.0b12 2020-04-04 13:19:06 +02:00
Andreas Rammhold
22f3fc175e firefox-beta-bin: 73.0.b3 -> 75.0b11 2020-04-04 13:19:06 +02:00
Andreas Rammhold
4fccf16c2b firefox-bin: 74.0 -> 74.0.1 2020-04-04 13:19:06 +02:00
Andreas Rammhold
d44c85f518 firefox-esr: 68.6.0esr -> 68.6.1esr 2020-04-04 13:19:06 +02:00
Andreas Rammhold
5e9c65ae18 firefox: 73.0.1 -> 74.0.1 2020-04-04 13:18:59 +02:00
Andreas Rammhold
5fd70607c7 sqlite_3_31_1: init at 3.31.1
This is a backport to support building stable firefox version on the
stable release channel. Firefox has some very strict requirements on
it's dependencies. Since we do not want to use bundled versions of
dependencies this backport is required fore Firefox >=74.
2020-04-04 13:18:58 +02:00
Andreas Rammhold
c3a43d94ff nss_3_51: init at 3.51
This is a backport to support building stable firefox version on the
stable release channel. Firefox has some very strict requirements on
it's dependencies. Since we do not want to use bundled versions of
dependencies this backport is required fore Firefox >=74.
2020-04-04 13:18:58 +02:00
Andreas Rammhold
f9c866e5a4 firefox: update for version 74 2020-04-04 13:18:58 +02:00
Michael Weiss
8532dd179c Merge pull request #84094 from DieGoldeneEnte/llvm10-backport-20.03
[20.03] llvmPackages_10: init at 10.0.0
2020-04-04 12:34:20 +02:00
Benjamin Hipple
4dc8447c55 Merge pull request #84202 from mmilata/sympa-outgoing-20.03
[20.03] nixos/sympa: fix outgoing emails, update package version
2020-04-03 21:43:14 -04:00
Justin Humm
eeeb2bf803 nixos/release-notes: mention that dhcpcd stopped giving IPv4 addresses to bridges by default
This is an backward incompatible change from upstream dhcpcd [0], as
this could have easily locked me out of my box.

As dhcpcd doesn't allow to use only a blacklist (denyinterfaces in
dhcpcd.conf) of devices and use all remaining devices, while explicitly
allowing some interfaces like bridges, I think the best option would be
to not change anything about it and just educate the users here about
that edge case and how to solve it.

[0] https://roy.marples.name/archives/dhcpcd-discuss/0002621.html
2020-04-04 01:44:46 +02:00
Florian Klink
e46f456d79 Merge pull request #83601 from andir/20.03-buildRustCrate-fixes
[20.03] buildRustCrate fixes backports
2020-04-04 01:43:32 +02:00
Benjamin Hipple
aa3c504e20 Merge pull request #84184 from romildo/upd.freeoffice
[20.03] freeoffice: 973 -> 976
2020-04-03 19:21:33 -04:00
Benjamin Hipple
e8610d7a41 Merge pull request #84216 from drewrisinger/dr-pr-backport-20.03-84197
[20.03] python3Packages.pint: 0.9 -> 0.11
2020-04-03 19:21:18 -04:00
Drew Risinger
a1d1b7a227 datasette: 0.35 -> 0.39
(cherry picked from commit fb252907f5)
2020-04-03 18:12:01 -04:00
Drew Risinger
029276f654 pythonPackages.pint: 0.9 -> 0.11
(cherry picked from commit 4b822bbd23)
2020-04-03 18:11:49 -04:00
Bastian Köcher
ef33b9fc08 nixos/wg-quick: Fix after wireguard got upstreamed
(cherry picked from commit 644d643d68)
2020-04-03 23:01:38 +02:00
Lengyel Balazs
8224137bba fix wireguard service as well after it got upstreamed.
(cherry picked from commit 50fb52d4e1)
2020-04-03 23:01:37 +02:00
Daiderd Jordan
1c32029731 Merge pull request #80890 from LnL7/darwin-ldflags
darwin: fix NIX_LDFLAGS usages
2020-04-03 22:53:19 +02:00
Mario Rodas
f94171437b bazel: fix linker flags for darwin
(cherry picked from commit d1ee615f1c)
2020-04-03 22:27:18 +02:00
Jason Felice
66932665d5 plan9port: fix linker flags for macosx
(cherry picked from commit 4d2a8257ed)
(cherry picked from commit 7724ef793a)
2020-04-03 22:27:14 +02:00
Rohan Hart
449c060d12 lutris: custom wine installations require libkrb5
fixes the error: symbol k5_os_mutex_destroy version krb5support_0_MIT not defined in file libkrb5support.so.0

(cherry picked from commit 41fe7dbedf)
2020-04-03 13:06:44 -07:00
Maximilian Bosch
995229d130 grocy: 2.6.1 -> 2.6.2
https://github.com/grocy/grocy/releases/tag/v2.6.2
(cherry picked from commit 1d7a795fcd)
2020-04-03 21:59:31 +02:00
Frederik Rietdijk
e79a142e58 Merge release-20.03 into staging-20.03 2020-04-03 21:55:55 +02:00
Maximilian Bosch
0abd4fd0c3 Merge pull request #83628 from Ma27/mongodb-20.03
[20.03] mongodb: update
2020-04-03 21:48:55 +02:00
Martin Milata
5edcadc735 nixos/sympa: fix outgoing messaging
Because ProtectKernelModules implies NoNewPrivileges, postfix's sendmail
executable, which is setgid, wasn't able to send mail.

(cherry picked from commit fdc36e2c89)
2020-04-03 20:14:23 +02:00
Martin Milata
b95cf62bd0 sympa: build with --enable-fhs
Update module accordingly.

(cherry picked from commit 8f632b404f)
2020-04-03 20:14:22 +02:00
Martin Milata
769a5ccbaf sympa: 6.2.52 -> 6.2.54
(cherry picked from commit adc7388930)
2020-04-03 20:14:22 +02:00
Florian Klink
e89b1063fb Merge pull request #84164 from Izorkin/mariadb-tokudb-20.03
[20.03] mariadb: backport updates
2020-04-03 15:52:26 +02:00
Izorkin
c0c04ea70d mariadb: fix deps build
(cherry picked from commit 5abc729dd6)
2020-04-03 14:47:17 +02:00
Izorkin
6254058ddc mariadb: add zstd compression
(cherry picked from commit 24357432cd)
2020-04-03 14:47:17 +02:00
Izorkin
bf942675cb mariadb: add option to build server without rocksdb storage
(cherry picked from commit eafdfc8f51)
2020-04-03 14:47:17 +02:00
Izorkin
a05099d277 mariadb: add option to build server without tokudb storage
(cherry picked from commit 0296e678cf)
2020-04-03 14:47:17 +02:00
Florian Klink
a9d0d059a0 mariadb: remove withoutClient
When used as a global override, it breaks most of the options in the
mysql module, such as ensureDatabases, ensureUsers, initialDatabases,
initialScript.

We could use `.client` there, but if the reasoning behind this was
closure size reduction, we now end up with the same (or a bigger)
runtime closure and more complexity.

Apart from the options exposed by the mysql module, the client is also
likely to be required for local backups or DBA tasks anyways.

Instead of dealing with all the increased complexity of this for no
arguable benefit, let's just remove the `withoutClient` argument.
Storage space on mysql servers shouldn't be that much of an issue.

Closes #82428.

(cherry picked from commit 4b8d66aa72)
2020-04-03 14:47:17 +02:00
Izorkin
95c2e022cf mariadb: add needed packages
(cherry picked from commit 982a23de94)
2020-04-03 14:47:12 +02:00
Izorkin
988bb1f365 mariadb: build server with NUMA
(cherry picked from commit c6d159d696)
2020-04-03 14:47:01 +02:00
Eelco Dolstra
b255cd7f7f Don't pin 'nixpkgs' in the system registry by default
Nixpkgs takes up a lot of disk space so we shouldn't do this by
default.

(cherry picked from commit 469f14ef0f)
2020-04-03 14:42:29 +02:00
Dennis Gosnell
c778e137bd Merge pull request #84181 from schmittlauch/fixHoogleStable
[backport] haskell shellFor: Fix hoogle
2020-04-03 21:20:15 +09:00
José Romildo Malaquias
26df648c5f freeoffice: 974 -> 976
Cherry picked from PR #83495

(cherry picked from commit 55b6146535)
2020-04-03 08:59:23 -03:00
Daniël de Kok
a1d49d6c69 freeoffice: 973 -> 974
Cherry picked from PR #82038

Changelog:

https://www.freeoffice.com/en/download/servicepacks
(cherry picked from commit 44085e3501)
2020-04-03 08:56:53 -03:00
Eelco Dolstra
cf0855c899 nix-daemon.nix: Add option nix.registry
This allows you to specify the system-wide flake registry. One use is
to pin 'nixpkgs' to the Nixpkgs version used to build the system:

  nix.registry.nixpkgs.flake = nixpkgs;

where 'nixpkgs' is a flake input. This ensures that commands like

  $ nix run nixpkgs#hello

pull in a minimum of additional store paths.

You can also use this to redirect flakes, e.g.

  nix.registry.nixpkgs.to = {
    type = "github";
    owner = "my-org";
    repo = "my-nixpkgs";
  };

(cherry picked from commit 74e7ef35fe)
2020-04-03 13:48:03 +02:00
John Ericson
c565d7cc16 haskell shellFor: Fix hoogle
(cherry picked from commit 1c07ee7925)
2020-04-03 13:38:27 +02:00
Michael Weiss
2e3190538b 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)
Backport of #84174.
2020-04-03 11:22:10 +02:00
Eelco Dolstra
5bf91db519 packagekit: Don't depend on nix unless enableNixBackend = true
(cherry picked from commit 9737f24919)
2020-04-02 22:16:52 +02:00
Florian Klink
3b3831957f go_1_14: 1.14 -> 1.14.1
This contains at least https://github.com/golang/go/issues/37807, which
currently causes some of our go binaries to just fail when booted with
older kernels.

See https://github.com/golang/go/issues/37436 for context.

(cherry picked from commit da2146ddeb)
2020-04-02 20:39:07 +01:00
Maximilian Bosch
50bfd35a05 matrix-synapse: 1.12.0 -> 1.12.1
https://github.com/matrix-org/synapse/releases/tag/v1.12.1
(cherry picked from commit 83c59cb9b6)
2020-04-02 21:13:57 +02:00
Tim Steinbach
8bbceb7c00 linux: 4.9.217 -> 4.9.218 2020-04-02 14:06:15 -04:00
Tim Steinbach
306226b378 linux: 4.4.217 -> 4.4.218 2020-04-02 14:06:15 -04:00
Tim Steinbach
1c38dc5df0 linux: 4.14.174 -> 4.14.175 2020-04-02 14:06:15 -04:00
volth
c8baff29a4 scallion: use openssl 1.0
it does not work with openssl 1.1 (upstream issue https://github.com/lachesis/scallion/issues/113)

(cherry picked from commit 8195e7eb93)
2020-04-02 16:37:07 +01:00
Dmitry Kalinkin
c8d2553996 texlive.combine: set TEXMFCNF in binary wrapper
This helps kpathsea to find texmf.cnf in some cases. For example,
dvipng was trying to look for it in
/nix/store/<hash>-texlive-dvipng.bin-2019/ instead of
/nix/store/<hash>-texlive-combined-full-2019/.

(cherry picked from commit 91c9f2ab5c)
cc #83816
2020-04-02 11:28:55 -04:00
Silvan Mosberger
e071ed1dc2 Merge pull request #84114 from mmilata/moinmoin-b42-20.03
nixos/moinmoin: fix maintainer reference
2020-04-02 17:11:01 +02:00
Martin Milata
866017f7eb nixos/moinmoin: fix maintainer reference
(cherry picked from commit f35d65850e)
2020-04-02 17:07:40 +02:00
Tim Steinbach
c9f15e246e linux: 5.5.14 -> 5.5.15 2020-04-02 10:26:16 -04:00
Tim Steinbach
d4cd5a8b45 linux: 5.4.29 -> 5.4.30 2020-04-02 10:26:16 -04:00
Tim Steinbach
fea9f4e002 linux: 4.19.113 -> 4.19.114 2020-04-02 10:26:16 -04:00
Michael Weiss
69975012f6 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-02 15:35:17 +02:00
Michael Weiss
bb34ef369e 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:35:17 +02:00
Artemis Tosini
b36c9faf0f chromium: Add option to enable ozone (for Wayland)
(cherry picked from commit b3e1a1bbbb)
2020-04-02 15:34:59 +02:00
Peter Simons
e7c0dc6c8b chromium: I accidentally added the webrtc patch into the wrong section
(cherry picked from commit b3c2908825)
2020-04-02 15:34:28 +02:00
Peter Simons
5c8fdaacaf 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:34:08 +02:00
Jörg Thalheim
e3cf1bd817 Merge pull request #82350 from Mic92/haproxy
[backport-20.03] nixos/haproxy: Revive the haproxy user and group
2020-04-02 13:40:08 +01:00
Vladimír Čunát
0e5ef8c470 openssl: 1.1.1d -> 1.1.1f
https://github.com/pyca/pyopenssl/issues/899#issuecomment-607709065
The tests in python3.pkgs.pyopenssl succeed! (re-checked on 20.03)
Fixing this problem we experienced is listed as the only major change:
https://www.openssl.org/news/openssl-1.1.1-notes.html

(cherry picked from commit 6c8692feb4)
2020-04-02 11:54:49 +02:00
Gabor Greif
28239c7ca5 llvmPackages_10: init at 10.0.0
Backport of llvmPackages_10 since Chromium 83 will depend on it.
See https://github.com/NixOS/nixpkgs/pull/83350#issuecomment-605994185

llvmPackages_10: copy llvmPackages_9

* starting with rc2
* make `lldb` compilable again on Darwin
* separate out manpage creation for `lldb` into a new derivation
* minor tweaks to the patching of sources,
  some of which are backportable to earlier versions

(cherry picked from commit f111c6f9ce)

llvmPackages_10: rc2 -> rc3

http://lists.llvm.org/pipermail/llvm-dev/2020-March/139729.html

Additionally cherry-picked 3 commits from `llvm-project/master`:
- llvm/llvm-project@d21664c
- llvm/llvm-project@3a0f6e6
- llvm/llvm-project@87dac7d

such that clang can automatically pick up the polly plugin from the
`llvm-polly` build.

(cherry picked from commit 3a84353edb)

llvmPackages_10: rc3 -> rc4

Only needed to update hashes and the version.
Updated comment for extension handling patch

(cherry picked from commit 0ec3f4e26b)

llvmPackages_10: removed extra polly-build

There is no good reason to have separate builds for polly and no-polly
versions. wwwwwThe reason for the two versions was (as far as I can
tell) to defer rebuilds (see ed60483257).
Polly is now enabled by default.

(cherry picked from commit e9aa8770ea)

llvmPackges_10: rc4 -> rc5

updated versino and hashes for new rc

(cherry picked from commit cdee144dfc)

llvmPackages_10: rc5 -> release

updated hashes and url
updated comment regarding version/release_version to make it clearer

(cherry picked from commit 4665b2a9a2)
2020-04-02 11:42:16 +02:00
Danylo Hlynskyi
1bdc619f4b postgresql-wal-receiver: fix test for Pg12 (#80268)
Fixes https://github.com/NixOS/nixpkgs/issues/80060

(cherry picked from commit 56c4800e7f)
2020-04-02 12:25:56 +03:00
Vladimír Čunát
0d5664aa8f Merge branch 'release-20.03' into staging-20.03 2020-04-02 10:09:44 +02:00
Vladimír Čunát
5e24f4b3b3 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.

(cherry picked from commit 2071e3be28)
2020-04-02 09:58:38 +02:00
Benjamin Hipple
c922cdefa8 Merge pull request #84002 from bhipple/bp/hobbes
[20.03] hobbes: init at 2020-03-10
2020-04-01 23:47:00 -04:00
John Ericson
7c56c5fe6b Merge pull request #84031 from obsidiansystems/consistent-bazel-ref
bazel-*: Consistently self reference
2020-04-01 19:34:52 -04:00
Jan Tojnar
9412ae37b0 Revert "make-options-doc: fix string context issues"
This reverts commit 3c15d578d4.

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

(cherry picked from commit cab6b019b1)
2020-04-02 01:33:19 +02:00
Jonathan Ringer
98c6f66507 Revert "nixos/geoclue2: set location.provider to geoclue2"
This reverts commit f8a78afd5c.

(cherry picked from commit 3459038852)
2020-04-02 00:57:25 +02:00
Maximilian Bosch
137d76902b gitea: 1.11.3 -> 1.11.4
https://github.com/go-gitea/gitea/releases/tag/v1.11.4
(cherry picked from commit 38f4e7c6ea)
2020-04-01 23:24:20 +02:00
Maximilian Bosch
e39c7b99c8 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-01 22:45:19 +02:00
zowoq
734b84c441 bubblewrap: 0.4.0 -> 0.4.1
https://github.com/containers/bubblewrap/releases/tag/v0.4.1
(cherry picked from commit d67539de8a)
2020-04-01 19:45:03 +02:00
Eelco Dolstra
21dbb69ee6 kdeApplications: 19.12.1 -> 19.12.3
(cherry picked from commit 24519c87e8)
2020-04-01 19:00:42 +02:00
Thomaz Leite
609bf4b674 hobbes: mark as broken on Darwin
(cherry picked from commit 2ac8f8faeb)
2020-04-01 12:35:03 -04:00
Thomaz Leite
538929bde7 hobbes: init at unstable-2020-03-10
(cherry picked from commit 704e60443a)
2020-04-01 12:34:55 -04:00
Thomaz Leite
b18e7d7dc5 maintainers: add thmzlt
(cherry picked from commit 063795f3f5)
2020-04-01 12:34:42 -04:00
Jörg Thalheim
32992a68cf Merge pull request #83991 from charles-dyfis-net/curaengine-fix-openmp-compat-backport20.03
[20.03] curaLulzbot: Fix build breakage around OpenMP compatibility
2020-04-01 16:51:42 +01:00
Charles Duffy
a7f8187f09 curaLulzbot: Fix build breakage around OpenMP compatibility
(cherry picked from commit 68d14b3756)
2020-04-01 10:34:05 -05:00
Maximilian Bosch
dffbac03fd riot-desktop: 1.5.14 -> 1.5.15
https://github.com/vector-im/riot-web/releases/tag/v1.5.15
(cherry picked from commit d7c0018c79)
2020-04-01 17:03:00 +02:00
Maximilian Bosch
a449185598 riot-web: 1.5.14 -> 1.5.15
https://github.com/vector-im/riot-web/releases/tag/v1.5.15
(cherry picked from commit 04a6f80ff4)
2020-04-01 17:03:00 +02:00
Tim Steinbach
19693ddc2e linux_latest-libre: 17387 -> 17402
(cherry picked from commit ef3f3f2728)
2020-04-01 10:59:49 -04:00
Daniel Șerbănescu
c978b1bc1b linux-libre: added --force flag for deblobbing.
(cherry picked from commit 8431497dd2)
2020-04-01 10:59:35 -04:00
Tim Steinbach
f12b9d4e35 linux_latest-libre: 17322 -> 17387
(cherry picked from commit f0d17c2a17)
2020-04-01 10:59:22 -04:00
Tim Steinbach
c4998a4198 linux: 5.5.13 -> 5.5.14 2020-04-01 10:58:12 -04:00
Tim Steinbach
d96290cdf8 linux: 5.4.28 -> 5.4.29 2020-04-01 10:58:12 -04:00
Tim Steinbach
465eb7e75b jenkins: 2.204.5 -> 2.222.1
(cherry picked from commit be792c92ec)
2020-04-01 10:58:00 -04:00
Tim Steinbach
9100c67b27 jenkins: 2.204.4 -> 2.204.5
(cherry picked from commit 16eb11b5d3)
2020-04-01 10:58:00 -04:00
Tim Steinbach
a085e5c5f5 jenkins: 2.204.3 -> 2.204.4
(cherry picked from commit 03003d433c)
2020-04-01 10:58:00 -04:00
Tim Steinbach
b832f28e26 jenkins: 2.204.2 -> 2.204.3
(cherry picked from commit 2cc00e2e8a)
2020-04-01 10:58:00 -04:00
Mario Rodas
7f82e22f70 ruby_2_7: 2.7.0 -> 2.7.1
Changelog: https://www.ruby-lang.org/en/news/2020/03/31/ruby-2-7-1-released/
(cherry picked from commit a7f1e9f1ef)
2020-04-01 12:39:09 +00:00
Mario Rodas
8ea9745e8f 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:39:07 +00:00
Mario Rodas
4556842a4e 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:39:06 +00:00
Mario Rodas
959a1a3e16 ruby: update RVM patchsets
(cherry picked from commit dd24a2f2a0)
2020-04-01 12:39:03 +00:00
worldofpeace
33c19df80d qgnomeplatform: hardcode gsettings schemas
Fixes #81866

(cherry picked from commit 0ea686647f)
2020-04-01 02:16:45 -04:00
worldofpeace
bbb647549e nixos/geoclue2: set location.provider to geoclue2
(cherry picked from commit 4859c19a162218bad41cd320d101a296e1460855)
2020-04-01 01:31:52 -04:00
worldofpeace
347e9b3d65 elementary-planner: 2.1.1 -> 2.2.14
(cherry picked from commit 35fcdb5191)
2020-04-01 01:09:09 -04:00
worldofpeace
35b289344b lollypop: 1.2.23 -> 1.2.32
(cherry picked from commit 9c43840d2de44691bb4e8a94d7b9b41901e09b31)
2020-04-01 00:24:58 -04:00
Benjamin Koch
2bdd1f3a8d nixos/nextcloud: avoid loading imagick extension more than once
This avoids the following error message:
  Module 'imagick' already loaded at Unknown#0

(cherry picked from commit db32158bbd)
2020-04-01 02:57:01 +02:00
Symphorien Gibol
f1fcd3040f nixos/tests/os-prober.nix: fix out of memory
(cherry picked from commit 6a2f64a542)
2020-04-01 01:04:18 +02:00
Symphorien Gibol
fe6052f24b vmTools.diskImageFuns.debian9i386: update source url
referenced packets were removed from the mirrors

Fixes #77396 #80041

(cherry picked from commit 671dc2a5ca)
2020-04-01 01:04:11 +02:00
danbst
5d671c7c3c doc/postgresql: apply xmlformat
(cherry picked from commit a723672c20)
2020-03-31 23:54:39 +02:00
danbst
0f5b21ef72 nixos/postgresql: add upgrade documentation
(cherry picked from commit 759fd9b0b0)
2020-03-31 23:54:29 +02:00
Maximilian Bosch
55b0101dff nixos/acme: don't depend on multi-user.target inside a container
On boot, a container doesn't have an uplink and would run into a timeout
while waiting for cert renewal[1].

[1] https://github.com/NixOS/nixpkgs/pull/81371#issuecomment-605526099

(cherry picked from commit 1a5289f803)
2020-03-31 19:15:47 +02:00
John Ericson
48e07b529f Merge pull request #83882 from jmillerpdt/bugfix/tensorflow-mkl
pythonPackages.tensorflow: fix for bazel settings for intel mkl, dnnl for 20.03
2020-03-31 12:51:35 -04:00
Benjamin Hipple
81c29c1be0 python27Packages.python-otr: mark as broken
See inline comment for details.

https://hydra.nixos.org/build/115510612

CC @NixOS/nixos-release-managers

ZHF: #80379
(cherry picked from commit c77bd38764)
2020-03-31 11:38:26 +01:00
Benjamin Hipple
e15c9281a5 python27Packages.application: 2.7.0 -> 2.8.0 and fix build
The build is currently broken due to failure to build `darcs` to fetch the src
package. The homepage is already their GitHub repo, and it appears to be the
active src of development anyways. See #83718

I came across this while debugging this failure:
https://hydra.nixos.org/build/115510612

Note that the `application` dependency *does* succeed on Hydra, because it's
already on local disk in Hydra's store, but I cannot rebuild locally because it
has prefer local builds.
https://hydra.nixos.org/build/115512559

This package is not reproducible on 20.03 or buildable outside of Hydra, so I
intend to backport the fix.

CC @NixOS/nixos-release-managers

ZHF: #80379
(cherry picked from commit 2c5fe63fbe)
2020-03-31 11:38:24 +01:00
rnhmjoj
75d9ade69e nix-script: 2015-09-22 -> 2020-03-23
(cherry picked from commit 8ef9611645)
2020-03-31 11:40:11 +02:00
R. RyanTM
509bdef90c pirate-get: 0.3.4 -> 0.3.5
(cherry picked from commit 365eb878a9)
This update contains an important fix.
2020-03-31 11:37:51 +02:00
Nick Hu
f2417ef677 zotero: make wrapGAppsHook work
(cherry picked from commit 4665e31ffd)
cc #83806
2020-03-30 22:37:17 -04:00
zowoq
b57eabee9f flatpak: 1.6.2 -> 1.6.3
https://github.com/flatpak/flatpak/releases/tag/1.6.3
(cherry picked from commit 72aceab6ef)
2020-03-31 02:15:34 +02:00
Maximilian Bosch
5a6e4ee2dd Merge pull request #83715 from tokudan/20.03/nextcloud1803
[20.03] nextcloud: 18.0.2 -> 18.0.3
2020-03-31 01:48:12 +02:00
Maximilian Bosch
76312413cb riot-desktop: 1.5.13 -> 1.5.14
https://github.com/vector-im/riot-web/releases/tag/v1.5.14
(cherry picked from commit 574ebdfa848efaf29bf28734eea4519ddb3a4c0e)
2020-03-31 00:09:37 +02:00
Maximilian Bosch
bb7abdfb88 riot-web: 1.5.13 -> 1.5.14
https://github.com/vector-im/riot-web/releases/tag/v1.5.14
(cherry picked from commit 740dcea640c49778dd7c6246731c6632ab5bb270)
2020-03-31 00:09:37 +02:00
John Ericson
2ca3f24f21 Merge branch 'add-tensorflow-2' into release-20.03 2020-03-30 20:35:31 +00:00
John Ericson
f2c8b07e36 tensorflow_2: Mark as broken for now
The other bits are good and worth keeping, however.
2020-03-30 20:34:05 +00:00
John Ericson
6ca72b60f2 Merge remote-tracking branch 'upstream/release-20.03' into add-tensorflow-2 2020-03-30 17:47:59 +00:00
Benjamin Hipple
08bd717049 Merge pull request #83774 from drewrisinger/release-20.03
[20.03] pythonPackages.scikit-build: fix python3.8 bug
2020-03-30 13:32:06 -04:00
adisbladis
90529eee7f pulseaudio: Enable bluetooth support by default
It only increases the closure size by 0.5M and users who do not set
the NixOS option `hardware.pulseaudio.package = pkgs.pulseaudioFull;`
will be stumped by their bluetooth audio not working.

(cherry picked from commit e41f3d9ef3)
2020-03-30 15:35:52 +01:00
Robin Gloster
bec49f93cc libvirt: fix escapeShellArg usage
Co-Authored-By: conferno <conferno@camfex.cz>
(cherry picked from commit b80edca6be)
2020-03-30 15:19:56 +02:00
Izorkin
91dd0647b6 libvirt: 5.4.0 -> 5.9.0
(cherry picked from commit 9336b15a88)
2020-03-30 15:19:36 +02:00
volth
8ad32ccee2 perlPackages.SysVirt: use upstream tag
(cherry picked from commit ddbac2e185)
2020-03-30 15:19:36 +02:00
volth
1affb42569 nixos/scripted-networking: fix bridge setup when libvirtd uses socket activation
(cherry picked from commit 687aa06c70)
2020-03-30 15:19:35 +02:00
volth
d0ab24e4fa libvirt: 6.0.0 -> 6.1.0, fix module
(cherry picked from commit d8664c78b1)
2020-03-30 15:19:35 +02:00
wedens
3388701ad8 libvirt: 5.4.0 -> 6.0.0
(cherry picked from commit 24c8d75874)
2020-03-30 15:19:35 +02:00
Drew Risinger
53264c9e35 pythonPackages.scikit-build: fix python3.8 bug
Python3.8 removes ``platform.linux_distribution()`` call,
must use ``pythonPackages.distro`` to get same information.
Closes #83305
Upstream PR: https://www.github.com/scikit-build/scikit-build/pull/458
Also formatting.

(cherry picked from commit c8dd834189)
2020-03-30 08:56:59 -04:00
Michele Guerini Rocco
8137763956 Merge pull request #83726 from davidak/backport
[20.03] Backport small doc improvements
2020-03-30 11:16:55 +02:00
Daniël de Kok
42001e5613 skypeforlinux: support app indicator
In contrast to e.g. Telegram or Slack, Skype does not show an app
indicator in the GNOME tray. This is quite annoying, since Skype will
continue to run in the background when its main window is closed, but
there is no way to access it.

This change adds libappindicator-gtk3 to the rpath to enable app
indicator support.
2020-03-30 09:52:01 +01:00
Vincent Laporte
0c666693d5 ocamlPackages.batteries: 2.11.0 → 3.0.0
(cherry picked from commit 86d1378d3e)
2020-03-30 10:06:24 +02:00
Joachim Breitner
ef0d4659da 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 10:02:24 +02:00
Michael Lingelbach
5187b4105e opencv4: Enable nvidia-optical-flow-sdk when building with cuda
(cherry picked from commit dc1a15e7bd)
2020-03-30 02:37:13 -04:00
Michael Lingelbach
5c4ed65ad7 nvidia-optical-flow-sdk: init at 79c6cee80a2df9a196f20afd6b598a9810964c32
(cherry picked from commit 41b012907d)
2020-03-30 02:37:13 -04:00
Benjamin Hipple
bdaa840230 Merge pull request #81647 from acairncross/monosat-py38-backport
[20.03] python3Packages.monosat: Fix Python 3.8 build
2020-03-29 23:36:46 -04:00
davidak
9f99a89ee1 nixos/phpfpm: add example to socket
(cherry picked from commit c7e4c3b5a3)
2020-03-30 01:28:13 +02:00
davidak
680d4ceaa2 Doc: Fix typo
(cherry picked from commit dc434b0704)
2020-03-30 01:27:33 +02:00
Daniel Frank
a7ee0ab412 nextcloud: 18.0.2 -> 18.0.3
(cherry picked from commit 2496942c7a)
2020-03-29 23:59:48 +02:00
Antoine Eiche
4b5e5fce5a nixos/nextcloud: add bcmap, mp4 and webm in nginx configuration
This is used by the `firstrunwizard` and has been added in the nginx
configuration documentation of the latest
manual (cda627b7c8/admin_manual/installation/nginx.rst).

(cherry picked from commit 24ee2e8dc0)
2020-03-29 22:08:39 +02:00
Eelco Dolstra
2f0590907c 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:33 +02:00
José Romildo Malaquias
098a0182a0 xfce.xfce4-whiskermenu-plugin: 2.3.3 -> 2.4.3
(cherry picked from commit 459a94ffa7)
2020-03-29 13:08:33 -04:00
José Romildo Malaquias
e8c651defd xfce.xfce4-hardware-monitor-plugin: fix url (unmaintained)
(cherry picked from commit 0dc23eaf61)
2020-03-29 13:08:33 -04:00
José Romildo Malaquias
83b7dde861 nixos.xfce: set desktopNames
(cherry picked from commit e9d707cf8e)
2020-03-29 12:58:45 -04:00
José Romildo Malaquias
9108778523 nixos.display-managers: use new attribute for desktop names
(cherry picked from commit fb47c6fbac)
2020-03-29 12:58:45 -04:00
Benjamin Hipple
87d71b46d2 Merge pull request #83682 from xfix/ftputil-zhf
[20.03] pythonPackages.ftputil: fix build
2020-03-29 12:01:42 -04:00
Konrad Borowski
ce667d569b pythonPackages.ftputil: fix build
Some tests assume execution before 2020.

(cherry picked from commit cfb435732a)
2020-03-29 15:07:58 +02:00
Jeff Labonte
2d0d227b23 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:08:13 +02:00
Peter Kolloch
040f611609 buildRustCrate: Add tests for checking files in outputs.
...and remove superfluous dependency files (*.d).
...and copy dSYM directories on Mac OS when in release=false mode.

(cherry picked from commit 782b304dba)
2020-03-29 13:03:28 +02:00
Andreas Rammhold
32cbd89e22 buildRustCrateTests: Fix link order test on darwin
As it turns out Darwin does most of the things differently then "normal"
systems. They are using a different shared library extension and require
an obscure commandline parameter that has to be added to every build
system out there. That issue seems to be with clang on Darwin as on
Linux that flag isn't required to build the very same tests (when using
clang).

After adjusting these two details the tests are running fine on the
darwin box that I was able to obtain.

(cherry picked from commit c8de31baa6)
2020-03-29 13:03:10 +02:00
Vincent Laporte
f7ffc4476d coqPackages.coqhammer: 1.1 → 1.1.1
(cherry picked from commit db5bde2342)
2020-03-29 11:03:07 +02:00
Vladimír Čunát
2ffa0a33f3 Merge #83013: exiv2: patch CVE-2019-20421
(cherry picked from commit 6d28c1893d)
2020-03-29 09:42:51 +02:00
Vincent Laporte
e41711cda2 coqPackages.paramcoq: 1.1.1 → 1.1.2
(cherry picked from commit 2773498fc0)
2020-03-29 07:49:09 +02:00
worldofpeace
4ebb91a1c8 Merge pull request #83564 from bhipple/bp/ntlm-auth
[20.03] pythonPackages.ntlm-auth: 1.0.3 -> 1.4.0 to fix build
2020-03-28 22:03:21 -04:00
Jan Tojnar
10e40a07ad hydra-unstable: Fix eval with allowAliases = false
* Catalyst::Plugin::Unicode::Encoding has been merged into Catalyst::Runtime
* Test::More is apparently part of Perl core modules since 5.6.2

(cherry picked from commit dc88e94ff1)
2020-03-29 03:03:52 +02:00
Maximilian Bosch
cd388a5c0e Merge pull request #82521 from Xe/libdap-hash-fix
development/libraries/libdap: fix hash
2020-03-29 01:30:21 +01:00
Maximilian Bosch
834fb02c9d nixos/tests/mongodb: also test mongodb-3_4
(cherry picked from commit 2c133fbb4b)
2020-03-29 01:12:16 +01:00
Maximilian Bosch
7e1b6e4a7b Merge pull request #83606 from scaredmushroom/tor-browser-bundle-bin_release-20.03
[20.03] tor-browser-bundle-bin: 9.0.6 -> 9.0.7
2020-03-29 01:11:20 +01:00
Benjamin Hipple
99a2ed5a55 pythonPackages.ntlm-auth: 1.0.3 -> 1.4.0 to fix build
On master and 20.03, this is failing to build on `python 3.8`.

https://hydra.nixos.org/build/115517329
https://hydra.nixos.org/build/114714922

CC @NixOS/nixos-release-managers
ZHF: #80379

Co-Authored-By: Niklas Hambüchen <mail@nh2.me>
(cherry picked from commit 97f09ff09f)
2020-03-28 20:10:18 -04:00
Benjamin Hipple
c8e2f6d337 Merge pull request #83631 from bhipple/bp/pywinrm
[20.03] pythonPackages.pywinrm: missing dependency
2020-03-28 20:09:50 -04:00
Kevin Amado
f21665a5dc pythonPackages.pywinrm: missing dependency
- Keberos is a dependency that you really want included in the pkg,
  this is also needed to run the test suite by default

(cherry picked from commit 36a1d1023a)
2020-03-28 19:35:22 -04:00
Maximilian Bosch
dabdd3a06d hydra: 2020-02-06 -> 2020-03-{24,27}
Upgrades Hydra to the latest master/flake branch. To perform this
upgrade, it's needed to do a non-trivial db-migration which provides a
massive performance-improvement[1].

The basic ideas behind multi-step upgrades of services between NixOS versions
have been gathered already[2]. For further context it's recommended to
read this first.

Basically, the following steps are needed:

* Upgrade to a non-breaking version of Hydra with the db-changes
  (columns are still nullable here). If `system.stateVersion` is set to
  something older than 20.03, the package will be selected
  automatically, otherwise `pkgs.hydra-migration` needs to be used.

* Run `hydra-backfill-ids` on the server.

* Deploy either `pkgs.hydra-unstable` (for Hydra master) or
  `pkgs.hydra-flakes` (for flakes-support) to activate the optimization.

The steps are also documented in the release-notes and in the module
using `warnings`.

`pkgs.hydra` has been removed as latest Hydra doesn't compile with
`pkgs.nixStable` and to ensure a graceful migration using the newly
introduced packages.

To verify the approach, a simple vm-test has been added which verifies
the migration steps.

[1] https://github.com/NixOS/hydra/pull/711
[2] https://github.com/NixOS/nixpkgs/pull/82353#issuecomment-598269471

(cherry picked from commit bd5324c4fc)
2020-03-29 00:26:15 +01:00
Fabian Möller
50de0ac554 mariadb-connector-c: add mysqlclient.pc pkgconfig symlink
(cherry picked from commit 349a991bfb)
2020-03-29 00:12:21 +01:00
worldofpeace
e1d8a61431 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:38:46 -04:00
Konrad Borowski
8f623faf2d nixos/tests/hibernate: disable for platforms other than x86_64
Due to 9pnet_virtio bugs, /nix is no longer available after
hibernation. It happens to work on x86_64, but not on other
platforms.

(cherry picked from commit d85fb28414)
2020-03-28 18:22:44 -04:00
worldofpeace
bde5b846f7 Merge pull request #83593 from bhipple/bp/zetup
[20.03] python38Packages.zetup: fix build
2020-03-28 18:15:41 -04:00
Maximilian Bosch
cd36c1d76e nixos/release-notes: mention that mongodb is unfree now
(cherry picked from commit 27121521b8)
2020-03-28 21:29:01 +01:00
Maximilian Bosch
7cf4906ab9 nixos/release-notes: mention mongodb update
(cherry picked from commit b65ff5d455)
2020-03-28 21:29:00 +01:00
Maximilian Bosch
07fb01965e nixos/tests/mongodb: rewrite with python
perl-based VM tests are deprecated.

(cherry picked from commit 2934f04641)
2020-03-28 21:29:00 +01:00
Maximilian Bosch
56bfb0d8ff mongodb: builds on aarch64 as well
(cherry picked from commit 80e6da7bd3)
2020-03-28 21:29:00 +01:00
Thibault Gagnaux
00d69b87a4 mongodb: 3.4.22 -> 3.4.24 & fix ssl
Reverts previous ssl fix commit and updates the mongodb version which fixes the ssl compile problem on darwin.

(cherry picked from commit c2eee6ecdb)
2020-03-28 21:29:00 +01:00
Nathan Smyth
ef9bd8e244 mongodb-4_0: 4.0.11 -> 4.0.12
(cherry picked from commit de69821b54)
2020-03-28 21:28:59 +01:00
Nathan Smyth
2cba56ec37 nixos/tests/mongodb: test against mongodb versions 3.4, 3.6, 4.0
Now has tests for 3.4, 3.6, 4.0. Has some duplication, but it appears to
work on my machine.

(cherry picked from commit 44641ed00b)
2020-03-28 21:28:59 +01:00
Nathan Smyth
83d71242f3 mongodb: 3.4.20 -> 3.4.22, 3.6.12 -> 3.6.13, 4.0.9 -> 4.0.11
(cherry picked from commit 165d8bda82)
2020-03-28 21:28:59 +01:00
Nathan Smyth
54d2944172 mongodb: split packages to expose 3.4, 3.6 and 4.0
(cherry picked from commit 97c4dff158)
2020-03-28 21:28:58 +01:00
Nathan Smyth
ac23e5039c mongodb: 3.4.10 -> 4.0.4
fix: Adding libtool to allow darwin compiles

Libtool seems to be required for mongodb to compile on darwin.

fix: Marking MongoDB as broken on aarch64

fix: Adding libtools to the pkg imports

Update mongodb to 4.0.4

(cherry picked from commit e9bec1adf6)
2020-03-28 21:28:58 +01:00
Maximilian Bosch
7a7952bce6 cargo-make: 0.30.0 -> 0.30.1
https://github.com/sagiegurari/cargo-make/releases/tag/0.30.1
(cherry picked from commit 5a7d2e18fe)
2020-03-28 19:08:50 +01:00
Michael Weiss
25d25cd0d2 Merge pull request #83562 from nh2/release-20.03-issue-41918-chromium-swiftshader-by-default
[20.03] chromium: Enable swiftshader by default
2020-03-28 17:15:11 +01:00
cap
b9e710cf98 tor-browser-bundle-bin: 9.0.6 -> 9.0.7 2020-03-28 17:02:16 +01:00
Symphorien Gibol
9408b0cf38 buildRustCrateTests: add regression test for link order
(cherry picked from commit 2f7fb1c497)
2020-03-28 16:08:45 +01:00
Symphorien Gibol
259787549a buildRustCrate: don't sort link flags
Linkage order is significant and sorting can result in link errors.

(cherry picked from commit d8b853799d)
2020-03-28 16:08:38 +01:00
Niklas Hambüchen
af8edbf7c7 Merge pull request #83596 from bhipple/bp/torch
[20.03] treewide: remove torch and related packages; add throw aliases
2020-03-28 16:08:05 +01:00
Alyssa Ross
eb7d4502e1 buildRustCrate: fewer backslashes
This is a slight readability boost, I think.

(cherry picked from commit 7533876312)
2020-03-28 16:07:19 +01:00
Daniël de Kok
fcb8dc70f3 buildRustCrate: sort linker options in-place
(cherry picked from commit 412c72d20f)
2020-03-28 16:07:12 +01:00
Daniël de Kok
ed3dc87160 buildRustCrate: only link build deps into build script
According to the Cargo documentation:

> The build script does not have access to the dependencies listed in
> the dependencies or dev-dependencies section (they’re not built
> yet!). Also, build dependencies are not available to the package
> itself unless also explicitly added in the [dependencies] table.

https://doc.rust-lang.org/cargo/reference/build-scripts.html

This change separates linkage of regular dependencies and build
dependencies.

(cherry picked from commit ea6e048c37)
2020-03-28 16:07:06 +01:00
Peter Kolloch
0965206200 build-support/rust/buildRustCrate: Search for matching Cargo.toml in sub directories
This is what cargo does for git repositories.

See related issues:

* https://github.com/kolloch/crate2nix/issues/53
* https://github.com/kolloch/crate2nix/issues/33

(cherry picked from commit 8a6638daa9)
2020-03-28 16:07:01 +01:00
Peter Kolloch
7d8d24efe7 buildRustCrate: refactor colored logging
* Make errors include the crate name and make them much more prominent.
* Move more code into lib.sh
* Already source generated logging code and lib.sh in configure

(cherry picked from commit 04e7462ee6)
2020-03-28 16:06:56 +01:00
Andreas Rammhold
be561c771c buildRustCrate: remove superfluous dependency overrides
By overriding each dependency on every level of the dependency tree we
are creating a lot of unnecessary instances of the same derivation

Looking at the output size of `nix-instantiate --trace-function-calls
-vvvv …` and the execution time I got about a 10x improvement after
applying this change.

It was probably good intentions that lead to these overrides but in
practice no tooling (that I know of) really needs this. `carnix` and
`crate2nix` are fine without those overrides. Furthermore I believe that
it is the job of the tooling around `buildRustCrate` to provide a
coherent set of overrides. By not enforcing all of the overrides, debug
flags, verbosity, … to be the same throughout the closure we also allow
consumers to override specific aspects of the crates. Some (older?)
crates might need different `crateOverrides` then newer crates with the
same name. Currently such situations can not (easily) be implemented
with the override in-place.

(cherry picked from commit be5597fc9d)
2020-03-28 16:06:49 +01:00
Andreas Rammhold
1febd68e84 buildRustCrate: remap the current build dir to / for (more) reproducible builds
(cherry picked from commit 56e11bc8df)
2020-03-28 16:06:29 +01:00
Benjamin Hipple
b88ff468e9 Merge pull request #83566 from mmilata/rt-build-fix-20.03
[20.03] rt: fix build error
2020-03-28 10:24:35 -04:00
Benjamin Hipple
4ea297d46d Merge pull request #83565 from mmilata/perl-crypt-ssleay-0.73_06-20.03
[20.03] perlPackages.CryptSSLeay: 0.72 -> 0.73_06
2020-03-28 10:21:50 -04:00
Benjamin Hipple
4a3f221d05 aliases.nix: add aliases for removed torch packages
We've removed the abandoned and broken torch project as part of https://github.com/NixOS/nixpkgs/issues/71888

This commit adds aliases for:

- https://github.com/NixOS/nixpkgs/pull/81173
- https://github.com/NixOS/nixpkgs/pull/83568

(cherry picked from commit a80ed9f72a)
2020-03-28 10:04:21 -04:00
Benjamin Hipple
8f246dbc1b treewide: remove torch and related packages
See #71888 for details.

(cherry picked from commit 698ec44e74)
2020-03-28 10:03:18 -04:00
Benjamin Hipple
e1381d0956 python38Packages.zetup: fix build
Currently fails to build on python 3.8 due to an overly restrictive version bound.

ZHF: #80379

CC @NixOS/nixos-release-managers

(cherry picked from commit a65e052e4c)
2020-03-28 09:41:58 -04:00
rnhmjoj
b0c285807d antimony: 2019-10-30 -> 2020-03-28
(cherry picked from commit 9c7c0e148c)

ZHF: #80379
Fix build.
2020-03-28 10:36:45 +01:00
Robin Gloster
8ad6e4edf1 Merge pull request #81045 from B4dM4n/backport-mariadb-pkgconfig-link
[20.03] mariadb-connector-c: add mysqlclient.pc pkgconfig symlink
2020-03-28 09:30:44 +00:00
ajs124
24b17c2a97 atlassian-confluence: 7.2.1 -> 7.3.4
(cherry picked from commit 5dbeb69154)
2020-03-28 10:29:32 +01:00
vasy
f1c1247b87 atlassian-jira: 8.7.1 -> 8.8.0 (#83218)
fix not starting service when jdk is jdk11

(cherry picked from commit 758f81df44)
2020-03-28 10:26:27 +01:00
R. RyanTM
d7d7a34508 atlassian-jira: 8.7.0 -> 8.7.1
(cherry picked from commit 26a31f8c62)
2020-03-28 10:26:27 +01:00
Antoine Eiche
d87fea74bd nixos/alertmanager: start after the network-online target
If the host network stack is slow to start, the alertmanager fails to
start with this error message:

    caller=main.go:256 msg="unable to initialize gossip mesh" err="create memberlist: Failed to get final advertise address: No private IP address found, and explicit IP not provided"

This bug can be reproduced by shutting down the network stack and
restarting the alertmanager.

Note I don't know why I didn't hit this issue with previous
alertmanager releases.

(cherry picked from commit 39621bb8de)
2020-03-28 09:30:49 +01:00
worldofpeace
cdf5eca5b5 Merge pull request #83567 from nh2/release-20.03-remove_lua_torch
[20.03] torchPackages, torch-repl: remove
2020-03-28 01:38:18 -04:00
worldofpeace
b8b0d0adb0 Merge pull request #83563 from bhipple/bp/rpcs3
[20.03] rpcs3: 0.0.6-8187-790962425 -> 0.0.8-9300-341fdf7eb
2020-03-28 01:28:23 -04:00
worldofpeace
22dba9fe07 Merge pull request #83557 from bhipple/bp/airflow
[20.03] python3Packages.apache-airflow: fix dependencies
2020-03-28 01:24:19 -04:00
worldofpeace
e2340b8075 Merge pull request #83574 from bhipple/bp/effect
[20.03] pythonPackages.effect: fix build by marking py3 only
2020-03-28 01:22:19 -04:00
Dennis Gosnell
adc01b589b Merge pull request #83572 from nh2/release-20.03-hspec-core-disable-tests
[20.03] haskellPackages.hspec-core: Disable tests on i686
2020-03-28 14:11:49 +09:00
John Ericson
592a34de3f Merge pull request #83533 from bhipple/bp/mkl
[20.03] mkl: 2019.5.281 -> 2020.0.166 (Linux only)
2020-03-27 23:47:20 -04:00
Benjamin Hipple
235ee73ee6 pythonPackages.effect: fix build by marking py3 only
Upstream only supports python >= 3.6:
https://github.com/python-effect/effect/#effect

CC @NixOS/nixos-release-managers

ZHF: #80379
(cherry picked from commit 3b7b98ce1e)
2020-03-27 23:15:44 -04:00
Niklas Hambüchen
1f6b1cbae4 haskellPackages.hspec-core: Disable tests on i686.
The tests have x86_64 results hardcoded, see
https://github.com/hspec/hspec/issues/431.

(cherry picked from commit 59e77d45b234162e2a6b804fe9c1462e6089afe8)
2020-03-28 04:06:20 +01:00
Matthieu Coudron
18c0784b89 torchPackages, torch-repl: remove
See https://github.com/NixOS/nixpkgs/issues/71888
and https://github.com/NixOS/nixpkgs/issues/56398

To sump up, development has moved on to other technologies than lua:
https://github.com/torch/torch7#development-status
and the current packages are broken anyway.

(cherry picked from commit 05b6836816)
2020-03-28 03:17:14 +01:00
Stig Palmquist
f33613906f perlPackages.CryptSSLeay: 0.72 -> 0.73_06
dependencies:
perlPackages.BytesRandomSecure: init at 0.29
perlPackages.CryptRandomSeed: init at 0.03
perlPackages.CryptRandomTESHA2: init at 0.01

(cherry picked from commit 3aade16ff3)
2020-03-28 03:02:29 +01:00
Stig Palmquist
fd6c92eb86 rt: fix build error
ZHF: #80379
https://hydra.nixos.org/build/113061284

Added requiredPerlModules as suggested for similar problem as described for
similar problem here:
https://github.com/NixOS/nixpkgs/issues/72783#issuecomment-549817011

(cherry picked from commit 3e50e26e7d)
2020-03-28 02:59:48 +01:00
aszlig
35fe837b62 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 02:59:35 +01:00
Christoph Neidahl
8e4c0dd26e rpcs3: 0.0.6-8187-790962425 -> 0.0.8-9300-341fdf7eb
(cherry picked from commit f028498f63)
2020-03-27 21:57:41 -04:00
Niklas Hambüchen
d59be297de chromium: Enable swiftshader by default.
This makes it possible to use chromium headless with WebGL
(e.g. for webdriver tests) without having to rebuild from source.

The upstram default is to enable, thus simply removing our disabling switch.

Also fixes #41918.

(cherry picked from commit 015bb28ae1)
2020-03-28 02:52:31 +01:00
worldofpeace
16d4f17a6f Merge pull request #83553 from bhipple/bp/gym
[20.03] python27Packages.gym: 0.15.4 -> 0.16.0 to fix build
2020-03-27 21:42:41 -04:00
worldofpeace
7780ba4eb9 Merge pull request #83558 from bhipple/bp/pounce
[20.03] pounce: 1.0p1 -> 1.1 to fix build
2020-03-27 21:41:32 -04:00
Alyssa Ross
34b75d1172 pounce: 1.0p1 -> 1.1
(cherry picked from commit 88e4258df4)
2020-03-27 21:24:03 -04:00
Jonathan Ringer
862c3c2d24 python3Packages.apache-airflow: fix dependencies
(cherry picked from commit b4b0bc9d38)
2020-03-27 21:16:09 -04:00
R. RyanTM
9bd852f026 python27Packages.gym: 0.15.4 -> 0.16.0
Fixes broken build by backporting https://github.com/NixOS/nixpkgs/pull/81577
and previous update.

CC @NixOS/nixos-release-managers

ZHF: #80379

(cherry picked from commit 908c6e8214)
2020-03-27 20:58:52 -04:00
worldofpeace
348880312e Merge pull request #83550 from bhipple/bp/ion
[20.03] ion: 1.0.5 -> unstable-2020-03-22
2020-03-27 20:30:28 -04:00
Benjamin Hipple
409e70d6c5 ion: 1.0.5 -> unstable-2020-03-22
The app is still maintained upstream, but they aren't cutting releases on
crates.io anymore:
https://crates.io/crates/ion-shell

This fixes the build with the latest Rust toolchain by upgrading to the current
commit off the project's `master`.

ZHF: #80379

(cherry picked from commit 16cdff0711)
2020-03-27 20:18:01 -04:00
adisbladis
d940214174 poetry2nix: 1.7.0 -> 1.7.1 2020-03-27 23:46:07 +00:00
adisbladis
176cb5cc87 poetry2nix: 1.6.1 -> 1.7.0 2020-03-27 22:53:38 +00:00
Roberto Di Remigio
d22cd2bccf mkl: 2019.5.281 -> 2020.0.166 (Linux only)
(cherry picked from commit 335e097352)
2020-03-27 17:39:02 -04:00
Benjamin Hipple
a6f3555ccb pythonPackages.distributed: remove bad check dependency on pytest-faulthandler
(cherry picked from commit acfe7e0dbc)
2020-03-27 14:10:00 -07:00
Benjamin Hipple
353494841b python2Packages.pytest-faulthandler: remove package
This has been upstreamed into pytest itself as of pytest 5.0, which we have:
https://github.com/pytest-dev/pytest-faulthandler

Since it should no longer be used, let's remove from nix.

(cherry picked from commit f5ffd143d6)
2020-03-27 14:10:00 -07:00
Benjamin Hipple
e158eccf9b python2Packages.faulthandler: 3.1 -> 3.2 and fix build
It is currently failing on master and 20.03. I spent some time reading the src
code but was not able to figure out why the env var activation is not working.
Since this is currently failing, and since it's dying alongside python 2 anyways
I propose we just disable the 1 failing test.

There's some more information inline in the comment if someone wants to fix this
or dig further.

(cherry picked from commit 643d10295d)
2020-03-27 14:10:00 -07:00
toonn
97d3d1ec7f wire-desktop: linux 3.15.2922 -> 3.16.2923
(cherry picked from commit 55ce589f18)
2020-03-27 19:23:10 +01:00
toonn
cf77a5fdc1 wire-desktop: linux 3.12.2916 -> 3.15.2922
(cherry picked from commit 39b39690fa)
2020-03-27 19:23:10 +01:00
toonn
7730ed9da4 wire-desktop: mac 3.12.3490 -> 3.15.3621
(cherry picked from commit 43f245d6d9)
2020-03-27 19:23:09 +01:00
Lancelot SIX
d0f67fb5ed qgis: 3.10.1 -> 3.10.4
(cherry picked from commit 8e8efc7ace)
2020-03-27 10:44:08 -07:00
Lancelot SIX
f735cce584 pythonPackages.pyproj: 2.2.2 -> 2.6.0
(cherry picked from commit 6cd915b21f)
2020-03-27 10:44:08 -07:00
Lancelot SIX
1b0b8ef9b1 proj: 6.1.1 -> 6.3.1
(cherry picked from commit 4f6fc6dc62)
2020-03-27 10:44:08 -07:00
adisbladis
e8d490f4c1 poetry: 1.0.3 -> 1.0.5 2020-03-27 14:56:09 +00:00
adisbladis
2037514ecb poetry2nix: Add hooks 2020-03-27 14:54:22 +00:00
adisbladis
713aa6d70d poetry2nix: 1.1.0 -> 1.6.1 2020-03-27 14:52:12 +00:00
Florian Klink
71f2773f8a gitlab: 12.8.7 -> 12.8.8
(cherry picked from commit 8ab04fd87b)
2020-03-27 13:41:16 +01:00
Lancelot SIX
85055b3ab7 ptyhon3Packages.django-compat: fix 2020-03-27 10:36:54 +01:00
Dmitry Kalinkin
5ffc821846 perlPackages.CPAN: fix patch download
Fixes: 153b0db9 ('perlPackages.CPAN: apply patch to fix changed YAML module default')
Closes: #81480
(cherry picked from commit fa73723305)
2020-03-27 04:06:47 -04:00
gnidorah
294445af03 vk-messenger: 4.5.2 -> 5.0.1
(cherry picked from commit c694fcfb3e)
cc #81127
2020-03-27 03:32:12 -04:00
Vincent Laporte
fdbefdc474 ocaml: 4.09.0 → 4.09.1
(cherry picked from commit 4a3edb4bd7)
2020-03-27 08:07:03 +01:00
Benjamin Hipple
834ad820cc Merge pull request #82515 from Xe/fix-b3sum
tools/security/b3sum: fix cargo hash
2020-03-26 21:04:07 -04:00
Maximilian Bosch
ea57fc5d63 iwd: 1.4 -> 1.6
(cherry picked from commit 0e69720f34)
2020-03-27 01:32:25 +01:00
Maximilian Bosch
68c3a4f23c ell: 0.27 -> 0.30
(cherry picked from commit 79cc0c7e9f)
2020-03-27 01:32:20 +01:00
Maximilian Bosch
c2db74f11a mautrix-whatsapp: 2020-02-09 -> 2020-03-26
(cherry picked from commit 5bfc1d5110)
2020-03-26 23:47:18 +01:00
Michael Weiss
c10c44a633 signal-desktop: 1.32.2 -> 1.32.3
(cherry picked from commit 38aa1cad7f)
2020-03-26 22:17:20 +01:00
worldofpeace
8d0010b08b networkmanager: 1.22.8 -> 1.22.10
(cherry picked from commit 4feb4cf707)
2020-03-26 13:39:55 -04:00
Domen Kožar
41875cf33e ghc: 8.10.0.20200123 -> 8.10.1
(cherry picked from commit 59c58f3360)
Signed-off-by: Domen Kožar <domen@dev.si>
2020-03-26 17:54:27 +01:00
Jan Tojnar
f6ab55b31c mysql-workbench: 8.0.15 → 8.0.19
* https://dev.mysql.com/doc/relnotes/workbench/en/news-8-0-16.html
* https://dev.mysql.com/doc/relnotes/workbench/en/news-8-0-17.html
* https://dev.mysql.com/doc/relnotes/workbench/en/news-8-0-18.html
* https://dev.mysql.com/doc/relnotes/workbench/en/news-8-0-19.html

The release notes contain the following:

Important Note: MySQL Workbench 8.0.19 is unable to open a new connection to MySQL Server from the home screen if the server is not started and you cannot start a server by using the Workbench Administration feature. Administrative and SQL editing tasks require an online server for the duration of this issue. Feature tasks that you performed with an offline server in previous releases now return an error message indicating that the server is unreachable.

but it is clearly better than having it broken.

(cherry picked from commit 070b49ed00)
2020-03-26 17:18:47 +01:00
Jan Tojnar
f5e8ef656f libmysqlconnectorcpp: 1.1.9 → 8.0.19
This has been seriously outdated:

* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-1-1-10.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-1-1-11.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-1-1-12.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-1-1-13.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-2-0-1.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-2-0-2.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-2-0-3.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-2-0-4.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-8-0-5.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-8-0-6.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-8-0-7.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-8-0-8-through-10.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-8-0-11.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-8-0-12.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-8-0-13.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-8-0-14.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-8-0-15.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-8-0-16.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-8-0-17.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-8-0-18.html
* https://dev.mysql.com/doc/relnotes/connector-cpp/en/news-8-0-19.html

Expression changes:

* Format with nixpkgs-fmt.
* Move cmake to nativeBuildInputs.
* Use OpenSSL from the system as using the bundled version is now optional.
* Use MysQL 8.0 since this is supposed to be used with that version.
* Explicitly enable the now legacy JDBC library used by mysql-workbench.
* Remove unnecessary MYSQL_LIB_DIR flag. MySQL will be found automatically.
    * We just need the build script know it is not a static library.

(cherry picked from commit 23d69911f3)
2020-03-26 17:18:47 +01:00
Jan Tojnar
4c122542ce mysql-workbench: format with nixpkgs-fmt
(cherry picked from commit eacf018ea7)
2020-03-26 17:18:47 +01:00
worldofpeace
a3a02d6cd4 Merge pull request #83392 from Ma27/nixos-container-nsenter-20.03
Revert "nixos-container: use systemd-run instead of nsenter"
2020-03-26 11:01:53 -04:00
Arian van Putten
01c61f3923 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:57:37 -04:00
Maximilian Bosch
d148bb00cf nixos/nextcloud: implement a safe upgrade-path between 19.09 and 20.03
It's impossible to move two major-versions forward when upgrading
Nextcloud. This is an issue when comming from 19.09 (using Nextcloud 16)
and trying to upgrade to 20.03 (using Nextcloud 18 by default).

This patch implements the measurements discussed in #82056 and #82353 to
improve the update process and to circumvent similar issues in the
future:

* `pkgs.nextcloud` has been removed in favor of versioned attributes
  (currently `pkgs.nextcloud17` and `pkgs.nextcloud18`). With that
  approach we can safely backport major-releases in the future to
  simplify those upgrade-paths and we can select one of the
  major-releases as default depending on the configuration (helpful to
  decide whether e.g. `pkgs.nextcloud17` or `pkgs.nextcloud18` should be
  used on 20.03 and `master` atm).

* If `system.stateVersion` is older than `20.03`, `nextcloud17` will be
  used (which is one major-release behind v16 from 19.09). When using a
  package older than the latest major-release available (currently v18),
  the evaluation will cause a warning which describes the issue and
  suggests next steps.

  To make those package-selections easier, a new option to define the
  package to be used for the service (namely
  `services.nextcloud.package`) was introduced.

* If `pkgs.nextcloud` exists (e.g. due to an overlay which was used to
  provide more recent Nextcloud versions on older NixOS-releases), an
  evaluation error will be thrown by default: this is to make sure that
  `services.nextcloud.package` doesn't use an older version by accident
  after checking the state-version. If `pkgs.nextcloud` is added
  manually, it needs to be declared explicitly in
  `services.nextcloud.package`.

* The `nixos/nextcloud`-documentation contains a
  "Maintainer information"-chapter  which describes how to roll out new
  Nextcloud releases and how to deal with old (and probably unsafe)
  versions.

Closes #82056

(cherry picked from commit 702f645aa8)
2020-03-26 13:23:20 +01:00
Maximilian Bosch
b249ffa449 wasm-bindgen-cli: 0.2.59 -> 0.2.60
https://github.com/rustwasm/wasm-bindgen/releases/tag/0.2.60
(cherry picked from commit c3392946b1)
2020-03-26 13:23:19 +01:00
Michael Weiss
4a82119cce signal-desktop: 1.32.1 -> 1.32.2
(cherry picked from commit 5c4735947d)
2020-03-26 12:18:45 +01:00
Vincent Laporte
d947d2863c coqPackages.mathcomp_1_10: init at 1.10.0
(cherry picked from commit 229dc013b3)
2020-03-26 08:23:13 +01:00
Vladimír Čunát
84f1b23670 Merge branch 'staging-20.03' into release-20.03 2020-03-26 07:22:05 +01:00
Benjamin Hipple
34e93f4eff Merge pull request #83330 from JeffLabonte/20.03_update_protonvpn_ng_2.2.0-with_fix
[20.03] protonvpn-cli-ng: 2.2.0 -> 2.2.2
2020-03-26 00:58:41 -04:00
Maximilian Bosch
7f1ba606ac Revert "nixos-container: use systemd-run instead of nsenter"
This reverts commit 7cb100b683.

This appears to break at least the `container`-backend of `nixops`: when
running `switch-to-configuration` within `nixos-container run`, the
running `systemd`-instance gets reloaded which appears to kill the
`systemd-run` command and causes `nixos-container run` to hang.

The full issue is reported in the original PR[1].

[1] https://github.com/NixOS/nixpkgs/pull/67332#issuecomment-604145869
2020-03-26 01:30:31 +01:00
John Ericson
3a009bd5da Merge branch 'tensorflow-versions' into release-20.03
There were a number of fixes that were not backported. I made a branch
with those cherry-picked fixes to be merged into both 20.03 and master
(not changing master), to ensure the two release branches didn't diverge
when they shouldn't.

I like this "apply the fixes to the comment ancester and then merge
both" approach because it makes it much easier to avoid backporting
issues. I suspect I'll be making more fixes to both in the future.
2020-03-25 20:30:46 +00:00
Tim Steinbach
6c29c8b67b linux: 5.5.11 -> 5.5.13 2020-03-25 13:09:57 -04:00
Tim Steinbach
09bb10dcde linux: 5.4.27 -> 5.4.28 2020-03-25 13:09:57 -04:00
Tim Steinbach
7a543ea318 linux: 4.19.112 -> 4.19.113 2020-03-25 13:09:57 -04:00
John Ericson
49a0313e92 Merge branch 'tenserflow-versions' into release-20.03 2020-03-25 11:49:16 -04:00
Domen Kožar
c1dd41699f add openapi-generator-cli-unstable
(cherry picked from commit cefe9b2dac)
Signed-off-by: Domen Kožar <domen@dev.si>
2020-03-25 16:40:58 +01:00
Marek Fajkus
3cfa4cc98b elmPackages.elm-coverage: init at 0.0.3
(cherry picked from commit baf37aabad)
Signed-off-by: Domen Kožar <domen@dev.si>
2020-03-25 16:13:20 +01:00
Marek Fajkus
0e8a3aae44 elmPackages.elmi-to-json: 1.2.0 -> 1.3.0
(cherry picked from commit d52fdecab1)
Signed-off-by: Domen Kožar <domen@dev.si>
2020-03-25 16:05:52 +01:00
Marek Fajkus
b8ac3310b7 elmPackages.elm-instrument: Init at 0.0.7
(cherry picked from commit f387b85540)
Signed-off-by: Domen Kožar <domen@dev.si>
2020-03-25 16:03:37 +01:00
Aaron VonderHaar
107a1c661d elm-format: 0.8.2 -> 0.8.3
(cherry picked from commit 0fa9ef1ee2)
Signed-off-by: Domen Kožar <domen@dev.si>
2020-03-25 16:03:13 +01:00
Kim Lindberger
d4ea7ae076 gitlab: 12.8.6 -> 12.8.7 (#82838) (#83353)
https://about.gitlab.com/releases/2020/03/16/gitlab-12-8-7-released/
(cherry picked from commit 3a173c1d75)
2020-03-25 13:23:28 +01:00
Leif Metcalf
c6839e5ae8 Update git clone command example
(cherry picked from commit c3f8e598ed)
2020-03-25 09:34:45 +00:00
Vincent Laporte
a1b8dae54a alt-ergo: 2.3.0 → 2.3.1
(cherry picked from commit 618bca7054)
2020-03-25 07:31:05 +01:00
Jeff Labonte
b02da56acc 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 21:02:49 -04:00
Eelco Dolstra
b898371cfa nixos/release-small.nix: Export options job
(cherry picked from commit e51c7f60cb)
2020-03-24 23:40:58 +01:00
Eelco Dolstra
921f7ac484 Compress optionsJSON using brotli
(cherry picked from commit 4052f9b849)
2020-03-24 23:40:58 +01:00
Eelco Dolstra
ce72d90a2f Add packages.json to the tarball job
Moved from nixos-homepage.

(cherry picked from commit d6ec410a47)
2020-03-24 23:40:58 +01:00
Florian Klink
234bc36b34 Merge pull request #83254 from aanderse/mysql80-backport
nixos/mysql: fix service so it works with mysql80 package [20.03 backport]
2020-03-24 23:39:17 +01:00
Reno Reckling
8831dbcbfc i3lock-fancy: Fix wrong path to mktemp
mktemp was not correctly replaced in this package. Leading to
"command not found: mktemp" error.

(cherry picked from commit 55fb13e5e1)
2020-03-24 22:07:21 +01:00
zowoq
a0cd08530b youtube-dl: 2020.03.08 -> 2020.03.24
https://github.com/ytdl-org/youtube-dl/releases/tag/2020.03.24
(cherry picked from commit d6273a5934)
2020-03-24 21:30:59 +01:00
Benjamin Hipple
331f7b376a pythonPackages.flake8-future-import: 0.4.5 -> 0.4.6 and fix build
The build is currently broken on master and 20.03. This upgrades to the latest
version and also disables the bad py2 test. I spent a long time trying to figure
out what the issue is, but since it's disabled upstream on python3 anyways let's
just skip it on python2 as well.

ZHF: #80379
(cherry picked from commit e9979380cf)
2020-03-24 10:23:48 -07:00
Mario Rodas
976fd6a592 Merge #82081: swiProlog: openssl 1.0.2 -> openssl 1.1
(cherry picked from commit ffad9c724f)
This is unbreaking the package.
2020-03-24 16:55:58 +01:00
Vladimír Čunát
6f87869e08 Merge #82728: racket: enable building on aarch64
(cherry picked from commit a533068c3e)
Build re-tested on 20.03.
2020-03-24 16:25:34 +01:00
Maximilian Bosch
cac363c661 prometheus-wireguard-exporter: 3.2.2 -> 3.2.4
https://github.com/MindFlavor/prometheus_wireguard_exporter/releases/tag/3.2.3
https://github.com/MindFlavor/prometheus_wireguard_exporter/releases/tag/3.2.4
(cherry picked from commit b79a474044)
2020-03-24 13:44:58 +01:00
worldofpeace
b85f4d0da7 pantheon.switchboard-with-plugs: fix wrapping
Since #81475 this caused the wrapper to be empty of entries from
wrapGAppsHook because the wrapGAppsHook function doesn't add
them anymore, and was moved to gappsWrapperArgsHook. Instead
of just running that in postBuild it's more future proof to make this
use stdenv.mkDerivation because we want to mess around with the
generic builder.

(cherry picked from commit a9e7e93311)
2020-03-24 03:14:02 -04:00
worldofpeace
1217a6c391 pantheon.wingpanel-with-indicators: fix wrapping
Since #81475 this caused the wrapper to be empty of entries from
wrapGAppsHook because the wrapGAppsHook function doesn't add
them anymore, and was moved to gappsWrapperArgsHook. Instead
of just running that in postBuild it's more future proof to make this
use stdenv.mkDerivation because we want to mess around with the
generic builder.

(cherry picked from commit db41c787f4)
2020-03-24 03:14:01 -04:00
Benjamin Hipple
4c77bcbd03 pythonPackages.mkl-service: 2.1.0 -> 2.3.0
Release notes: https://github.com/IntelPython/mkl-service/releases

(cherry picked from commit bd42541989)
2020-03-23 19:27:33 -07:00
Aaron Andersen
c5ce98f83f nixos/mysql: test with mysql80 package
(cherry picked from commit 6c47902e01)
2020-03-23 20:13:55 -04:00
Aaron Andersen
e4067514ff nixos/mysql: fix service so it works with mysql80 package
(cherry picked from commit 3474b55614)
2020-03-23 20:13:48 -04:00
worldofpeace
017f050351 Merge pull request #83012 from bcdarwin/release-20.03
python38Packages.rope: disable for Python>=3.8
2020-03-23 17:29:46 -04:00
Graham Christensen
d76b379771 Merge pull request #82827 from danderson/release-20.03
tailscale: init at 0.97-0 [20.03 backport]
2020-03-23 17:11:31 -04:00
ajs124
905316df4a matrix-synapse: 1.11.1 -> 1.12.0
(cherry picked from commit 425efa54ef)
2020-03-23 21:44:28 +01:00
ajs124
fa02997264 python: Twisted: 19.10.0 -> 20.3.0
(cherry picked from commit dff1df7c21)
2020-03-23 21:44:27 +01:00
David Anderson
752d9766a1 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:47:51 -07:00
David Anderson
1fceda471b 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-23 12:47:51 -07:00
Martin Baillie
6ce36ff037 tailscale: init at 0.96-33
Signed-off-by: Martin Baillie <martin@baillie.email>
(cherry picked from commit 6e055c9f4a)
2020-03-23 12:47:51 -07:00
Ben Darwin
bb81a6f037 python38Packages.rope: disable for Python>=3.8
- browsing the github page suggests the upcoming 0.17 release should support 3.8

(cherry picked from commit 3d0410e769)
2020-03-23 14:09:14 -04:00
Maximilian Bosch
f62e075744 cargo-make: 0.29.0 -> 0.30.0
https://github.com/sagiegurari/cargo-make/releases/tag/0.30.0
(cherry picked from commit 2c7299fc1c)
2020-03-23 18:55:26 +01:00
worldofpeace
fd11f3af1e Merge pull request #83184 from marcus7070/release-20.03
[20.03] python3Packages.spyder: add v3.x
2020-03-23 13:35:09 -04:00
Gabor Greif
add3780631 ghc-8.8.3: really use ld.gold (port #80466)
(cherry picked from commit ff6aeefb91)
Signed-off-by: Domen Kožar <domen@dev.si>
2020-03-23 18:00:30 +01:00
Gabor Greif
4120ab34ce ghc: add 8.8.3
https://mail.haskell.org/pipermail/ghc-devs/2020-February/018643.html
(cherry picked from commit c8554c0574)
Signed-off-by: Domen Kožar <domen@dev.si>
2020-03-23 18:00:30 +01:00
Vincent Laporte
155574f7e3 OCaml: do not depend on X11 for OCaml ≥ 4.09
(cherry picked from commit 80a7615300)
2020-03-23 17:23:00 +01:00
R. RyanTM
b2c79253b1 pantheon.elementary-music: 5.0.4 -> 5.0.5
(cherry picked from commit c7e617f683)
2020-03-23 11:31:19 -04:00
Matthew Bauer
1ee4f0e7cd Merge pull request #83204 from hamishmack/release-20.03
openssl: Fix openssl for musl [20.03 backport]
2020-03-23 10:52:35 -04:00
Hamish Mackenzie
6345a8c326 openssl: Fix openssl for musl [20.03 backport]
This is a backport of #82708
2020-03-23 23:24:50 +13:00
Christian Kögler
1a8cc0727d vdr-xineliboutput: 2.1.0 -> 2.2.0
(cherry picked from commit b7dad4977c)
2020-03-23 11:17:49 +01:00
Christian Kögler
2762ade637 vdr-xinelinboutput: fix pkg-config for opengl
Up to including nixos-19.09 configure fall back and included right
libraries. Since nixos-20.03 pkg-config returns a valid value for opengl, but
opengl misses glx symbols.

(cherry picked from commit d315b3d267)
2020-03-23 11:17:41 +01:00
Marcus Boyd
ee106b926e cq-editor: use spyder_3
(cherry picked from commit d8a7d1f665)
2020-03-23 16:17:02 +10:30
Marcus Boyd
c5f397f3db python3Packages.spyder_3: Added spyder_3
cq-editor currently requires spyder v3.x

(cherry picked from commit c5ceb64a5d)
2020-03-23 16:16:56 +10:30
Marcus Boyd
088ae2c920 python3Packages.spyder-kernels: Add spyder-kernels_0_5
Previously top-level/python-packages.nix called spyder-kernels v0.5 for
Py2k. Now both v0.5 and v1.8 (default.nix) are in pythonPackages, as
required by cq-editor and spyder v4 respectively.
v0.5 also now comes from GitHub instead of PyPi, with checks enabled.

(cherry picked from commit a1f4519814)
2020-03-23 16:03:54 +10:30
Maximilian Bosch
67e523c519 xterm: 351 -> 353
https://invisible-island.net/xterm/xterm.log.html#xterm_353
(cherry picked from commit 72dca3638d)
2020-03-23 01:27:12 +01:00
Maximilian Bosch
f5455342d1 EmptyEpsilon: 2020.02.18 -> 2020.03.22
https://github.com/daid/EmptyEpsilon/releases/tag/EE-2020.03.22
(cherry picked from commit 049aede558)
2020-03-22 23:24:10 +01:00
Christian Kögler
db4300a4d7 kodi: fix lirc support
* adapted to the way kodi finds the lircd socket
* added lirc package to build support for lirc

(cherry picked from commit 8f12a72488)
2020-03-22 21:31:28 +01:00
Christian Kögler
bdd53db942 redo-apenwarr: 0.42 -> 0.42a; use python3 and fixed building manpage
Removed dependency to mkdoc, which is only needed to build the webpage.

(cherry picked from commit 4c9bd5d52a)
2020-03-22 21:23:59 +01:00
Maximilian Bosch
1d12859c0c fd: 7.4.0 -> 7.5.0
https://github.com/sharkdp/fd/releases/tag/v7.5.0
(cherry picked from commit 6c48c7b81f)
2020-03-22 19:56:41 +01:00
Dmitry Kalinkin
1332522e00 Merge pull request #82065 from veprbl/pr/glibc_prlimit64_20.03
[20.03] glibc: provide fallback for kernels with missing prlimit64
2020-03-22 14:23:58 -04:00
Greg Price
5b02b91f76 python39Full: fix to use Python 3.9 rather than 3.8
Looks like this was a typo when python39 was added in 648152fdb.

(cherry picked from commit c93acee712)
2020-03-22 18:16:40 +01:00
Graham Christensen
75b00dd838 Merge pull request #83147 from bhipple/bp/ami
[20.03] nixos-ami: update nvme_core.io_timeout for linux kernel >= 4.15
2020-03-22 12:56:56 -04:00
Benjamin Hipple
835366947c nixos-ami: update nvme_core.io_timeout for linux kernel >= 4.15
NixOS 20.03 is built on kernel 5.4 and 19.09 is on 4.19, so we should update
this option to the highest value possible, per linked upstream instructions from
Amazon.

(cherry picked from commit 129176452c)
2020-03-22 12:40:41 -04:00
Tim Steinbach
d847a4fe4c linux: 5.5.9 -> 5.5.11 2020-03-22 12:16:43 -04:00
Tim Steinbach
3c6a5be58c linux: 5.4.25 -> 5.4.27 2020-03-22 12:16:43 -04:00
Tim Steinbach
7ad61255e5 linux: 4.9.216 -> 4.9.217 2020-03-22 12:16:43 -04:00
Tim Steinbach
e00104da05 linux: 4.4.216 -> 4.4.217 2020-03-22 12:16:43 -04:00
Tim Steinbach
d91fc12cca linux: 4.19.109 -> 4.19.112 2020-03-22 12:16:43 -04:00
Tim Steinbach
dcdb46cfc5 linux: 4.14.173 -> 4.14.174 2020-03-22 12:16:43 -04:00
Maximilian Bosch
ec145bfbdd nixos/ssmtp: declare all option renames manually
While renaming `networking.defaultMailServer` directly to
`services.ssmtp` is shorter and probably clearer, it causes eval errors
due to the second rename (directDelivery -> enable) when using e.g. `lib.mkForce`.

For instance,

``` nix
{ lib, ... }: {
  networking.defaultMailServer = {
    hostName = "localhost";
    directDelivery = lib.mkForce true;
    domain = "example.org";
  };
}
```

would break with the following (rather confusing) error:

```
error: The option value `services.ssmtp.enable' in `/home/ma27/Projects/nixpkgs/nixos/modules/programs/ssmtp.nix' is not of type `boolean'.
(use '--show-trace' to show detailed location information)
```

(cherry picked from commit fc316f7b31)
2020-03-22 15:57:56 +01:00
rnhmjoj
d566176553 monero-gui: 0.15.0.1 -> 0.15.0.4
(cherry picked from commit 3c93f1ba96)
2020-03-22 10:23:04 +01:00
rnhmjoj
0e41c2c51d monero: use a compatible protobuf version
(cherry picked from commit ddabb09c35)
2020-03-22 10:23:04 +01:00
Vincent Laporte
fe67af81d2 ocamlPackages.parmap: 1.1 → 1.1.1
(cherry picked from commit a8dafd2731)
2020-03-22 07:04:52 +01:00
Sergey Lukjanov
df820c7da5 grafana: add Frostman to maintainers
(cherry picked from commit 9e98d47fb2)
2020-03-21 21:42:00 +01:00
Sergey Lukjanov
d5fff78b5b grafana: 6.7.0 -> 6.7.1
(cherry picked from commit bf453da8e8)
2020-03-21 21:42:00 +01:00
Sergey Lukjanov
8b42fbc4c0 grafana: 6.6.2 -> 6.7.0
(cherry picked from commit 913e6b5c7b)
2020-03-21 21:42:00 +01:00
R. RyanTM
b323c010d7 darktable: 3.0.0 -> 3.0.1
(cherry picked from commit eb3690c462)
2020-03-21 13:08:35 +01:00
Timo Kaufmann
359934fe0b Merge pull request #82415 from timokau/symmetrica-3.0.1-20.03
[20.03] symmetrica: 2.0 -> 3.0.1
2020-03-21 11:45:59 +00:00
Michele Guerini Rocco
167492500b Merge pull request #82758 from wd15/fastapi-0.49.0
[20.03] python37Packages.fastapi: 0.45.0 -> 0.49.0
2020-03-21 10:41:01 +01:00
Maximilian Bosch
1ec2cf2168 gitea: 1.10.3 -> 1.11.3
Updates `gitea` to the latest version available[1]. Also ensured that
upgrading from `gitea-1.9` (used on NixOS 19.09) to `1.11.3` works
seamlessly.

The derivation required a few more changes this time since `gitea` uses
`npm` now to build the frontend[2]. When using the default tarball from
GitHub, we'd have to build the frontend manually. By fetching a custom
tarball published on every release, we get a prebuilt frontend
(as it was the case on previous versions) and build the backend only from
source.

Co-authored-by: kolaente <k@knt.li>
Closes #80175

[1] https://github.com/go-gitea/gitea/releases/tag/v1.11.3
[2] https://github.com/go-gitea/gitea/issues/10253

(cherry picked from commit cbceee8e97)
2020-03-20 23:08:49 +01:00
Maximilian Bosch
af477bc4ce neomutt: 20200313 -> 20200320
https://github.com/neomutt/neomutt/releases/tag/20200320
(cherry picked from commit 78104ad2da)
2020-03-20 15:08:48 +01:00
Eelco Dolstra
81fa5f4501 nixos-option: Disable on Nix >= 2.4 because it doesn't compile
This is needed when using the overlay from the Nix flake.

(cherry picked from commit a0a61c3e34)
2020-03-20 14:55:26 +01:00
Vincent Laporte
4362edf3c3 ocamlPackages.camlp5: 7.10 → 7.11
(cherry picked from commit 8dddd8a07f)
2020-03-20 09:10:55 +01:00
Maximilian Bosch
1494f8753a 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 00:54:28 +01:00
Jan Tojnar
e8701fe486 flatpak: remove malcontent
It is not ready yet.

See: https://github.com/NixOS/nixpkgs/issues/81284
2020-03-20 00:21:10 +01:00
Aaron Andersen
97f65b2de9 Merge pull request #82848 from aanderse/zhf/rsyslog
rsyslog: remove libksi from default build because it is broken [20.03 backport]
2020-03-19 19:07:48 -04:00
Maximilian Bosch
25d8140287 thefuck: 3.29 -> 3.30
https://github.com/nvbn/thefuck/releases/tag/3.30
(cherry picked from commit b51d4e588d)
2020-03-19 21:29:47 +01:00
Michael Weiss
b3ee6e46df 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)
Backport of #82874.
2020-03-19 20:24:35 +01:00
Jonathan Ringer
d1121dfa8c texworks: fix qt build
(cherry picked from commit aaefb947ea)
2020-03-19 12:07:27 -07:00
Maximilian Bosch
6c90920c93 cargo-make: 0.27.0 -> 0.29.0
https://github.com/sagiegurari/cargo-make/releases/tag/0.28.0
https://github.com/sagiegurari/cargo-make/releases/tag/0.29.0
(cherry picked from commit 29b495d4d7)
2020-03-19 18:28:35 +01:00
John Ericson
b41d1d9167 Merge pull request #82943 from obsidiansystems/armv6-embedded
Armv6 embedded
2020-03-19 13:13:51 -04:00
Florian Klink
e26bc8445a nixos/zerotierone: switch from manually generating the .link file to use the module
Previously, systemd.network.links was only respected with networkd
enabled, but it's really udev taking care of links, no matter if
networkd is enabled or not.

With our module fixed, there's no need to manually manage the text file
anymore.

This was originally applied in 3d1079a20d,
but was reverted due to 1115959a8d causing
evaluation errors on hydra.

(cherry picked from commit 4e53f84c79)
2020-03-19 15:33:32 +01:00
Florian Klink
c4611d8f20 nixos/networkd: respect systemd.network.links also with disabled systemd-networkd
This mirrors the behaviour of systemd - It's udev that parses `.link`
files, not `systemd-networkd`.

This was originally applied in 36ef112a47,
but was reverted due to 1115959a8d causing
evaluation errors on hydra.

(cherry picked from commit 355c58e485)

nixos/manual: fix build

(cherry picked from commit d96bd3394b)
2020-03-19 15:33:24 +01:00
Jörg Thalheim
82ab717ea0 Merge pull request #82896 from JeffLabonte/20_03_backport-protonvpn-cli-ng
[20.03] backport protonvpn cli ng 2.2.0 -> 2.2.2
2020-03-19 12:12:04 +00:00
Robert Hensing
d6e406ddae Merge pull request #82933 from hercules-ci/backport-20.03-82897
lib/options: Only recurse into visible sub options (backport to 20.03)
2020-03-19 11:48:18 +01:00
Silvan Mosberger
970ea9616f lib/options: Only recurse into visible sub options
(cherry picked from commit f195625227)
2020-03-19 11:27:17 +01:00
Maximilian Bosch
b2935fbece 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:32:34 +01:00
LeshaInc
d0357c141c blender: build with OpenImageDenoise support
(cherry picked from commit 3c54b996ca)
2020-03-19 00:30:37 -04:00
LeshaInc
0984610c0c openimagedenoise: init at 1.1.0
(cherry picked from commit 2cc3a34d4a)
2020-03-19 00:30:12 -04:00
R. RyanTM
a02a11f739 blender: 2.82 -> 2.82a (#82450)
(cherry picked from commit 4d8cac34f7)
2020-03-19 00:29:26 -04:00
Jeff Labonte
294fd3c0f5 brave: 1.4.96 -> 1.5.112
Keep brave updated to the latest release

(cherry picked from commit 418e3e41cf)
Reasons: Keep the browser up-to-date as much as possible.
2020-03-18 20:10:25 -07:00
Jeff Labonte
71d2a85a70 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-18 20:16:30 -04:00
Benno Fünfstück
c5a9ee84cb nixos/release-combined.nix: fix tested for aarch64
This removes tests from the tested aggregate on aarch64 which are not
available for that platform.
2020-03-18 22:36:49 +01:00
Christoph Bauer
6bbdce2b15 pwsafe -> 1.9.0
fixes the broken build
there is a problem with wxGTK 3.1.2
maybe related to
https://github.com/pwsafe/pwsafe/blob/master/src/ui/wxWidgets/TreeCtrl.cpp
line 107
So I use wxGTK30

file is a new depedency

(cherry picked from commit 0b2047d712)
2020-03-18 21:25:55 +00:00
John Ericson
7562a06e85 Merge pull request #82248 from Ericson2314/fetchsvn-cross
fetchsvn: Fix for cross
2020-03-18 17:15:41 -04:00
Benno Fünfstück
6d73360a89 nixos/release-combined.nix: fix eval for aarch64
The release-20.03-aarch64 jobset on hydra only evals for aarch64, so the
x86_64 jobs do not exists. We need to make sure that the tested job only
aggregates jobs that actually exist.

This commit solves the issue by generating the tested job constituents
names based on the supported systems.
2020-03-18 21:44:32 +01:00
Aaron Andersen
96e221d6db rsyslog: remove libksi from default build because it is broken
(cherry picked from commit bdd33bc3aa)
2020-03-18 08:26:18 -04:00
Eelco Dolstra
16dd1df081 Merge pull request #82333 from edolstra/fix-lcov
Backport lcov fixes to 20.03
2020-03-18 11:57:13 +01:00
Dennis Gosnell
e2dfbcd4fd Merge pull request #82780 from erictapen/nixos-20.03-binary-strict
[20.03] haskellPackages.binary-strict: 0.4.8.4 -> 0.4.8.5
2020-03-18 11:18:37 +09:00
Vladislav Zavialov
af1b8e409d toggldesktop: use mkDerivation from Qt (#81720)
(cherry picked from commit bfcb19197b)
2020-03-17 22:08:19 -04:00
Dmitry Kalinkin
20fb1ce97c kicad: don't build versions with 3d on Hydra
The hydraPlatforms have to be set on the kicad package itself, that can be
checked using:

  echo ":p { inherit kicad kicad-small kicad-unstable; }" | nix repl ./pkgs/top-level/release.nix

This commit disables build of all kicad variants that require downloading
packages3d, which currently fail on hydra with the "Output limit exceeded"
status. This leaves Hydra with only building the kicad-small, which will allow
us to cache the build of kicad-base as well as all libraries except of
packages3d.

(cherry picked from commit ebe5f10794)
2020-03-17 18:52:51 -04:00
Dmitry Kalinkin
d9bb3a3711 Merge remote-tracking branch 'origin/release-20.03' into staging-20.03 2020-03-17 17:15:28 -04:00
Dmitry Kalinkin
ec0923f983 Merge pull request #82676 from veprbl/pr/texlive_2019_final_20.03
[20.03] texlive: 2019 -> 2019-final
2020-03-17 17:10:57 -04:00
mehlon
1a7a473831 tor-browser-bundle-bin: 9.0.5 -> 9.0.6
(cherry picked from commit 4b80e8a59f)
2020-03-17 18:00:23 +01:00
Maximilian Bosch
c55a47832d riot-web: 1.5.12 -> 1.5.13
(cherry picked from commit 09f55f8f17)
2020-03-17 16:13:41 +01:00
Maximilian Bosch
4e245c8fe7 riot-desktop: 1.5.12 -> 1.5.13
(cherry picked from commit bb9822be79)
2020-03-17 16:13:41 +01:00
Robert Hensing
a9c8e5bb18 Merge pull request #82782 from hercules-ci/backport-20.03-81292-fix-service-runner-quotes
Backport to 20.03 pr 81292: fix service runner quotes
2020-03-17 15:53:33 +01:00
Robert Hensing
284a8e95f7 nixos/service-runner.nix: Allow quotes in commands + test
(cherry picked from commit 43521ac965)
2020-03-17 15:16:32 +01:00
Justin Humm
8583ad1425 haskellPackages.binary-strict: 0.4.8.4 -> 0.4.8.5
This fixes the build, also of

- eths-rlp
- vorbiscomment
- webify

which depend on binary-strict. Everything else that depends on
binary-strict remains broken, so this commit shouldn't break anything
that wasn't broken yet.
2020-03-17 14:43:28 +01:00
Vladimír Čunát
9cc7ab153c Revert "tests/networking: remove pkgs.lib usages."
This reverts commit cde800dbd7.  See:
https://github.com/NixOS/nixpkgs/pull/82310#issuecomment-598920297
2020-03-17 09:02:03 +01:00
Vladimír Čunát
2a9c405b7e Revert "nixos/zerotierone: switch from manually generating..."
This reverts commit f549fbfd97.  See:
https://github.com/NixOS/nixpkgs/pull/82310#issuecomment-598920297
2020-03-17 08:49:22 +01:00
Vladimír Čunát
de1c9c0453 Revert "nixos/networkd: respect systemd.network.links [...]"
This reverts commit 4b2151b9fa.  See:
https://github.com/NixOS/nixpkgs/pull/82310#issuecomment-598920297
2020-03-17 08:35:47 +01:00
Dennis Gosnell
a8ec4936ae Merge pull request #82703 from erictapen/nixos-20.03-hakyll-contrib-hyphenation-jailbreak
[nixos-20.03] haskellPackages.hakyll-contrib-hyphenation: jailbreak
2020-03-17 09:54:09 +09:00
Aaron Andersen
b3f89ad996 Merge pull request #82761 from aanderse/tomcat
tomcat: 7.0.92 -> 7.0.100, 8.5.42 -> 8.5.51, 9.0.21 -> 9.0.31 [20.03 backport]
2020-03-16 20:16:53 -04:00
Aaron Andersen
a27e86399c tomcat9: 9.0.21 -> 9.0.31
(cherry picked from commit 46e7580f24)
2020-03-16 20:05:28 -04:00
Aaron Andersen
26a5a71da5 tomcat8: 8.5.42 -> 8.5.51
(cherry picked from commit 22f24f7859)
2020-03-16 20:04:59 -04:00
Aaron Andersen
0dde8f4c5f tomcat7: 7.0.92 -> 7.0.100
(cherry picked from commit 78b0222cb2)
2020-03-16 20:04:45 -04:00
Dmitry Kalinkin
ff2febd334 nuweb: fix after texlive update
(cherry picked from commit 2217b1d77c)
2020-03-16 18:11:28 -04:00
Daniel Wheeler
55fee4d66f python37Packages.fastapi: 0.45.0 -> 0.49.0
- Add peewee to test environment as now required.

 - Remove pyproject.toml patching as no longer required.
2020-03-16 17:53:32 -04:00
Daniel Wheeler
9d99c49138 python37Packages.starlette: 0.13.0 -> 0.12.9
- Reverting the version of Starlette as FastAPI can not use anything
   greater than 0.12.12. FastAPI is Starlette's only dependent.

 - Use fetchurl instead of fetchPypi as this is now the preferred
   method. This also makes the tests pass and, thus, the build, which
   was failing.
2020-03-16 17:53:32 -04:00
Justin Humm
4a36d2d862 haskellPackages.hakyll-contrib-hyphenation: jailbreak
Latest upstream commit is from 2015 [0], so I guess it's the easiest to
jailbreak it (as it builds that way).

[0] https://bitbucket.org/rvlm/hakyll-contrib-hyphenation/src/master/
2020-03-16 21:57:45 +01:00
Sander van der Burg
db52e1a7f2 base16-builder: regenerate with node2nix 1.8.0 and add supplement.json to fix build 2020-03-16 21:22:47 +01:00
Sander van der Burg
ba3ef05e92 nodePackages: regenerate with node2nix 1.8.0 2020-03-16 21:15:53 +01:00
Martin Milata
feb386f6eb libxml2: add patch for CVE-2019-20388
(cherry picked from commit 291c73568a)
/cc roundup #79725
2020-03-16 19:44:29 +01:00
Vladimír Čunát
10debb86b7 Merge branch 'staging-20.03' into release-20.03 2020-03-16 19:38:24 +01:00
Robert Hensing
db75eb4257 Merge pull request #82741 from hercules-ci/backport-20.03-80102
dockerTools.buildLayeredImage: store all paths passed in final layer (backport)
2020-03-16 19:07:13 +01:00
Richard Wallace
3781ac873f dockerTools.buildLayeredImage: store all paths passed in final layer
Fixes #78744

My previous change broke when there are more packages than the maximum
number of layers. I had assumed that the `store-path-to-layer.sh` was
only ever passed a single store path, but that is not the case if
there are multiple packages going into the final layer. To fix this, we
loop through the paths going into the final layer, appending them to the
tar file and making sure they end up at the right path.
2020-03-16 18:43:26 +01:00
Matteo Scarlata
27eca64552 unison: fix build with ocamlPackages_4_09 (#82619)
Fixes #61867 and #61505, bumps the ocaml version unison is built
against to 4.08. The patches included here appear in the trunk version
of unison, but were not backported to 2.51.2.

(cherry picked from commit 3355e8d1ca)
2020-03-16 13:17:29 +01:00
Maximilian Bosch
23139ff62f nixos/doc/matrix-synapse: refactor
* Linkify all service options used in the code-examples.
* Demonstrated the use of `riot-web.override {}`.
* Moved the example how to configure a postgresql-database for
  `matrix-synapse` to this document from the 20.03 release-notes.

(cherry picked from commit 849e16888f)
2020-03-16 11:01:55 +01:00
Maximilian Bosch
ba6271a49c matrix-synapse: 1.9.1 -> 1.11.1
https://github.com/matrix-org/synapse/releases/tag/v1.10.0
https://github.com/matrix-org/synapse/releases/tag/v1.10.1
https://github.com/matrix-org/synapse/releases/tag/v1.11.0
https://github.com/matrix-org/synapse/releases/tag/v1.11.1
(cherry picked from commit 8be61f7a36)
2020-03-16 11:01:53 +01:00
Maximilian Bosch
7f8e302fb6 python3Packages.signedjson: 1.0.0 -> 1.1.0
(cherry picked from commit 500375e338)
2020-03-16 11:01:04 +01:00
Vladimír Čunát
c09c926ee8 bind: 9.14.10 -> 9.14.11 (small bugfix)
I see just a single small bugfix in the news:
https://downloads.isc.org/isc/bind9/9.14.11/RELEASE-NOTES-bind-9.14.11.html

(cherry picked from commit 47f61c9d7f)
2020-03-16 09:18:23 +01:00
Florian Klink
2acb89d120 Merge pull request #82061 from tokudan/20.03/nextcloud1801
[20.03] nextcloud: 18.0.0 -> 18.0.2 [security]
2020-03-16 00:22:41 +01:00
Maximilian Bosch
aa481358c6 aircrack-ng: 1.5.2 -> 1.6
(cherry picked from commit 9729f30667)
2020-03-15 22:35:34 +01:00
Dmitry Kalinkin
3d1fdac251 texlive: use versioned tarballs
Announced in [1], versioned tarballs allow to make sure that a
specific version is fetched. This does not guarantee that all previous
versions are retained on the main mirrors.

Logically, we would want to first try to download versioned tarballs
from any mirror and only then try the unversioned ones. But right now
we only have two mirrors and only some of the tarballs are versioned
in texlive-2019, so the order is changed to not hammer the weak
tug.org mirror.

[1] https://tug.org/pipermail/tex-live/2019-September/044086.html

(cherry picked from commit 9f44a61f39)
2020-03-15 15:14:35 -04:00
Dmitry Kalinkin
53e3bc5d92 texlive/pkgs.nix: add revision
(cherry picked from commit 9c4212cb9f)
2020-03-15 15:14:35 -04:00
Dmitry Kalinkin
08aec1877e texlive: 2019 -> 2019-final
The biber package is now at 2.14, but TextBibTeX is still required.

Few changes were needed for newly introduced scripts-extra path. This
broke some of our old tricks which were relying on having writable
script directories. The changes to the script locations made buildEnv
create symlinks to the script directories instead of directories of
symlinks to scripts. The changes to texlinks.sh and texlive/TeXLive
perl path were made because of this.

(cherry picked from commit 9752593eb0)
2020-03-15 15:14:34 -04:00
Dmitry Kalinkin
65613ec2bf texlive: reimplement fixHashes.sh in GNU Awk
The shell script doesn't work very well in non-GNU environments like
darwin. This provides an implementation that uses just a single GNU tool
- gawk, thus reduces number of points of failure.

(cherry picked from commit d9fb53ddd6)
2020-03-15 15:14:34 -04:00
Timo Kaufmann
960f849545 Merge pull request #82648 from timokau/retdec-fix-20.03
[20.03] retdec: fix build
2020-03-15 13:58:57 +00:00
Léo Gaspard
a4bf572a9f xfce4-12: remove alias
(cherry picked from commit 175f9ef4f8)
2020-03-15 12:01:21 +01:00
Timo Kaufmann
13f4c4a0bf retdec: fix build
The build was broken by the gcc9 update. Pinning to gcc8 for now.

(cherry picked from commit e5642d405e)
2020-03-15 12:00:57 +01:00
Martin Milata
2dab4c10c4 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:53:29 +01:00
Martin Milata
d32805ec33 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:37:00 +01:00
David Guibert
a2a2fae53b users.groups.disnix instead of a list
related to #63103.

(cherry picked from commit bbc2cd89ef)
2020-03-14 23:18:01 +01:00
Josef Kemetmüller
c2e347cfc4 python37Packages.vtk: Fix build (#82336)
(cherry picked from commit de36c3b073)
2020-03-14 14:13:49 -04:00
Martin Milata
137bac6f24 openjpeg: add patch for CVE-2020-8112
(cherry picked from commit 41d8bb133e)
2020-03-14 16:57:04 +00:00
Martin Milata
021d5b650e openjpeg: add patch for CVE-2020-6851
(cherry picked from commit 773462c3aa)
2020-03-14 16:57:04 +00:00
Tim Steinbach
caabb48cf5 linux: 5.4.24 -> 5.4.25 2020-03-14 05:05:13 -04:00
taku0
cdbeba4c51 thunderbird-bin: 68.5.0 -> 68.6.0
(cherry picked from commit 833031704d)
2020-03-14 03:43:01 +00:00
taku0
ad6461d0bc thunderbird: 68.5.0 -> 68.6.0
(cherry picked from commit 243cd9f754)
2020-03-14 03:43:01 +00:00
Maximilian Bosch
8ff2a03284 binaryen: 89 -> 91, emscripten: 1.38.28 -> 1.39.1
(cherry picked from commit 386a50f729)
2020-03-14 02:42:01 +01:00
Christine Dodrill
aa61e722b0 development/libraries/libdap: fix hash 2020-03-13 20:49:48 -04:00
Christine Dodrill
f5c2ed464f tools/security/b3sum: fix cargo hash 2020-03-13 20:02:40 -04:00
Mario Rodas
d793073f41 Merge pull request #82448 from bhipple/bp/bluez
[20.03][Security] bluez: 5.52 -> 5.53 for CVE-2020-0556
2020-03-13 18:54:22 -05:00
Ben Darwin
bc3a69760d ocamlPackages_latest.phylogenetics: dune2/fix meta
(cherry picked from commit fd9b40d076)

cc #81160
2020-03-13 18:53:08 -04:00
Vincent Laporte
6626072bc5 OCaml: default to version 4.08
(cherry picked from commit 7b33cbdbf5)
2020-03-13 22:51:39 +01:00
Vincent Laporte
423e25aa9c ocamlPackages.earley: disable for OCaml ≥ 4.08
(cherry picked from commit bdcba83153)
2020-03-13 22:51:39 +01:00
Vincent Laporte
b23eec8994 ocamlPackages.earlybird: disable for OCaml ≥ 4.08
(cherry picked from commit 4ada24a02c)
2020-03-13 22:51:39 +01:00
Vincent Laporte
cc9c739ab0 ocamlPackages.ocf: disable for OCaml ≥ 4.08
(cherry picked from commit 4ce4db473c)
2020-03-13 22:51:39 +01:00
Vincent Laporte
dc38fbc680 ocamlPackages.wasm: disable for OCaml ≥ 4.08
(cherry picked from commit bab3588e4e)
2020-03-13 22:51:39 +01:00
Vincent Laporte
748e8893e3 unison: move out of ocamlPackages
(cherry picked from commit 4adfbe6c7b)
2020-03-13 22:42:05 +01:00
Vincent Laporte
70d505b900 ocamlPackages.sedlex_2: fix build with OCaml ≥ 4.08
(cherry picked from commit e73a9e6b95)
2020-03-13 22:32:12 +01:00
Maximilian Bosch
e60df57174 Merge pull request #82470 from Mindavi/backport/afl-glibc-bugfix
afl: Fix afl-qemu build by applying patches for glibc-2.30
2020-03-13 21:39:09 +01:00
Maximilian Bosch
24bf8b393f wikicurses: install man pages
(cherry picked from commit 04ea9dc275)
2020-03-13 21:15:59 +01:00
Maximilian Bosch
bebc254a95 wikicurses: fix build
The package doesn't have a testsuite, but fails as the checkPhase is
missing appropriate locale configuration (usually taken from
`pkgs.glibcLocales`). Entirely disabling the `checkPhase` for now as
it's basically a no-op.

ZHF: #80379
See also https://hydra.nixos.org/build/114125176

(cherry picked from commit 1505633e2f)
2020-03-13 21:15:59 +01:00
Maximilian Bosch
ca1b7ea9c1 ipfs: 0.4.22 -> 0.4.23
(cherry picked from commit c882314075)
2020-03-13 21:15:59 +01:00
Maximilian Bosch
60a1fdebfd inotify-tools: 3.20.1 -> 3.20.2.2
(cherry picked from commit 69d7cc5508)
2020-03-13 21:15:58 +01:00
Daniel Frank
3d0dcfebdf Nextcloud: 18.0.1 -> 18.0.2
(cherry picked from commit c4aadbca14)
2020-03-13 20:43:52 +01:00
Maximilian Bosch
295a1a03ca neomutt: 20191207 -> 20200313
https://github.com/neomutt/neomutt/releases/tag/20200313
(cherry picked from commit dda6dfed26)
2020-03-13 16:57:29 +01:00
Benjamin Hipple
0fc28d7b31 bluez: 5.52 -> 5.53 for CVE-2020-0556
See here for details:
https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.html

(cherry picked from commit 8f8b6459e9)
2020-03-13 10:54:35 -04:00
Mario Rodas
deb92e7672 Merge pull request #82485 from helsinki-systems/bp-bump-libksi
[20.03] libksi: Bump openssl dependency for rsyslogd
2020-03-13 09:21:57 -05:00
Janne Heß
1ac1caf6c7 libksi: Bump openssl dependency for rsyslogd
(cherry picked from commit fdccb96eea)
2020-03-13 13:11:59 +01:00
Rick van Schijndel
e6c68edbde afl: Fix afl-qemu build by applying new patches
These patches are gathered from different sources,
such as https://patchwork.kernel.org/patch/10862231/ for the
`gettid` patch.
Another patch comes from the issue in the AFL repository.
The ultimate goal is to get these patches upstream as well,
so we don't keep these general patches only within nixos.

A PR is created against Google/AFL
https://github.com/google/AFL/pull/79,
but it might take a while before it's landed, considering the history
of the project (there are more PRs open).

ZHF: #80379

Fixes issue #82232
2020-03-13 09:45:33 +01:00
R. RyanTM
a0adbb1bdb libarchive: 3.4.1 -> 3.4.2
Fixes CVE-2020-9308.

(cherry picked from commit 13a03f402c)
2020-03-12 20:44:26 +00:00
Timo Kaufmann
04f75b1739 symmetrica: 2.0 -> 3.0.1
This switches to the sagemath fork, since the original upstream is no
longer maintained and sagemath has effectively maintained symmetrica
through patches for a while now. The update fixes one bug in particular
that has caused failures in the sagemath test suite:

https://github.com/NixOS/nixpkgs/issues/81449
https://trac.sagemath.org/ticket/15312
https://trac.sagemath.org/ticket/29061

Regarding the licensing change:

7cf91b3800
(cherry picked from commit 0c875c28c6)
2020-03-12 16:35:29 +01:00
adisbladis
3bf5bf6dd0 Merge pull request #82403 from eyJhb/flexget-transmission-release2003
[backport 20.03] flexget: readd transmissionrpc
2020-03-12 13:08:33 +00:00
Florian Klink
9827729ebd Merge pull request #82375 from flokli/20.03-gitlab-12.8.6
[20.03] gitlab 12.8.5 -> 12.8.6
2020-03-12 06:02:04 -07:00
eyjhbb@gmail.com
71a0ae43f0 flexget: readd transmissionrpc
(cherry picked from commit f88cd71e96)
2020-03-12 13:58:02 +01:00
Florian Klink
94767b4432 gitaly: 12.8.5 -> 12.8.6
(cherry picked from commit 281bd03242)
2020-03-12 12:54:56 +01:00
Frederik Rietdijk
1659274588 bepasty: use correct version of xstatic-bootstrap
(cherry picked from commit 73fa45693c)
2020-03-12 11:21:00 +01:00
Daniel Frank
fa88f6a526 firefox-bin: 73.0 -> 74.0 (from PR #82257)
(cherry picked from commit 8899c72990)
Brief testing showed no issues.
2020-03-12 11:20:14 +01:00
Tim Steinbach
d4544ed681 linux: 5.5.8 -> 5.5.9 2020-03-12 05:59:29 -04:00
Tim Steinbach
56dcf4f368 linux: 4.9.215 -> 4.9.216 2020-03-12 05:59:29 -04:00
Tim Steinbach
c44be3bbb3 linux: 4.4.215 -> 4.4.216 2020-03-12 05:59:28 -04:00
Tim Steinbach
580138d913 linux: 4.19.108 -> 4.19.109 2020-03-12 05:59:28 -04:00
Tim Steinbach
098e5a78d9 linux: 4.14.172 -> 4.14.173 2020-03-12 05:59:27 -04:00
Andreas Rammhold
730453919b Merge #82275: firefox-esr-68: 68.5.0esr -> 68.6.0esr
(cherry picked from commit fd04c3afbb)
It contains some "high impact" security fixes; announcement:
https://www.mozilla.org/en-US/firefox/68.6.0/releasenotes/

Brief testing on 20.03 shows no issues for me.
2020-03-12 10:39:44 +01:00
Vincent Laporte
5fe81d4a27 ocaml-ng.ocamlPackages_4_10.ocaml: 4.10.0+rc2 → 4.10.0
(cherry picked from commit 3fe7a65e23)
2020-03-12 06:47:38 +01:00
Vincent Laporte
14aacd5e72 ocaml-ng.ocamlPackages_4_10.ocaml: 4.10.0+rc1 → 4.10.0+rc2
(cherry picked from commit ca6391a7c4)
2020-03-12 06:47:38 +01:00
Vincent Laporte
a0deb2010e ocaml-ng.ocamlPackages_4_10.ocaml: 4.10.0+β2 → 4.10.0+rc1
(cherry picked from commit eef4b5175f)
2020-03-12 06:47:38 +01:00
Florian Klink
1df0c691b9 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:35 +01:00
Florian Klink
988169988e 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:34 +01:00
devhell
2ba4461001 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:53:34 +01:00
Benjamin Hipple
fb783f0501 rainicorn: remove broken package that has been abandoned upstream
(cherry picked from commit 9326cd3406)
2020-03-12 00:36:54 +00:00
Benjamin Hipple
a3c82719c3 leftwm: 0.1.10 -> 0.2.2 (#82365)
(cherry picked from commit feb9b1b406)
2020-03-12 00:29:18 +00:00
Benjamin Hipple
a14b7859a1 [20.03] Mark git-dit as broken
(cherry picked from commit f908cf4de8)
2020-03-12 00:22:17 +00:00
nyanloutre
f6b7dc6fef nixos/vsftpd: fix missing default pam_service_name
9458ec4 removed the ftp pam service which was used by default by vsftpd

(cherry picked from commit 7ab00c48d8)
2020-03-11 22:30:13 +00:00
talyz
8d243e1ff5 nixos/haproxy: Revive the haproxy user and group
Running haproxy with "DynamicUser = true" doesn't really work, since
it prohibits specifying a TLS certificate bundle with limited
permissions. This revives the haproxy user and group, but makes them
dynamically allocated by NixOS, rather than statically allocated. It
also adds options to specify which user and group haproxy runs as.

(cherry picked from commit bb7ad853fb)
2020-03-11 22:25:26 +00:00
Maximilian Bosch
4a3c691beb treewide: remove myself from a few packages I don't use anymore
(cherry picked from commit b7cdb64ac2)
2020-03-11 23:07:05 +01:00
Maximilian Bosch
16d052df1f python3Packages.tesseract: 0.3.2 -> 0.3.3
(cherry picked from commit 24b6b8fd46)
2020-03-11 23:06:34 +01:00
Elis Hirwing
b15139179f 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:18:21 +01:00
Elis Hirwing
b53b0a01d6 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:18:04 +01:00
Maximilian Bosch
1937173092 Merge pull request #81744 from Ma27/backport-remaining-initrd-fix
[20.03] nixos/initrd-network: always run postCommands
2020-03-11 21:05:44 +01:00
Martin Milata
0759da4ee6 nixos: fix module paths in rename.nix
(cherry picked from commit d08ede042b)
2020-03-11 19:36:16 +01:00
Josef Kemetmüller
bc0586b7be lcov: Fix patch checksums
The previously committed checksums seem to have been mistakenly taken
directly from fetchurl without fetchpatch normalization.

(cherry picked from commit adfb8a039b)
2020-03-11 18:41:14 +01:00
Eelco Dolstra
4f721661b2 lcov: Support gcc 9
https://github.com/linux-test-project/lcov/issues/58
https://github.com/Homebrew/homebrew-core/pull/50070
(cherry picked from commit 74c82056c9)
2020-03-11 18:37:36 +01:00
Cyril Cohen
c07561faec coqPackages.hierarchy-builder: init at 0.9.0
(cherry picked from commit cf210c082d)
2020-03-11 17:19:43 +01:00
Cyril Cohen
7c4a7a78ff elpi: 1.7.0 -> 1.10.2; coq-elpi: 1.1 -> 1.3
(cherry picked from commit 66a7f5d4e2)
2020-03-11 17:19:34 +01:00
Maximilian Bosch
2d149fcaf3 Merge pull request #82152 from fadenb/20.03_graylog
[20.03] graylog: 3.2.0 -> 3.2.2
2020-03-11 15:58:02 +01:00
Cole Mickens
42df26245c cfdyndns: v0.0.1 -> v0.0.3
(cherry picked from commit 669fdccf8b)
2020-03-10 14:43:05 -07:00
Sarah Brofeldt
fede49f5e3 Merge pull request #80441 from johanot/kubernetes-1-17
[20.03] kubernetes: 1.16.5 -> 1.17.3
2020-03-11 12:50:34 +01:00
Johan Thomsen
5ee843ec01 kubernetes: 1.16.5 -> 1.17.3
(cherry picked from commit 66556afb5a)
2020-03-11 09:51:11 +01:00
Andreas Rammhold
ed5fef0117 ppp: apply patch for CVE-2020-8597
This fixes a potential buffer overflow in the eap_{request,response}
functions.

(cherry picked from commit 142c3153f7)
2020-03-10 21:12:32 +01:00
Andreas Rammhold
f3fc8ac925 ppp: 2.4.7 -> 2.4.8
(cherry picked from commit caffd51048)
2020-03-10 21:12:31 +01:00
Daniel Gorin
1cf2c15f18 Fix missing default-policy.json in skopeo
We started having issues with `pkgs.dockerTools.pullImage`, were it
would fail with:

```
FATA[0000] Error loading trust policy: open /etc/containers/policy.json: no such file or directory
```

It turns out that since `skopeo` was bumped to `0.1.40`, it was
accidentally no longer being built with a default policy.

This may happen again, see https://github.com/containers/skopeo/issues/787

(cherry picked from commit a646f4b454)
2020-03-10 16:56:14 +00:00
Vincent Laporte
bdf8162b94 coqPackages.dpdgraph: enable for Coq ≥ 8.9
(cherry picked from commit 659e89e21b)
2020-03-10 17:47:04 +01:00
Mario Rodas
afeaca75cf Merge pull request #82223 from pacien/alot-0.9-patch-composition-20.03
[20.03] alot: add patch for email composition
2020-03-10 06:34:20 -05:00
Michael Weiss
3f9b623c91 chromium: Update the VA-API patch (fix #81909)
(cherry picked from commit 735707ef0c)
2020-03-10 11:28:22 +01:00
Adam Sandberg Ericsson
20fa9f307f ghc: really use ld.gold
(cherry picked from commit 9a5ecf1212)
Signed-off-by: Domen Kožar <domen@dev.si>
2020-03-10 10:20:20 +01:00
Vladimír Čunát
187a4bebe2 Merge #82191: doc: improve grammar in nixpkgs GNOME manual
(cherry picked from commit 5ea0258458)
2020-03-10 10:12:14 +01:00
Vladimír Čunát
80d27173b8 knot-dns: 2.9.2 -> 2.9.3
https://gitlab.labs.nic.cz/knot/knot-dns/-/tags/v2.9.3
(cherry picked from commit 29a7464115)
These minor updates should have no breaking changes.
2020-03-10 10:12:02 +01:00
pacien
34c9db1f13 alot: add patch for email composition
This version is not usable without this patch.
See https://github.com/pazz/alot/issues/1468.

(cherry picked from commit b6d45301de)
2020-03-10 09:23:32 +01:00
Christian Lütke-Stetzkamp
dbacfa172f licensor: Fix test in 2020
(cherry picked from commit c8299d69b0)
2020-03-10 05:27:25 +00:00
Mario Rodas
c5db275f81 Merge pull request #81463 from B4dM4n/amp-update-backport
[20.03] amp: 0.6.1 -> 0.6.2
2020-03-09 19:45:46 -05:00
Vincent Laporte
b357f9e624 Merge pull request #81882 from nomeata/js_of_ocaml-20.03
backport js_of_ocaml: 3.4.0 -> 3.5.2 (and other required changes)
2020-03-09 22:01:37 +01:00
Samuel Dionne-Riel
da92e0566d Merge pull request #82173 from samueldr/20.03/aarch64/firefox
[20.03] firefox: Fix AArch64 build
2020-03-09 16:06:03 -04:00
Samuel Dionne-Riel
6291285748 firefox: Fix AArch64 build
* The 'arm.patch' patch doesn't apply anymore.
 * The 'build-arm-libopus.patch' patch isn't required anymore.
 * See the mozilla phabricator link for the added patch.

Additionally, we are now *always* undconditionally applying all patches
to all architectures. That is, unless they have undesirable
side-effects, but those might not be fit for inclusion.

By applying all patches all the time, they'll be removed or replaced
when they stop applying.

(cherry picked from commit d4446c563d)
2020-03-09 15:12:15 -04:00
Andreas Rammhold
6a662cbf43 Merge pull request #81772 from dylex/tensorflow
tensorflow: 1.15.1 -> 1.15.2
2020-03-09 19:03:37 +01:00
Milan
7f2658be83 gitlab: 12.8.2 -> 12.8.5 (#82142)
https://about.gitlab.com/releases/2020/03/09/gitlab-12-8-5-released/
(cherry-picked from f391999026)
2020-03-09 17:25:40 +01:00
R. RyanTM
ff55699976 graylog: 3.2.0 -> 3.2.2
(cherry picked from commit 2954d5544d and 9c6b5041c5)
2020-03-09 14:41:03 +00:00
Frederik Rietdijk
d95513b710 python3Packages.acoustics: 0.2.3 -> 0.2.4
(cherry picked from commit 634ab6fc5d)
2020-03-09 14:10:03 +01:00
Mario Rodas
0b5f073245 Merge pull request #82126 from bhipple/bp/procs
[20.03] procs: 0.9.6 -> 0.9.18
2020-03-09 08:04:07 -05:00
Lancelot SIX
7010635ac2 Merge pull request #82048 from tokudan/20.03/fetchmail642
fetchmail: 6.3.26 -> 6.4.2 [security] [20.03]
2020-03-09 12:00:42 +01:00
Lancelot SIX
cd5d243899 notable: update license to unfree
Notable used to be released under AGPL-v3 until v1.5.x but is is now
nonfree.

See https://github.com/notable/notable/blob/master/SOURCE_CODE.md

(cherry picked from commit 08edf7f27c)
2020-03-09 11:48:09 +01:00
zowoq
58fa229c1e rkt: add CVEs
https://www.twistlock.com/labs-blog/breaking-out-of-coresos-rkt-3-new-cves/
(cherry picked from commit c4c936f2f7)
2020-03-09 10:12:36 +00:00
zowoq
3bc2b975fd youtube-dl: 2020.03.06 -> 2020.03.08
https://github.com/ytdl-org/youtube-dl/releases/tag/2020.03.08
(cherry picked from commit 134f8cc84d)
2020-03-09 08:22:20 +01:00
Benjamin Hipple
e76d4a031a [20.03] procs: 0.9.6 -> 0.9.18
(cherry picked from commit c882a90bc6)
2020-03-09 01:15:52 -04:00
Benjamin Hipple
e4844bd69d btrfs-dedupe: remove broken and abandoned package
This package was last released in 2017, and no longer compiles with the latest
Rust compiler. It has just 1 commit from someone other than the original author
and appears to be a dead project.

(cherry picked from commit 27a0a1376b)
2020-03-09 00:34:39 -04:00
rnhmjoj
525ab7718b minecraft: install missing gsettings schemas
(cherry picked from commit 018a46ffe8)
2020-03-13 11:28:04 +01:00
Andrew Childs
d262f76123 nixos/activation: use eval-config's system argument for nesting
This avoids a possible surprise if the user is using `nixpkgs.system`
and `nesting.children`. `nesting.children` is expected to ignore all
parent configuration so we shouldn't propagate the user-facing option
`nixpkgs.system`. To avoid doing so, we introduce a new internal
option for holding the value passed to eval-config.nix, and use that
when recursing for nesting.

(cherry picked from commit ce416779bb)
2020-03-13 11:28:03 +01:00
Andrew Childs
4a8801a7d3 nixos/activation: propagate system to nested configurations
The current behavior lets `system` default to
`builtins.currentSystem`. The system value specified to
`eval-config.nix` has very low precedence, so this should compose
properly.

Fixes #80806

(cherry picked from commit b83164a049)
2020-03-13 11:28:03 +01:00
Andrew Childs
6e6d8a2bdb nixosTests.nesting: fix subtest scoping
(cherry picked from commit 98791845cb)
2020-03-13 11:28:02 +01:00
Vincent Laporte
c0e34873d9 ocsigen-i18n: 3.4.0 → 3.5.0
(cherry picked from commit 5e468ef981)
2020-03-13 10:56:30 +01:00
Vincent Laporte
8e7396eef8 ocamlPackages.ocp-build: fix for OCaml ≥ 4.08
(cherry picked from commit d02dc3c5fd)
2020-03-13 09:07:03 +01:00
Vincent Laporte
ee46c5500d ocamlPackages.ppx_import: 1.5-3 → 1.7.1
Support for OCaml ≥ 4.08

(cherry picked from commit db4ccde60d)
2020-03-13 08:18:56 +01:00
Vincent Laporte
f452e4e1ad acgtk: 1.5.0 → 1.5.1 (#81539)
Co-authored-by: Jon <jonringer@users.noreply.github.com>
(cherry picked from commit dcfccdfc33)
2020-03-13 06:52:45 +01:00
Maximilian Bosch
37a3c3fafb nixos/manual: fix build
(cherry picked from commit 7e978ca324)
2020-03-13 02:09:17 +01:00
Maximilian Bosch
45e699cbed nixos/python-test-driver: allow single char as hostName and fix misleading error-message
In case of invalid chars, the error-message references "perl variables"
which is not the case here as the python-based framework is used.

(cherry picked from commit 6d14bac048)
2020-03-13 01:10:17 +01:00
Sergey Lukjanov
872beff40b docker: 19.03.5 -> 19.03.8
(cherry picked from commit e1611f85c2)
(cherry picked from commit 1d0c3f148b)
2020-03-12 23:57:05 +01:00
Florian Klink
4b2151b9fa nixos/networkd: respect systemd.network.links also with disabled systemd-networkd
This mirrors the behaviour of systemd - It's udev that parses `.link`
files, not `systemd-networkd`.

(cherry picked from commit 36ef112a47)
2020-03-12 23:49:38 +01:00
Florian Klink
f549fbfd97 nixos/zerotierone: switch from manually generating the .link file to use the module
Previously, systemd.network.links was only respected with networkd
enabled, but it's really udev taking care of links, no matter if
networkd is enabled or not.

With our module fixed, there's no need to manually manage the text file
anymore.

(cherry picked from commit 3d1079a20d)
2020-03-12 23:49:38 +01:00
Félix Baylac-Jacqué
cde800dbd7 tests/networking: remove pkgs.lib usages.
(cherry picked from commit 1115959a8d)
2020-03-12 23:49:37 +01:00
Symphorien Gibol
99a3d7a86f nixos/btrfs: make autoScrub not prevent shutdown or suspend
Fixes: #79086 #79017
(cherry picked from commit 5359d90b15)
2020-03-12 22:40:26 +01:00
Maximilian Bosch
8038d4a429 r10k: 3.2.0 -> 3.4.1
(cherry picked from commit 7c078497ce)
2020-03-12 21:24:32 +01:00
Maximilian Bosch
99ca097e15 blueman: 2.1.1 -> 2.1.2
(cherry picked from commit 3fa6cd14ce)
2020-03-12 21:24:32 +01:00
Maximilian Bosch
8cad2b90a9 packer: 1.5.1 -> 1.5.4
(cherry picked from commit 9f877b97b8)
2020-03-12 21:24:32 +01:00
Maximilian Bosch
d1dc14bd9e EmptyEpsilon: 2020.01.15 -> 2020.02.18
(cherry picked from commit f7d1c8384c)
2020-03-12 21:24:31 +01:00
Murray Campbell
063c26cdea blender: use PYTHONPATH (#82341)
See [blender patch](https://developer.blender.org/D6598)

(cherry picked from commit fd614a72e9)
2020-03-12 14:45:19 -04:00
Timo Kaufmann
0b7fe7290a Merge pull request #82416 from timokau/sage-docutils-0.15-fix-20.03
[20.03] sage: fix test suite with docutils 0.15
2020-03-12 16:18:37 +00:00
Timo Kaufmann
b9cbb44067 sage: fix test suite with docutils 0.15
The better way to fix this would be to backport the upstream sphinx
patch:

faedcc48cc

Unfortunately it doesn't apply cleanly and isn't worth the effort
of backporting. Let's hope we can switch to python3 sage and the recent
sphinx version that comes with it before this becomes a problem.

(cherry picked from commit 7133577405)
2020-03-12 16:42:08 +01:00
Mario Rodas
9c26d7939c Merge pull request #82113 from bhipple/bp/ion
[20.03] ion: mark as broken
2020-03-08 23:08:00 -05:00
Mario Rodas
d02d2b0764 Merge pull request #82108 from bhipple/bp/heatseeker
[20.03] heatseeker: 1.5.1 -> 1.7.1
2020-03-08 22:30:00 -05:00
Benjamin Hipple
dde4748143 [20.03] ion: mark as broken
Backport of https://github.com/NixOS/nixpkgs/pull/82016

ZHF: #80379

(cherry picked from commit d5d648b0f6)
2020-03-08 23:10:01 -04:00
Mario Rodas
45138d3c1d Merge pull request #82106 from bhipple/bp/sit
[20.03] sit: mark as broken
2020-03-08 22:06:30 -05:00
Benjamin Hipple
da79582aaf [ZHF][20.03] heatseeker: 1.5.1 -> 1.7.1
Backport of https://github.com/NixOS/nixpkgs/pull/82017

ZHF: #80379

(cherry picked from commit 9044bdef6a)
2020-03-08 22:36:34 -04:00
Benjamin Hipple
a81880d840 [20.03] sit: mark as broken
Dependencies in the Cargo.lock fail to build due to mutable self borrows.

Backport of https://github.com/NixOS/nixpkgs/pull/82018

ZHF: https://github.com/NixOS/nixpkgs/issues/80379

(cherry picked from commit a2514c22a8)
2020-03-08 22:30:31 -04:00
Florian Klink
30cd233df1 Merge pull request #82054 from mweinelt/pr/20.03/borgbackup/1.1.11
[20.03] borgbackup: 1.1.10 → 1.1.11
2020-03-08 16:28:12 -07:00
Robert Hensing
6b21029d39 buildLayeredImage: Allow empty store, no paths to add
This is useful when buildLayeredImage is called in a generic way
that should allow simple (base) images to be built, which may not
reference any store paths.

(cherry picked from commit 6dab1b50a6)
Signed-off-by: Domen Kožar <domen@dev.si>
2020-03-08 23:12:16 +01:00
Jacek Galowicz
f85b4f1df4 nixosTests.docker-tools: Port to Python 2020-03-08 23:12:07 +01:00
Antoine Eiche
c34efec88e nixosTests.docker-tools: add bulk-layer test
A regression test for https://github.com/NixOS/nixpkgs/issues/78744.

(cherry picked from commit baa78de594)
Signed-off-by: Domen Kožar <domen@dev.si>
2020-03-08 23:11:48 +01:00
Ben Wolsieffer
645522a971 buildbot: 2.6.0 -> 2.7.0 (#81406)
(cherry picked from commit 07727dbd16)

cc #81406
2020-03-08 17:42:56 -04:00
R. RyanTM
55cbe7dbaf buildbot: 2.6.0 -> 2.7.0
(cherry picked from commit 0a545f61fc)

cc #81283
2020-03-08 17:42:56 -04:00
Domen Kožar
62b2bf3f8e elm2nix: bump to 0.2 as it supports Elm 0.19.1 2020-03-08 18:43:46 +01:00
Dmitry Kalinkin
9cc2f1885f glibc: provide fallback for kernels with missing prlimit64
The current version of glibc implements support for kernels down to
3.2.0 (and we make sure to enable such support with apporopriate
--enable-kernel setting). The current RHEL6 operating system is based on
a maintained kernel based on 2.6.32 with lots of backports. We provide
basic support for this specific kernel by patching glibc to provide an
exception for this specific version of kernel. This allows for nixpkgs
software distribution to work on RHEL6 and it does so quite well with
almost no problems. There are, however, a few syscalls that are missing
in the 2.6.32 kernel, one of which is prlimit64. This commit provides a
fallback that uses an older {get,set}rlimit syscalls in cases when
prlimit64 is not available. This should streamline the experience for
nixpkgs users wanting to run it on RHEL6, namely, this fixes one of the
tests in findutils.

See also discussion in guix:
https://lists.gnu.org/archive/html/guix-devel/2018-03/msg00356.html

(cherry picked from commit 6740593bdd)
2020-03-08 13:16:50 -04:00
R. RyanTM
3a237ae22b nextcloud: 18.0.0 -> 18.0.1
(cherry picked from commit 91250fe625)
2020-03-08 17:34:33 +01:00
Daniel Schaefer
aae661cefe satallax: Fix build with GCC9
(cherry picked from commit bc56175034)
2020-03-08 16:17:35 +01:00
Maximilian Bosch
ae1b10ad0a Merge pull request #81958 from ryneeverett/backport-howard-hinnant-date-zone-info
howard-hinnant-date: allow access to zoneinfo
2020-03-08 15:56:14 +01:00
Martin Weinelt
9e8594685d 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:32:50 +01:00
Peter Simons
9226f826b5 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 12:48:31 +01:00
Maximilian Bosch
fb34ac13e4 wasm-bindgen-cli: 0.2.58 -> 0.2.59
(cherry picked from commit 88b16119c1)
2020-03-07 23:11:47 +01:00
Michael Weiss
4e623d16e3 signal-desktop: 1.32.0 -> 1.32.1
(cherry picked from commit 01db31c4d7)
2020-03-07 21:07:01 +01:00
Daniel Fullmer
cbe553c988 zoneminder: add patch to fix improper caching
(cherry picked from commit ce34b927e0)

cc #79488
2020-03-07 13:27:07 -05:00
Daniel Fullmer
cf7dfbf87b zoneminder: fix timezone detection
(cherry picked from commit 630de551ef)

cc #79488
2020-03-07 13:27:03 -05:00
Daniel Fullmer
7f2973c12f nixos/zoneminder: update on startup if needed
(cherry picked from commit cb5da4eacb)

cc #79488
2020-03-07 13:26:58 -05:00
Daniel Fullmer
e7913b7d84 zoneminder: 1.32.3 -> 1.34.3
(cherry picked from commit 2685e457d3)

cc #79488
2020-03-07 13:26:47 -05:00
Silvan Mosberger
4b003af753 du-dust: Change derivation name from dust to du-dust
This prevents confusion by nix-env when installing packages by
derivation name, since there is another package named dust already

(cherry picked from commit ad126ee28e)
2020-03-07 15:43:20 +01:00
Silvan Mosberger
8b85be406c Merge pull request #81970 from Infinisil/dhall-nix-fix
[20.03] dhall-nix: Fix build
2020-03-07 14:46:24 +01:00
Silvan Mosberger
680f15a544 dhall-nix: Fix build 2020-03-07 14:14:02 +01:00
R. RyanTM
d61616bfe5 gnomeExtensions.appindicator: 30 -> 32 (#81309)
(cherry picked from commit e88113846c)
2020-03-07 13:09:27 +01:00
Silvan Mosberger
883217dc3f Merge pull request #81435 from mweinelt/pr/20.03/acme
[20.03] nixos/acme: backport #81369 and #81371
2020-03-07 12:12:03 +01:00
Benjamin Hipple
57fafc08f9 tree-sitter: 0.15.7 -> 0.16.4
Includes some bugfixes/cleanups to the scripts and packaging, a run of the
updater and a bump of the version.

Fixes #75863

(cherry picked from commit 9131efe52d)
2020-03-07 10:20:11 +01:00
Maximilian Bosch
f7e077a54a grocy: 2.6.0 -> 2.6.1
(cherry picked from commit d0e0acadbb)
2020-03-07 09:44:57 +01:00
Jörg Thalheim
23edc4489b Merge pull request #81902 from Mic92/nginx-ssl
[backport] nixos/nginx: use Mozilla Intermediate TLS configuration
2020-03-07 08:43:32 +00:00
Cole Helbling
e5c3c21eac howard-hinnant-date: allow access to zoneinfo
This fixes the situtation where, if `/usr/share/zoneinfo` was
inaccessible/didn't otherwise exist, `howard-hinnant-date` would
download and drop a `~/Downloads/tzdata` directory containing some
timezone information from IANA [1]. To avoid this, we make use of the
`tzdata`'s `zoneinfo`, preventing the dropping of random directories and
files.

[1] https://data.iana.org/time-zones/releases/tzdata2019c.tar.gz

(cherry picked from commit 25057960ce)

This fixes a bug which breaks the clock module. See
<https://github.com/Alexays/Waybar/issues/566>.
2020-03-07 05:16:24 +00:00
pacien
b780aefc62 riot-desktop: 1.5.10 -> 1.5.12
(cherry picked from commit abc58dc1d0)
2020-03-06 23:15:22 +01:00
pacien
44d322f488 riot-web: 1.5.10 -> 1.5.12
(cherry picked from commit 18848216ea)
2020-03-06 23:15:22 +01:00
R. RyanTM
df5c76b745 libreswan: 3.30 -> 3.31
(cherry picked from commit bce33c5d74)
2020-03-06 23:02:19 +01:00
R. RyanTM
9b9106b9b4 libreswan: 3.29 -> 3.30
(cherry picked from commit f4b1d118a4)
2020-03-06 23:00:48 +01:00
Luis Ressel
18181553e0 nixos/wireguard: Fix typo in error message
generatePrivateKey -> generatePrivateKeyFile

(cherry picked from commit b19c485b22)
Signed-off-by: Lancelot SIX <lsix@lancelotsix.com>
2020-03-06 22:45:09 +01:00
Lancelot SIX
06652b25cf python3Pakcages.django_compat: fix
(cherry picked from commit df155637fe)
Signed-off-by: Lancelot SIX <lsix@lancelotsix.com>
2020-03-06 22:28:02 +01:00
Lancelot SIX
6ec1e63207 python3akcages.django_compat: improve test fix
(cherry picked from commit e8d5bdb7b3)
Signed-off-by: Lancelot SIX <lsix@lancelotsix.com>
2020-03-06 22:27:51 +01:00
Lancelot SIX
8a526e4f3a python3Packages.django_compat: fix tests and re-enable
(cherry picked from commit 75087d8882)
Signed-off-by: Lancelot SIX <lsix@lancelotsix.com>
2020-03-06 22:27:32 +01:00
Vincent Laporte
57614a9ccd ocamlPackages.core_profiler: remove at 0.11.0
This package is broken with glibc ≥ 2.28

(cherry picked from commit 5c274c6c05)
2020-03-06 21:36:46 +01:00
Vincent Laporte
5ba4cc937c ocamlPackages.ocaml_plugin: remove at 0.11.0
This package is broken with glibc ≥ 2.28

(cherry picked from commit 9095ca22bc)
2020-03-06 21:36:46 +01:00
Vincent Laporte
f6122a2a5c ocamlPackages.conduit_p4: remove at 0.10.0
(cherry picked from commit fe0ebdf825)
2020-03-06 21:36:46 +01:00
Vincent Laporte
d8980f92d2 ocamlPackages.cohttp_p4: remove at 0.19.3
(cherry picked from commit 305dc2a199)
2020-03-06 21:36:46 +01:00
Vincent Laporte
27e412851d trv: remove at 0.1.3
(cherry picked from commit fca7f386db)
2020-03-06 21:36:46 +01:00
Sergey Lukjanov
b417adb48b snmp_exporter: 0.15.0 -> 0.17.0
(cherry picked from commit bd3319d28c)
2020-03-06 18:38:48 +01:00
Emily
65e31f98ce nixos/nginx: use Mozilla Intermediate TLS configuration
The configuration at https://ssl-config.mozilla.org/#server=nginx&config=intermediate
is reliably kept up-to-date in terms of security and compatible with a
wide range of clients. They've probably had more care and thought put
into them than our defaults, and will be easier to keep updated in
the future.

The only removed (rather than changed) configuration option here is
ssl_ecdh_curve, per https://github.com/mozilla/server-side-tls/issues/189.

Resolves #80952.

(cherry picked from commit 4ed98d69ed)
2020-03-06 14:31:53 +00:00
Alexander Bakker
2ec23b2e2f uwsgi: use pyhome instead of pythonpath for uwsgi vassals
(cherry picked from commit 7bbf7fa693)
2020-03-06 13:17:00 +00:00
Tim Steinbach
f707a0cef4 linux: 5.5.7 -> 5.5.8 2020-03-06 07:53:31 -05:00
Tim Steinbach
b5335c4e4a linux: 5.4.23 -> 5.4.24 2020-03-06 07:53:31 -05:00
Tim Steinbach
775be80b9d linux: 4.19.107 -> 4.19.108 2020-03-06 07:53:31 -05:00
Dillen Meijboom
b719c465f2 pulumi: 1.4.0 -> 1.12.0
(cherry picked from commit c4f5f95d8d)
2020-03-06 10:14:56 +00:00
Anderson Torres
253e2d9586 Merge pull request #81880 from OPNA2608/palemoon_28.8.4_cherrypick_20.03
[20.03] palemoon: 28.8.2.1 -> 28.8.4
2020-03-06 06:55:08 -03:00
WilliButz
9db4062c6c nixos/tests/prometheus-exporters: increase memory for rspamd
Before this, the test failed because rspamd did invoke the oom-killer.

(cherry picked from commit 0d832ee98e)
2020-03-06 10:37:54 +01:00
Martin Milata
ebb7ec3f04 nixos/prometheus-mail-exporter: misc fixes
- Fix misspelled option. mkRenamedOptionModule is not used because the
   option hasn't really worked before.
 - Add missing cfg.telemetryPath arg to ExecStart.
 - Fix mkdir invocation in test.

(cherry picked from commit e7ed7901a8)
2020-03-06 10:37:53 +01:00
Martin Milata
f382c70e34 nixos/prometheus-mail-exporter: fix assertion
The assertion was printed when user explicitly defined only the
configFile option.

(cherry picked from commit 3b5cf35e8b)
2020-03-06 10:37:53 +01:00
Martin Milata
bddb1723d8 nixos/prometheus-snmp-exporter: fix assertion
The assertion was printed when user explicitly defined only the
configurationPath option.

(cherry picked from commit 2a080ac434)
2020-03-06 10:37:53 +01:00
Martin Milata
6673c4f5ff nixos/prometheus-snmp-exporter: update log options
The allowed values have changed in bd3319d28c.

0.15:
      --log.level="info"        Only log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal]
      --log.format="logger:stderr"
                                Set the log target and format. Example: "logger:syslog?appname=bob&local=7" or "logger:stdout?json=true"

0.17:
      --log.level=info          Only log messages with the given severity or above. One of: [debug, info, warn, error]
      --log.format=logfmt       Output format of log messages. One of: [logfmt, json]

(cherry picked from commit 87f87fb3e9)
2020-03-06 10:37:53 +01:00
Martin Milata
c3bb46e179 nixos/prometheus-*-exporter: escape shell args
(cherry picked from commit 0ac24ccf2a)
2020-03-06 10:37:53 +01:00
zowoq
5c3564790a youtube-dl: 2020.03.01 -> 2020.03.06
https://github.com/ytdl-org/youtube-dl/releases/tag/2020.03.06
(cherry picked from commit 815f25daed)
2020-03-06 10:31:18 +01:00
Joachim Breitner
6a8cdf74fd js_of_ocaml: 3.4.0 -> 3.5.2 (#75766)
drive-by contributions, as I was playing around with this (it has better
support for the `num` library, it seems.)

js_of_ocaml: 3.4.0 -> 3.5.2
ocamlPackages.js_of_ocaml-ppx_deriving_json: use ppxlib-0.12.0
ocamlPackages.eliom: 6.8.0 → 6.10.1
ocamlPackages.ocsigen-toolkit: 2.2.0 → 2.5.0
ocamlPackages.ocsigen-start: 2.7.0 → 2.16.1

Co-authored-by: Vincent Laporte <Vincent.Laporte@gmail.com>
(cherry picked from commit 2d2a5a9b63)
2020-03-06 10:18:32 +01:00
Vincent Laporte
0456880576 ocamlPackages.resource-pooling: 0.6 → 1.1
ocamlPackages.ocsigen-start: 1.8.0 → 2.7.0

(cherry picked from commit c589de98e2)
2020-03-06 10:18:29 +01:00
Vincent Laporte
525b0d1a8e ocamlPackages.pgocaml_ppx: init at 4.0
(cherry picked from commit 4f7484f038)
2020-03-06 10:18:24 +01:00
WilliButz
3fbd8bda3e Merge pull request #81757 from Ma27/backport-codimd
[20.03] codimd: 1.5.0 -> 1.6.0
2020-03-06 09:45:58 +01:00
Pavol Rusnak
4707311e20 libfido2: change dependency from libressl to openssl
libressl does not enable EdDSA functionality in libfido2
see https://github.com/Yubico/libfido2/issues/144

(cherry picked from commit 4135584798e428a98d0ded9dab337673bd048f05)
2020-03-06 07:11:21 +01:00
worldofpeace
c4db4e5538 Merge pull request #81793 from JeffLabonte/20_03-brave_1.4.95_to_1.4.96
[20.03] brave 1.4.95 to 1.4.96
2020-03-05 19:41:09 +00:00
worldofpeace
1f99fd2fdb Merge pull request #81718 from worldofpeace/backport-80746
[20.03] openssl_1_0_2: mark as insecure; fixes #77503 (kinda)
2020-03-05 18:41:51 +00:00
Milan
c1746708b1 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 17:08:55 +01:00
Tor Hedin Brønner
0b6df0b4bf nix-bash-completions: 0.6.7 -> 0.6.8 (#81019)
(cherry picked from commit 0e5d4573d4)
2020-03-05 15:09:52 +01:00
R. RyanTM
f5fa7bf2cf palemoon: 28.8.2.1 -> 28.8.4
(cherry picked from commit e633927c81)
2020-03-05 14:34:25 +01:00
Vladimír Čunát
3a820f04e1 nixos/release-notes: fix a tiny typo
(cherry picked from commit 1cf4fea33f)
2020-03-05 14:04:17 +01:00
Michael Weiss
1019f56391 signal-desktop: 1.31.0 -> 1.32.0
(cherry picked from commit 05e6cc4944)
2020-03-05 12:05:42 +01:00
Michael Weiss
a6ac7bfb1e 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-03-05 12:05:36 +01:00
Jeff Labonte
093092a99a 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:35:31 -05:00
Dylan Simon
0a5ec494b5 tensorflow: 1.15.1 -> 1.15.2 2020-03-04 18:00:52 -05:00
Jan Tojnar
e544e03110 glib.setupHook: run glibPreFixupPhase before gappsWrapperArgsHook
Since we split wrapGAppsHook and move its variable initialization to preFixupPhases in #81475, it was getting run before glibPreFixupPhase which sets GSETTINGS_SCHEMAS_PATH variable gappsWrapperArgsHook depends on. Let's introduce this ugly hack to ensure glibPreFixupPhase will run before gappsWrapperArgsHook.

(cherry picked from commit 8e4f502fc6)
2020-03-04 17:41:04 -05:00
R. RyanTM
da48691741 at-spi2-atk: 2.34.1 -> 2.34.2
(cherry picked from commit deec2268c9)
2020-03-04 20:46:31 +01:00
R. RyanTM
08bcfe14ae gnome3.glade: 3.22.1 -> 3.22.2
(cherry picked from commit acc4854dac)
2020-03-04 20:36:57 +01:00
WilliButz
0419b78866 nixos/codimd: update useCDN default to false
(cherry picked from commit 68410b08be)
2020-03-04 20:24:40 +01:00
WilliButz
9cefdd7de2 codimd: 1.5.0 -> 1.6.0
(cherry picked from commit 6c2284090a)
2020-03-04 20:24:40 +01:00
Michael Weiss
487b2f74cd 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)
Backport of #81704.
2020-03-04 20:13:57 +01:00
Silvan Mosberger
19a4f3f79c Merge pull request #81709 from yegortimoshenko/acme-fullchain-force-symlink-20.03
[20.03] nixos/acme: force symlink from fullchain.pem to cert.pem
2020-03-04 19:33:54 +01:00
zimbatm
eaea08b2fe Revert "defaultGemConfig: remove asciidoctor-diagram JARs" (#81737)
This reverts commit 1ac11cc1c1.

asciidoctor-diagram starts Java processes, so the JARs are necessary
on all platforms.

See https://github.com/NixOS/nixpkgs/pull/77149#issuecomment-594576339.

(cherry picked from commit 89a09456c7)
2020-03-04 19:05:15 +01:00
Maximilian Bosch
fffd09d21c nixos/tests/initrd-network-ssh: fix test
It seems as it takes a moment until the initrd-network is loaded. Please
note that this is currently only reproducible on release-20.03.
2020-03-04 18:37:19 +01:00
Franz Pletz
3c86a21d6c nixos/initrd-network: always run postCommands
As outlined in #71447, postCommands should always be run if networking
in initrd is enabled. regardless if the configuration actually
succeeded.

(cherry picked from commit 589789997f)

The backport of this patch has been requested in #79532[1]. The diff is
slightly off the original commit since some changes from
ea7d02406b were needed, however this
commit shouldn't be backported as it potentially breaks existing setups.

[1] https://github.com/NixOS/nixpkgs/pull/79532#issuecomment-593511638
2020-03-04 18:31:03 +01:00
Maximilian Bosch
7c6d9f55e0 nextcloud-client: 2.6.3 -> 2.6.4
https://github.com/nextcloud/desktop/releases/tag/v2.6.4
(cherry picked from commit 13e3fc3e06)
2020-03-04 16:19:54 +01:00
talyz
53e5e70eda 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.
2020-03-04 14:37:21 +01:00
talyz
4d50664b10 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.
2020-03-04 14:37:21 +01:00
talyz
06bd94cfb6 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.
2020-03-04 14:37:21 +01:00
talyz
08582ebb7c gitlab-workhorse: 8.20.0 -> 8.21.0 2020-03-04 14:37:21 +01:00
talyz
750cf9e911 gitaly: 1.83.0 -> 12.8.1 2020-03-04 14:37:21 +01:00
talyz
894ff16021 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/
2020-03-04 14:37:21 +01:00
Vladimír Čunát
feaa6347ca knot-resolver: apply upstream patch
Encrypted ZFS users were affected, in particular some NixOS users
who reported the issue upstream.  /cc #81188.

(cherry picked from commit b7f5450e4d)
2020-03-04 14:01:22 +01:00
Jörg Thalheim
876085e8f7 nixos/zfs: continue trimming also if one pool fails
fixes https://github.com/NixOS/nixpkgs/issues/81602

(cherry picked from commit 557989c460e386d0abca068245806a2fbc89edf0)
2020-03-04 12:48:28 +00:00
Vladimír Čunát
7dfb4447d6 openssl_1_0_2: mark as insecure; fixes #77503 (kinda)
No vulnerabilities are know so far (to me), but still I'd go this way.
Especially for 20.03 it seems better to deprecate it before official
release happens.

Current casualties:
$ ./maintainers/scripts/rebuild-amount.sh --print HEAD HEAD^
Estimating rebuild amount by counting changed Hydra jobs.
     87 x86_64-darwin
    161 x86_64-linux

(cherry picked from commit 7cda2823be)
2020-03-04 07:40:36 -05:00
Yegor Timoshenko
08795a97f4 nixos/acme: force symlink from fullchain.pem to cert.pem
(cherry picked from commit c32da2ed9c)

Co-authored-by: emily <vcs@emily.moe>
2020-03-04 13:19:29 +03:00
adisbladis
0c3057c59d Merge pull request #81266 from Frostman/20.03-go-1.14
[20.03] go_1_14: init at 1.14 and switch to it (backport)
2020-03-04 08:25:02 +00:00
worldofpeace
87cc49a3fe Merge pull request #81082 from JeffLabonte/release/20.03-brave_1.3.118_to_1.4.95
[20.03] brave: 1.3.118 -> 1.4.95
2020-03-04 01:27:28 +00:00
Jeff Labonte
bf8a421551 brave: 1.3.118 -> 1.4.95
Update brave from 1.3.118 to 1.4.95

(cherry picked from commit fa166b77d1)
Reason: Browser should be kept up-to-date for security reasons.
2020-03-03 20:14:55 -05:00
worldofpeace
20c553be69 pantheon.wingpanel-indicator-nightlight: 2.0.2 -> 2.0.3
https://github.com/elementary/wingpanel-indicator-nightlight/releases/tag/2.0.3
(cherry picked from commit 9dc1cc507d)
2020-03-03 20:13:21 -05:00
worldofpeace
b37fcf90c4 pantheon.elementary-files: 4.4.0 -> 4.4.1
https://github.com/elementary/files/releases/tag/4.4.1
(cherry picked from commit 7f7977e296)
2020-03-03 20:13:21 -05:00
worldofpeace
bd49b6f7bf ephemeral: 6.2.1 -> 6.3.0
https://github.com/cassidyjames/ephemeral/releases/tag/6.3.0
(cherry picked from commit 0e82b0e0ed)
2020-03-03 20:13:21 -05:00
worldofpeace
5a1a248e7d lollypop: 1.2.16 -> 1.2.23
(cherry picked from commit 5d31a94b11)
2020-03-03 20:13:21 -05:00
worldofpeace
0ebcfef5fe lollypop: add missing deps
We need the GIO_EXTRA_MODULE from glib-networking

(cherry picked from commit c10c96b991)
2020-03-03 20:13:21 -05:00
obadz
201a5d8e4f Merge pull request #81669 from obadz/backport-2003-zerotier-mac-fix
[20.03] nixos/zerotierone: prevent systemd from changing MAC address
2020-03-04 01:07:58 +00:00
Daniel Fullmer
01a02ccd73 nixos/zerotierone: prevent systemd from changing MAC address
(cherry picked from commit 27b8253655)
2020-03-04 01:04:03 +00:00
worldofpeace
e8e569ce79 wrapGAppsHook: Fix #78803
Add to gappsWrapperArgs in preFixupPhases.

(cherry picked from commit 29fc27b4ac)
2020-03-03 19:35:37 -05:00
worldofpeace
e78f26b977 Merge branch 'release-20.03' into staging-20.03 2020-03-03 19:35:13 -05:00
Aiken Cairncross
6c3ab02ad0 python3Packages.monosat: Fix hash
(cherry picked from commit 3db82f6fc3)
2020-03-03 19:34:08 +00:00
Aiken Cairncross
04379d0a6a python3Packages.monosat: Fix Python 3.8 build
(cherry picked from commit 2148a154c6)
2020-03-03 19:23:57 +00:00
Dmitry Kalinkin
899cf4ba29 python3Packages.ipykernel: fix build on darwin
Also python34 is not supported:

979e6fd2db

nixpkgs doesn't provide python34 anymore, so pythonOlder "3.5" is always
true and can be removed.

(cherry picked from commit d35009ee63)

cc #80940
2020-03-03 12:51:50 -05:00
Dmitry Kalinkin
17e15615e4 tdlib: enable on darwin
(cherry picked from commit fa2546f1b9)
2020-03-03 12:45:10 -05:00
Dmitry Kalinkin
ee01f461a3 blender: fix enableNumpy option, enable it unconditionally
Workarounds https://developer.blender.org/T74304

Audaspace requires numpy, we already have to provide numpy
unconditionally via PYTHON_NUMPY_PATH.

(cherry picked from commit 27578856bf)

cc #81313
2020-03-03 09:20:54 -05:00
Jeffry Molanus
943aff5679 terraform-providers.libvirt: 0.5.1 -> 0.6.1
(cherry picked from commit c1b5cfe267)
2020-03-03 11:32:14 +00:00
Yegor Timoshenko
0f2565d518 Merge pull request #80857 from emilazy/adjust-acme-20.03
[20.03] nixos/acme: adjust renewal timer options
2020-03-03 03:49:56 +03:00
conferno
2e4a4b928b xfce.xfdashbooard: fix typo
(cherry picked from commit e0a2f0fc24)
2020-03-02 18:39:02 -05:00
Vladimír Čunát
181974248e Merge branch 'staging-20.03' into release-20.03
It's finished on Hydra: https://hydra.nixos.org/eval/1573320
2020-03-02 18:30:49 +01:00
Martin Milata
56b1c3938c qt5.qtbase: backport cmake macro fix
Backport fix of QT5_MAKE_OUTPUT_FILE CMake macro which causes FreeCAD
build failure when building with qt-5.12.7.

https://bugreports.qt.io/browse/QTBUG-81715

(cherry picked from commit 80650ae4f0)
2020-03-02 18:29:43 +01:00
Maximilian Bosch
0bdf352a05 nixos/release-notes: mention fix for predictable network-interfaces in initrd
(cherry picked from commit f4d71e2e73)
2020-03-02 17:58:44 +01:00
Franz Pletz
173c7715de nixos/initrd-network: use ipconfig from klibc
This apparently has features that the version from Arch's
mkinitcpio-nfs-utils does not have. Fixes #75314.

(cherry picked from commit d25c1a8fdc)
2020-03-02 17:18:00 +01:00
Franz Pletz
3206aa985a klibc: 2.0.4 -> 2.0.7
(cherry picked from commit 4ba8086aa1)
2020-03-02 17:17:59 +01:00
Franz Pletz
332d731a7a nixos/stage-1: fix predictable interfaces names
This makes predictable interfaces names available as soon as possible
with udev by adding the default network link units to initrd which are read
by udev. Also adds some udev rules that are needed but which would normally
loaded from the udev store path which is not included in the initrd.

(cherry picked from commit 44e289f93b)
2020-03-02 17:17:59 +01:00
Janne Heß
4e924d3a4e pkgs/bazel*: Fix path to update-srcDeps.py
Otherwise, the -small channel fails on the tarball output.

(cherry picked from commit 0723bf3b72)
2020-03-02 17:06:03 +01:00
Michael Lingelbach
7202d2cdaa tensorflow: 1.15.0 -> 1.15.1
* Apply glibc 2.3 patch
* build tensorflow with bazel_1
* Bump openssl version to 1.1

(cherry picked from commit 1dc0db8481)
2020-03-02 17:07:13 +01:00
ngerstle
3c45fc8781 traefik: 1.7.14 -> 1.7.21 2020-03-02 16:48:50 +01:00
Vladimír Čunát
1f33b3d018 Merge #80714: icon-lang: fix build
(cherry picked from commit 4d954e528d)
2020-03-02 16:20:33 +01:00
Vladimír Čunát
89528af331 Merge #79026: blackmagic: v1.6.1-317-gc9c8b08 -> v1.6.1-409-g7a595ea
(cherry picked from commit 855f020404)
It didn't build before this bump.
2020-03-02 16:00:54 +01:00
Vladimír Čunát
41a6bafd41 Merge #80124: llvmPackages_5.compiler-rt: fix for glibc bump
(cherry picked from commit fb6ceb45ba)
I re-tested the build for 20.03, before and after this commit.
2020-03-02 15:49:00 +01:00
Michael Lingelbach
87fc21d6c8 Add bazel 1.2.1
(cherry picked from commit 1c4f22a5da)
2020-03-02 09:18:38 +01:00
scalavision
06e9970c44 truvari:1.3.2->1.3.4
(cherry picked from commit dbb4826457)
2020-03-02 09:16:18 +01:00
Kovacsics Robert
0edebabe92 polyml: updated maintainers
I am not sure if we still need the old packages, nothing explicitly
depends on polyml56 or polyml57 according to a grep, not sure if
external packages might (hol and isabelle depend on polyml, the latest
version).

(cherry picked from commit f4c29ebfc2)
2020-03-02 09:14:14 +01:00
Kovacsics Robert
2f0b6c2af2 polyml: fix with new libffi
New libffi doesn't have FFI_SYSV for x86/64 unix, this pulls in the
commit for the upstream version which fixes it, and ports that patch to
the 5.7 version. The 5.6 version is unchanged.

For ZHF: #80379

(cherry picked from commit f8c402ecad)
2020-03-02 09:14:14 +01:00
pacien
61cc1f0dc0 riot-web: mention incompatible config change in release notes
Mention the changes introduced in commit c9e5cca.

GitHub: closes #81416
(cherry picked from commit 6d4fd13612)
2020-03-02 03:15:10 +01:00
zowoq
e1dd2c620b youtube-dl: 2020.02.16 -> 2020.03.01
https://github.com/ytdl-org/youtube-dl/releases/tag/2020.03.01
(cherry picked from commit 5ce2974294)
2020-03-02 01:18:56 +01:00
worldofpeace
f0ad76b504 Merge pull request #81423 from Frostman/20.03-smartmontools-7.1
[20.03] smartmontools: 7.0 -> 7.1 and devicedb updated to latest
2020-03-01 23:25:05 +00:00
Fabian Möller
f0608b08b5 amp: 0.6.1 -> 0.6.2
(cherry picked from commit 1820ce4922)
2020-03-01 21:42:34 +01:00
Sander van der Burg
698f5dbabc titaniumenv: add Titanium SDK 8.3
(cherry picked from commit c5a6a2ae5ead4249486c78d758c123ed8acfd8a9)
2020-03-01 20:24:17 +01:00
Sander van der Burg
760dc689aa androidenv: add platform SDK 29
(cherry picked from commit f5d8e5d92bd4edd2873d0c116ce8db372287a3cf)
2020-03-01 20:24:17 +01:00
worldofpeace
ae0edff42b doc/xfce: remove trailing code
(cherry picked from commit b7b46d0184)
2020-03-01 13:45:10 -05:00
Klaas van Schelven
a8c2c1d92d pythonPackages.swagger-spec-validator 2.4.3 -> 2.5.0
Includes various upstream fixes of the tests, see

* https://github.com/Yelp/swagger_spec_validator/pull/117
* https://github.com/Yelp/swagger_spec_validator/pull/121

(cherry picked from commit efa25157e9)
2020-03-01 09:02:40 -08:00
worldofpeace
ea4f8e8f31 nixos/pantheon: add docs
(cherry picked from commit 3be04570e0)
2020-03-01 11:57:28 -05:00
Florian Klink
932f2e3157 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-01 10:16:37 -05:00
worldofpeace
a57de92c5e Merge pull request #81368 from prusnak/openssh-20.03
[20.03] openssh: 8.1p1 -> 8.2p1
2020-03-01 15:14:52 +00:00
Maximilian Bosch
ebc9620c3f bandwhich: 0.11.0 -> 0.12.0
https://github.com/imsnif/bandwhich/releases/tag/0.12.0
(cherry picked from commit c3b331a777)
2020-03-01 16:01:20 +01:00
worldofpeace
699a8d4e9b libgpod: also remove mutagen
I think this was my mistake. This is also a python2 dependency
that should have been removed with pygobject.

(cherry picked from commit e50306dfe3)
2020-03-01 09:56:52 -05:00
worldofpeace
550d6afe6b ideogram: 1.3.2 -> 1.3.3
better icon https://github.com/cassidyjames/ideogram/releases/tag/1.3.3

(cherry picked from commit 4b771aa2e6)
2020-03-01 09:37:46 -05:00
worldofpeace
a345d00fb1 pantheon.elementary-gtk-theme: 5.4.1 -> 5.4.2
https://github.com/elementary/stylesheet/compare/5.4.1...5.4.2
(cherry picked from commit dab121ac69)
2020-03-01 09:37:45 -05:00
worldofpeace
a39dfc11a5 pantheon.elementary-code: 3.2.0 -> 3.3.0
https://github.com/elementary/code/releases/tag/3.3.0
(cherry picked from commit 8acbc62f4e)
2020-03-01 09:37:45 -05:00
worldofpeace
a5e230448b ipmitool: fix compile on darwin
(cherry picked from commit 82217553b0)
2020-03-01 09:10:48 -05:00
Florian Klink
5c025bcc55 ipmitool: cleanup expression
* remove no-op substitution of s6_addr16 -> s6_addr

This string doesn't exist anymore in that file.

* clean up configureFlags

(cherry picked from commit 43ec75d470)
2020-03-01 09:10:48 -05:00
Andreas Rammhold
26f4dec550 ipmitool: migrate to openssl 1.1
This adds a patch from debian to switch ipmitool to openssl 1.1.
Upstream seems to already carry a version of this but that is yet to be
part of a release.

(cherry picked from commit ad19bb5ff8)
2020-03-01 09:10:47 -05:00
R. RyanTM
93137b171c aesop: 1.2.3 -> 1.2.4
(cherry picked from commit 5668479498)
2020-03-01 09:07:29 -05:00
worldofpeace
43115ebd79 Merge pull request #81119 from tilpner/gitdaemon-usercreation-backport
[20.03] nixos/git-daemon: only create git user if it will be used
2020-03-01 14:05:24 +00:00
Martin Weinelt
a79920d539 nixos/acme: apply chmod and ownership unconditionally
Also separate directory and file permissions so the certificate files
don't end up with the executable bit.

Fixes #81335

(cherry picked from commit 3575555fa8)
2020-03-01 14:41:51 +01:00
Martin Weinelt
bbd9e39758 nixos/acme: renew after rebuild and on boot
Fixes #81069

(cherry picked from commit 5ff9441471)
2020-03-01 14:41:29 +01:00
worldofpeace
78414b688c Merge pull request #81409 from smaret/release-20.03
[ZHF] pythonPackages.astroquery 0.3.10 -> 0.4
2020-03-01 13:37:49 +00:00
worldofpeace
f8601ccd24 nixos/rngd: fix clean shutdown
It seems disabling DefaultDependencies
removes these implicit dependencies [0] that
we needed for shutdown to happen cleanly.

Fixes #80871

[0]: https://www.freedesktop.org/software/systemd/man/systemd.service.html#Default%20Dependencies

(cherry picked from commit fa76150235)
2020-03-01 06:45:29 -05:00
Sergey Lukjanov
c961031be5 smartmontools: add Frostman to maintainers
(cherry picked from commit e85f0a8970)
2020-03-01 00:22:02 -08:00
Sergey Lukjanov
5d19f2497f smartmontools: 7.0 -> 7.1 and devicedb updated to latest
(cherry picked from commit 38b0c55601)
2020-03-01 00:21:53 -08:00
xbreak
aa119502bc pythonPackages.astroquery 0.3.10 -> 0.4
Tests are disabled until pytest-astropy is updated with
pytest-astropy-header.

(cherry picked from commit a5e82af9d8)
2020-02-29 22:38:33 +01:00
Ben Wolsieffer
4f5c57745c libyamlcpp: actually build shared libraries (#81051)
(cherry picked from commit be41f703ad)
2020-02-29 15:32:17 -05:00
Ben Wolsieffer
7f4770a7c9 libyamlcpp: don't use multiple outputs
This package uses CMake's install(EXPORT ...) command which assumes that
libraries are installed in the same location as the CMake files.

(cherry picked from commit bdbbe6f34f)
2020-02-29 15:32:14 -05:00
Emily
f2c522a1af nixos/acme: adjust renewal timer options
The current weekly setting causes every NixOS server to try to renew
its certificate at midnight on the dot on Monday. This contributes to
the general problem of periodic load spikes for Let's Encrypt; NixOS
is probably not a major contributor to that problem, but we can lead by
example by picking good defaults here.

The values here were chosen after consulting with @yuriks, an SRE at
Let's Encrypt:

* Randomize the time certificates are renewed within a 24 hour period.

* Check for renewal every 24 hours, to ensure the certificate is always
  renewed before an expiry notice is sent out.

* Increase the AccuracySec (thus lowering the accuracy(!)), so that
  systemd can coalesce the renewal with other timers being run.

  (You might be worried that this would defeat the purpose of the time
  skewing, but systemd is documented as avoiding this by picking a
  random time.)

(cherry picked from commit 7b14bbd734)
2020-02-29 14:03:50 +00:00
Pavol Rusnak
811013c1a2 openssh_hpn: 7.8p1 -> 8.1p1
fix build failure

(cherry picked from commit 205f42b142)
2020-02-29 14:05:12 +01:00
Pavol Rusnak
f93be3ed16 openssh: 8.1p1 -> 8.2p1
https://www.openssh.com/txt/release-8.2

add libfido2 to enable hardware tokens support added in this release

(cherry picked from commit 44864b292f)
2020-02-29 14:05:08 +01:00
Artemis Tosini
9ea34a5bb8 libfido2: add macOS support
* pass IOKit to libfido2
* Add a patch so that cmake uses lld flags when linking
* Upgrade from 1.3.0 to 1.3.1 (based off #80781)
* Specify CMAKE_INSTALL_LIBDIR so that the demo binaries link
  correctly on macOS and libfido2.pc specifies correct arguments

(cherry picked from commit 099359afc7)
2020-02-29 14:03:04 +01:00
Marek Mahut
f06ab62d84 libfido2: evaluate systemd only on Linux
(cherry picked from commit 1ea0a243d2)
2020-02-29 14:02:58 +01:00
Marek Mahut
7f3cf25977 libfido2: linux build only
(cherry picked from commit 852d2bcfd4)
2020-02-29 14:02:54 +01:00
worldofpeace
f3fa308f33 Merge branch 'release-20.03' into staging-20.03 2020-02-29 01:02:57 -05:00
worldofpeace
d8e6050fcb Merge branch 'staging-20.03' into release-20.03 2020-02-29 00:59:37 -05:00
Michael Alan Dorman
4f8bc8e10b pam_ssh_agent_auth: fix dependency on insecure openssl
There have been a couple of patches floating around for about the last
18 months.  While they originated with FreeBSD, but they've been
adopted by Gentoo and Debian as well---and the most straightforward
way to get access to them was from the Debian repository.

(cherry picked from commit b6b3e04759)
2020-02-28 21:05:32 -05:00
worldofpeace
271707af04 Merge pull request #81337 from worldofpeace/crystal-openssl-backport
[20.03] crystal: use latest openssl
2020-02-29 02:01:12 +00:00
Yegor Timoshenko
bb2678c1e6 Merge pull request #81340 from emilazy/fix-gdouros-font-licenses-20.03
[20.03] fonts/gdouros: correct license to unfree
2020-02-29 04:03:40 +03:00
Emily
1c7e269e81 fonts/gdouros: correct license to unfree
(cherry picked from commit 05a9b7fe2a)
2020-02-29 01:00:17 +00:00
R. RyanTM
01ad75043b gnome3.gnome-characters: 3.32.1 -> 3.34.0
(cherry picked from commit c6feb8a98a)
2020-02-28 19:36:13 -05:00
worldofpeace
8ee5939798 pantheon.elementary-greeter: 5.0.1 -> 5.0.2
https://github.com/elementary/greeter/releases/tag/5.0.2
(cherry picked from commit b4943b0180)
2020-02-28 19:36:07 -05:00
worldofpeace
92233e1714 pantheon.switchboard-plug-bluetooth: 2.3.0 -> 2.3.1
https://github.com/elementary/switchboard-plug-bluetooth/releases/tag/2.3.1
(cherry picked from commit ecca257d73)
2020-02-28 19:36:07 -05:00
worldofpeace
a112634861 pantheon.sideload: 1.0.0 -> 1.0.1
https://github.com/elementary/sideload/releases/tag/1.0.1
(cherry picked from commit e85290ba54)
2020-02-28 19:36:07 -05:00
worldofpeace
1124b7cde5 pantheon.appcenter: 3..2.1 -> 3.2.2
https://github.com/elementary/appcenter/releases/tag/3.2.2
(cherry picked from commit a54dcfe076)
2020-02-28 19:36:07 -05:00
worldofpeace
53b9ac8408 Merge pull request #81310 from emilazy/fix-pypy-openssl-20.03
[20.03] pypy{,3}: use openssl_1_1
2020-02-29 00:32:13 +00:00
worldofpeace
01826800d6 crystal: use latest openssl
(cherry picked from commit e10900b068)
2020-02-28 19:13:16 -05:00
worldofpeace
276e1ee942 exiv2: fix exiv2.pc file
This fix comes from #71669.

(cherry picked from commit ff41002b80)
2020-02-28 19:11:35 -05:00
arcnmx
0efe95b6b3 elinks: build with openssl 1.1
(cherry picked from commit f9a682c0cc)
2020-02-28 19:07:16 -05:00
Tim Steinbach
8764fb751d linux: 5.5.6 -> 5.5.7 2020-02-28 15:46:17 -05:00
Tim Steinbach
16c150cf52 linux: 5.4.22 -> 5.4.23 2020-02-28 15:46:17 -05:00
Michael Weiss
60855a7c19 html-proofer: Update the dependencies (security, CVE-2020-7595)
This updates nokogiri to 1.10.8 for CVE-2020-7595 [0].

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

(cherry picked from commit ad0c620a08)
2020-02-28 21:22:52 +01:00
Michael Weiss
31b4a68afe jekyll: Update the dependencies (security, CVE-2020-7595)
This updates nokogiri to 1.10.8 for CVE-2020-7595 [0].

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

(cherry picked from commit 9b0defc765)
2020-02-28 21:22:52 +01:00
Michael Weiss
81a208a88c gollum: Update the dependencies (security, CVE-2020-7595)
This updates nokogiri to 1.10.8 for CVE-2020-7595 [0].

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

(cherry picked from commit a0d61c0135)
2020-02-28 21:22:52 +01:00
Emily
9a1966e79e pypy{,3}: use openssl_1_1
"We now support building PyPy with OpenSSL 1.1 in our built-in _ssl
module, as well as maintaining support for previous versions."
-- https://pypy.readthedocs.io/en/latest/release-pypy2.7-v5.6.0.html

(cherry picked from commit 6d3fc35620)
2020-02-28 18:14:02 +00:00
Tim Steinbach
8dc1ffb22f linux: 4.9.214 -> 4.9.215 2020-02-28 11:11:05 -05:00
Tim Steinbach
c97e547f46 linux: 4.4.214 -> 4.4.215 2020-02-28 11:11:05 -05:00
Tim Steinbach
9239f78bbf linux: 4.19.106 -> 4.19.107 2020-02-28 11:11:05 -05:00
Tim Steinbach
0477af2036 linux: 4.14.171 -> 4.14.172 2020-02-28 11:11:05 -05:00
Mario Rodas
89536cd763 postgresqlPackages.postgis: 3.0.0 -> 3.0.1
Release notes: https://postgis.net/2020/02/20/postgis-3.0.1/

(cherry picked from commit 53a5d6918a)
2020-02-28 04:20:00 -05:00
Eelco Dolstra
87e543dad4 enable-coverage-instrumentation.sh: Fix unbound variable error
https://hydra.nixos.org/build/113299582
(cherry picked from commit 4c0821461e)
2020-02-28 12:34:59 +01:00
worldofpeace
a8dd7b2370 Merge pull request #81216 from jonringer/backport-plasma5-fix
[20.03] nixos/plasma5: Fix activation script when XDG_CONFIG_HOME is unset
2020-02-28 06:33:58 +00:00
Sergey Lukjanov
e378b239f6 grafana: switch to latest go
(cherry picked from commit c29045c090)
2020-02-27 21:47:39 -08:00
Sergey Lukjanov
3041889bc6 go_1_14: init at 1.14 and switch to it
(cherry picked from commit 8c4a92887f)
2020-02-27 21:47:29 -08:00
Thomas Tuegel
45d1f19d12 nixos/plasma5: Fix activation script when XDG_CONFIG_HOME is unset
Fixes #80713

(cherry picked from commit d3e3cc1225)
2020-02-27 14:32:51 -08:00
Michele Guerini Rocco
a2bb258c60 Merge pull request #81043 from wd15/sfepy-2019.4
[20.03] pythonPackages.sfepy: 2019.2 -> 2019.4
2020-02-27 22:26:44 +01:00
Maximilian Bosch
abbaed1165 Merge #81155: wireshark: 3.2.1 -> 3.2.2 (security)
(cherry picked from commit 250daba4be)
https://www.wireshark.org/docs/relnotes/wireshark-3.2.2.html
I re-tested it still builds.
2020-02-27 20:05:23 +01:00
Timo Kaufmann
98960342e0 Merge pull request #80735 from timokau/maven-jdk-overridable-20.09
[20.03] maven: make jdk overridable
2020-02-27 16:09:08 +00:00
Jörg Thalheim
287e7f9d60 Merge pull request #81022 from mmilata/parsoid-20.03
[20.03] nixos/parsoid: fix service by reinstating nodePackages.parsoid
2020-02-27 15:59:06 +00:00
Martin Milata
a65ea62ef6 nixos/parsoid: enable systemd sandboxing
(cherry picked from commit 9b0a9577f7)
2020-02-27 15:09:40 +01:00
Martin Milata
c83c446489 nixos/parsoid: fix package name
Original package was removed in 2b8cde0ce2.

(cherry picked from commit 3b27f4d945)
2020-02-27 15:09:40 +01:00
Martin Milata
e83eddef8a nodePackages.parsoid: init at 0.11.0
(not-really-cherry-picked from commit 9264a0fabf)
2020-02-27 15:09:40 +01:00
Maximilian Bosch
f823335caa clipman: 1.3.0 -> 1.4.0
https://github.com/yory8/clipman/releases/tag/v1.4.0
(cherry picked from commit 57f2ea5ca1)
2020-02-27 11:44:54 +01:00
Michael Weiss
be346a1f4b 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)
Backport of #81016.
2020-02-26 19:29:29 +01:00
Jörg Thalheim
d4cb3da747 Merge #81122 nixos/kresd: never force extraFeatures = false
(cherry picked from commit 8e1350e392)
2020-02-26 17:22:18 +01:00
Michele Guerini Rocco
ef54b6081e Merge pull request #81041 from wd15/fipy-3.4.1
[20.03] pythonPackages.fipy: 3.3 -> 3.4.1
2020-02-26 15:38:52 +01:00
tilpner
ee4421d18e nixos/git-daemon: only create git user if it will be used
(cherry picked from commit 6df119a6ec)
2020-02-26 15:09:03 +01:00
Michele Guerini Rocco
9222921433 Merge pull request #81115 from smaret/release-20.03
[ZHF] pythonPackages.reproject: fix tests
2020-02-26 14:34:26 +01:00
Sébastien Maret
c65b4ef85a pythonPackages.reproject: fix tests
Co-Authored-By: Jon <jonringer@users.noreply.github.com>
(cherry picked from commit a0f50fe24b)
2020-02-26 13:22:13 +01:00
worldofpeace
8bcc32a684 Merge pull request #81080 from worldofpeace/backport-80698
[20.03] p11-kit: 0.23.19 -> 0.23.20
2020-02-26 02:06:00 -05:00
worldofpeace
8d49ebf488 Merge pull request #81064 from Thra11/release-20.03
[20.03] R: fix build on aarch64 by removing a failing test
2020-02-25 21:10:07 -05:00
Tor Hedin Brønner
ac5c544fe5 p11-kit: 0.23.19 -> 0.23.20
Small bug fix release. Fixes a bunch of flatpak issues (eg. no playback
on spotify).

news: https://github.com/p11-glue/p11-kit/releases/tag/0.23.20
(cherry picked from commit bbbb49c450)
2020-02-25 20:51:16 -05:00
worldofpeace
2424e5ff16 tikzit: use qt5's mkDerivation
(cherry picked from commit ffe40094ab)
2020-02-25 20:12:56 -05:00
worldofpeace
309dee986c qgo: use qt5's mkDerivation
(cherry picked from commit f8da067a2a)
2020-02-25 20:12:56 -05:00
worldofpeace
d343ab805d qview: use qt5's mkDerivation
(cherry picked from commit a8eba26d2c)
2020-02-25 20:12:56 -05:00
worldofpeace
7e9bdd9743 seafile-client: use qt5's mkDerivation
Fixes #80976

(cherry picked from commit 43bb5bffda)
2020-02-25 20:12:56 -05:00
Jonathan Ringer
fb211847c9 discord-canary: 0.0.98 -> 0.0.102
(cherry picked from commit da5e340f74)
2020-02-25 16:40:22 -08:00
Jonathan Ringer
bdfea8ed3d discord-ptb: 0.0.16 -> 0.0.18
(cherry picked from commit e1d05e30f8)
2020-02-25 16:40:22 -08:00
kraem
5af6c35c2e discord: 0.0.9 -> 0.0.10
(cherry picked from commit 3ec9925f21)
2020-02-25 16:40:22 -08:00
Silvan Mosberger
1de1221476 Merge pull request #80862 from emilazy/acme-fullchain-20.03
[20.03] nixos/acme: move the crt to fullchain.pem
2020-02-26 01:00:38 +01:00
Florian Klink
158cd27ae7 Merge pull request #80995 from worldofpeace/backport-80985
[20.03] perl-packages: don't use openssl_1_0_2
2020-02-25 15:12:15 -08:00
worldofpeace
c5e6fbd203 vde2: fix build with latest openssl
(cherry picked from commit 06238ced3c)
2020-02-25 14:43:27 -08:00
worldofpeace
1a450f03c9 vde2: update homepage
(cherry picked from commit e5c3bb4103)
2020-02-25 14:43:27 -08:00
Tom Hall
5675bfa44f R: fix build on aarch64 by removing a failing test
(cherry picked from commit ae9e09a2e1)

Required to fix R on aarch64, pending upstream fix
2020-02-25 22:25:42 +00:00
Tom Hall
fcf48b8583 R: Enable java support on all platforms
(cherry picked from commit 4e5aeca90b)

This is required to fix R on aarch64
2020-02-25 22:24:58 +00:00
Lancelot SIX
ae0222c27e Merge pull request #81036 from veprbl/pr/blender_2_82_backport
[20.03] blender: 2.81a -> 2.82
2020-02-25 21:50:28 +01:00
Aaron Andersen
7161eb21ca mariadb: do not delete runtime plugins from package
(cherry picked from commit 951ceca9df)
2020-02-25 20:10:21 +00:00
Fabian Möller
42cca0d8ea mariadb-connector-c: add mysqlclient.pc pkgconfig symlink
(cherry picked from commit 349a991bfb)
2020-02-25 20:18:42 +01:00
Maximilian Bosch
08b1316313 nixos/networkd: disable vrf sub-test which tests the behavior of tcp-packets
The subtest was mainly written to demonstrate the VRF-issues with a
5.x-kernel. However this breaks the entire test now as we have 5.4 as
default kernel. Disabling the test for now, I still need to find some
time to investigate.

ZHF: #80379
(cherry picked from commit 58c7a952a1)
2020-02-25 20:00:19 +01:00
Daniel Wheeler
f6fa019c4d pythonPackages.sfepy: 2019.2 -> 2019.4
- Bump the version number to fix incompatibility with Numpy 1.18.1
 - Remove broken test to fix incompatibility with Numpy 1.18.1
2020-02-25 13:39:13 -05:00
Daniel Wheeler
25a78baa88 pythonPackages.fipy: 3.3 -> 3.4.1 2020-02-25 13:23:04 -05:00
Gabriel Ebner
d0a51428a6 blender: enable alembic
(cherry picked from commit 128c99978d)

cc #80155
2020-02-25 11:44:59 -05:00
Dmitry Kalinkin
ae9aa3c0a6 blender: fix build on darwin
We don't compile blender with alembic. The linux build is able to detect
that, but this is not done for darwin. This explicitly disables alembic
to fix blender build on darwin.

(cherry picked from commit ac560382c5)

cc #80155
2020-02-25 11:44:56 -05:00
R. RyanTM
879ce0f912 blender: 2.81a -> 2.82
(cherry picked from commit 8a2c2e48b4)

cc #80155
2020-02-25 11:44:35 -05:00
Andrew Childs
69b2c24e90 liblinear: use absolute install name on Darwin (#81015)
nixpkgs prefers absolute install names. Replace the manually specified
relative install name with the standard hook.

(cherry picked from commit 1a73b69e20)

cc #81015
2020-02-25 10:32:54 -05:00
Michele Guerini Rocco
d68b004227 Merge pull request #81020 from vanschelven/backport-80699
python.pkgs.httpretty: disable flaky test
2020-02-25 15:58:04 +01:00
Klaas van Schelven
78d92b5e8c python.pkgs.httpretty: disable flaky test
As noted upstream: https://github.com/gabrielfalcao/HTTPretty/issues/376

(cherry picked from commit c597007cce)
2020-02-25 14:32:33 +01:00
Vladimír Čunát
9fbbbf7ccc Merge branch 'staging-20.03' into release-20.03 2020-02-25 14:09:16 +01:00
rnhmjoj
88c1b21c59 python2Packages.jinja2: disable tests on 32bit systems
(cherry picked from commit 655b9c3400)
2020-02-25 01:33:20 +01:00
Shea Levy
62d454c104 nix-plugins: Build against default nix.
(cherry picked from commit 403280a516)
2020-02-24 19:06:49 -05:00
worldofpeace
6c14cc10fa Merge pull request #80993 from andir/20.03/opensmtpd
[20.03] opensmtpd: bump to 6.6.4p1
2020-02-24 18:58:47 -05:00
worldofpeace
19e927a110 perl-packages: don't use openssl_1_0_2
(cherry picked from commit 1b00f471dd)
2020-02-24 18:54:17 -05:00
Andreas Rammhold
c87bd29299 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-02-24 23:58:39 +01:00
R. RyanTM
79104fc7f7 opensmtpd: 6.6.2p1 -> 6.6.3p1
(cherry picked from commit 77da4954da)
2020-02-24 23:58:26 +01:00
worldofpeace
69a8b0af72 Merge pull request #80935 from maxxk/whitebox-tools_1.2.0-stable
[20.03] whitebox-tools: 0.16.0 -> 1.2.0
2020-02-24 17:56:26 -05:00
Graham Christensen
bf4a8583ec Merge pull request #80988 from grahamc/expect-backports
Backport  `expect` stty fix
2020-02-24 17:45:49 -05:00
Jonathan Ringer
dd327fc0c2 expect: use postPatch for stty patch
(cherry picked from commit 46a93a7fdb)
2020-02-24 17:27:01 -05:00
Bas van Dijk
f02510278c expect: patch configure after the autoreconf phase, not before it
Fixes: #79863
(cherry picked from commit b30dc0ff89)
2020-02-24 17:26:56 -05:00
worldofpeace
39f8258199 Merge pull request #80938 from maxxk/pyfribidi-fix-stable
[20.03] pythonPackages.pyfribidi: fix build
2020-02-24 17:24:19 -05:00
Michael Weiss
e464f78330 ettercap: Switch to OpenSSL 1.1.1
I noticed that Ettercap was listed in #80746.

(cherry picked from commit ee8935d635)
2020-02-24 16:34:17 -05:00
Fabian Möller
eb33682edb seasocks: remove unneeded patch
(cherry picked from commit 2bd5d8c04a)
2020-02-24 16:31:43 -05:00
Maciej Krüger
834841cd1e ettercap: fix pango not finding hb.h from harfbuzz (#75789)
(cherry picked from commit b9f7819bd3)
2020-02-24 15:50:21 -05:00
Michael Weiss
b14e4e9f26 Merge pull request #80974 from B4dM4n/backport-mysql-connector-fix-build
[20.03] pythonPackages.mysql-connector: fix build for python != python3
2020-02-24 21:13:40 +01:00
R. RyanTM
a03a590ef6 python27Packages.mockito: 1.2.0 -> 1.2.1
(cherry picked from commit 745750d685)
Signed-off-by: Lancelot SIX <lsix@lancelotsix.com>
2020-02-24 20:34:54 +01:00
Fabian Möller
9d346c45c3 pythonPackages.mysql-connector: fix build for python != python3
(cherry picked from commit 09796a644c)
2020-02-24 19:18:11 +01:00
Michael Lingelbach
2eee73e4bb python.pkgs.pybullet: 2.6.1 -> 2.6.6
Update static-libs.patch

Add numpy to pybullet propagatedBuildInputs

Added numpy to build inputs

(cherry picked from commit c296c06223)
2020-02-24 07:50:00 -08:00
R. RyanTM
a1b08eda7e 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 16:00:33 +01:00
Tim Steinbach
5f71796a07 linux: 5.5.5 -> 5.5.6 2020-02-24 08:21:16 -05:00
Tim Steinbach
805c05d326 linux: 5.4.21 -> 5.4.22 2020-02-24 08:21:16 -05:00
Tim Steinbach
4b7c05ece9 linux: 4.19.105 -> 4.19.106 2020-02-24 08:21:16 -05:00
rnhmjoj
b4db2d9239 pythonPackages.pysaml2: fix tests on 32bit systems
(cherry picked from commit 60575b2fb7)
2020-02-24 12:41:04 +01:00
Eelco Dolstra
9dc6361b4d nixFlakes: 2.4pre20200207_d2032ed -> 2.4pre20200220_4a4521f
(cherry picked from commit 39892985b0)
2020-02-24 11:01:10 +01:00
Maxim Krivchikov
382f6539f5 Add patch for python2 build with clang
(cherry picked from commit a517238f9f)
2020-02-24 08:08:52 +00:00
Maxim Krivchikov
ca8053c482 pythonPackages.pyfribidi: fix build
(cherry picked from commit 4644a4c482)
2020-02-24 08:08:42 +00:00
Maxim Krivchikov
9fd35b564c whitebox-tools: 0.16.0 -> 1.2.0
(cherry picked from commit bba9b7fe6e)
Build for v0.16.0 fails in newer Rust compilers.
2020-02-24 07:38:14 +00:00
worldofpeace
68df00b0ba Merge pull request #80835 from worldofpeace/keymap-20.03
[20.03] release-combined: readd keymap tests (again)
2020-02-23 19:11:40 -05:00
worldofpeace
83d73a107d Merge pull request #80898 from xfix/kodi-fix-build-20.03
[20.03] kodi: fix build
2020-02-23 17:59:33 -05:00
Maximilian Bosch
73d246fd80 nixos/nixos-container: use custom path if specified by --nixos-path
(cherry picked from commit 31bbcc21d3)
2020-02-23 22:22:17 +01:00
Maximilian Bosch
3d9983b700 nixos/nixos-container: ensure that the state-dir is cleaned up if a build fails
(cherry picked from commit 93943acbc5)
2020-02-23 22:22:17 +01:00
Samuel Dionne-Riel
b60560ee5c 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:10:58 -05:00
Maxim Krivchikov
25d1554fd8 pythonPackages.ldaptor: fix build
(cherry picked from commit 50f3704c2f)
2020-02-23 12:25:22 -08:00
Maxim Krivchikov
8a8a45f5db python27Packages.seaborn: remove FRidh from maintainers
(cherry picked from commit d6115b9235)
2020-02-23 12:25:08 -08:00
Maxim Krivchikov
250a45e6dd pythonPackages.seaborn: use v0.9.1 for python 2
required for poretools

(cherry picked from commit 7045c74cb2)
2020-02-23 12:25:08 -08:00
Konrad Borowski
aba83042f3 kodi: fix build
(cherry picked from commit 69668e93d8)
2020-02-23 17:13:39 +01:00
worldofpeace
04aca9ac24 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:00 -05:00
worldofpeace
ddbb15cc38 Merge pull request #80891 from andir/20.03/firefox
[20.03] firefox cleanup
2020-02-23 07:56:58 -05:00
tobim
7a15ea936d nixos/gdm: Fix pulseaudio tmpfiles structure (#80274)
* nixos/gdm: Fix pulseaudio tmpfiles structure

Fix the following startup failure of the sound service in the gdm
session that was introduced by #75893:
```
Feb 16 11:44:15 qp pulseaudio[1432]: W: [pulseaudio] core-util.c: Failed to open configuration file '/run/gdm/.config/pulse//daemon.conf': Not a directory
Feb 16 11:44:15 qp pulseaudio[1432]: W: [pulseaudio] daemon-conf.c: Failed to open configuration file: Not a directory
Feb 16 11:44:15 qp systemd[1380]: pulseaudio.service: Main process exited, code=exited, status=1/FAILURE
Feb 16 11:44:15 qp systemd[1380]: pulseaudio.service: Failed with result 'exit-code'.
Feb 16 11:44:15 qp systemd[1380]: Failed to start Sound Service.
```

Co-authored-by: worldofpeace <worldofpeace@protonmail.ch>
(cherry picked from commit 44a4a3839c)
2020-02-23 07:51:41 -05:00
Andreas Rammhold
8924bb957f firefox: remove unused function arguments
(cherry picked from commit 9fd425e56f)
2020-02-23 13:14:50 +01:00
Andreas Rammhold
63b384c177 firefox: remove unused patches
(cherry picked from commit a5ae1b2ffd)
2020-02-23 13:14:38 +01:00
R. RyanTM
bcdcf1402b ideogram: 1.3.0 -> 1.3.2
(cherry picked from commit 6986f40254)
2020-02-23 06:44:03 -05:00
Cassidy Dingenskirchen
81e45e839e poetry: 0.12.17 -> 1.0.3
(cherry picked from commit 011e2d3a2d)
2020-02-23 08:59:44 +01:00
worldofpeace
164e588cd1 Merge pull request #80589 from worldofpeace/20.03-gnome-3.34.4
[20.03] GNOME 3.34.4 (minor rebuild)
2020-02-22 23:51:19 -05:00
Emily
f5749a733f nixos/acme: move the crt to fullchain.pem
lego already bundles the chain with the certificate,[1] so the current
code, designed for simp_le, was resulting in duplicate certificate
chains, manifesting as "Chain issues: Incorrect order, Extra certs" on
the Qualys SSL Server Test.

cert.pem stays around as a symlink for backwards compatibility.

[1] 5cdc0002e9/acme/api/certificate.go (L40-L44)

(cherry picked from commit 8ecbd97f82)
2020-02-23 04:17:47 +00:00
worldofpeace
4aaee9cc33 Merge pull request #80841 from worldofpeace/nm-1.22.8-20.03
[20.03] networkmanager: 1.22.6 -> 1.22.8
2020-02-22 20:58:00 -05:00
R. RyanTM
aa14f1bb30 networkmanager: 1.22.6 -> 1.22.8
(cherry picked from commit d7ceb1738e)
2020-02-22 18:21:20 -05:00
worldofpeace
10a25647c8 Merge branch 'release-20.03' into staging-20.03 2020-02-22 18:20:13 -05:00
Izorkin
153baa2674 mariadb: 10.3.20 -> 10.3.22
(cherry picked from commit e4f17a2b17)
2020-02-22 22:19:28 +00:00
worldofpeace
59db815c55 release-combined: readd keymap tests (again)
(cherry picked from commit a539bbf1ee)
2020-02-22 17:11:37 -05:00
Jonathan Ringer
64829beee1 azure-cli: 2.0.81 -> 2.1.0
(cherry picked from commit 4dd173560d)
2020-02-22 10:23:55 -08:00
Vladimír Čunát
2a810eb282 Merge #80802: netpbm: fix typo on substituteInPlace parameters
(cherry picked from commit d7266d00b2)
2020-02-22 17:55:01 +01:00
Graham Christensen
d31e383c44 Correct revcount diff (again) using the rev-list - method hydra uses. 75f604eb2c 2020-02-22 09:30:07 -05:00
Michael Weiss
56d398840f chromium: 80.0.3987.106 -> 80.0.3987.116
(cherry picked from commit 3e9d2f80a4)
Backport of #80615.
2020-02-22 11:51:19 +01:00
rnhmjoj
142dd6cb5d pythonPackages.pytest-timeout: disable flaky test
This should fix failing NixOS tests on i686-linux.
(cherry picked from commit c4865b8933)
2020-02-22 10:21:38 +01:00
Vladimír Čunát
4655c9d915 Merge #80766: brave: 1.1.23 -> 1.3.118 (in release-20.03) 2020-02-22 08:53:48 +01:00
Jeff Labonte
90451860b9 brave: 1.1.23 -> 1.3.118
(cherry picked from commit fa560fb30c)
(cherry picked from commit 9018faac96)
2020-02-21 23:37:58 -05:00
Jeff Labonte
27ac376b6f brave: add jefflabonte to maintainer list
(cherry picked from commit 9a4a2eb1d2)
2020-02-21 23:37:58 -05:00
Jeff Labonte
c42cf79a1e maintainers: add jefflabonte
(cherry picked from commit 2f0614bdcb)
2020-02-21 23:37:58 -05:00
Dmitry Kalinkin
67c24f6f8a lhapdf.pdf_sets: fix download url
(cherry picked from commit b83257ca5f)
2020-02-21 19:37:54 -05:00
Konrad Borowski
ebbc5462f1 cmake_2_8: fix build
(cherry picked from commit 4bad7d67cd)
2020-02-21 19:39:57 +01:00
Silvan Mosberger
87d6296fdb Merge pull request #80661 from xfix/kdepim-runtime-cherrypick
[r20.03] kdepim-runtime: Remove obsolete patch to fix compilation
2020-02-21 19:37:26 +01:00
Silvan Mosberger
93626f5cd0 turses: Fix build
(cherry picked from commit cf4130c9ec)
2020-02-21 19:08:15 +01:00
Sergey Lukjanov
74c61cd83c grafana: 6.6.1 -> 6.6.2
(cherry picked from commit 5b80220d53)
2020-02-21 18:37:17 +01:00
Aaron Olson
d10a0143d0 google-cloud-sdk: fix Darwin build by only stripping local symbols (#80554)
Darwin won't strip relocatable symbols, so strip only local symbols
from cygrpc.so

See also 6ceebc441c (commitcomment-37355193)

(cherry picked from commit 9b8a14bb7e)
2020-02-21 18:29:20 +01:00
Renato Alves
07f20d0624 pysam: 0.15.3 -> 0.15.4
Also disable tests until upstream test data issues are resolved.
See link in comment in code for more information.

(cherry picked from commit bf88bf47d1)
2020-02-21 18:18:53 +01:00
Silvan Mosberger
9c7b4a0134 swift: Fix build for glibc 2.30
(cherry picked from commit 7d8a33125f)
2020-02-21 17:23:15 +01:00
Timo Kaufmann
b56f8c33ad maven: make jdk overridable
This makes it possible to use maven with different (newer) jdks.

Fixes #75630

(cherry picked from commit 0141cfefbc)
2020-02-21 15:50:59 +01:00
Gabriel Ebner
3b6ca19e20 Merge pull request #80652 from vbgl/backport-80167
[20.03] lean: 3.4.2 -> 3.5.1
2020-02-21 12:32:29 +01:00
Yorick van Pelt
37e1d40d04 nixos/buildkite-agents: fix hooksDir assertion
(cherry picked from commit 1b351f81f4)
2020-02-21 12:00:57 +01:00
Silvan Mosberger
3b9b66d265 haskellPackages.streamly-bytestring: Fix build
(cherry picked from commit cf69e612ba5e1e7b6f9987af945fcba6097d80cb)
2020-02-21 05:14:18 +01:00
Silvan Mosberger
d9decdef19 haskellPackages.store: 0.7.1 -> 0.7.2 to fix build
See https://hackage.haskell.org/package/store-0.7.2/changelog, 0.7.2 is just an
update to fix compilation with vector >= 0.12.1.1

As such this also isn't needed on master, as the new version gets there
automatically through hackage updates
2020-02-21 05:08:42 +01:00
Silvan Mosberger
b0d23cc817 haskellPackages.construct: Fix build
(cherry picked from commit 0374261b51b20361756b9340ed3b8ef693f4f359)
2020-02-21 04:54:16 +01:00
Silvan Mosberger
5d7f5250cb haskellPackages.bitwise-enum: Fix build
(cherry picked from commit 206680aa1f30817e1c49446bc1ee09b1391538f8)
2020-02-21 04:42:49 +01:00
Silvan Mosberger
e2787d7c3d haskellPackages.Chart-tests: Fix build
(cherry picked from commit 27925aae389c44bd943a19294be8b5198b793265)
2020-02-21 04:37:11 +01:00
Andreas Rammhold
b01e41ccdf Merge pull request #80673 from mweinelt/pr/20.03/weechat/2.7.1
[20.03] weechat: 2.7 -> 2.7.1
2020-02-21 00:34:16 +01:00
Martin Weinelt
9571b07ed3 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:17:05 +01:00
R. RyanTM
2ae55e765b ephemeral: 6.2.0 -> 6.2.1
(cherry picked from commit a2a6522287)
2020-02-20 16:50:02 -05:00
worldofpeace
d4c761329a gnome3.gnome-desktop: 3.34.2 -> 3.34.4
(cherry picked from commit b9180e255fbc8c9c510a7b7dd357474877e7c58c)
2020-02-20 16:41:34 -05:00
Bastian Köcher
205ab7e22a kdepim-runtime: Remove obsolete patch to fix compilation
The facebook plugin is currently disabled by upstream.

(cherry picked from commit f2c564b124)
2020-02-20 20:10:59 +01:00
Jörg Thalheim
3303392c08 Merge pull request #80551 from Frostman/20.03-tigervnc-fix
[20.03] tigervnc: fix compatibility with xorgserver 1.20.7 (backport)
2020-02-20 18:01:11 +00:00
Junyoung Clare Jang
5f7e3870e5 lean: 3.4.2 -> 3.5.1
3.4.2 is not compilable with GCC >= 9.1

(cherry picked from commit b71c03e483)
2020-02-20 18:27:28 +01:00
Cole Helbling
970694c2a7 rls: add llvm to buildInputs
The Hydra build [1] was failing because it was unable to link `LLVM-9`.
Additionally, quote the homepage URL for compliance with RFC 45.

[1] https://hydra.nixos.org/build/112823631/nixlog/2

(cherry picked from commit 2edec098de)
2020-02-20 09:07:39 -08:00
Oleksii Filonenko
645faf2851 cargo-update: 1.5.2 -> 2.5.0
(cherry picked from commit 204b722bed)
2020-02-20 08:56:50 -08:00
Silvan Mosberger
c960e800b9 Merge pull request #80620 from xfix/decorator-20.03
[r20.03] pythonPackages.decorator: fix Python 2 build
2020-02-20 17:07:55 +01:00
Graham Christensen
43ab8e86ca Merge pull request #80630 from grahamc/alacritty-xdg-open-again-19.09
alacritty: Correct xdg-open behavior
2020-02-20 08:54:33 -05:00
Tim Steinbach
f81b7f4934 linux: 5.5.4 -> 5.5.5
(cherry picked from commit 86bdbe2c9b)
2020-02-20 08:28:09 -05:00
Tim Steinbach
83ce2c331f linux: 5.4.20 -> 5.4.21
(cherry picked from commit 887d2886e3)
2020-02-20 08:28:09 -05:00
Tim Steinbach
38a5abcb9e linux: 4.19.104 -> 4.19.105
(cherry picked from commit 49b4266ad2)
2020-02-20 08:28:09 -05:00
Tim Steinbach
fadf17eec0 linux: 5.5.3 -> 5.5.4
(cherry picked from commit fe61323050)
2020-02-20 08:28:09 -05:00
Tim Steinbach
abc6edfca9 linux: 5.4.19 -> 5.4.20
(cherry picked from commit f5357bbe1f)
2020-02-20 08:28:09 -05:00
Tim Steinbach
1dbfae3343 linux: 4.9.213 -> 4.9.214
(cherry picked from commit 4c407a299f)
2020-02-20 08:28:09 -05:00
Tim Steinbach
70f097196e linux: 4.4.213 -> 4.4.214
(cherry picked from commit e2315d6a7e)
2020-02-20 08:28:09 -05:00
Tim Steinbach
fc760fa17a linux: 4.19.103 -> 4.19.104
(cherry picked from commit f350e37773)
2020-02-20 08:28:09 -05:00
Tim Steinbach
120be343e4 linux: 4.14.170 -> 4.14.171
(cherry picked from commit daee1daf5d)
2020-02-20 08:28:09 -05:00
Tim Steinbach
697da34663 linux_latest-libre: 17318 -> 17322
(cherry picked from commit 0b3dd6026e)
2020-02-20 08:28:09 -05:00
Tim Steinbach
34e78cf421 linux: 5.5.2 -> 5.5.3
(cherry picked from commit da8c2896e8)
2020-02-20 08:28:09 -05:00
Tim Steinbach
814b7d1e9f linux: 5.4.18 -> 5.4.19
(cherry picked from commit 05b407ac81)
2020-02-20 08:28:09 -05:00
Tim Steinbach
9abacf70b4 linux: 4.19.102 -> 4.19.103
(cherry picked from commit ae4b390551)
2020-02-20 08:28:09 -05:00
Graham Christensen
236a83ad1d alacritty: Correct xdg-open behavior
(cherry picked from commit a905deb826)
2020-02-20 08:13:39 -05:00
Aaron Andersen
8d8dd897a4 Merge pull request #80568 from aanderse/phpPackages.pdo_oci
phpPackages.pdo_oci: init
2020-02-20 07:22:11 -05:00
Konrad Borowski
11b63d5346 pythonPackages.decorator: fix Python 2 build
(cherry picked from commit 686274ea62)
2020-02-20 11:14:27 +01:00
worldofpeace
1d39425b13 gnome3.gnome-boxes: 3.34.3 -> 3.34.4
(cherry picked from commit f3fddcb9cc)
2020-02-19 21:01:12 -05:00
worldofpeace
06d8f5d000 gnome3.gnome-control-center: 3.34.2 -> 3.34.4
* hardcode usermod which was added absolute this release

(cherry picked from commit 1de94d59af)
2020-02-19 20:58:58 -05:00
worldofpeace
3bd65c18fb gnome3.evolution-data-server: 3.34.3 -> 3.34.4
(cherry picked from commit a5000f07a6)
2020-02-19 20:58:58 -05:00
worldofpeace
eb576d191b gnome3.iagno: 3.34.4 -> 3.34.5
(cherry picked from commit 769786b4a6)
2020-02-19 20:58:58 -05:00
worldofpeace
9d555d7d1f gnome3.gnome-tetravex: 3.34.1 -> 3.34.4
(cherry picked from commit d02a96dd6c)
2020-02-19 20:58:57 -05:00
worldofpeace
b3b38b76a9 gnome3.gnome-taquin: 3.34.3 -> 3.34.4
(cherry picked from commit 0bd27fd551)
2020-02-19 20:58:57 -05:00
worldofpeace
361b3109fe gnome3.gnome-klotski: 3.34.3 -> 3.34.4
(cherry picked from commit 34aba8056f)
2020-02-19 20:58:57 -05:00
worldofpeace
a93ca78066 gnome3.four-in-a-row: 3.34.3 -> 3.34.4
(cherry picked from commit 66472c3c24)
2020-02-19 20:58:57 -05:00
worldofpeace
59d1ee24fd gnome3.file-roller: 3.32.3 -> 3.32.4
(cherry picked from commit dfdfa745c5)
2020-02-19 20:58:57 -05:00
worldofpeace
61ab527d08 gnome3.geary: 3.34.1 -> 3.34.2
(cherry picked from commit f330f46c15)
2020-02-19 20:58:57 -05:00
worldofpeace
d242c7f387 gnome3.simple-scan: 3.34.2 -> 3.34.4
(cherry picked from commit 509e1b4763)
2020-02-19 20:58:57 -05:00
worldofpeace
2ec07a1979 gnome3.gnome-disk-utility: 3.34.0 -> 3.34.4
(cherry picked from commit 391ab233f9)
2020-02-19 20:58:56 -05:00
worldofpeace
8ceac65198 gnome3.dconf-editor: 3.34.3 -> 3.34.4
(cherry picked from commit c5590c6efa)
2020-02-19 20:58:56 -05:00
worldofpeace
f1dffeebd6 gnome3.gnome-music: 3.34.3 -> 3.34.4
(cherry picked from commit 539493f2cd)
2020-02-19 20:58:56 -05:00
worldofpeace
886758a9a2 gnome3.evolution: 3.34.3 -> 3.34.4
(cherry picked from commit 2fd97821a6)
2020-02-19 20:58:56 -05:00
worldofpeace
9e4516e7f2 meld: 3.20.1 -> 3.20.2
(cherry picked from commit 9f00427bdd)
2020-02-19 20:58:56 -05:00
worldofpeace
1bac08e698 gnome3.gnome-photos: 3.34.0 -> 3.34.1
(cherry picked from commit 7f5a2ba1ae)
2020-02-19 20:58:56 -05:00
Tor Hedin Brønner
51419ea159 epiphany: 3.34.3.1 -> 3.34.4
(cherry picked from commit 86cd4d110f)
2020-02-19 20:58:55 -05:00
Tor Hedin Brønner
dbe2a7825c gnome3.mutter: 3.34.3 -> 3.34.4
(cherry picked from commit 25f5825b0a)
2020-02-19 20:58:55 -05:00
Tor Hedin Brønner
68e82f97b7 gnome3.gnome-shell: 3.34.3 -> 3.34.4
(cherry picked from commit 7d717675bf)
2020-02-19 20:58:55 -05:00
Maximilian Bosch
af8fe52461 riot-web: 1.5.9 -> 1.5.10
https://github.com/vector-im/riot-web/releases/tag/v1.5.10
(cherry picked from commit da45483b35)
2020-02-20 02:38:34 +01:00
Franz Pletz
2b58a9f87c Merge pull request #80394 from worldofpeace/backport-riot-updates
[20.03] Backport riot updates
2020-02-20 01:26:26 +00:00
Maximilian Bosch
2fadc21e70 date: init at 2020-01-24
Needed for waybar-0.9.1.
Closes #78458

Co-authored-by: Cole Mickens <cole.mickens@gmail.com>
(cherry picked from commit 9704297c5d)
2020-02-20 01:55:03 +01:00
Maximilian Bosch
590c89b9fd waybar: 0.9.0 -> 0.9.1, fix build
ZHF: #80379
https://hydra.nixos.org/build/113067187
(cherry picked from commit 89e2a43300)
2020-02-20 01:55:03 +01:00
Michele Guerini Rocco
d9261c5352 Merge pull request #80567 from Frostman/20.03-tinydns-fix-test
[20.03] nixos/tinydns: use local dns server to fix test (backport)
2020-02-20 01:10:09 +01:00
Maximilian Bosch
30da1f8e2d roundcube: 1.4.2 -> 1.4.3
https://github.com/roundcube/roundcubemail/releases/tag/1.4.3
(cherry picked from commit 6c6d7cb2e3)
2020-02-20 00:06:13 +01:00
worldofpeace
82d2b297ae Merge pull request #80382 from hax404/20.03_tor-browser-bundle-bin
[20.03] tor-browser-bundle-bin: 9.0.4 -> 9.0.5 (backport)
2020-02-19 16:20:32 -05:00
Aaron Andersen
c8e593b800 phpPackages.pdo_oci: init
(cherry picked from commit d0e817f63f)
2020-02-19 15:43:47 -05:00
Sergey Lukjanov
6cc20cb557 nixos/tinydns: use local dns server to fix test
(cherry picked from commit c8a873560f)
2020-02-19 12:37:16 -08:00
Michele Guerini Rocco
c2bdd9e4cc Merge pull request #80418 from fgaz/zhf2003/milkytracker-backport
milkytracker: set cmake sdl variable to fix build (20.03)
2020-02-19 18:53:55 +01:00
ahiaao
c1996df90b tigervnc: fix compatibility with xorgserver 1.20.7
(cherry picked from commit f216b03d5b)
2020-02-19 09:48:14 -08:00
Daniël de Kok
bb9ffe189e python3Packages.vowpalwabbit: fix build
- Drop the Boost patch. The patch does not apply anymore and the new
  CMake infrastructure picks up boost.
- Distable setuptools reStructuredText check. This check fails, but
  is (as far as I understand) an upstream bug.
- Clean up derivation a bit.

(cherry picked from commit 0688cba0cd)
2020-02-19 12:46:30 -05:00
Evan Hanson
757c6a31c9 ugarit: fix build by using CHICKEN 4.x
Ugarit only works with CHICKEN 4, not CHICKEN 5 (which is the default
version in nixpkgs since 69ef0702), so use the compiler and egg tools
from `chickenPackages_4` for ugarit and ugarit-manifest-maker.

(cherry picked from commit a6d39ee9db)
2020-02-19 12:39:19 -05:00
Michael Fellinger
c39669bbb1 rubyWithPackages.libv8: fix compilation
(cherry picked from commit 84fa1d2fb3)
2020-02-19 12:26:59 -05:00
Konrad Borowski
c0618578bd nixos/acme: Fix a.example.com test
(cherry picked from commit a803234213)
2020-02-19 12:24:07 -05:00
Michael Fellinger
698b6a87eb crystal: remove 0.25 and 0.26
(cherry picked from commit 765f72d037)
2020-02-19 12:21:23 -05:00
Franz Pletz
5d058471a9 php74: 7.4.1 -> 7.4.2
https://www.php.net/ChangeLog-7.php#7.4.2
(cherry picked from commit ade3e99a1d)
2020-02-19 17:00:11 +01:00
Franz Pletz
f71af5c6f7 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:11 +01:00
Franz Pletz
16ed6f3119 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:11 +01:00
Sergey Lukjanov
71be729a58 go_1_13: 1.13.7 -> 1.13.8
(cherry picked from commit f703142a73)
2020-02-19 15:24:37 +01:00
Sergey Lukjanov
0911677beb go_1_12: 1.12.16 -> 1.12.17
(cherry picked from commit bca1fa2bf2)
2020-02-19 15:24:37 +01:00
R. RyanTM
edc746205c nixpkgs-review: 2.1.1 -> 2.2.0
(cherry picked from commit 301c706f77)
2020-02-19 14:19:05 +00:00
Maximilian Bosch
478c489418 clipman: 1.2.0 -> 1.3.0
https://github.com/yory8/clipman/releases/tag/v1.3.0
(cherry picked from commit 563baa1ea9)
2020-02-19 14:42:32 +01:00
Konrad Borowski
6121d36f47 tor: fix build
Monotonic timer test expects sleep(200ms) to take at most 1s. On
loaded systems like hydra, it's possible for such a test to take
longer than 1 second.

Tests expecting sleep(200ms) to take at least 175ms weren't removed,
because load shouldn't cause sleep to be shorter.

(cherry picked from commit 58af3177c0)
2020-02-19 13:49:48 +01:00
Jörg Thalheim
57aa6d443c Merge pull request #80477 from cole-h/clippy-backport
[20.03] Backport `clippy: add rustc.llvm to buildInputs`
2020-02-19 10:46:58 +00:00
Jörg Thalheim
676101456e Revert "zsh: don't clobber the environment of non-login shells"
This reverts commit 6a756af3e7.

Currently zshenv by default only set fpath and HELPDIR without exporting them.
A parent shell would also not set those variables usually as they are shell local.

It also sources a file called set-environment but this is protected by an
environment variable called __NIXOS_SET_ENVIRONMENT_DONE. Hence any modification
done by the parent shell should persist as long as __NIXOS_SET_ENVIRONMENT_DONE
is not unset.

This behavior deviates from what we do in bashrc and breaks common setups such
as tmux/mosh or screen.

Fixes #80437

(cherry picked from commit 55819e6c86)
2020-02-19 09:00:50 +00:00
Orivej Desh
c2846eeac5 aseprite-unfree: 1.2.11 -> 1.2.16.3
Restore the comment explaining the split between free and unfree versions
deleted in caa4e6dcb2.

(cherry picked from commit 43ee8097d9)
2020-02-19 06:21:00 +00:00
Orivej Desh
dccfb8c988 aseprite-unfree: fix build
It fails with:

src/gpu/gl/glx/GrGLMakeNativeInterface_glx.cpp:15:10: fatal error: GL/glx.h: No such file or directory
   15 | #include <GL/glx.h>

(cherry picked from commit 3ad2c20fe6)
2020-02-19 06:21:00 +00:00
Orivej Desh
929e0f0c14 aseprite: fix build with glibc 2.30
Otherwise it fails with:

In file included from /build/source/src/allegro/include/allegro/base.h:41,
                 from /build/source/src/allegro/include/allegro.h:25,
                 from /build/source/src/./she/alleg4/alleg_surface.h:11,
                 from /build/source/src/she/alleg4/alleg_surface.cpp:11:
/build/source/src/allegro/include/allegro/alcompat.h:44:22: error: conflicting declaration of C function 'fixed fadd(fixed, fixed)'
   44 |       AL_ALIAS(fixed fadd(fixed x, fixed y), fixadd(x, y))
      |                      ^~~~
/build/source/src/allegro/include/allegro/internal/alconfig.h:164:49: note: in definition of macro 'AL_ALIAS'
  164 |       static __attribute__((unused)) __inline__ DECL    \
      |                                                 ^~~~
In file included from /nix/store/y57skwl8a5vbkrjrc30ygdw9vr1p6n19-gcc-9.2.0/include/c++/9.2.0/cmath:45,
                 from /nix/store/y57skwl8a5vbkrjrc30ygdw9vr1p6n19-gcc-9.2.0/include/c++/9.2.0/math.h:36,
                 from /build/source/src/./base/base.h:13,
                 from /build/source/src/./config.h:40,
                 from /build/source/src/she/alleg4/alleg_surface.cpp:8:
/nix/store/2v6pi2wj3lcsc3j48n7flx9mgqyii1lv-glibc-2.30-dev/include/bits/mathcalls-narrow.h:24:20: note: previous declaration 'float fadd(double, double)'
   24 | __MATHCALL_NARROW (__MATHCALL_NAME (add), __MATHCALL_REDIR_NAME (add), 2);
      |                    ^~~~~~~~~~~~~~~

(cherry picked from commit 0ded378b10)
2020-02-19 06:19:43 +00:00
Stig Palmquist
4df09b00cd perlPackages.{CryptCurve25519,MathGMP}: fixed build failures
ZHF: #80379
https://hydra.nixos.org/build/112817446
https://hydra.nixos.org/build/112813918
https://hydra.nixos.org/build/112814931
https://hydra.nixos.org/build/112833536
https://hydra.nixos.org/build/112804942
https://hydra.nixos.org/build/112809869

perlPackages.CryptCurve25519: apply patch from gentoo to fix fmul conflicting
types build breakage.
https://gitweb.gentoo.org/repo/gentoo.git/commit/dev-perl/Crypt-Curve25519?id=e07299f804a8376bb5bf85d28916e0a360199f3e

perlPackages.MathGMP: 2.19 -> 2.20
Updated to latest upstream, which passes tests. This is a dependency of
perlPackages.NetSSH

(cherry picked from commit a43d20b8b4)

cc #80476
2020-02-18 22:23:56 -05:00
Stig Palmquist
8154fd4878 perlPackages.CPAN: apply patch to fix changed YAML module default
ZHF: #80379
https://hydra.nixos.org/build/112819370
https://hydra.nixos.org/build/112832567

A default has changed in YAML, breaking the latest release of CPAN. This commit
applies a A patch from the PR fixing the problem.

https://github.com/andk/cpanpm/pull/133

(cherry picked from commit 153b0db967)
cc #80471
2020-02-18 22:23:12 -05:00
worldofpeace
ebf4836e04 flatpak: use correct p11-kit output
Fixes #80452

(cherry picked from commit 02213fdff2)
2020-02-18 18:15:09 -05:00
Cole Helbling
028effdd17 clippy: add rustc.llvm to buildInputs
The Hydra build [1] failed because it was unable to link to `LLVM9`; add
`llvmShared` to `passthru` in order to stay up to date with required
LLVM versions. Also quote the homepage URLs, since that's preferred.

[1] https://hydra.nixos.org/build/112989779/nixlog/1

(cherry picked from commit 502c0ee899)
2020-02-18 14:10:44 -08:00
Konrad Borowski
7dde515909 cargo-geiger: fix build with rust 1.41
(cherry picked from commit 6637f1cac6)
2020-02-18 22:42:14 +01:00
Daniël de Kok
4dc0c1761c python3Packages.ftfy: 5.6 -> 5.7
Changelog:

https://github.com/LuminosoInsight/python-ftfy/blob/master/CHANGELOG.md#version-57-february-18-2020

The most important change in this version is the update of Unicode
character categories data to Unicode 12.1. This fixes the Python 3.8
build.

(cherry picked from commit 77aa1a7f5b)
2020-02-18 15:03:45 -05:00
Maximilian Bosch
fb06d445af Merge pull request #80438 from KoviRobi/zhf-20.03-fix-xonsh-tests
ZHF: #80379 xonsh: fix broken tests
2020-02-18 19:13:41 +01:00
Jonathan Ringer
f2076d2efb python3Packages.fastparquet: 0.3.2 -> 0.3.3
ZHF: #80379

(cherry picked from commit e24c04f278)
2020-02-18 09:38:34 -08:00
Frederik Rietdijk
07f97d3ed4 Merge pull request #79852 from Ralith/vulkan-1.2
vulkan: 1.1 -> 1.2 (backport to 20.03)
2020-02-18 18:25:59 +01:00
Benjamin Saunders
b85b1e23cd vulkan-tools: 1.1.114.0 -> 1.2.131.1
(cherry picked from commit ad1934b465)
2020-02-18 09:17:35 -08:00
Benjamin Saunders
990fdb4464 shaderc: 2019.0 -> 2019.1
(cherry picked from commit 3b9d71af2c)
2020-02-18 09:17:30 -08:00
Benjamin Saunders
d775ca1040 vulkan-validation-layers: 1.1.114.0 -> 1.2.131.2
(cherry picked from commit d73c83fca5)
2020-02-18 09:17:24 -08:00
Benjamin Saunders
b927b88eea glslang: 7.11.3214 -> 8.13.3559
(cherry picked from commit 533e7c2296)
2020-02-18 09:17:19 -08:00
Benjamin Saunders
3a746e2d4a vulkan-loader: 1.1.144.0 -> 1.2.131.2
(cherry picked from commit eb250b9a00)
2020-02-18 09:17:16 -08:00
Benjamin Saunders
ffa369a57d vulkan-headers: 1.1.144.0 -> 1.2.131.1
(cherry picked from commit 8985abb3c6)
2020-02-18 09:17:11 -08:00
worldofpeace
a1ab61634f Merge pull request #80135 from worldofpeace/backport-79844
[20.03] xfce.xfce4-pulseaudio-plugin: 0.4.1 -> 0.4.2, fix volume
2020-02-18 12:05:27 -05:00
Florian Klink
bd896275f1 Merge pull request #80128 from worldofpeace/backport-79659
[20.03] testing: fix runInMachineWithX/runInMachine
2020-02-18 17:59:33 +01:00
Florian Klink
8c964854b2 Merge pull request #80215 from primeos/brightnessctl-systemd-support-backport
[20.03] brightnessctl: Add systemd support (backport)
2020-02-18 17:49:23 +01:00
edef
370505a6e6 google-cloud-sdk: disable checking for gsutil updates
The update checking mechanism references the tests, and thus
dbaafbbf73 turned it into a crash at
startup.

It isn't much use in nixpkgs, so we're better off without it.

(cherry picked from commit 0c403efde9)
2020-02-18 15:43:23 +01:00
edef
45217d0bd4 google-cloud-sdk: remove gsutil test
The command module references the tests, and since all command modules
get imported at startup, dbaafbbf73
turned it into a startup crash.

Unless you're actively hacking on gsutil, this command isn't much use,
so we're better off without it.

(cherry picked from commit 5bda7e7fb2)
2020-02-18 15:43:22 +01:00
Andreas Rammhold
0399f675e5 Merge pull request #80434 from andir/20.03/firefox73.0.1
[20.03] firefox: 73.0 -> 73.0.1
2020-02-18 15:17:50 +01:00
Kovacsics Robert
bf822c4caa xonsh: Fix broken tests
Pulls in a patch committed a couple of days after the 0.9.13 release
(the one here), to fix the tests.
2020-02-18 13:26:04 +00:00
Andreas Rammhold
1f5135da0b firefox: 73.0 -> 73.0.1
(cherry picked from commit 52920a6b2c)
2020-02-18 13:28:43 +01:00
Georg Haas
302f23cb4f tor-browser-bundle-bin: 9.0.4 -> 9.0.5
(cherry picked from commit ec3daae1fc)
2020-02-18 10:57:35 +01:00
Vladimír Čunát
01d84d1ecf efibootmgr: fixup build on i686
Same as efivar; I believe it doesn't really needs LTO.  I checked:
nix build -f nixos/release-combined.nix nixos.iso_minimal.i686-linux

(cherry picked from commit f595677418)
/cc ZHF: #80379
2020-02-18 10:34:55 +01:00
Francesco Gazzetta
6656178800 milkytracker: set cmake sdl variable to fix build
ZHF: #80379
(cherry picked from commit eb2ab18614)
2020-02-18 09:50:16 +01:00
Mario Rodas
ed7f18b5d2 postgresql_9_5: 9.5.20 -> 9.5.21
Release notes: https://www.postgresql.org/docs/9.5/release-9-5-21.html
2020-02-18 09:22:48 +02:00
Mario Rodas
9e9d5d9f0d postgresql_12: 12.1 -> 12.2
Release notes: https://www.postgresql.org/docs/current/release-12-2.html
2020-02-18 09:20:05 +02:00
Mario Rodas
c60cc121c1 postgresql_11: 11.6 -> 11.7
Release notes: https://www.postgresql.org/docs/11/release-11-7.html
2020-02-18 09:20:05 +02:00
Mario Rodas
d89d10786d postgresql_10: 10.11 -> 10.12
Release notes: https://www.postgresql.org/docs/10/release-10-12.html
2020-02-18 09:20:05 +02:00
Mario Rodas
2197162526 postgresql_9_6: 9.6.16 -> 9.6.17
Release notes: https://www.postgresql.org/docs/9.6/release-9-6-17.html
2020-02-18 09:20:05 +02:00
worldofpeace
d242942b1f pantheon.elementary-files: 4.3.0 -> 4.4.0
https://github.com/elementary/files/releases/tag/4.4.0
(cherry picked from commit 59bf79ec4b)
2020-02-17 21:06:01 -05:00
Silvan Mosberger
fb131bd0c9 Merge pull request #80392 from Infinisil/fix/mint
mint: Pin to crystal 0.30 to fix build
2020-02-18 03:00:34 +01:00
pacien
97935971be 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:02:27 -05:00
pacien
72fcbcfc40 riot-desktop: 1.5.6 -> 1.5.9
(cherry picked from commit 5bd923057c)
2020-02-17 20:02:27 -05:00
pacien
70e97c8052 riot-web: 1.5.8 -> 1.5.9
(cherry picked from commit 85e09daf43)
2020-02-17 20:02:27 -05:00
rnhmjoj
5c4224e754 python/aiohttp: disable test on 32bit platforms
The test `test_cookiejar` is failing because a time_t
constant can't be represented on 32bit platforms.

(cherry picked from commit 6be8389b04)
2020-02-17 19:48:29 -05:00
zowoq
e6febf8f7e flatpak: 1.6.1 -> 1.6.2
https://github.com/flatpak/flatpak/releases/tag/1.6.2
(cherry picked from commit d744b4f928)
2020-02-17 19:42:27 -05:00
worldofpeace
33ce841a55 flatpak: add dev output
(cherry picked from commit 26f1d1e81b)
2020-02-17 19:42:27 -05:00
worldofpeace
4603e7085a flatpak: propagate glib and ostree
Pantheon's sideload broke:
```
meson.build:17:0: ERROR: Could not generate cargs for flatpak:
Package ostree-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `ostree-1.pc'
to the PKG_CONFIG_PATH environment variable
Package 'ostree-1', required by 'flatpak', not found
```

https://hydra.nixos.org/build/113077888

ZHF: #80379
(cherry picked from commit 461ea02544)
2020-02-17 19:42:27 -05:00
Silvan Mosberger
798524fba4 mint: Pin to crystal 0.30 to fix build 2020-02-18 01:41:22 +01:00
Silvan Mosberger
51991d7752 Merge pull request #80389 from Infinisil/fix/crystal
crystal_0_32: Fix hydra build on 20.03
2020-02-18 01:34:14 +01:00
Dylan Simon
81e6859218 scalapack: 2.1 -> 2.1.0
2.1 seems to have disappeared

(cherry picked from commit e25f0b3e3d)
2020-02-18 01:30:46 +01:00
Silvan Mosberger
fc1bbc0f04 crystal_0_32: Fix hydra build
It seems that there might be hydra machines that run an older version of Nix
where https://github.com/NixOS/nix/pull/2878 is not yet included
(unconfirmed)

In addition crystal 0.32.1 has a bug that only occurs when there is no
tty: https://github.com/crystal-lang/crystal/issues/8609

Combining this lead to a crystal build failing: https://hydra.nixos.org/build/113074265

This fixes that probably rather uncommon occurence by applying the
upstream fix for the bug: https://github.com/crystal-lang/crystal/issues/8609
2020-02-18 01:29:48 +01:00
R. RyanTM
6c6ac9a5c8 gnome3.accerciser: 3.34.3 -> 3.34.4
(cherry picked from commit 124ff1a3fa)
2020-02-17 18:15:04 -05:00
Robert Scott
194c1ea3de pythonPackages.pysaml2: fix tests with fixed & now-expired timestamps
these only expired (and upstream only seem to have noticed) today

ZHF: #80379
https://hydra.nixos.org/build/112818101

(cherry picked from commit f77e057cda)
2020-02-17 23:44:22 +01:00
Benjamin Slade
3ffada4169 mullvad-vpn: 2020.1 -> 2020.2
(cherry picked from commit f2e5bb967f)
2020-02-17 21:14:11 +00:00
Vladimír Čunát
1a6b6e9124 efivar: fixup build on i686
I don't think it really needs LTO.

(cherry picked from commit 9b4424cbb7)
2020-02-17 21:06:19 +01:00
Eelco Dolstra
181e0d854c nixos/release-small.nix: List constituents of the 'tested' job by name
https://github.com/NixOS/hydra/issues/715
(cherry picked from commit 895042956f)
2020-02-17 19:41:55 +01:00
Eelco Dolstra
f996744fd3 nixos/release-combined.nix: List constituents of the 'tested' job by name
https://github.com/NixOS/hydra/issues/715
(cherry picked from commit 2de3caf011)
2020-02-17 19:41:08 +01:00
Vladimír Čunát
e168b5a2e1 release-combined: readd keymap tests
This reverts commit ceb90b08ef.
2020-02-17 19:39:14 +01:00
Jörg Thalheim
47dfd37e5a Merge pull request #80172 from Mic92/knot-backport
[20.03-backport] knot: keyFiles, no dynamicUser
2020-02-17 17:23:58 +00:00
jakobrs
07244aa21b electron: correct casing of MacOS (#80362)
(cherry picked from commit 35bae4f749)
cc #80362
2020-02-17 12:03:13 -05:00
OmnipotentEntity
0b4c592114 geant4: 10.6.0 -> 10.6.1 (#80365)
(cherry picked from commit eb40131310)
cc #80365
2020-02-17 12:00:40 -05:00
Thomas Tuegel
04ffd910b2 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 09:13:03 -06:00
Franz Pletz
337d0b3509 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:27:55 +01:00
Frederik Rietdijk
5abddd16e4 Merge release-20.03 into staging-20.03 2020-02-17 15:14:17 +01:00
Benjamin Hipple
bee35e73e2 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:58:31 -05:00
Maximilian Bosch
45e870cf6c nextcloud-client: 2.6.2 -> 2.6.3
https://github.com/nextcloud/desktop/releases/tag/v2.6.3
(cherry picked from commit ed944d4cee)
2020-02-17 08:02:52 +01:00
Maximilian Bosch
47446c7140 mautrix-whatsapp: 2020-01-12 -> 2020-02-09
(cherry picked from commit 52981cedfd)
2020-02-17 08:02:51 +01:00
Dmitry Kalinkin
13b151cfe7 soundfont-fluid: fix src url
(cherry picked from commit e019371ab4)
cc #80174
2020-02-16 23:45:10 -05:00
Maximilian Bosch
a3d6e9ed9a 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:18:41 +01:00
Tor Hedin Brønner
075ce56cb3 gnomeExtensions.gsconnect: fix build
dbus is now propagated from at-spi2-core, which made gsconnect try to
install dbus service files in the wrong location.

closes https://github.com/NixOS/nixpkgs/issues/79806

(cherry picked from commit 71a54f1130)
2020-02-16 15:17:55 +01:00
Eelco Dolstra
e421d740cb 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-16 11:18:39 +01:00
taku0
08c4b48d3a flashplayer: 32.0.0.314 -> 32.0.0.330
(cherry picked from commit 87d9d9a374)
2020-02-16 09:20:41 +01:00
Frederik Rietdijk
64f497550e Merge release-20.03 into staging-20.03 2020-02-16 09:13:01 +01:00
Frederik Rietdijk
642541f5d0 Merge staging-20.03 insto release-20.03 2020-02-16 09:12:24 +01:00
Michael Weiss
e8042ed139 nixos/brightnessctl: Remove the module
Due to the support of the systemd-logind API the udev rules aren't
required anymore which renders this module useless [0].
Note: brightnessctl should now require a working D-Bus setup and a valid
local logind session for this to work.

[0]: https://github.com/NixOS/nixpkgs/pull/79663

(cherry picked from commit 5282bc9a74)
2020-02-16 00:01:37 +01:00
Michael Weiss
9229faee7d brightnessctl: Add systemd support
This makes it possible to use brightnessctl without udev rules / suid.

(cherry picked from commit cf5dd2623b)
2020-02-16 00:01:37 +01:00
worldofpeace
15992aae7b Merge #80120: webkitgtk: 2.26.3 -> 2.26.4 (security!)
(cherry picked from commit 03d5f9cf1f)
I re-checked it builds.  20.03 shouldn't have diverged much,
so I trust it will work the same.
2020-02-15 23:13:15 +01:00
Vladimír Čunát
306d76f357 openssl: revert a workaround that's no longer needed
Thanks to python3Minimal.  This reverts part of c2038483f #79738.

(cherry picked from commit 5a8000dc05)
2020-02-15 15:21:27 -05:00
Vladimír Čunát
ced2b5a7dd glibc: use python3Minimal instead of python3
This should improve the speed of bootstrapping process.
Cost of evaluation also decreases a bit,
but I don't expect that will be significant.

(cherry picked from commit f6519103bf)
2020-02-15 15:21:27 -05:00
worldofpeace
f43895474f Merge pull request #80200 from ilya-fedin/backport-fix-xdg-current-desktop
Backport DesktopNames parameter to 20.03
2020-02-15 15:17:58 -05:00
Eelco Dolstra
6948bfce69 nixos/modules/misc/version.nix: Don't parse .git
This leads to inconsistent results between local builds and
Hydra. Also Nix is not a general purpose language, we shouldn't be
parsing .git from inside Nix code.

(cherry picked from commit f0f040c3f7)
2020-02-15 15:04:40 -05:00
Eelco Dolstra
accf1c7e44 nixos/modules/installer/cd-dvd/channel.nix: Handle null config.system.nixos.revision
(cherry picked from commit a5f883e535)
2020-02-15 15:04:36 -05:00
Michael Weiss
25955ae7c1 fscrypt-experimental: 0.2.5 -> 0.2.6 (#79853)
Changelog: https://github.com/google/fscrypt/releases/tag/v0.2.6
(cherry picked from commit ac758caff1)
Reason: Since NixOS 20.03 will ship with Linux kernel 5.4 by default,
the new support for v2 kernel encryption policies is useful.
2020-02-15 20:21:52 +01:00
Michael Weiss
51e1cb0d93 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)
Backport of #80074.
2020-02-15 20:02:52 +01:00
Ilya Fedin
75f90af321 nixos/display-managers: Add DesktopNames parameter to generated desktop session files
Some display managers (e.g. SDDM) set the XDG_CURRENT_DESKTOP variable accroding to this parameter.
If this variable is not defined, there will be some problems (e.g. MATE doesn't have icons on the desktop).

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

(cherry picked from commit f7768c939a)
2020-02-15 23:02:12 +04:00
Maximilian Bosch
b6551f4ca5 nixos/nixos-build-vms: switch to python test-driver
In 0945178b3c we decided that Perl-based
VM tests should be deprecated and will be removed between 20.03 and
20.09. So let's switch `nixos-build-vms(8)` to python as well (which is
entirely interactive, so other scripts won't break).

In my experience, the test-driver isn't used most of the time, so this
patch is mainly supposed to get rid of the (probably misleading)
deprecation warning when running `nixos-build-vms`. Apart from that, the
interface for python's test-driver is way nicer.

(cherry picked from commit c391343fcd)
2020-02-15 19:37:48 +01:00
Graham Christensen
419bebfe42 nixos/release.nix: correct revCount offset
Not sure how 1350291 was reached, but it is causing evaluation errors.

Recalculating on the 20.03-beta tag gets me 212938, so updating.
2020-02-15 11:55:59 -05:00
Maximilian Bosch
1e92961486 python3Packages.mautrix: 0.4.1 -> 0.4.2
https://pypi.org/project/mautrix/0.4.2/
(cherry picked from commit ade5a50b0f)
2020-02-15 17:07:53 +01:00
David Terry
50edd0f565 linuxPackages.wireguard: 0.0.20200214 -> 0.0.20200215
(cherry picked from commit b76dab8fc8)
2020-02-15 12:49:04 +01:00
Jörg Thalheim
8325e2b36d knot: add keyFiles option
This useful to include tsig keys using nixops without adding those
world-readable to the nix store.

(cherry picked from commit e2ef8b439f)
2020-02-15 11:16:44 +00:00
Jörg Thalheim
0af3b7580a knot: drop dynamic user
This makes it hard to include secret files.
Also using tools like keymgr becomes harder.

(cherry picked from commit 88029bce39)
2020-02-15 11:16:42 +00:00
Jörg Thalheim
e989a193e6 knot: put runtime paths outside the nix store
Otherwise knot tries to write to non-writable directories.
This for example breaks dnssec signing.
While it's possible to overwrite these path in the configuration,
having a sane defaults is nicer.

(cherry picked from commit 6adc09ed30)
2020-02-15 11:16:40 +00:00
Maximilian Bosch
10c6239bf3 mono: fix build w/glibc-2.30
(cherry picked from commit c30b4a746f)
2020-02-14 14:33:24 -05:00
worldofpeace
bbf602546c xfce.xfce4-pulseaudio-plugin: 0.4.1 -> 0.4.2, fix volume
We needed to add keybinder3.

(cherry picked from commit 8e5ed7cfbb)
2020-02-14 14:23:19 -05:00
Samuel Leathers
63772f7f99 python3Packages.openapi-spec-validator: add setuptools
(cherry picked from commit a721edfabb)
2020-02-14 12:56:04 -05:00
worldofpeace
d074d34343 testing: fix runInMachineWithX
(cherry picked from commit 5507e09618)
2020-02-14 12:45:55 -05:00
worldofpeace
aea80290ef testing-python: readd auto displayManager
we import it for the runInMachineWithX

(cherry picked from commit 88f76812f2)
2020-02-14 12:45:55 -05:00
worldofpeace
fbfa6ac077 testing-python: fix runInMachine
The test script's were unported.
It's unclear whether the preBuild or
postBuild will work as expect, due to
the linting of the test scripts.

(cherry picked from commit fa9af83e96)
2020-02-14 12:45:55 -05:00
Vladimír Čunát
ad29694571 Merge #62890: libclc: 2017-11-29 -> 2019-06-09 (unbreak)
(cherry picked from commit ed77cf1c56)
2020-02-14 17:59:30 +01:00
Maximilian Bosch
2e83e4ee34 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:32:47 +01:00
Michael Weiss
7f99e2c100 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)
Backport of #80074.
2020-02-14 13:20:41 +01:00
Jyun-Yan You
e9d271f1f4 nixos/pppd: fix build error
(cherry picked from commit 0f8d1ac47d)
2020-02-14 11:03:08 +01:00
rnhmjoj
3c103bd93d nixos/unclutter: fix remaining typo
Fix an evaluation warning.

(cherry picked from commit f01bcccd25)
2020-02-14 10:40:13 +01:00
rnhmjoj
6a179f0555 nixos/alsa: replace list by attrset in environment.etc
Fix an evaluation warning.

(cherry picked from commit 2ad680ac73)
2020-02-14 10:38:18 +01:00
Mario Rodas
0b3697e700 docker-slim: move expression to outside of build-support (#80078)
(cherry picked from commit 7696369bec)
2020-02-14 09:43:00 +01:00
Michael Weiss
f9bcb42529 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-14 01:39:16 +01:00
Michael Weiss
266abf70df 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-14 01:39:08 +01:00
Georg Haas
38152c4e78 bino3d: use mkDerivation from qt
adopted solution from commit 7e0dd3833d

(cherry picked from commit c9ca90af51)
2020-02-14 00:20:08 +01:00
Ben Darwin
95bf506b90 c3d: unbreak via stdenv -> gcc8Stdenv
(cherry picked from commit 1112bcc75e)
2020-02-13 17:50:11 -05:00
Ben Darwin
dee6990b90 c3d: 2018-10-04 -> unstable-2019-10-22; mark unbroken
(cherry picked from commit c79d6d0430)
2020-02-13 17:50:11 -05:00
Florian Klink
4171378761 gitlab: 12.7.5 -> 12.7.6
(cherry picked from commit 0a87568b03)
2020-02-13 23:43:11 +01:00
Vladimír Čunát
ceb90b08ef Revert-like "Merge #79656: release-combined: readd keymap tests"
It's a temporary measure until we have better ways.  See #79907.
(Not a real revert, as the comment wouldn't make sense, etc.)
2020-02-13 19:49:32 +01:00
Marek Mahut
7e4eea6d74 Merge pull request #79903 from mmahut/trezord-backport
(20.03) trezord-go: 2.0.27 -> 2.0.28
2020-02-13 17:31:16 +01:00
taku0
0ce2f49473 thunderbird: 68.4.2 -> 68.5.0
(cherry picked from commit 64fe2b7260)
2020-02-13 14:06:23 +01:00
taku0
7e10d60c80 thunderbird-bin: 68.4.2 -> 68.5.0
(cherry picked from commit eaf12cc4d1)
2020-02-13 14:06:20 +01:00
rnhmjoj
313414d650 rxvt-unicode/vtwheel: use new package name for rxvt-unicode
(cherry picked from commit 91f81e84de)
2020-02-13 11:19:43 +01:00
rnhmjoj
2defe9ded6 nixos/sway: use new package name for rxvt-unicode
(cherry picked from commit ceb35dac58)
2020-02-13 11:19:35 +01:00
rnhmjoj
2d4842ec22 nixos/urxvtd: use new package name for rxvt-unicode
(cherry picked from commit 9290e6e7ba)
2020-02-13 11:19:21 +01:00
rnhmjoj
1da1f3fbf2 rxvt-unicode: fix typo in aliases.nix
This fixes an evaluation error when services.urxvtd is enabled.

(cherry picked from commit 72bdf27771)
2020-02-13 11:16:51 +01:00
Jonathan Ringer
66e115ea89 python3Packages.numba: disable for python < 3.6
(cherry picked from commit 984eb94496)
2020-02-13 08:21:08 +01:00
Nikolay Korotkiy
125e5baf0d opencc: enable on darwin
(cherry picked from commit 5c8356105c)
2020-02-12 18:43:39 -05:00
worldofpeace
ae62101af8 Merge pull request #79950 from puckipedia/signal-desktop-notifications-20.03
[20.03] signal-desktop: fix notifications
2020-02-12 17:45:22 -05:00
Puck Meerburg
a4cddd0ae5 signal-desktop: fix notifications
(cherry picked from commit 0b3e5db5d3)
2020-02-12 22:43:16 +00:00
R. RyanTM
f54d7568be quilter: 2.1.0 -> 2.1.1
(cherry picked from commit 3a9a0f299a)
2020-02-12 16:57:10 -05:00
Florian Klink
9fafbd1f6f nixos/filesystems: don't chown /run/keys recursively
3c74e48d9c was a bit too much, it updated
permissions of all files recursively, causing files to be readable by
the group.

This isn't a problem immediately after bootup, but on a new activation,
as tmpfiles.d get restarted then, updating the permission bits of
now-existing files.

This updates the `Z` to be a `z` (the non-recursive variant), and adds a
`d` to ensure a directory is created (which should be covered by the
initrd shell script anyway)

(cherry picked from commit 4c8bdd1c4f)
2020-02-12 17:52:53 +01:00
Andreas Rammhold
2053cb0593 Merge pull request #79914 from andir/20.03/firefox73
[20.03] firefox 73
2020-02-12 17:17:25 +01:00
Vladimír Čunát
78a273da0a Merge #79740: libssh2: patch CVE-2019-17498
(cherry picked from commit 4ff2a1641c)
2020-02-12 13:09:53 +01:00
Hlöðver Sigurðsson
2ebeaa9e43 clojure 1.10.1.492 -> 1.10.1.507 plus bugfix (#79868)
(cherry picked from commit 91801c0b45)
2020-02-12 11:51:40 +00:00
Andreas Rammhold
ae03096e50 nixos/tests/firefox: support running the test with the firefox ESR version
Also adds this to the release jobset.

(cherry picked from commit 7a625e7453)
2020-02-12 11:25:15 +01:00
Andreas Rammhold
7deaadc143 firefox-esr: 68.4.2esr -> 68.5.0esr
(cherry picked from commit f43fdd1151)
2020-02-12 11:25:15 +01:00
Andreas Rammhold
5cc5f7bf3f firefox-bin: 72.0.3 -> 73.0
(cherry picked from commit 11920736e8)
2020-02-12 11:25:15 +01:00
Andreas Rammhold
db66f71737 firefox: 72.0.2 -> 73.0
(cherry picked from commit 8019df98f8)
2020-02-12 11:25:15 +01:00
Andreas Rammhold
3187daaec0 firefox: prepare for 73.0
(cherry picked from commit 187d6912a8)
2020-02-12 11:25:15 +01:00
Andreas Rammhold
662591b085 rust-cbindgen: 0.10.0 -> 0.13.1
(cherry picked from commit 82d9ce45fe)
2020-02-12 11:25:15 +01:00
Andreas Rammhold
99c958f076 nss: 3.48 -> 3.49.2
(cherry picked from commit 48603cd9d7)
2020-02-12 11:25:15 +01:00
Marek Mahut
9690c7e2c6 trezord-go: 2.0.27 -> 2.0.28
(cherry picked from commit ab1a14d581)
2020-02-12 08:43:34 +01:00
Martin Milata
d903c899f9 gunicorn: add 19.x branch for python2.7 support
The nixos/moinmoin module uses gunicorn, however the 20.0 version
dropped python2 support which broke the module as there's no python3
port planned for moinmoin: http://moinmo.in/Python3

(cherry picked from commit d202e9eac2)
2020-02-11 22:25:21 +01:00
Izorkin
94c380cbb7 zsh: fix bracketed-paste-magic
(cherry picked from commit 8f5af404d2)
2020-02-11 18:50:38 +00:00
Samuel Dionne-Riel
b2e203bd6f Merge pull request #79826 from worldofpeace/remove-sd_image_raspberrypi4
[20.03] Remove sd image raspberrypi4
2020-02-11 13:39:01 -05:00
Milan Pässler
6e73318160 tipp10: init at 3.1.0
(cherry picked from commit 7fbc860d72)
2020-02-11 17:41:53 +00:00
Michele Guerini Rocco
d3d8d5ce6c Merge pull request #79833 from tokudan/20.03/encrypted-swap-entropy-fix
rngd: Start early during boot and encrypted swap entropy fix [20.03]
2020-02-11 16:37:37 +01:00
Maximilian Bosch
23dfaf07c6 pinentry_qt5: alias to pinentry-qt
Attribute was removed in a4916fdea5 which
will land in 20.03, but breaks evaluation for everyone using
pinentry_qt5 on NixOS 19.09 when updating.

(cherry picked from commit 3d1007716c)
2020-02-11 16:10:38 +01:00
Daniel Frank
4579f11c20 security.rngd: start rngd during early boot to reduce entropy starvation due to encrypted swap and remove PrivateTmp to avoid a circular dependency
(cherry picked from commit d14ba1e1ad)
2020-02-11 15:23:28 +01:00
Daniel Frank
93bd12da91 swap: depend on rngd if enabled and randomEncryption is configured to
avoid entropy starvation during boot

(cherry picked from commit 1ac86e14c7)
2020-02-11 15:23:28 +01:00
worldofpeace
40a420e38b release: remove sd_image_raspberrypi4 2020-02-11 08:28:35 -05:00
Justin Bedo
1781000f03 delly: 0.8.1 -> 0.8.2
Backported patch required for htslib 1.10.2

(cherry picked from commit a8fe9e7aff)
2020-02-11 03:54:51 -05:00
Dmitry Kalinkin
b0aa920b4d libtasn1: fix on darwin
Test binaries are linked to the libraries at their install path, but
those are not installed when checkPhase executes.

(cherry picked from commit 7cc5d84cd7)
2020-02-11 07:43:40 +01:00
zimbatm
f8f607b824 ruby_2_4: remove
According to https://endoflife.software/programming-languages/server-side-scripting/ruby
ruby 2.4 will go end-of-life in march, where the new release of nixpkgs
will be cut. We won't be able to support it for security updates.

Remove all references to ruby_2_4 and add ruby_2_7 instead where
missing.

Mark packages that depend on ruby 2.4 as broken:
* chefdk
* sonic-pi

(cherry picked from commit bcdc90a3a7)
2020-02-10 16:29:07 -05:00
worldofpeace
793fc88dbe 20.03 beta release 2020-02-10 15:10:02 -05:00
47291 changed files with 1112971 additions and 4290059 deletions

View File

@@ -1,5 +1,5 @@
# EditorConfig configuration for nixpkgs
# https://EditorConfig.org
# http://EditorConfig.org
# Top-most EditorConfig file
root = true
@@ -11,108 +11,18 @@ insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8
# Ignore diffs/patches
[*.{diff,patch}]
end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
# We want readFile .version to return the version without a newline.
[.version]
insert_final_newline = false
# see https://nixos.org/nixpkgs/manual/#chap-conventions
# Match json/lockfiles/markdown/nix/perl/python/ruby/shell/docbook files, set indent to spaces
[*.{json,lock,md,nix,pl,pm,py,rb,sh,xml}]
# Match nix/ruby/docbook files, set indent to spaces with width of two
[*.{nix,rb,xml}]
indent_style = space
# Match docbook files, set indent width of one
[*.xml]
indent_size = 1
# Match json/lockfiles/markdown/nix/ruby files, set indent width of two
[*.{json,lock,md,nix,rb}]
indent_size = 2
# Match perl/python/shell scripts, set indent width of four
[*.{pl,pm,py,sh}]
# Match shell/python/perl scripts, set indent to spaces with width of four
[*.{sh,py,pl}]
indent_style = space
indent_size = 4
# Match gemfiles, set indent to spaces with width of two
[Gemfile]
indent_size = 2
indent_style = space
# Disable file types or individual files
# some of these files may be auto-generated and/or require significant changes
[*.{c,h}]
insert_final_newline = unset
trim_trailing_whitespace = unset
[*.{asc,key,ovpn}]
insert_final_newline = unset
end_of_line = unset
trim_trailing_whitespace = unset
[*.lock]
indent_size = unset
# Although Markdown/CommonMark allows using two trailing spaces to denote
# a hard line break, we do not use that feature in nixpkgs since
# it forces the surrounding paragraph to become a <literallayout> which
# does not wrap reasonably.
# Instead of a hard line break, start a new paragraph by inserting a blank line.
[*.md]
trim_trailing_whitespace = true
# binaries
[*.nib]
end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
charset = unset
[eggs.nix]
trim_trailing_whitespace = unset
[nixos/modules/services/networking/ircd-hybrid/*.{conf,in}]
trim_trailing_whitespace = unset
[pkgs/build-support/dotnetenv/Wrapper/**]
end_of_line = unset
indent_style = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
[pkgs/development/compilers/elm/registry.dat]
end_of_line = unset
insert_final_newline = unset
[pkgs/development/haskell-modules/hackage-packages.nix]
indent_style = unset
trim_trailing_whitespace = unset
[pkgs/misc/documentation-highlighter/**]
insert_final_newline = unset
[pkgs/servers/dict/wordnet_structures.py]
trim_trailing_whitespace = unset
[pkgs/tools/misc/timidity/timidity.cfg]
trim_trailing_whitespace = unset
[pkgs/tools/virtualization/ovftool/*.ova]
end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
charset = unset
[lib/tests/*.plist]
indent_style = tab
insert_final_newline = unset
[pkgs/kde/generated/**]
insert_final_newline = unset
end_of_line = unset
# Match diffs, avoid to trim trailing whitespace
[*.{diff,patch}]
trim_trailing_whitespace = false

View File

@@ -1,158 +0,0 @@
# This file contains a list of commits that are not likely what you
# are looking for in a blame, such as mass reformatting or renaming.
# You can set this file as a default ignore file for blame by running
# the following command.
#
# $ git config blame.ignoreRevsFile .git-blame-ignore-revs
#
# To temporarily not use this file add
# --ignore-revs-file=""
# to your blame command.
#
# The ignoreRevsFile can't be set globally due to blame failing if the file isn't present.
# To not have to set the option in every repository it is needed in,
# save the following script in your path with the name "git-bblame"
# now you can run
# $ git bblame $FILE
# to use the .git-blame-ignore-revs file if it is present.
#
# #!/usr/bin/env bash
# repo_root=$(git rev-parse --show-toplevel)
# if [[ -e $repo_root/.git-blame-ignore-revs ]]; then
# git blame --ignore-revs-file="$repo_root/.git-blame-ignore-revs" $@
# else
# git blame $@
# fi
# nixos/modules/rename: Sort alphabetically
1f71224fe86605ef4cd23ed327b3da7882dad382
# manual: fix typos
feddd5e7f8c6f8167b48a077fa2a5394dc008999
# nixos: fix module paths in rename.nix
d08ede042b74b8199dc748323768227b88efcf7c
# fix indentation in mk-python-derivation.nix
d1c1a0c656ccd8bd3b25d3c4287f2d075faf3cf3
# fix indentation in meteor default.nix
a37a6de881ec4c6708e6b88fd16256bbc7f26bbd
# treewide: automatically md-convert option descriptions
2e751c0772b9d48ff6923569adfa661b030ab6a2
# nixos/*: automatically convert option docs
087472b1e5230ffc8ba642b1e4f9218adf4634a2
# nixos/*: automatically convert option descriptions
ef176dcf7e76c3639571d7c6051246c8fbadf12a
# nixos/*: automatically convert option docs to MD
61e93df1891972bae3e0c97a477bd44e8a477aa0
# nixos/*: convert options with admonitions to MD
722b99bc0eb57711c0498a86a3f55e6c69cdb05f
# nixos/*: automatically convert option docs
6039648c50c7c0858b5e506c6298773a98e0f066
# nixos/*: md-convert options with unordered lists
c915b915b5e466a0b0b2af2906cd4d2380b8a1de
# nixos/*: convert options with listings
f2ea09ecbe1fa1da32eaa6e036d64ac324a2986f
# nixos/*: convert straggler options to MD
1d41cff3dc4c8f37bb5841f51fcbff705e169178
# nixos/*: normalize manpage references to single-line form
423545fe4865d126e86721ba30da116e29c65004
# nixos/documentation: split options doc build
fc614c37c653637e5475a0b0a987489b4d1f351d
# nixos/*: convert options with admonitions to MD
722b99bc0eb57711c0498a86a3f55e6c69cdb05f
# nixos/*: convert internal option descriptions to MD
9547123258f69efd92b54763051d6dc7f3bfcaca
# nixos/*: replace </para><para> with double linebreaks
694d5b19d30bf66687b42fb77f43ea7cd1002a62
# treewide: add defaultText for options with simple interpolation defaults
fb0e5be84331188a69b3edd31679ca6576edb75a
# nixos/*: mark pre-existing markdown descriptions as mdDoc
7e7d68a250f75678451cd44f8c3d585bf750461e
# nixos/*: normalize link format
3aebb4a2be8821a6d8a695f0908d8567dc00de31
# nixos/*: replace <code> in option docs with <literal>
16102dce2fbad670bd47dd75c860a8daa5fe47ad
# nixos/*: add trivial defaultText for options with simple defaults
25124556397ba17bfd70297000270de1e6523b0a
# systemd: rewrite comments
92dfeb7b3dab820ae307c56c216d175c69ee93cd
# systemd: break too long lines of Nix code
67643f8ec84bef1482204709073e417c9f07eb87
# {pkgs/development/cuda-modules,pkgs/test/cuda,pkgs/top-level/cuda-packages.nix}: reformat all CUDA files with nixfmt-rfc-style 2023-03-01
802a1b4d3338f24cbc4efd704616654456d75a94
# postgresql: move packages.nix to ext/default.nix
719034f6f6749d624faa28dff259309fc0e3e730
# php ecosystem: reformat with nixfmt-rfc-style
75ae7621330ff8db944ce4dff4374e182d5d151f
c759efa5e7f825913f9a69ef20f025f50f56dc4d
# pkgs/os-specific/bsd: Reformat with nixfmt-rfc-style 2024-03-01
3fe3b055adfc020e6a923c466b6bcd978a13069a
# k3s: format with nixfmt-rfc-style
6cfcd3c75428ede517bc6b15a353d704837a2830
# python3Packages: format with nixfmt
59b1aef59071cae6e87859dc65de973d2cc595c0
# treewide description changes (#317959)
bf995e3641950f4183c1dd9010349263dfa0123b
755b915a158c9d588f08e9b08da9f7f3422070cc
f8c4a98e8e138e21353a2c33b90db3359f539b37
# vscode-extensions.*: format with nixfmt (RFC 166)
7bf9febfa6271012b1ef86647a3a06f06875fdcf
# remove uses of mdDoc (#303841)
1a24330f792c8625746d07d842290e6fd95ae6f9
acd0e3898feb321cb9a71a0fd376f1157d0f4553
1b28414d2886c57343864326dbb745a634d3e37d
6afb255d976f85f3359e4929abd6f5149c323a02
# azure-cli: move to by-name, nixfmt #325950
96cd538b68bd1d0a0a37979356d669abbba32ebc
# poptracker: format with nixfmt-rfc-style (#326697)
ff5c8f6cc3d1f2e017e86d50965c14b71f00567b
# mangal: format with nixfmt-rfc-style #328284
3bb5e993cac3a6e1c3056d2bc9bf43eb2c7a5951
# pico-sdk: switch to finalAttrs (#329438)
8946018b0391ae594d167f1e58497b18de068968
# ollama: format with nixfmt-rfc-style (#329353)
bdfde18037f8d9f9b641a4016c8ada4dc4cbf856
# nixos/ollama: format with nixfmt-rfc-style (#329561)
246d1ee533810ac1946d863bbd9de9b525818d56
# nixos/nvidia: apply nixfmt-rfc-style (#313440)
fbdcdde04a7caa007e825a8b822c75fab9adb2d6

2
.gitattributes vendored
View File

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

407
.github/CODEOWNERS vendored
View File

@@ -6,201 +6,121 @@
#
# For documentation on this file, see https://help.github.com/articles/about-codeowners/
# Mentioned users will get code review requests.
#
# IMPORTANT NOTE: in order to actually get pinged, commit access is required.
# This also holds true for GitHub teams. Since almost none of our teams have write
# permissions, you need to list all members of the team with commit access individually.
# CI
/.github/workflows @NixOS/Security @Mic92 @zowoq
/.github/workflows/check-nix-format.yml @infinisil
/ci @infinisil @NixOS/Security
# Develompent support
/.editorconfig @Mic92 @zowoq
/shell.nix @infinisil @NixOS/Security
# This file
/.github/CODEOWNERS @edolstra
# Libraries
/lib @infinisil
/lib/systems @alyssais @ericson2314
/lib/generators.nix @infinisil @Profpatsch
/lib/cli.nix @infinisil @Profpatsch
/lib/debug.nix @infinisil @Profpatsch
/lib/asserts.nix @infinisil @Profpatsch
/lib/path.* @infinisil
/lib/fileset @infinisil
## Libraries / Module system
/lib/modules.nix @infinisil @roberth
/lib/types.nix @infinisil @roberth
/lib/options.nix @infinisil @roberth
/lib/tests/modules.sh @infinisil @roberth
/lib/tests/modules @infinisil @roberth
/lib @edolstra @nbp @infinisil
/lib/systems @nbp @ericson2314 @matthewbauer
/lib/generators.nix @edolstra @nbp @Profpatsch
/lib/cli.nix @edolstra @nbp @Profpatsch
/lib/debug.nix @edolstra @nbp @Profpatsch
/lib/asserts.nix @edolstra @nbp @Profpatsch
# Nixpkgs Internals
/default.nix @Ericson2314
/pkgs/top-level/default.nix @Ericson2314
/pkgs/top-level/impure.nix @Ericson2314
/pkgs/top-level/stage.nix @Ericson2314
/pkgs/top-level/splice.nix @Ericson2314
/pkgs/top-level/release-cross.nix @Ericson2314
/pkgs/stdenv/generic @Ericson2314
/pkgs/stdenv/generic/check-meta.nix @Ericson2314
/pkgs/stdenv/cross @Ericson2314
/pkgs/build-support/cc-wrapper @Ericson2314
/pkgs/build-support/bintools-wrapper @Ericson2314
/pkgs/build-support/setup-hooks @Ericson2314
/pkgs/build-support/setup-hooks/auto-patchelf.sh @layus
/pkgs/build-support/setup-hooks/auto-patchelf.py @layus
/pkgs/pkgs-lib @infinisil
## Format generators/serializers
/pkgs/pkgs-lib/formats/libconfig @h7x4
/pkgs/pkgs-lib/formats/hocon @h7x4
# pkgs/by-name
/pkgs/test/check-by-name @infinisil
/pkgs/by-name/README.md @infinisil
/pkgs/top-level/by-name-overlay.nix @infinisil
/.github/workflows/check-by-name.yml @infinisil
# Nixpkgs build-support
/pkgs/build-support/writers @lassulus @Profpatsch
# Nixpkgs make-disk-image
/doc/build-helpers/images/makediskimage.section.md @raitobezarius
/nixos/lib/make-disk-image.nix @raitobezarius
# Nix, the package manager
# @raitobezarius is not "code owner", but is listed here to be notified of changes
# pertaining to the Nix package manager.
# i.e. no authority over those files.
pkgs/tools/package-management/nix/ @raitobezarius
nixos/modules/installer/tools/nix-fallback-paths.nix @raitobezarius
# Nixpkgs documentation
/maintainers/scripts/db-to-md.sh @jtojnar @ryantm
/maintainers/scripts/doc @jtojnar @ryantm
# Contributor documentation
/CONTRIBUTING.md @infinisil
/.github/PULL_REQUEST_TEMPLATE.md @infinisil
/doc/contributing/ @infinisil
/doc/contributing/contributing-to-documentation.chapter.md @jtojnar @infinisil
/lib/README.md @infinisil
/doc/README.md @infinisil
/nixos/README.md @infinisil
/pkgs/README.md @infinisil
/maintainers/README.md @infinisil
# User-facing development documentation
/doc/development.md @infinisil
/doc/development @infinisil
/default.nix @nbp
/pkgs/top-level/default.nix @nbp @Ericson2314
/pkgs/top-level/impure.nix @nbp @Ericson2314
/pkgs/top-level/stage.nix @nbp @Ericson2314 @matthewbauer
/pkgs/top-level/splice.nix @Ericson2314 @matthewbauer
/pkgs/top-level/release-cross.nix @Ericson2314 @matthewbauer
/pkgs/stdenv/generic @Ericson2314 @matthewbauer
/pkgs/stdenv/cross @Ericson2314 @matthewbauer
/pkgs/build-support/cc-wrapper @Ericson2314 @orivej
/pkgs/build-support/bintools-wrapper @Ericson2314 @orivej
/pkgs/build-support/setup-hooks @Ericson2314
# NixOS Internals
/nixos/default.nix @infinisil
/nixos/lib/from-env.nix @infinisil
/nixos/lib/eval-config.nix @infinisil
/nixos/modules/system/activation/bootspec.nix @grahamc @cole-h @raitobezarius
/nixos/modules/system/activation/bootspec.cue @grahamc @cole-h @raitobezarius
/nixos/default.nix @nbp @infinisil
/nixos/lib/from-env.nix @nbp @infinisil
/nixos/lib/eval-config.nix @nbp @infinisil
/nixos/doc/manual/configuration/abstractions.xml @nbp
/nixos/doc/manual/configuration/config-file.xml @nbp
/nixos/doc/manual/configuration/config-syntax.xml @nbp
/nixos/doc/manual/configuration/modularity.xml @nbp
/nixos/doc/manual/development/assertions.xml @nbp
/nixos/doc/manual/development/meta-attributes.xml @nbp
/nixos/doc/manual/development/option-declarations.xml @nbp
/nixos/doc/manual/development/option-def.xml @nbp
/nixos/doc/manual/development/option-types.xml @nbp
/nixos/doc/manual/development/replace-modules.xml @nbp
/nixos/doc/manual/development/writing-modules.xml @nbp
/nixos/doc/manual/man-nixos-option.xml @nbp
/nixos/modules/installer/tools/nixos-option.sh @nbp
# NixOS integration test driver
/nixos/lib/test-driver @tfc
# NixOS QEMU virtualisation
/nixos/virtualisation/qemu-vm.nix @raitobezarius
# ACME
/nixos/modules/security/acme @arianvp @flokli @aanderse # no merge permission: @m1cr0man @emilazy
# Systemd
/nixos/modules/system/boot/systemd.nix @NixOS/systemd
/nixos/modules/system/boot/systemd @NixOS/systemd
/nixos/lib/systemd-*.nix @NixOS/systemd
/pkgs/os-specific/linux/systemd @NixOS/systemd
# Systemd-boot
/nixos/modules/system/boot/loader/systemd-boot @JulienMalka
# Images and installer media
/nixos/modules/installer/cd-dvd/
/nixos/modules/installer/sd-card/
# Updaters
## update.nix
/maintainers/scripts/update.nix @jtojnar
/maintainers/scripts/update.py @jtojnar
## common-updater-scripts
/pkgs/common-updater/scripts/update-source-version @jtojnar
# New NixOS modules
/nixos/modules/module-list.nix @Infinisil
# Python-related code and docs
/doc/languages-frameworks/python.section.md @mweinelt @natsukium
/maintainers/scripts/update-python-libraries @natsukium
/pkgs/development/interpreters/python @natsukium
/pkgs/top-level/python-packages.nix @natsukium
/pkgs/top-level/release-python.nix @natsukium
/maintainers/scripts/update-python-libraries @FRidh
/pkgs/top-level/python-packages.nix @FRidh @jonringer
/pkgs/development/interpreters/python @FRidh
/pkgs/development/python-modules @FRidh @jonringer
/doc/languages-frameworks/python.section.md @FRidh
# Haskell
/doc/languages-frameworks/haskell.section.md @sternenseemann @maralorn @ncfavier
/maintainers/scripts/haskell @sternenseemann @maralorn @ncfavier
/pkgs/development/compilers/ghc @sternenseemann @maralorn @ncfavier
/pkgs/development/haskell-modules @sternenseemann @maralorn @ncfavier
/pkgs/test/haskell @sternenseemann @maralorn @ncfavier
/pkgs/top-level/release-haskell.nix @sternenseemann @maralorn @ncfavier
/pkgs/top-level/haskell-packages.nix @sternenseemann @maralorn @ncfavier
/pkgs/development/compilers/ghc @basvandijk @cdepillabout
/pkgs/development/haskell-modules @basvandijk @cdepillabout @infinisil
/pkgs/development/haskell-modules/default.nix @basvandijk @cdepillabout
/pkgs/development/haskell-modules/generic-builder.nix @basvandijk @cdepillabout
/pkgs/development/haskell-modules/hoogle.nix @basvandijk @cdepillabout
# Perl
/pkgs/development/interpreters/perl @stigtsp @zakame @marcusramberg
/pkgs/top-level/perl-packages.nix @stigtsp @zakame @marcusramberg
/pkgs/development/perl-modules @stigtsp @zakame @marcusramberg
/pkgs/development/interpreters/perl @volth
/pkgs/top-level/perl-packages.nix @volth
/pkgs/development/perl-modules @volth
# R
/pkgs/applications/science/math/R @jbedo
/pkgs/development/r-modules @jbedo
/pkgs/applications/science/math/R @peti
/pkgs/development/r-modules @peti
# Ruby
/pkgs/development/interpreters/ruby @alyssais @zimbatm
/pkgs/development/ruby-modules @alyssais @zimbatm
# Rust
/pkgs/development/compilers/rust @Mic92 @zowoq @winterqt @figsoda
/pkgs/build-support/rust @zowoq @winterqt @figsoda
/doc/languages-frameworks/rust.section.md @zowoq @winterqt @figsoda
/pkgs/development/compilers/rust @Mic92 @LnL7
/pkgs/build-support/rust @andir
# Darwin-related
/pkgs/stdenv/darwin @NixOS/darwin-maintainers
/pkgs/os-specific/darwin @NixOS/darwin-maintainers
# C compilers
/pkgs/development/compilers/gcc
/pkgs/development/compilers/llvm @RossComputerGuy
/pkgs/development/compilers/emscripten @raitobezarius
/doc/languages-frameworks/emscripten.section.md @raitobezarius
/pkgs/development/compilers/gcc @matthewbauer
/pkgs/development/compilers/llvm @matthewbauer
# Audio
/nixos/modules/services/audio/botamusique.nix @mweinelt
/nixos/modules/services/audio/snapserver.nix @mweinelt
/nixos/tests/modules/services/audio/botamusique.nix @mweinelt
/nixos/tests/snapcast.nix @mweinelt
# Compatibility stuff
/pkgs/top-level/unix-tools.nix @matthewbauer
/pkgs/development/tools/xcbuild @matthewbauer
# Browsers
/pkgs/applications/networking/browsers/firefox @mweinelt
/pkgs/applications/networking/browsers/chromium @emilylange
/nixos/tests/chromium.nix @emilylange
# Certificate Authorities
pkgs/data/misc/cacert/ @ajs124 @lukegb @mweinelt
pkgs/development/libraries/nss/ @ajs124 @lukegb @mweinelt
pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
# Beam-related (Erlang, Elixir, LFE, etc)
/pkgs/development/beam-modules @gleber
/pkgs/development/interpreters/erlang @gleber
/pkgs/development/interpreters/lfe @gleber
/pkgs/development/interpreters/elixir @gleber
/pkgs/development/tools/build-managers/rebar @gleber
/pkgs/development/tools/build-managers/rebar3 @gleber
/pkgs/development/tools/erlang @gleber
# Jetbrains
/pkgs/applications/editors/jetbrains @edwtjo
# Eclipse
/pkgs/applications/editors/eclipse @rycee
# Licenses
/lib/licenses.nix @alyssais
# Qt
/pkgs/development/libraries/qt-5 @K900 @NickCao @SuperSandro2000 @ttuegel
/pkgs/development/libraries/qt-6 @K900 @NickCao @SuperSandro2000 @ttuegel
# KDE / Plasma 5
/pkgs/applications/kde @K900 @NickCao @SuperSandro2000 @ttuegel
/pkgs/desktops/plasma-5 @K900 @NickCao @SuperSandro2000 @ttuegel
/pkgs/development/libraries/kde-frameworks @K900 @NickCao @SuperSandro2000 @ttuegel
# KDE / Plasma 6
/pkgs/kde @K900 @NickCao @SuperSandro2000 @ttuegel
/maintainers/scripts/kde @K900 @NickCao @SuperSandro2000 @ttuegel
# Qt / KDE
/pkgs/applications/kde @ttuegel
/pkgs/desktops/plasma-5 @ttuegel
/pkgs/development/libraries/kde-frameworks @ttuegel
/pkgs/development/libraries/qt-5 @ttuegel
# PostgreSQL and related stuff
/pkgs/servers/sql/postgresql @thoughtpolice
@@ -216,45 +136,21 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/nixos/tests/hardened.nix @joachifm
/pkgs/os-specific/linux/kernel/hardened-config.nix @joachifm
# Home Automation
/nixos/modules/services/misc/home-assistant.nix @mweinelt
/nixos/modules/services/misc/zigbee2mqtt.nix @mweinelt
/nixos/tests/home-assistant.nix @mweinelt
/nixos/tests/zigbee2mqtt.nix @mweinelt
/pkgs/servers/home-assistant @mweinelt
/pkgs/tools/misc/esphome @mweinelt
# Network Time Daemons
/pkgs/tools/networking/chrony @thoughtpolice
/pkgs/tools/networking/ntp @thoughtpolice
/pkgs/tools/networking/openntpd @thoughtpolice
/nixos/modules/services/networking/ntp @thoughtpolice
# Network
/pkgs/tools/networking/kea/default.nix @mweinelt
/pkgs/tools/networking/babeld/default.nix @mweinelt
/nixos/modules/services/networking/babeld.nix @mweinelt
/nixos/modules/services/networking/kea.nix @mweinelt
/nixos/modules/services/networking/knot.nix @mweinelt
/nixos/modules/services/monitoring/prometheus/exporters/kea.nix @mweinelt
/nixos/tests/babeld.nix @mweinelt
/nixos/tests/kea.nix @mweinelt
/nixos/tests/knot.nix @mweinelt
# Web servers
/doc/packages/nginx.section.md @raitobezarius
/pkgs/servers/http/nginx/ @raitobezarius
/nixos/modules/services/web-servers/nginx/ @raitobezarius
# Dhall
/pkgs/development/dhall-modules @Gabriella439 @Profpatsch @ehmry
/pkgs/development/interpreters/dhall @Gabriella439 @Profpatsch @ehmry
/pkgs/development/dhall-modules @Gabriel439 @Profpatsch
/pkgs/development/interpreters/dhall @Gabriel439 @Profpatsch
# Idris
/pkgs/development/idris-modules @Infinisil
# Bazel
/pkgs/development/tools/build-managers/bazel @Profpatsch
/pkgs/development/tools/build-managers/bazel @mboes @Profpatsch
# NixOS modules for e-mail and dns services
/nixos/modules/services/mail/mailman.nix @peti
@@ -263,127 +159,22 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/nixos/modules/services/mail/rspamd.nix @peti
# Emacs
/pkgs/applications/editors/emacs/elisp-packages @adisbladis
/pkgs/applications/editors/emacs @adisbladis
/pkgs/top-level/emacs-packages.nix @adisbladis
# Neovim
/pkgs/applications/editors/neovim @figsoda @teto
/pkgs/applications/editors/emacs-modes @adisbladis
/pkgs/applications/editors/emacs @adisbladis
/pkgs/top-level/emacs-packages.nix @adisbladis
# VimPlugins
/pkgs/applications/editors/vim/plugins @figsoda
/pkgs/misc/vim-plugins @jonringer @softinio
# VsCode Extensions
/pkgs/applications/editors/vscode/extensions
/pkgs/misc/vscode-extensions @jonringer
# PHP interpreter, packages, extensions, tests and documentation
/doc/languages-frameworks/php.section.md @aanderse @drupol @globin @ma27 @talyz
/nixos/tests/php @aanderse @drupol @globin @ma27 @talyz
/pkgs/build-support/php/build-pecl.nix @aanderse @drupol @globin @ma27 @talyz
/pkgs/build-support/php @drupol
/pkgs/development/interpreters/php @jtojnar @aanderse @drupol @globin @ma27 @talyz
/pkgs/development/php-packages @aanderse @drupol @globin @ma27 @talyz
/pkgs/top-level/php-packages.nix @jtojnar @aanderse @drupol @globin @ma27 @talyz
# Prometheus exporter modules and tests
/nixos/modules/services/monitoring/prometheus/exporters.nix @WilliButz
/nixos/modules/services/monitoring/prometheus/exporters.xml @WilliButz
/nixos/tests/prometheus-exporters.nix @WilliButz
# Docker tools
/pkgs/build-support/docker @roberth
/nixos/tests/docker-tools* @roberth
/doc/build-helpers/images/dockertools.section.md @roberth
# Blockchains
/pkgs/applications/blockchains @mmahut @RaghavSood
# Go
/doc/languages-frameworks/go.section.md @kalbasit @katexochen @Mic92 @zowoq
/pkgs/build-support/go @kalbasit @katexochen @Mic92 @zowoq
/pkgs/development/compilers/go @kalbasit @katexochen @Mic92 @zowoq
# GNOME
/pkgs/desktops/gnome @jtojnar
/pkgs/desktops/gnome/extensions @jtojnar
/pkgs/build-support/make-hardcode-gsettings-patch @jtojnar
# Cinnamon
/pkgs/by-name/ci/cinnamon-* @mkg20001
/pkgs/by-name/cj/cjs @mkg20001
/pkgs/by-name/mu/muffin @mkg20001
/pkgs/by-name/ne/nemo @mkg20001
/pkgs/by-name/ne/nemo-* @mkg20001
# nim
/pkgs/development/compilers/nim @ehmry
/pkgs/development/nim-packages @ehmry
/pkgs/top-level/nim-packages.nix @ehmry
# terraform providers
/pkgs/applications/networking/cluster/terraform-providers @zowoq
# Forgejo
nixos/modules/services/misc/forgejo.nix @adamcstephens @bendlas @emilylange
pkgs/by-name/fo/forgejo/package.nix @adamcstephens @bendlas @emilylange
# Dotnet
/pkgs/build-support/dotnet @corngood
/pkgs/development/compilers/dotnet @corngood
/pkgs/test/dotnet @corngood
/doc/languages-frameworks/dotnet.section.md @corngood
# Node.js
/pkgs/build-support/node/build-npm-package @winterqt
/pkgs/build-support/node/fetch-npm-deps @winterqt
/doc/languages-frameworks/javascript.section.md @winterqt
# environment.noXlibs option aka NoX
/nixos/modules/config/no-x-libs.nix @SuperSandro2000
# OCaml
/pkgs/build-support/ocaml @ulrikstrid
/pkgs/development/compilers/ocaml @ulrikstrid
/pkgs/development/ocaml-modules @ulrikstrid
# ZFS
pkgs/os-specific/linux/zfs/2_1.nix @raitobezarius
pkgs/os-specific/linux/zfs/generic.nix @raitobezarius
nixos/modules/tasks/filesystems/zfs.nix @raitobezarius
nixos/tests/zfs.nix @raitobezarius
# Zig
/pkgs/development/compilers/zig @figsoda
/doc/hooks/zig.section.md @figsoda
# Buildbot
nixos/modules/services/continuous-integration/buildbot @Mic92 @zowoq
nixos/tests/buildbot.nix @Mic92 @zowoq
pkgs/development/tools/continuous-integration/buildbot @Mic92 @zowoq
# Pretix
pkgs/by-name/pr/pretix/ @mweinelt
pkgs/by-name/pr/pretalx/ @mweinelt
nixos/modules/services/web-apps/pretix.nix @mweinelt
nixos/modules/services/web-apps/pretalx.nix @mweinelt
nixos/tests/web-apps/pretix.nix @mweinelt
nixos/tests/web-apps/pretalx.nix @mweinelt
# incus/lxc/lxd
nixos/maintainers/scripts/lxd/ @adamcstephens
nixos/modules/virtualisation/incus.nix @adamcstephens
nixos/modules/virtualisation/lxc* @adamcstephens
nixos/modules/virtualisation/lxd* @adamcstephens
nixos/tests/incus/ @adamcstephens
nixos/tests/lxd/ @adamcstephens
pkgs/by-name/in/incus/ @adamcstephens
pkgs/by-name/lx/lxc* @adamcstephens
pkgs/by-name/lx/lxd* @adamcstephens
# ExpidusOS, Flutter
/pkgs/development/compilers/flutter @RossComputerGuy
/pkgs/desktops/expidus @RossComputerGuy
# GNU Tar & Zip
/pkgs/tools/archivers/gnutar @RossComputerGuy
/pkgs/tools/archivers/zip @RossComputerGuy
# SELinux
/pkgs/os-specific/linux/checkpolicy @RossComputerGuy
/pkgs/os-specific/linux/libselinux @RossComputerGuy
/pkgs/os-specific/linux/libsepol @RossComputerGuy
# PHP
/pkgs/development/interpreters/php @etu
/pkgs/top-level/php-packages.nix @etu
/pkgs/build-support/build-pecl.nix @etu

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

@@ -0,0 +1,62 @@
# How to contribute
Note: contributing implies licensing those contributions
under the terms of [COPYING](../COPYING), which is an MIT-like license.
## Opening issues
* Make sure you have a [GitHub account](https://github.com/signup/free)
* Make sure there is no open issue on the topic
* [Submit a new issue](https://github.com/NixOS/nixpkgs/issues/new/choose) by choosing the kind of topic and fill out the template
## Submitting changes
* Format the commit messages in the following way:
```
(pkg-name | nixos/<module>): (from -> to | init at version | refactor | etc)
(Motivation for change. Additional information.)
```
For consistency, there should not be a period at the end of the commit message's summary line (the first line of the commit message).
Examples:
* nginx: init at 2.0.1
* firefox: 54.0.1 -> 55.0
* nixos/hydra: add bazBaz option
Dual baz behavior is needed to do foo.
* nixos/nginx: refactor config generation
The old config generation system used impure shell scripts and could break in specific circumstances (see #1234).
* `meta.description` should:
* Be capitalized.
* Not start with the package name.
* Not have a period at the end.
* `meta.license` must be set and fit the upstream license.
* If there is no upstream license, `meta.license` should default to `stdenv.lib.licenses.unfree`.
* `meta.maintainers` must be set.
See the nixpkgs manual for more details on [standard meta-attributes](https://nixos.org/nixpkgs/manual/#sec-standard-meta-attributes) and on how to [submit changes to nixpkgs](https://nixos.org/nixpkgs/manual/#chap-submitting-changes).
## Writing good commit messages
In addition to writing properly formatted commit messages, it's important to include relevant information so other developers can later understand *why* a change was made. While this information usually can be found by digging code, mailing list/Discourse archives, pull request discussions or upstream changes, it may require a lot of work.
For package version upgrades and such a one-line commit message is usually sufficient.
## Backporting changes
To [backport a change into a release branch](https://nixos.org/nixpkgs/manual/#submitting-changes-stable-release-branches):
1. Take note of the commit in which the change was introduced into `master`.
2. Check out the target _release branch_, e.g. `release-20.03`. Do not use a _channel branch_ like `nixos-20.03` or `nixpkgs-20.03`.
3. Use `git cherry-pick -x <original commit>`.
4. Open your backport PR. Make sure to select the release branch (e.g. `release-20.03`) as the target branch of the PR, and link to the PR in which the original change was made to `master`.
## Reviewing contributions
See the nixpkgs manual for more details on how to [Review contributions](https://nixos.org/nixpkgs/manual/#chap-reviewing-contributions).

View File

@@ -7,42 +7,31 @@ assignees: ''
---
### Describe the bug
**Describe the bug**
A clear and concise description of what the bug is.
### Steps To Reproduce
**To Reproduce**
Steps to reproduce the behavior:
1. ...
2. ...
3. ...
### Expected behavior
**Expected behavior**
A clear and concise description of what you expected to happen.
### Screenshots
**Screenshots**
If applicable, add screenshots to help explain your problem.
### Additional context
**Additional context**
Add any other context about the problem here.
### Notify maintainers
<!--
Please @ people who are in the `meta.maintainers` list of the offending package or module.
If in doubt, check `git blame` for whoever last touched something.
-->
### Metadata
**Metadata**
Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.
```console
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
output here
Maintainer information:
```yaml
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:
```
---
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

View File

@@ -1,46 +0,0 @@
---
name: Build failure
about: Create a report to help us improve
title: 'Build failure: PACKAGENAME'
labels: '0.kind: build failure'
assignees: ''
---
### Steps To Reproduce
Steps to reproduce the behavior:
1. build *X*
### Build log
```
log here if short otherwise a link to a gist
```
### Additional context
Add any other context about the problem here.
### Notify maintainers
<!--
Please @ people who are in the `meta.maintainers` list of the offending package or module.
If in doubt, check `git blame` for whoever last touched something.
-->
### Metadata
Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.
```console
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
output here
```
---
Add a :+1: [reaction] to [issues you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,49 +1,19 @@
## Description of changes
<!-- 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
<!--
For package updates please link to a changelog or describe changes, this helps your fellow maintainers discover breaking updates.
For new packages please briefly describe the package or provide a link to its homepage.
-->
## Things done
###### Things done
<!-- Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers. -->
- [ ] Tested using sandboxing ([nix.useSandbox](http://nixos.org/nixos/manual/options.html#opt-nix.useSandbox) on NixOS, or option `sandbox` in [`nix.conf`](http://nixos.org/nix/manual/#sec-conf-file) on non-NixOS linux)
- Built on platform(s)
- [ ] x86_64-linux
- [ ] aarch64-linux
- [ ] x86_64-darwin
- [ ] aarch64-darwin
- For non-Linux: Is sandboxing enabled in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/command-ref/conf-file.html))
- [ ] `sandbox = relaxed`
- [ ] `sandbox = true`
- [ ] Tested, as applicable:
- [NixOS test(s)](https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests) (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests))
- and/or [package tests](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#package-tests)
- or, for functions and "core" functionality, tests in [lib/tests](https://github.com/NixOS/nixpkgs/blob/master/lib/tests) or [pkgs/test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/test)
- made sure NixOS tests are [linked](https://nixos.org/manual/nixpkgs/unstable/#ssec-nixos-tests-linking) to the relevant packages
- [ ] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"`. Note: all changes have to be committed, also see [nixpkgs-review usage](https://github.com/Mic92/nixpkgs-review#usage)
- [ ] Tested basic functionality of all binary files (usually in `./result/bin/`)
- [24.11 Release Notes](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2411.section.md) (or backporting [23.11](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2311.section.md) and [24.05](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2405.section.md) Release notes)
- [ ] (Package updates) Added a release notes entry if the change is major or breaking
- [ ] (Module updates) Added a release notes entry if the change is significant
- [ ] (Module addition) Added a release notes entry if adding a new NixOS module
- [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).
<!--
To help with the large amounts of pull requests, we would appreciate your
reviews of other pull requests, especially simple package updates. Just leave a
comment describing what you have tested in the relevant package/service.
Reviewing helps to reduce the average time-to-merge for everyone.
Thanks a lot if you do!
List of open PRs: https://github.com/NixOS/nixpkgs/pulls
Reviewing guidelines: https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#reviewing-contributions
-->
---
Add a :+1: [reaction] to [pull requests you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[pull requests you find important]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+sort%3Areactions-%2B1-desc
- [ ] NixOS
- [ ] macOS
- [ ] other Linux distributions
- [ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests))
- [ ] Tested compilation of all pkgs that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review wip"`
- [ ] Tested execution of all binary files (usually in `./result/bin/`)
- [ ] Determined the impact on package closure size (by running `nix path-info -S` before and after)
- [ ] Ensured that relevant documentation is up to date
- [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md).

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

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

View File

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

415
.github/labeler.yml vendored
View File

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

33
.github/stale.yml vendored
View File

@@ -1,9 +1,32 @@
# Configuration for probot-stale - https://github.com/probot/stale
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 180
# Number of days of inactivity before a stale issue is closed
daysUntilClose: false
# Issues with these labels will never be considered stale
exemptLabels:
- "1.severity: security"
- "2.status: never-stale"
staleLabel: "2.status: stale"
markComment: false
- 1.severity: security
# Label to use when marking an issue as stale
staleLabel: 2.status: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
Thank you for your contributions.
This has been automatically marked as stale because it has had no
activity for 180 days.
If this is still important to you, we ask that you leave a
comment below. Your comment can be as simple as "still important
to me". This lets people see that at least one person still cares
about this. Someone will have to do this at most twice a year if
there is no other activity.
Here are suggestions that might help resolve this more quickly:
1. Search for maintainers and people that previously touched the
related code and @ mention them in a comment.
2. Ask on the [NixOS Discourse](https://discourse.nixos.org/).
3. Ask on the [#nixos channel](irc://irc.freenode.net/#nixos) on
[irc.freenode.net](https://freenode.net).
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false

View File

@@ -1,35 +0,0 @@
name: Backport
on:
pull_request_target:
types: [closed, labeled]
# WARNING:
# When extending this action, be aware that $GITHUB_TOKEN allows write access to
# the GitHub repository. This means that it should not evaluate user input in a
# way that allows code injection.
permissions:
contents: read
jobs:
backport:
permissions:
contents: write # for korthout/backport-action to create branch
pull-requests: write # for korthout/backport-action to create PR to backport
name: Backport Pull Request
if: github.repository_owner == 'NixOS' && github.event.pull_request.merged == true && (github.event_name != 'labeled' || startsWith('backport', github.event.label.name))
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Create backport PRs
uses: korthout/backport-action@bd410d37cdcae80be6d969823ff5a225fe5c833f # v3.0.2
with:
# Config README: https://github.com/korthout/backport-action#backport-action
copy_labels_pattern: 'severity:\ssecurity'
pull_description: |-
Bot-based backport to `${target_branch}`, triggered by a label in #${pull_number}.
* [ ] Before merging, ensure that this backport is [acceptable for the release](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#changes-acceptable-for-releases).
* Even as a non-commiter, if you find that it is not acceptable, leave a comment.

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,88 +0,0 @@
# This file was copied mostly from check-maintainers-sorted.yaml.
# NOTE: Formatting with the RFC-style nixfmt command is not yet stable. See
# https://github.com/NixOS/rfcs/pull/166.
# Because of this, this action is not yet enabled for all files -- only for
# those who have opted in.
name: Check that Nix files are formatted
on:
pull_request_target:
# See the comment at the same location in ./check-by-name.yml
types: [opened, synchronize, reopened, edited]
permissions:
contents: read
jobs:
nixos:
runs-on: ubuntu-latest
if: "!contains(github.event.pull_request.title, '[skip treewide]')"
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
# Fetches the merge commit and its parents
fetch-depth: 2
- name: Checking out base branch
run: |
base=$(mktemp -d)
baseRev=$(git rev-parse HEAD^1)
git worktree add "$base" "$baseRev"
echo "baseRev=$baseRev" >> "$GITHUB_ENV"
echo "base=$base" >> "$GITHUB_ENV"
- name: Get Nixpkgs revision for nixfmt
run: |
# pin to a commit from nixpkgs-unstable to avoid e.g. building nixfmt
# from staging
# This should not be a URL, because it would allow PRs to run arbitrary code in CI!
rev=$(jq -r .rev ci/pinned-nixpkgs.json)
echo "url=https://github.com/NixOS/nixpkgs/archive/$rev.tar.gz" >> "$GITHUB_ENV"
- uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true
nix_path: nixpkgs=${{ env.url }}
- name: Install nixfmt
run: "nix-env -f '<nixpkgs>' -iAP nixfmt-rfc-style"
- name: Check that Nix files are formatted according to the RFC style
run: |
unformattedFiles=()
# TODO: Make this more parallel
# Loop through all Nix files touched by the PR
while readarray -d '' -n 2 entry && (( ${#entry[@]} != 0 )); do
type=${entry[0]}
file=${entry[1]}
case $type in
A*)
source=""
dest=$file
;;
M*)
source=$file
dest=$file
;;
C*|R*)
source=$file
read -r -d '' dest
;;
*)
echo "Ignoring file $file with type $type"
continue
esac
# Ignore files that weren't already formatted
if [[ -n "$source" ]] && ! nixfmt --check ${{ env.base }}/"$source" 2>/dev/null; then
echo "Ignoring file $file because it's not formatted in the base commit"
elif ! nixfmt --check "$dest"; then
unformattedFiles+=("$dest")
fi
done < <(git diff -z --name-status ${{ env.baseRev }} -- '*.nix')
if (( "${#unformattedFiles[@]}" > 0 )); then
echo "Some new/changed Nix files are not properly formatted"
echo "Please run the following in \`nix-shell\`:"
echo "nixfmt ${unformattedFiles[*]@Q}"
exit 1
fi

View File

@@ -1,128 +0,0 @@
name: Check changed Nix files with nixf-tidy (experimental)
on:
pull_request_target:
types: [opened, synchronize, reopened, edited]
permissions:
contents: read
jobs:
nixos:
runs-on: ubuntu-latest
if: "!contains(github.event.pull_request.title, '[skip treewide]')"
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
# Fetches the merge commit and its parents
fetch-depth: 2
- name: Checking out base branch
run: |
base=$(mktemp -d)
baseRev=$(git rev-parse HEAD^1)
git worktree add "$base" "$baseRev"
echo "baseRev=$baseRev" >> "$GITHUB_ENV"
echo "base=$base" >> "$GITHUB_ENV"
- name: Get Nixpkgs revision for nixf
run: |
# pin to a commit from nixpkgs-unstable to avoid e.g. building nixf
# from staging
# This should not be a URL, because it would allow PRs to run arbitrary code in CI!
rev=$(jq -r .rev ci/pinned-nixpkgs.json)
echo "url=https://github.com/NixOS/nixpkgs/archive/$rev.tar.gz" >> "$GITHUB_ENV"
- uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true
nix_path: nixpkgs=${{ env.url }}
- name: Install nixf and jq
# provided jq is incompatible with our expression
run: "nix-env -f '<nixpkgs>' -iAP nixf jq"
- name: Check that Nix files pass nixf-tidy
run: |
# Filtering error messages we don't like
nixf_wrapper(){
nixf-tidy --variable-lookup < "$1" | jq -r '
[
"sema-escaping-with"
]
as $ignored_errors|[.[]|select(.sname as $s|$ignored_errors|index($s)|not)]
'
}
failedFiles=()
# Don't report errors to file overview
# to avoid duplicates when editing title and description
if [[ "${{ github.event.action }}" == 'edited' ]] && [[ -z "${{ github.event.edited.changes.base }}" ]]; then
DONT_REPORT_ERROR=1
else
DONT_REPORT_ERROR=
fi
# TODO: Make this more parallel
# Loop through all Nix files touched by the PR
while readarray -d '' -n 2 entry && (( ${#entry[@]} != 0 )); do
type=${entry[0]}
file=${entry[1]}
case $type in
A*)
source=""
dest=$file
;;
M*)
source=$file
dest=$file
;;
C*|R*)
source=$file
read -r -d '' dest
;;
*)
echo "Ignoring file $file with type $type"
continue
esac
if [[ -n "$source" ]] && [[ "$(nixf_wrapper ${{ env.base }}/"$source")" != '[]' ]] 2>/dev/null; then
echo "Ignoring file $file because it doesn't pass nixf-tidy in the base commit"
echo # insert blank line
else
nixf_report="$(nixf_wrapper "$dest")"
if [[ "$nixf_report" != '[]' ]]; then
echo "$dest doesn't pass nixf-tidy. Reported by nixf-tidy:"
errors=$(echo "$nixf_report" | jq -r --arg dest "$dest" '
def getLCur: "line=" + (.line+1|tostring) + ",col=" + (.column|tostring);
def getRCur: "endLine=" + (.line+1|tostring) + ",endColumn=" + (.column|tostring);
def getRange: "file=\($dest)," + (.lCur|getLCur) + "," + (.rCur|getRCur);
def getBody: . as $top|(.range|getRange) + ",title="+ .sname + "::" +
(.message|sub("{}" ; ($top.args.[]|tostring)));
def getNote: "\n::notice " + (.|getBody);
def getMessage: "::error " + (.|getBody) + (if (.notes|length)>0 then
([.notes.[]|getNote]|add) else "" end);
.[]|getMessage
')
if [[ -z "$DONT_REPORT_ERROR" ]]; then
echo "$errors"
else
# just print in plain text
echo "$errors" | sed 's/^:://'
echo # add one empty line
fi
failedFiles+=("$dest")
fi
fi
done < <(git diff -z --name-status ${{ env.baseRev }} -- '*.nix')
if [[ -n "$DONT_REPORT_ERROR" ]]; then
echo "Edited the PR but didn't change the base branch, only the description/title."
echo "Not reporting errors again to avoid duplication."
echo # add one empty line
fi
if (( "${#failedFiles[@]}" > 0 )); then
echo "Some new/changed Nix files don't pass nixf-tidy."
echo "See ${{ github.event.pull_request.html_url }}/files for reported errors."
echo "If you believe this is a false positive, ping @Aleksanaa and @inclyc in this PR."
exit 1
fi

View File

@@ -1,29 +0,0 @@
name: "Check shell"
on:
pull_request_target:
permissions: {}
jobs:
x86_64-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
- name: Build shell
run: nix-build shell.nix
aarch64-darwin:
runs-on: macos-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
- name: Build shell
run: nix-build shell.nix

View File

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

View File

@@ -1,24 +0,0 @@
name: "Label PR"
on:
pull_request_target:
types: [edited, opened, synchronize, reopened]
# WARNING:
# When extending this action, be aware that $GITHUB_TOKEN allows some write
# access to the GitHub API. This means that it should not evaluate user input in
# a way that allows code injection.
permissions:
contents: read
pull-requests: write
jobs:
labels:
runs-on: ubuntu-latest
if: "github.repository_owner == 'NixOS' && !contains(github.event.pull_request.title, '[skip treewide]')"
steps:
- uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
sync-labels: true

View File

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

View File

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

View File

@@ -1,42 +0,0 @@
name: "Check whether nix files are parseable"
permissions: read-all
on:
# avoids approving first time contributors
pull_request_target:
branches-ignore:
- 'release-**'
jobs:
tests:
runs-on: ubuntu-latest
if: "github.repository_owner == 'NixOS' && !contains(github.event.pull_request.title, '[skip treewide]')"
steps:
- name: Get list of changed files from PR
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh api \
repos/NixOS/nixpkgs/pulls/${{github.event.number}}/files --paginate \
| jq --raw-output '.[] | select(.status != "removed" and (.filename | endswith(".nix"))) | .filename' \
> "$HOME/changed_files"
if [[ -s "$HOME/changed_files" ]]; then
echo "CHANGED_FILES=$HOME/changed_files" > "$GITHUB_ENV"
fi
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
if: ${{ env.CHANGED_FILES && env.CHANGED_FILES != '' }}
- uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
with:
nix_path: nixpkgs=channel:nixpkgs-unstable
- name: Parse all changed or added nix files
run: |
ret=0
while IFS= read -r file; do
out="$(nix-instantiate --parse "$file")" || { echo "$out" && ret=1; }
done < "$HOME/changed_files"
exit "$ret"
if: ${{ env.CHANGED_FILES && env.CHANGED_FILES != '' }}

View File

@@ -1,26 +0,0 @@
name: "No channel PR"
on:
pull_request:
branches:
- 'nixos-**'
- 'nixpkgs-**'
permissions:
contents: read
jobs:
fail:
permissions:
contents: none
name: "This PR is is targeting a channel branch"
runs-on: ubuntu-latest
steps:
- run: |
cat <<EOF
The nixos-* and nixpkgs-* branches are pushed to by the channel
release script and should not be merged into directly.
Please target the equivalent release-* branch or master instead.
EOF
exit 1

View File

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

View File

@@ -1,60 +0,0 @@
# This action periodically merges base branches into staging branches.
# This is done to
# * prevent conflicts or rather resolve them early
# * make all potential breakage happen on the staging branch
# * and make sure that all major rebuilds happen before the staging
# branch gets merged back into its base branch.
name: "Periodic Merges (24h)"
on:
schedule:
# * is a special character in YAML so you have to quote this string
# Merge every 24 hours
- cron: '0 0 * * *'
workflow_dispatch:
permissions:
contents: read
jobs:
periodic-merge:
permissions:
contents: write # for devmasx/merge-branch to merge branches
pull-requests: write # for peter-evans/create-or-update-comment to create or update comment
if: github.repository_owner == 'NixOS'
runs-on: ubuntu-latest
strategy:
# don't fail fast, so that all pairs are tried
fail-fast: false
# certain branches need to be merged in order, like master->staging-next->staging
# and disabling parallelism ensures the order of the pairs below.
max-parallel: 1
matrix:
pairs:
- from: master
into: haskell-updates
- from: release-24.05
into: staging-next-24.05
- from: staging-next-24.05
into: staging-24.05
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
uses: devmasx/merge-branch@854d3ac71ed1e9deb668e0074781b81fdd6e771f # 1.4.0
with:
type: now
from_branch: ${{ matrix.pairs.from }}
target_branch: ${{ matrix.pairs.into }}
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Comment on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
if: ${{ failure() }}
with:
issue-number: 105153
body: |
Periodic merge from `${{ matrix.pairs.from }}` into `${{ matrix.pairs.into }}` has [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).

View File

@@ -1,58 +0,0 @@
# This action periodically merges base branches into staging branches.
# This is done to
# * prevent conflicts or rather resolve them early
# * make all potential breakage happen on the staging branch
# * and make sure that all major rebuilds happen before the staging
# branch gets merged back into its base branch.
name: "Periodic Merges (6h)"
on:
schedule:
# * is a special character in YAML so you have to quote this string
# Merge every 6 hours
- cron: '0 */6 * * *'
workflow_dispatch:
permissions:
contents: read
jobs:
periodic-merge:
permissions:
contents: write # for devmasx/merge-branch to merge branches
pull-requests: write # for peter-evans/create-or-update-comment to create or update comment
if: github.repository_owner == 'NixOS'
runs-on: ubuntu-latest
strategy:
# don't fail fast, so that all pairs are tried
fail-fast: false
# certain branches need to be merged in order, like master->staging-next->staging
# and disabling parallelism ensures the order of the pairs below.
max-parallel: 1
matrix:
pairs:
- from: master
into: staging-next
- from: staging-next
into: staging
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
uses: devmasx/merge-branch@854d3ac71ed1e9deb668e0074781b81fdd6e771f # 1.4.0
with:
type: now
from_branch: ${{ matrix.pairs.from }}
target_branch: ${{ matrix.pairs.into }}
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Comment on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
if: ${{ failure() }}
with:
issue-number: 105153
body: |
Periodic merge from `${{ matrix.pairs.from }}` into `${{ matrix.pairs.into }}` has [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).

View File

@@ -1,69 +0,0 @@
name: "Update terraform-providers"
on:
#schedule:
# - cron: "0 3 * * *"
workflow_dispatch:
permissions:
contents: read
jobs:
tf-providers:
permissions:
contents: write # for peter-evans/create-pull-request to create branch
pull-requests: write # for peter-evans/create-pull-request to create a PR
if: github.repository_owner == 'NixOS' && github.ref == 'refs/heads/master' # ensure workflow_dispatch only runs on master
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
with:
nix_path: nixpkgs=channel:nixpkgs-unstable
- name: setup
id: setup
run: |
echo "title=terraform-providers: update $(date -u +"%Y-%m-%d")" >> $GITHUB_OUTPUT
- name: update terraform-providers
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config user.name "github-actions[bot]"
echo | nix-shell \
maintainers/scripts/update.nix \
--argstr commit true \
--argstr keep-going true \
--argstr max-workers 2 \
--argstr path terraform-providers
- name: get failed updates
run: |
echo 'FAILED<<EOF' >> $GITHUB_ENV
git ls-files --others >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV
# cleanup logs of failed updates so they aren't included in the PR
- name: clean repo
run: |
git clean -f
- name: create PR
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6.1.0
with:
body: |
Automatic update by [update-terraform-providers](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/update-terraform-providers.yml) action.
https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}
These providers failed to update:
```
${{ env.FAILED }}
```
Check that all providers build with:
```
@ofborg build opentofu.full
```
If there is more than ten commits in the PR `ofborg` won't build it automatically and you will need to use the above command.
branch: terraform-providers-update
delete-branch: false
title: ${{ steps.setup.outputs.title }}
token: ${{ secrets.GITHUB_TOKEN }}

23
.gitignore vendored
View File

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

View File

@@ -1,17 +0,0 @@
ajs124 <git@ajs124.de> <ajs124@users.noreply.github.com>
Anderson Torres <torres.anderson.85@protonmail.com>
Daniel Løvbrøtte Olsen <me@dandellion.xyz> <daniel.olsen99@gmail.com>
Fabian Affolter <mail@fabian-affolter.ch> <fabian@affolter-engineering.ch>
Janne Heß <janne@hess.ooo> <dasJ@users.noreply.github.com>
Jörg Thalheim <joerg@thalheim.io> <Mic92@users.noreply.github.com>
Martin Weinelt <hexa@darmstadt.ccc.de> <mweinelt@users.noreply.github.com>
R. RyanTM <ryantm-bot@ryantm.com>
Robert Hensing <robert@roberthensing.nl> <roberth@users.noreply.github.com>
Sandro Jäckel <sandro.jaeckel@gmail.com>
Sandro Jäckel <sandro.jaeckel@gmail.com> <sandro.jaeckel@sap.com>
superherointj <5861043+superherointj@users.noreply.github.com>
Tomodachi94 <tomodachi94@protonmail.com> Tomo <68489118+Tomodachi94@users.noreply.github.com>
Vladimír Čunát <v@cunat.cz> <vcunat@gmail.com>
Vladimír Čunát <v@cunat.cz> <vladimir.cunat@nic.cz>
Yifei Sun <ysun@hey.com> StepBroBD <Hi@StepBroBD.com>
Yifei Sun <ysun@hey.com> <ysun+git@stepbrobd.com>

View File

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

1
.version Normal file
View File

@@ -0,0 +1 @@
20.03

View File

@@ -1,637 +0,0 @@
# Contributing to Nixpkgs
This document is for people wanting to contribute to the implementation of Nixpkgs.
This involves interacting with implementation changes that are proposed using [GitHub](https://github.com/) [pull requests](https://docs.github.com/pull-requests) to the [Nixpkgs](https://github.com/nixos/nixpkgs/) repository (which you're in right now).
As such, a GitHub account is recommended, which you can sign up for [here](https://github.com/signup).
See [here](https://discourse.nixos.org/t/about-the-patches-category/477) for how to contribute without a GitHub account.
Additionally this document assumes that you already know how to use GitHub and Git.
If that's not the case, we recommend learning about it first [here](https://docs.github.com/en/get-started/quickstart/hello-world).
## Overview
[overview]: #overview
This file contains general contributing information, but individual parts also have more specific information to them in their respective `README.md` files, linked here:
- [`lib`](./lib/README.md): Sources and documentation of the [library functions](https://nixos.org/manual/nixpkgs/stable/#chap-functions)
- [`maintainers`](./maintainers/README.md): Nixpkgs maintainer and team listings, maintainer scripts
- [`pkgs`](./pkgs/README.md): Package and [builder](https://nixos.org/manual/nixpkgs/stable/#part-builders) definitions
- [`doc`](./doc/README.md): Sources and infrastructure for the [Nixpkgs manual](https://nixos.org/manual/nixpkgs/stable/)
- [`nixos`](./nixos/README.md): Implementation of [NixOS](https://nixos.org/manual/nixos/stable/)
# How to's
## How to create pull requests
[pr-create]: #how-to-create-pull-requests
This section describes in some detail how changes can be made and proposed with pull requests.
> [!Note]
> Be aware that contributing implies licensing those contributions under the terms of [COPYING](./COPYING), an MIT-like license.
0. Set up a local version of Nixpkgs to work with using GitHub and Git
1. [Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo#forking-a-repository) the [Nixpkgs repository](https://github.com/nixos/nixpkgs/).
1. [Clone the forked repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo#cloning-your-forked-repository) into a local `nixpkgs` directory.
1. [Configure the upstream Nixpkgs repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo#configuring-git-to-sync-your-fork-with-the-upstream-repository).
1. Figure out the branch that should be used for this change by going through [this section][branch].
If in doubt use `master`, that's where most changes should go.
This can be changed later by [rebasing][rebase].
2. Create and switch to a new Git branch, ideally such that:
- The name of the branch hints at the change you'd like to implement, e.g. `update-hello`.
- The base of the branch includes the most recent changes on the base branch from step 1, we'll assume `master` here.
```bash
# Make sure you have the latest changes from upstream Nixpkgs
git fetch upstream
# Create and switch to a new branch based off the master branch in Nixpkgs
git switch --create update-hello upstream/master
```
To avoid having to download and build potentially many derivations, at the expense of using a potentially outdated version, you can base the branch off a specific [Git commit](https://www.git-scm.com/docs/gitglossary#def_commit) instead:
- The commit of the latest `nixpkgs-unstable` channel, available [here](https://channels.nixos.org/nixpkgs-unstable/git-revision).
- The commit of a local Nixpkgs downloaded using [nix-channel](https://nixos.org/manual/nix/stable/command-ref/nix-channel), available using `nix-instantiate --eval --expr '(import <nixpkgs/lib>).trivial.revisionWithDefault null'`
- If you're using NixOS, the commit of your NixOS installation, available with `nixos-version --revision`.
Once you have an appropriate commit you can use it instead of `upstream/master` in the above command:
```bash
git switch --create update-hello <the desired base commit>
```
3. Make the desired changes in the local Nixpkgs repository using an editor of your choice.
Make sure to:
- Adhere to both the [general code conventions][code-conventions], and the code conventions specific to the part you're making changes to.
See the [overview section][overview] for more specific information.
- Test the changes.
See the [overview section][overview] for more specific information.
- If necessary, document the change.
See the [overview section][overview] for more specific information.
4. Commit your changes using `git commit`.
Make sure to adhere to the [commit conventions](#commit-conventions).
Repeat the steps 3-4 as many times as necessary.
Advance to the next step if all the commits (viewable with `git log`) make sense together.
5. Push your commits to your fork of Nixpkgs.
```
git push --set-upstream origin HEAD
```
The above command will output a link that allows you to directly quickly do the next step:
```
remote: Create a pull request for 'update-hello' on GitHub by visiting:
remote: https://github.com/myUser/nixpkgs/pull/new/update-hello
```
6. [Create a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request#creating-the-pull-request) from the new branch in your Nixpkgs fork to the upstream Nixpkgs repository.
Use the branch from step 2 as the pull requests base branch.
Go through the [pull request template](#pull-request-template) in the pre-filled default description.
7. Respond to review comments, potential CI failures and potential merge conflicts by updating the pull request.
Always keep the pull request in a mergeable state.
The custom [OfBorg](https://github.com/NixOS/ofborg) CI system will perform various checks to help ensure code quality, whose results you can see at the bottom of the pull request.
See [the OfBorg Readme](https://github.com/NixOS/ofborg#readme) for more details.
- To add new commits, repeat steps 3-4 and push the result using
```
git push
```
- To change existing commits you will have to [rewrite Git history](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History).
Useful Git commands that can help a lot with this are `git commit --patch --amend` and `git rebase --interactive`.
With a rewritten history you need to force-push the commits using
```
git push --force-with-lease
```
- In case of merge conflicts you will also have to [rebase the branch](https://git-scm.com/book/en/v2/Git-Branching-Rebasing) on top of current `master`.
Sometimes this can be done [on GitHub directly](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/keeping-your-pull-request-in-sync-with-the-base-branch#updating-your-pull-request-branch), but if not you will have to rebase locally using
```
git fetch upstream
git rebase upstream/master
git push --force-with-lease
```
- If you need to change the base branch of the pull request, you can do so by [rebasing][rebase].
8. If your pull request is merged and [acceptable for releases][release-acceptable] you may [backport][pr-backport] the pull request.
### Pull request template
[pr-template]: #pull-request-template
The pull request template helps determine what steps have been made for a contribution so far, and will help guide maintainers on the status of a change. The motivation section of the PR should include any extra details the title does not address and link any existing issues related to the pull request.
When a PR is created, it will be pre-populated with some checkboxes detailed below:
#### Tested using sandboxing
When sandbox builds are enabled, Nix will set up an isolated environment for each build process.
It is used to remove further hidden dependencies set by the build environment to improve reproducibility.
This includes access to the network during the build outside of `fetch*` functions and files outside the Nix store.
Depending on the operating system, access to other resources is blocked as well (e.g., inter-process communication is isolated on Linux); see [sandbox](https://nixos.org/manual/nix/stable/command-ref/conf-file#conf-sandbox) in the Nix manual for details.
In pull requests for [nixpkgs](https://github.com/NixOS/nixpkgs/) people are asked to test builds with sandboxing enabled (see `Tested using sandboxing` in the pull request template) because in [Hydra](https://nixos.org/hydra/) sandboxing is also used.
If you are on Linux, sandboxing is enabled by default.
On other platforms, sandboxing is disabled by default due to a small performance hit on each build.
Please enable sandboxing **before** building the package by adding the following to: `/etc/nix/nix.conf`:
```ini
sandbox = true
```
#### Built on platform(s)
Many Nix packages are designed to run on multiple platforms. As such, its important to let the maintainer know which platforms your changes have been tested on. Its not always practical to test a change on all platforms, and is not required for a pull request to be merged. Only check the systems you tested the build on in this section.
#### Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
Packages with automated tests are much more likely to be merged in a timely fashion because it doesnt require as much manual testing by the maintainer to verify the functionality of the package. If there are existing tests for the package, they should be run to verify your changes do not break the tests. Tests can only be run on Linux. For more details on writing and running tests, see the [section in the NixOS manual](https://nixos.org/nixos/manual/index.html#sec-nixos-tests).
#### Tested compilation of all pkgs that depend on this change using `nixpkgs-review`
If you are modifying a package, you can use `nixpkgs-review` to make sure all packages that depend on the updated package still compile correctly. The `nixpkgs-review` utility can look for and build all dependencies either based on uncommitted changes with the `wip` option or specifying a GitHub pull request number.
Review changes from pull request number 12345:
```ShellSession
nix-shell -p nixpkgs-review --run "nixpkgs-review pr 12345"
```
Alternatively, with flakes (and analogously for the other commands below):
```ShellSession
nix run nixpkgs#nixpkgs-review -- pr 12345
```
Review uncommitted changes:
```ShellSession
nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
```
Review changes from last commit:
```ShellSession
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
```
#### Tested execution of all binary files (usually in `./result/bin/`)
Its important to test any executables generated by a build when you change or create a package in nixpkgs. This can be done by looking in `./result/bin` and running any files in there, or at a minimum, the main executable for the package. For example, if you make a change to texlive, you probably would only check the binaries associated with the change you made rather than testing all of them.
#### Meets Nixpkgs contribution standards
The last checkbox is about whether it fits the guidelines in this `CONTRIBUTING.md` file. This document has detailed information on standards the Nix community has for commit messages, reviews, licensing of contributions you make to the project, etc... Everyone should read and understand the standards the community has for contributing before submitting a pull request.
### Rebasing between branches (i.e. from master to staging)
[rebase]: #rebasing-between-branches-ie-from-master-to-staging
From time to time, changes between branches must be rebased, for example, if the
number of new rebuilds they would cause is too large for the target branch. When
rebasing, care must be taken to include only the intended changes, otherwise
many CODEOWNERS will be inadvertently requested for review. To achieve this,
rebasing should not be performed directly on the target branch, but on the merge
base between the current and target branch. As an additional precautionary measure,
you should temporarily mark the PR as draft for the duration of the operation.
This reduces the probability of mass-pinging people. (OfBorg might still
request a couple of persons for reviews though.)
In the following example, we assume that the current branch, called `feature`,
is based on `master`, and we rebase it onto the merge base between
`master` and `staging` so that the PR can eventually be retargeted to
`staging` without causing a mess. The example uses `upstream` as the remote for `NixOS/nixpkgs.git`
while `origin` is the remote you are pushing to.
```console
# Rebase your commits onto the common merge base
git rebase --onto upstream/staging... upstream/master
# Force push your changes
git push origin feature --force-with-lease
```
The syntax `upstream/staging...` is equivalent to `upstream/staging...HEAD` and
stands for the merge base between `upstream/staging` and `HEAD` (hence between
`upstream/staging` and `upstream/master`).
Then change the base branch in the GitHub PR using the *Edit* button in the upper
right corner, and switch from `master` to `staging`. *After* the PR has been
retargeted it might be necessary to do a final rebase onto the target branch, to
resolve any outstanding merge conflicts.
```console
# Rebase onto target branch
git rebase upstream/staging
# Review and fixup possible conflicts
git status
# Force push your changes
git push origin feature --force-with-lease
```
#### Something went wrong and a lot of people were pinged
It happens. Remember to be kind, especially to new contributors.
There is no way back, so the pull request should be closed and locked
(if possible). The changes should be re-submitted in a new PR, in which the people
originally involved in the conversation need to manually be pinged again.
No further discussion should happen on the original PR, as a lot of people
are now subscribed to it.
The following message (or a version thereof) might be left when closing to
describe the situation, since closing and locking without any explanation
is kind of rude:
```markdown
It looks like you accidentally mass-pinged a bunch of people, which are now subscribed
and getting notifications for everything in this pull request. Unfortunately, they
cannot be automatically unsubscribed from the issue (removing review request does not
unsubscribe), therefore development cannot continue in this pull request anymore.
Please open a new pull request with your changes, link back to this one and ping the
people actually involved in here over there.
In order to avoid this in the future, there are instructions for how to properly
rebase between branches in our [contribution guidelines](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#rebasing-between-branches-ie-from-master-to-staging).
Setting your pull request to draft prior to rebasing is strongly recommended.
In draft status, you can preview the list of people that are about to be requested
for review, which allows you to sidestep this issue.
This is not a bulletproof method though, as OfBorg still does review requests even on draft PRs.
```
## How to backport pull requests
[pr-backport]: #how-to-backport-pull-requests
Once a pull request has been merged into `master`, a backport pull request to the corresponding `release-YY.MM` branch can be created either automatically or manually.
### Automatically backporting changes
> [!Note]
> You have to be a [Nixpkgs maintainer](./maintainers) to automatically create a backport pull request.
Add the [`backport release-YY.MM` label](https://github.com/NixOS/nixpkgs/labels?q=backport) to the pull request on the `master` branch.
This will cause [a GitHub Action](.github/workflows/backport.yml) to open a pull request to the `release-YY.MM` branch a few minutes later.
This can be done on both open or already merged pull requests.
### Manually backporting changes
To manually create a backport pull request, follow [the standard pull request process][pr-create], with these notable differences:
- Use `release-YY.MM` for the base branch, both for the local branch and the pull request.
> [!Warning]
> Do not use the `nixos-YY.MM` branch, that is a branch pointing to the tested release channel commit
- Instead of manually making and committing the changes, use [`git cherry-pick -x`](https://git-scm.com/docs/git-cherry-pick) for each commit from the pull request you'd like to backport.
Either `git cherry-pick -x <commit>` when the reason for the backport is obvious (such as minor versions, fixes, etc.), otherwise use `git cherry-pick -xe <commit>` to add a reason for the backport to the commit message.
Here is [an example](https://github.com/nixos/nixpkgs/commit/5688c39af5a6c5f3d646343443683da880eaefb8) of this.
> [!Warning]
> Ensure the commits exists on the master branch.
> In the case of squashed or rebased merges, the commit hash will change and the new commits can be found in the merge message at the bottom of the master pull request.
- In the pull request description, link to the original pull request to `master`.
The pull request title should include `[YY.MM]` matching the release you're backporting to.
- When the backport pull request is merged and you have the necessary privileges you can also replace the label `9.needs: port to stable` with `8.has: port to stable` on the original pull request.
This way maintainers can keep track of missing backports easier.
## How to review pull requests
[pr-review]: #how-to-review-pull-requests
> [!Warning]
> The following section is a draft, and the policy for reviewing is still being discussed in issues such as [#11166](https://github.com/NixOS/nixpkgs/issues/11166) and [#20836](https://github.com/NixOS/nixpkgs/issues/20836).
The Nixpkgs project receives a fairly high number of contributions via GitHub pull requests. Reviewing and approving these is an important task and a way to contribute to the project.
The high change rate of Nixpkgs makes any pull request that remains open for too long subject to conflicts that will require extra work from the submitter or the merger. Reviewing pull requests in a timely manner and being responsive to the comments is the key to avoid this issue. GitHub provides sort filters that can be used to see the [most recently](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc) and the [least recently](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc) updated pull requests. We highly encourage looking at [this list of ready to merge, unreviewed pull requests](https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+review%3Anone+status%3Asuccess+-label%3A%222.status%3A+work-in-progress%22+no%3Aproject+no%3Aassignee+no%3Amilestone).
When reviewing a pull request, please always be nice and polite. Controversial changes can lead to controversial opinions, but it is important to respect every community member and their work.
GitHub provides reactions as a simple and quick way to provide feedback to pull requests or any comments. The thumb-down reaction should be used with care and if possible accompanied with some explanation so the submitter has directions to improve their contribution.
Pull request reviews should include a list of what has been reviewed in a comment, so other reviewers and mergers can know the state of the review.
All the review template samples provided in this section are generic and meant as examples. Their usage is optional and the reviewer is free to adapt them to their liking.
To get more information about how to review specific parts of Nixpkgs, refer to the documents linked to in the [overview section][overview].
If a pull request contains documentation changes that might require feedback from the documentation team, ping [@NixOS/documentation-team](https://github.com/orgs/nixos/teams/documentation-team) on the pull request.
If you consider having enough knowledge and experience in a topic and would like to be a long-term reviewer for related submissions, please contact the current reviewers for that topic. They will give you information about the reviewing process. The main reviewers for a topic can be hard to find as there is no list, but checking past pull requests to see who reviewed or git-blaming the code to see who committed to that topic can give some hints.
Container system, boot system and library changes are some examples of the pull requests fitting this category.
## How to merge pull requests
[pr-merge]: #how-to-merge-pull-requests
To streamline automated updates, leverage the nixpkgs-merge-bot by simply commenting `@NixOS/nixpkgs-merge-bot merge`. The bot will verify if the following conditions are met, refusing to merge otherwise:
- the commenter that issued the command should be among the package maintainers;
- the package should reside in `pkgs/by-name`.
Further, nixpkgs-merge-bot will ensure all ofBorg checks (except the Darwin-related ones) are successfully completed before merging the pull request. Should the checks still be underway, the bot patiently waits for ofBorg to finish before attempting the merge again.
For other pull requests, the *Nixpkgs committers* are people who have been given
permission to merge.
It is possible for community members that have enough knowledge and experience on a special topic to contribute by merging pull requests.
In case the PR is stuck waiting for the original author to apply a trivial
change (a typo, capitalisation change, etc.) and the author allowed the members
to modify the PR, consider applying it yourself (or commit the existing review
suggestion). You should pay extra attention to make sure the addition doesn't go
against the idea of the original PR and would not be opposed by the author.
<!--
The following paragraphs about how to deal with unactive contributors is just a proposition and should be modified to what the community agrees to be the right policy.
Please note that contributors with commit rights unactive for more than three months will have their commit rights revoked.
-->
Please see the discussion in [GitHub nixpkgs issue #50105](https://github.com/NixOS/nixpkgs/issues/50105) for information on how to proceed to be granted this level of access.
In a case a contributor definitively leaves the Nix community, they should create an issue or post on [Discourse](https://discourse.nixos.org) with references of packages and modules they maintain so the maintainership can be taken over by other contributors.
# Flow of merged pull requests
After a pull request is merged, it eventually makes it to the [official Hydra CI](https://hydra.nixos.org/).
Hydra regularly evaluates and builds Nixpkgs, updating [the official channels](https://channels.nixos.org/) when specific Hydra jobs succeeded.
See [Nix Channel Status](https://status.nixos.org/) for the current channels and their state.
Here's a brief overview of the main Git branches and what channels they're used for:
- `master`: The main branch, used for the unstable channels such as `nixpkgs-unstable`, `nixos-unstable` and `nixos-unstable-small`.
- `release-YY.MM` (e.g. `release-24.05`): The NixOS release branches, used for the stable channels such as `nixos-24.05`, `nixos-24.05-small` and `nixpkgs-24.05-darwin`.
When a channel is updated, a corresponding Git branch is also updated to point to the corresponding commit.
So e.g. the [`nixpkgs-unstable` branch](https://github.com/nixos/nixpkgs/tree/nixpkgs-unstable) corresponds to the Git commit from the [`nixpkgs-unstable` channel](https://channels.nixos.org/nixpkgs-unstable).
Nixpkgs in its entirety is tied to the NixOS release process, which is documented in the [NixOS Release Wiki](https://nixos.github.io/release-wiki/).
See [this section][branch] to know when to use the release branches.
## Staging
[staging]: #staging
The staging workflow exists to batch Hydra builds of many packages together.
It is coordinated in the [Staging room](https://matrix.to/#/#staging:nixos.org) on Matrix.
It works by directing commits that cause [mass rebuilds][mass-rebuild] to a separate `staging` branch that isn't directly built by Hydra.
Regularly, the `staging` branch is _manually_ merged into a `staging-next` branch to be built by Hydra using the [`nixpkgs:staging-next` jobset](https://hydra.nixos.org/jobset/nixpkgs/staging-next).
The `staging-next` branch should then only receive changes that fix Hydra builds;
**for anything else, ask the [Staging room](https://matrix.to/#/#staging:nixos.org) first**.
Once it is verified that there are no major regressions, it is merged into `master` using [a pull request](https://github.com/NixOS/nixpkgs/pulls?q=head%3Astaging-next).
This is done manually in order to ensure it's a good use of Hydra's computing resources.
By keeping the `staging-next` branch separate from `staging`, this batching does not block developers from merging changes into `staging`.
In order for the `staging` and `staging-next` branches to be up-to-date with the latest commits on `master`, there are regular _automated_ merges from `master` into `staging-next` and `staging`.
This is implemented using GitHub workflows [here](.github/workflows/periodic-merge-6h.yml) and [here](.github/workflows/periodic-merge-24h.yml).
> [!Note]
> Changes must be sufficiently tested before being merged into any branch.
> Hydra builds should not be used as testing platform.
Here is a Git history diagram showing the flow of commits between the three branches:
```mermaid
%%{init: {
'theme': 'base',
'themeVariables': {
'gitInv0': '#ff0000',
'gitInv1': '#ff0000',
'git2': '#ff4444',
'commitLabelFontSize': '15px'
},
'gitGraph': {
'showCommitLabel':true,
'mainBranchName': 'master',
'rotateCommitLabel': true
}
} }%%
gitGraph
commit id:" "
branch staging-next
branch staging
checkout master
checkout staging
checkout master
commit id:" "
checkout staging-next
merge master id:"automatic"
checkout staging
merge staging-next id:"automatic "
checkout staging-next
merge staging type:HIGHLIGHT id:"manual"
commit id:"fixup"
checkout master
checkout staging
checkout master
commit id:" "
checkout staging-next
merge master id:"automatic "
checkout staging
merge staging-next id:"automatic "
checkout staging-next
commit id:"fixup "
checkout master
merge staging-next type:HIGHLIGHT id:"manual (PR)"
```
Here's an overview of the different branches:
| branch | `master` | `staging-next` | `staging` |
| --- | --- | --- | --- |
| Used for development | ✔️ | ❌ | ✔️ |
| Built by Hydra | ✔️ | ✔️ | ❌ |
| [Mass rebuilds][mass-rebuild] | ❌ | ⚠️ Only to fix Hydra builds | ✔️ |
| Critical security fixes | ✔️ for non-mass-rebuilds | ✔️ for mass-rebuilds | ❌ |
| Automatically merged into | `staging-next` | `staging` | - |
| Manually merged into | - | `master` | `staging-next` |
The staging workflow is used for all main branches, `master` and `release-YY.MM`, with corresponding names:
- `master`/`release-YY.MM`
- `staging`/`staging-YY.MM`
- `staging-next`/`staging-next-YY.MM`
# Conventions
## Branch conventions
<!-- This section is relevant to both contributors and reviewers -->
[branch]: #branch-conventions
Most changes should go to the `master` branch, but sometimes other branches should be used instead.
Use the following decision process to figure out which one it should be:
Is the change [acceptable for releases][release-acceptable] and do you wish to have the change in the release?
- No: Use the `master` branch, do not backport the pull request.
- Yes: Can the change be implemented the same way on the `master` and release branches?
For example, a packages major version might differ between the `master` and release branches, such that separate security patches are required.
- Yes: Use the `master` branch and [backport the pull request](#how-to-backport-pull-requests).
- No: Create separate pull requests to the `master` and `release-XX.YY` branches.
Furthermore, if the change causes a [mass rebuild][mass-rebuild], use the appropriate staging branch instead:
- Mass rebuilds to `master` should go to `staging` instead.
- Mass rebuilds to `release-XX.YY` should go to `staging-XX.YY` instead.
See [this section][staging] for more details about such changes propagate between the branches.
### Changes acceptable for releases
[release-acceptable]: #changes-acceptable-for-releases
Only changes to supported releases may be accepted.
The oldest supported release (`YYMM`) can be found using
```
nix-instantiate --eval -A lib.trivial.oldestSupportedRelease
```
The release branches should generally only receive backwards-compatible changes, both for the Nix expressions and derivations.
Here are some examples of backwards-compatible changes that are okay to backport:
- ✔️ New packages, modules and functions
- ✔️ Security fixes
- ✔️ Package version updates
- ✔️ Patch versions with fixes
- ✔️ Minor versions with new functionality, but no breaking changes
In addition, major package version updates with breaking changes are also acceptable for:
- ✔️ Services that would fail without up-to-date client software, such as `spotify`, `steam`, and `discord`
- ✔️ Security critical applications, such as `firefox` and `chromium`
### Changes causing mass rebuilds
[mass-rebuild]: #changes-causing-mass-rebuilds
Which changes cause mass rebuilds is not formally defined.
In order to help the decision, CI automatically assigns [`rebuild` labels](https://github.com/NixOS/nixpkgs/labels?q=rebuild) to pull requests based on the number of packages they cause rebuilds for.
As a rule of thumb, if the number of rebuilds is **over 500**, it can be considered a mass rebuild.
To get a sense for what changes are considered mass rebuilds, see [previously merged pull requests to the staging branches](https://github.com/NixOS/nixpkgs/issues?q=base%3Astaging+-base%3Astaging-next+is%3Amerged).
## Commit conventions
[commit-conventions]: #commit-conventions
- Create a commit for each logical unit.
- Check for unnecessary whitespace with `git diff --check` before committing.
- If you have commits `pkg-name: oh, forgot to insert whitespace`: squash commits in this case. Use `git rebase -i`.
See [Squashing Commits](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#_squashing) for additional information.
- For consistency, there should not be a period at the end of the commit message's summary line (the first line of the commit message).
- When adding yourself as maintainer in the same pull request, make a separate
commit with the message `maintainers: add <handle>`.
Add the commit before those making changes to the package or module.
See [Nixpkgs Maintainers](./maintainers/README.md) for details.
- Make sure you read about any commit conventions specific to the area you're touching. See:
- [Commit conventions](./pkgs/README.md#commit-conventions) for changes to `pkgs`.
- [Commit conventions](./lib/README.md#commit-conventions) for changes to `lib`.
- [Commit conventions](./nixos/README.md#commit-conventions) for changes to `nixos`.
- [Commit conventions](./doc/README.md#commit-conventions) for changes to `doc`, the Nixpkgs manual.
### Writing good commit messages
In addition to writing properly formatted commit messages, it's important to include relevant information so other developers can later understand *why* a change was made. While this information usually can be found by digging code, mailing list/Discourse archives, pull request discussions or upstream changes, it may require a lot of work.
Package version upgrades usually allow for simpler commit messages, including attribute name, old and new version, as well as a reference to the relevant release notes/changelog. Every once in a while a package upgrade requires more extensive changes, and that subsequently warrants a more verbose message.
Pull requests should not be squash merged in order to keep complete commit messages and GPG signatures intact and must not be when the change doesn't make sense as a single commit.
## Code conventions
[code-conventions]: #code-conventions
### Release notes
If you removed packages or made some major NixOS changes, write about it in the release notes for the next stable release in [`nixos/doc/manual/release-notes`](./nixos/doc/manual/release-notes).
### File naming and organisation
Names of files and directories should be in lowercase, with dashes between words — not in camel case. For instance, it should be `all-packages.nix`, not `allPackages.nix` or `AllPackages.nix`.
### Syntax
- Set up [editorconfig](https://editorconfig.org/) for your editor, such that [the settings](./.editorconfig) are automatically applied.
- Use `lowerCamelCase` for variable names, not `UpperCamelCase`. Note, this rule does not apply to package attribute names, which instead follow the rules in [package naming](./pkgs/README.md#package-naming).
- New files must be formatted by entering the `nix-shell` from the repository root and running `nixfmt`.
- Functions should list their expected arguments as precisely as possible. That is, write
```nix
{ stdenv, fetchurl, perl }: <...>
```
instead of
```nix
args: with args; <...>
```
or
```nix
{ stdenv, fetchurl, perl, ... }: <...>
```
For functions that are truly generic in the number of arguments (such as wrappers around `mkDerivation`) that have some required arguments, you should write them using an `@`-pattern:
```nix
{ stdenv, doCoverageAnalysis ? false, ... } @ args:
stdenv.mkDerivation (args // {
foo = if doCoverageAnalysis then "bla" else "";
})
```
instead of
```nix
args:
args.stdenv.mkDerivation (args // {
foo = if args ? doCoverageAnalysis && args.doCoverageAnalysis then "bla" else "";
})
```
- Unnecessary string conversions should be avoided. Do
```nix
{
rev = version;
}
```
instead of
```nix
{
rev = "${version}";
}
```
- Building lists conditionally _should_ be done with `lib.optional(s)` instead of using `if cond then [ ... ] else null` or `if cond then [ ... ] else [ ]`.
```nix
{
buildInputs = lib.optional stdenv.isDarwin iconv;
}
```
instead of
```nix
{
buildInputs = if stdenv.isDarwin then [ iconv ] else null;
}
```
As an exception, an explicit conditional expression with null can be used when fixing a important bug without triggering a mass rebuild.
If this is done a follow up pull request _should_ be created to change the code to `lib.optional(s)`.

View File

@@ -1,4 +1,4 @@
Copyright (c) 2003-2024 Eelco Dolstra and the Nixpkgs/NixOS contributors
Copyright (c) 2003-2020 Eelco Dolstra and the Nixpkgs/NixOS contributors
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the

View File

@@ -1,20 +1,14 @@
<p align="center">
<a href="https://nixos.org">
<picture>
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/NixOS/nixos-homepage/main/public/logo/nixos-hires.png">
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/master/logo/nixos-white.png">
<img src="https://raw.githubusercontent.com/NixOS/nixos-homepage/main/public/logo/nixos-hires.png" width="500px" alt="NixOS logo">
</picture>
</a>
<a href="https://nixos.org/nixos"><img src="https://nixos.org/logo/nixos-hires.png" width="500px" alt="NixOS logo" /></a>
</p>
<p align="center">
<a href="https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md"><img src="https://img.shields.io/github/contributors-anon/NixOS/nixpkgs" alt="Contributors badge" /></a>
<a href="https://opencollective.com/nixos"><img src="https://opencollective.com/nixos/tiers/supporter/badge.svg?label=supporters&color=brightgreen" alt="Open Collective supporters" /></a>
<a href="https://www.codetriage.com/nixos/nixpkgs"><img src="https://www.codetriage.com/nixos/nixpkgs/badges/users.svg" alt="Code Triagers badge" /></a>
<a href="https://opencollective.com/nixos"><img src="https://opencollective.com/nixos/tiers/supporter/badge.svg?label=Supporter&color=brightgreen" alt="Open Collective supporters" /></a>
</p>
[Nixpkgs](https://github.com/nixos/nixpkgs) is a collection of over
100,000 software packages that can be installed with the
40,000 software packages that can be installed with the
[Nix](https://nixos.org/nix/) package manager. It also implements
[NixOS](https://nixos.org/nixos/), a purely-functional Linux distribution.
@@ -27,10 +21,9 @@
# Community
* [Discourse Forum](https://discourse.nixos.org/)
* [Matrix Chat](https://matrix.to/#/#community:nixos.org)
* [IRC - #nixos on freenode.net](irc://irc.freenode.net/#nixos)
* [NixOS Weekly](https://weekly.nixos.org/)
* [Official wiki](https://wiki.nixos.org/)
* [Community-maintained list of ways to get in touch](https://wiki.nixos.org/wiki/Get_In_Touch#Chat) (Discord, Telegram, IRC, etc.)
* [Community-maintained wiki](https://nixos.wiki/)
# Other Project Repositories
@@ -40,7 +33,6 @@ the main ones:
* [Nix](https://github.com/NixOS/nix) - the purely functional package manager
* [NixOps](https://github.com/NixOS/nixops) - the tool to remotely deploy NixOS machines
* [nixos-hardware](https://github.com/NixOS/nixos-hardware) - NixOS profiles to optimize settings for different hardware
* [Nix RFCs](https://github.com/NixOS/rfcs) - the formal process for making substantial changes to the community
* [NixOS homepage](https://github.com/NixOS/nixos-homepage) - the [NixOS.org](https://nixos.org) website
* [hydra](https://github.com/NixOS/hydra) - our continuous integration system
@@ -52,29 +44,48 @@ Nixpkgs and NixOS are built and tested by our continuous integration
system, [Hydra](https://hydra.nixos.org/).
* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
* [Continuous package builds for the NixOS 24.05 release](https://hydra.nixos.org/jobset/nixos/release-24.05)
* [Continuous package builds for the NixOS 20.03 release](https://hydra.nixos.org/jobset/nixos/release-20.03)
* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
* [Tests for the NixOS 24.05 release](https://hydra.nixos.org/job/nixos/release-24.05/tested#tabs-constituents)
* [Tests for the NixOS 20.03 release](https://hydra.nixos.org/job/nixos/release-20.03/tested#tabs-constituents)
Artifacts successfully built with Hydra are published to cache at
https://cache.nixos.org/. When successful build and test criteria are
met, the Nixpkgs expressions are distributed via [Nix
channels](https://nixos.org/manual/nix/stable/package-management/channels.html).
channels](https://nixos.org/nix/manual/#sec-channels).
# Contributing
Nixpkgs is among the most active projects on GitHub. While thousands
of open issues and pull requests might seem a lot at first, it helps
consider it in the context of the scope of the project. Nixpkgs
describes how to build tens of thousands of pieces of software and implements a
describes how to build over 40,000 pieces of software and implements a
Linux distribution. The [GitHub Insights](https://github.com/NixOS/nixpkgs/pulse)
page gives a sense of the project activity.
Community contributions are always welcome through GitHub Issues and
Pull Requests.
Pull Requests. When pull requests are made, our tooling automation bot,
[OfBorg](https://github.com/NixOS/ofborg) will perform various checks
to help ensure expression quality.
The *Nixpkgs maintainers* are people who have assigned themselves to
maintain specific individual packages. We encourage people who care
about a package to assign themselves as a maintainer. When a pull
request is made against a package, OfBorg will notify the appropriate
maintainer(s). The *Nixpkgs committers* are people who have been given
permission to merge.
Most contributions are based on and merged into these branches:
* `master` is the main branch where all small contributions go
* `staging` is branched from master, changes that have a big impact on
Hydra builds go to this branch
* `staging-next` is branched from staging and only fixes to stabilize
and security fixes with a big impact on Hydra builds should be
contributed to this branch. This branch is merged into master when
deemed of sufficiently high quality
For more information about contributing to the project, please visit
the [contributing page](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).
the [contributing page](https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md).
# Donations
@@ -84,8 +95,7 @@ Foundation](https://nixos.org/nixos/foundation.html). To ensure the
continuity and expansion of the NixOS infrastructure, we are looking
for donations to our organization.
You can donate to the NixOS foundation through [SEPA bank
transfers](https://nixos.org/donate.html) or by using Open Collective:
You can donate to the NixOS foundation by using Open Collective:
<a href="https://opencollective.com/nixos#support"><img src="https://opencollective.com/nixos/tiers/supporter.svg?width=890" /></a>

View File

@@ -1,12 +0,0 @@
# CI support files
This directory contains files to support CI, such as [GitHub Actions](https://github.com/NixOS/nixpkgs/tree/master/.github/workflows) and [Ofborg](https://github.com/nixos/ofborg).
This is in contrast with [`maintainers/scripts`](`../maintainers/scripts`) which is for human use instead.
## Pinned Nixpkgs
CI may need certain packages from Nixpkgs.
In order to ensure that the needed packages are generally available without building,
[`pinned-nixpkgs.json`](./pinned-nixpkgs.json) contains a pinned Nixpkgs version tested by Hydra.
Run [`update-pinned-nixpkgs.sh`](./update-pinned-nixpkgs.sh) to update it.

View File

@@ -1,4 +0,0 @@
{
"rev": "521d48afa9ae596930a95325529df27fa7135ff5",
"sha256": "0a1pa5azw990narsfipdli1wng4nc3vhvrp00hb8v1qfchcq7dc9"
}

View File

@@ -1,17 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p jq
set -euo pipefail
# https://stackoverflow.com/a/246128
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
repo=https://github.com/nixos/nixpkgs
branch=nixpkgs-unstable
file=$SCRIPT_DIR/pinned-nixpkgs.json
defaultRev=$(git ls-remote "$repo" refs/heads/"$branch" | cut -f1)
rev=${1:-$defaultRev}
sha256=$(nix-prefetch-url --unpack "$repo/archive/$rev.tar.gz" --name source)
jq -n --arg rev "$rev" --arg sha256 "$sha256" '$ARGS.named' | tee /dev/stderr > $file

View File

@@ -14,7 +14,7 @@ if ! builtins ? nixVersion || builtins.compareVersions requiredVersion builtins.
- If you installed Nix using the install script (https://nixos.org/nix/install),
it is safe to upgrade by running it again:
curl -L https://nixos.org/nix/install | sh
curl https://nixos.org/nix/install | sh
For more information, please see the NixOS release notes at
https://nixos.org/nixos/manual or locally at

8
doc/.gitignore vendored Normal file
View File

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

110
doc/Makefile Normal file
View File

@@ -0,0 +1,110 @@
MD_TARGETS=$(addsuffix .xml, $(basename $(wildcard ./*.md ./**/*.md)))
.PHONY: all
all: validate format out/html/index.html out/epub/manual.epub
.PHONY: debug
debug:
nix-shell --run "xmloscopy --docbook5 ./manual.xml ./manual-full.xml"
.PHONY: format
format: doc-support/result
find . -iname '*.xml' -type f | while read f; do \
echo $$f ;\
xmlformat --config-file "doc-support/result/xmlformat.conf" -i $$f ;\
done
.PHONY: fix-misc-xml
fix-misc-xml:
find . -iname '*.xml' -type f \
-exec ../nixos/doc/varlistentry-fixer.rb {} ';'
.PHONY: clean
clean:
rm -f ${MD_TARGETS} doc-support/result .version manual-full.xml functions/library/locations.xml functions/library/generated
rm -rf ./out/ ./highlightjs
.PHONY: validate
validate: manual-full.xml doc-support/result
jing doc-support/result/docbook.rng manual-full.xml
out/html/index.html: doc-support/result manual-full.xml style.css highlightjs
mkdir -p out/html
xsltproc \
--nonet --xinclude \
--output $@ \
doc-support/result/xhtml.xsl \
./manual-full.xml
mkdir -p out/html/highlightjs/
cp -r highlightjs out/html/
cp ./overrides.css out/html/
cp ./style.css out/html/style.css
mkdir -p out/html/images/callouts
cp doc-support/result/xsl/docbook/images/callouts/*.svg out/html/images/callouts/
chmod u+w -R out/html/
out/epub/manual.epub: manual-full.xml
mkdir -p out/epub/scratch
xsltproc --nonet \
--output out/epub/scratch/ \
doc-support/result/epub.xsl \
./manual-full.xml
cp ./overrides.css out/epub/scratch/OEBPS
cp ./style.css out/epub/scratch/OEBPS
mkdir -p out/epub/scratch/OEBPS/images/callouts/
cp doc-support/result/xsl/docbook/images/callouts/*.svg out/epub/scratch/OEBPS/images/callouts/
echo "application/epub+zip" > mimetype
zip -0Xq "out/epub/manual.epub" mimetype
rm mimetype
cd "out/epub/scratch/" && zip -Xr9D "../manual.epub" *
rm -rf "out/epub/scratch/"
highlightjs: doc-support/result
mkdir -p highlightjs
cp -r doc-support/result/highlightjs/highlight.pack.js highlightjs/
cp -r doc-support/result/highlightjs/LICENSE highlightjs/
cp -r doc-support/result/highlightjs/mono-blue.css highlightjs/
cp -r doc-support/result/highlightjs/loader.js highlightjs/
manual-full.xml: ${MD_TARGETS} .version functions/library/locations.xml functions/library/generated *.xml **/*.xml **/**/*.xml
xmllint --nonet --xinclude --noxincludenode manual.xml --output manual-full.xml
.version: doc-support/result
ln -rfs ./doc-support/result/version .version
doc-support/result: doc-support/default.nix
(cd doc-support; nix-build)
functions/library/locations.xml: doc-support/result
ln -rfs ./doc-support/result/function-locations.xml functions/library/locations.xml
functions/library/generated: doc-support/result
ln -rfs ./doc-support/result/function-docs functions/library/generated
%.section.xml: %.section.md
pandoc $^ -w docbook+smart \
-f markdown+smart \
| sed -e 's|<ulink url=|<link xlink:href=|' \
-e 's|</ulink>|</link>|' \
-e 's|<sect. id=|<section xml:id=|' \
-e 's|</sect[0-9]>|</section>|' \
-e '1s| id=| xml:id=|' \
-e '1s|\(<[^ ]* \)|\1xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" |' \
| cat > $@
%.chapter.xml: %.chapter.md
pandoc $^ -w docbook+smart \
--top-level-division=chapter \
-f markdown+smart \
| sed -e 's|<ulink url=|<link xlink:href=|' \
-e 's|</ulink>|</link>|' \
-e 's|<sect. id=|<section xml:id=|' \
-e 's|</sect[0-9]>|</section>|' \
-e '1s| id=| xml:id=|' \
-e '1s|\(<[^ ]* \)|\1|' \
| cat > $@

View File

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

View File

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

9
doc/anchor.min.js vendored

File diff suppressed because one or more lines are too long

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,60 +0,0 @@
# buildFHSEnv {#sec-fhs-environments}
`buildFHSEnv` provides a way to build and run FHS-compatible lightweight sandboxes. It creates an isolated root filesystem with the host's `/nix/store`, so its footprint in terms of disk space is quite small. This allows you to run software which is hard or unfeasible to patch for NixOS; 3rd-party source trees with FHS assumptions, games distributed as tarballs, software with integrity checking and/or external self-updated binaries for instance.
It uses Linux' namespaces feature to create temporary lightweight environments which are destroyed after all child processes exit, without requiring elevated privileges. It works similar to containerisation technology such as Docker or FlatPak but provides no security-relevant separation from the host system.
Accepted arguments are:
- `name`
The name of the environment, and the wrapper executable if `pname` is unset.
- `pname`
The pname of the environment and the wrapper executable.
- `version`
The version of the environment.
- `targetPkgs`
Packages to be installed for the main host's architecture (i.e. x86_64 on x86_64 installations). Along with libraries binaries are also installed.
- `multiPkgs`
Packages to be installed for all architectures supported by a host (i.e. i686 and x86_64 on x86_64 installations). Only libraries are installed by default.
- `multiArch`
Whether to install 32bit multiPkgs into the FHSEnv in 64bit environments
- `extraBuildCommands`
Additional commands to be executed for finalizing the directory structure.
- `extraBuildCommandsMulti`
Like `extraBuildCommands`, but executed only on multilib architectures.
- `extraOutputsToInstall`
Additional derivation outputs to be linked for both target and multi-architecture packages.
- `extraInstallCommands`
Additional commands to be executed for finalizing the derivation with runner script.
- `runScript`
A shell command to be executed inside the sandbox. It defaults to `bash`. Command line arguments passed to the resulting wrapper are appended to this command by default.
This command must be escaped; i.e. `"foo app" --do-stuff --with "some file"`. See `lib.escapeShellArgs`.
- `profile`
Optional script for `/etc/profile` within the sandbox.
You can create a simple environment using a `shell.nix` like this:
```nix
{ pkgs ? import <nixpkgs> {} }:
(pkgs.buildFHSEnv {
name = "simple-x11-env";
targetPkgs = pkgs: (with pkgs; [
udev
alsa-lib
]) ++ (with pkgs.xorg; [
libX11
libXcursor
libXrandr
]);
multiPkgs = pkgs: (with pkgs; [
udev
alsa-lib
]);
runScript = "bash";
}).env
```
Running `nix-shell` on it would drop you into a shell inside an FHS env where those libraries and binaries are available in FHS-compliant paths. Applications that expect an FHS structure (i.e. proprietary binaries) can run inside this environment without modification.
You can build a wrapper by running your binary in `runScript`, e.g. `./bin/start.sh`. Relative paths work as expected.
Additionally, the FHS builder links all relocated gsettings-schemas (the glib setup-hook moves them to `share/gsettings-schemas/${name}/glib-2.0/schemas`) to their standard FHS location. This means you don't need to wrap binaries with `wrapGApps*` hook.

View File

@@ -1,55 +0,0 @@
# pkgs.makeSetupHook {#sec-pkgs.makeSetupHook}
`pkgs.makeSetupHook` is a build helper that produces hooks that go in to `nativeBuildInputs`
## Usage {#sec-pkgs.makeSetupHook-usage}
```nix
pkgs.makeSetupHook {
name = "something-hook";
propagatedBuildInputs = [ pkgs.commandsomething ];
depsTargetTargetPropagated = [ pkgs.libsomething ];
} ./script.sh;
```
### setup hook that depends on the hello package and runs hello and @shell@ is substituted with path to bash {#sec-pkgs.makeSetupHook-usage-example}
```nix
pkgs.makeSetupHook
{
name = "run-hello-hook";
# Put dependencies here if they have hooks or necessary dependencies propagated
# otherwise prefer direct paths to executables.
propagatedBuildInputs = [
pkgs.hello
pkgs.cowsay
];
substitutions = {
shell = "${pkgs.bash}/bin/bash";
cowsay = "${pkgs.cowsay}/bin/cowsay";
};
}
(
writeScript "run-hello-hook.sh" ''
#!@shell@
# the direct path to the executable has to be here because
# this will be run when the file is sourced
# at which point '$PATH' has not yet been populated with inputs
@cowsay@ cow
_printHelloHook() {
hello
}
preConfigureHooks+=(_printHelloHook)
''
);
```
## Attributes {#sec-pkgs.makeSetupHook-attributes}
* `name` Set the name of the hook.
* `propagatedBuildInputs` Runtime dependencies (such as binaries) of the hook.
* `depsTargetTargetPropagated` Non-binary dependencies.
* `meta`
* `passthru`
* `substitutions` Variables for `substituteAll`

View File

@@ -1,41 +0,0 @@
# pkgs.mkShell {#sec-pkgs-mkShell}
`pkgs.mkShell` is a specialized `stdenv.mkDerivation` that removes some
repetition when using it with `nix-shell` (or `nix develop`).
## Usage {#sec-pkgs-mkShell-usage}
Here is a common usage example:
```nix
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
packages = [ pkgs.gnumake ];
inputsFrom = [ pkgs.hello pkgs.gnutar ];
shellHook = ''
export DEBUG=1
'';
}
```
## Attributes {#sec-pkgs-mkShell-attributes}
* `name` (default: `nix-shell`). Set the name of the derivation.
* `packages` (default: `[]`). Add executable packages to the `nix-shell` environment.
* `inputsFrom` (default: `[]`). Add build dependencies of the listed derivations to the `nix-shell` environment.
* `shellHook` (default: `""`). Bash statements that are executed by `nix-shell`.
... all the attributes of `stdenv.mkDerivation`.
## Variants {#sec-pkgs-mkShell-variants}
`pkgs.mkShellNoCC` is a variant that uses `stdenvNoCC` instead of `stdenv` as base environment. This is useful if no C compiler is needed in the shell environment.
## Building the shell {#sec-pkgs-mkShell-building}
This derivation output will contain a text file that contains a reference to
all the build inputs. This is useful in CI where we want to make sure that
every derivation, and its dependencies, build properly. Or when creating a GC
root so that the build dependencies don't get garbage-collected.

View File

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

View File

@@ -1,406 +0,0 @@
# Testers {#chap-testers}
This chapter describes several testing builders which are available in the `testers` namespace.
## `hasPkgConfigModules` {#tester-hasPkgConfigModules}
<!-- Old anchor name so links still work -->
[]{#tester-hasPkgConfigModule}
Checks whether a package exposes a given list of `pkg-config` modules.
If the `moduleNames` argument is omitted, `hasPkgConfigModules` will use `meta.pkgConfigModules`.
:::{.example #ex-haspkgconfigmodules-defaultvalues}
# Check that `pkg-config` modules are exposed using default values
```nix
{
passthru.tests.pkg-config = testers.hasPkgConfigModules {
package = finalAttrs.finalPackage;
};
meta.pkgConfigModules = [ "libfoo" ];
}
```
:::
:::{.example #ex-haspkgconfigmodules-explicitmodules}
# Check that `pkg-config` modules are exposed using explicit module names
```nix
{
passthru.tests.pkg-config = testers.hasPkgConfigModules {
package = finalAttrs.finalPackage;
moduleNames = [ "libfoo" ];
};
}
```
:::
## `lycheeLinkCheck` {#tester-lycheeLinkCheck}
Check a packaged static site's links with the [`lychee` package](https://search.nixos.org/packages?show=lychee&type=packages&query=lychee).
You may use Nix to reproducibly build static websites, such as for software documentation.
Some packages will install documentation in their `out` or `doc` outputs, or maybe you have dedicated package where you've made your static site reproducible by running a generator, such as [Hugo](https://gohugo.io/) or [mdBook](https://rust-lang.github.io/mdBook/), in a derivation.
If you have a static site that can be built with Nix, you can use `lycheeLinkCheck` to check that the hyperlinks in your site are correct, and do so as part of your Nix workflow and CI.
:::{.example #ex-lycheelinkcheck}
# Check hyperlinks in the `nix` documentation
```nix
testers.lycheeLinkCheck {
site = nix.doc + "/share/doc/nix/manual";
}
```
:::
### Return value {#tester-lycheeLinkCheck-return}
This tester produces a package that does not produce useful outputs, but only succeeds if the hyperlinks in your site are correct. The build log will list the broken links.
It has two modes:
- Build the returned derivation; its build process will check that internal hyperlinks are correct. This runs in the sandbox, so it will not check external hyperlinks, but it is quick and reliable.
- Invoke the `.online` attribute with [`nix run`](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-run) ([experimental](https://nixos.org/manual/nix/stable/contributing/experimental-features#xp-feature-nix-command)). This runs outside the sandbox, and checks that both internal and external hyperlinks are correct.
Example:
```shell
nix run nixpkgs#lychee.tests.ok.online
```
### Inputs {#tester-lycheeLinkCheck-inputs}
`site` (path or derivation) {#tester-lycheeLinkCheck-param-site}
: The path to the files to check.
`remap` (attribe set, optional) {#tester-lycheeLinkCheck-param-remap}
: An attribute set where the attribute names are regular expressions.
The values should be strings, derivations, or path values.
In the returned check's default configuration, external URLs are only checked when you run the `.online` attribute.
By adding remappings, you can check offline that URLs to external resources are correct, by providing a stand-in from the file system.
Before checking the existence of a URL, the regular expressions are matched and replaced by their corresponding values.
Example:
```nix
{
"https://nix\\.dev/manual/nix/[a-z0-9.-]*" = "${nix.doc}/share/doc/nix/manual";
"https://nixos\\.org/manual/nix/(un)?stable" = "${emptyDirectory}/placeholder-to-disallow-old-nix-docs-urls";
}
```
Store paths in the attribute values are automatically prefixed with `file://`, because lychee requires this for paths in the file system.
If this is a problem, or if you need to control the order in which replacements are performed, use `extraConfig.remap` instead.
`extraConfig` (attribute set) {#tester-lycheeLinkCheck-param-extraConfig}
: Extra configuration to pass to `lychee` in its [configuration file](https://github.com/lycheeverse/lychee/blob/master/lychee.example.toml).
It is automatically [translated](https://nixos.org/manual/nixos/stable/index.html#sec-settings-nix-representable) to TOML.
Example: `{ "include_verbatim" = true; }`
`lychee` (derivation, optional) {#tester-lycheeLinkCheck-param-lychee}
: The `lychee` package to use.
## `shellcheck` {#tester-shellcheck}
Runs files through `shellcheck`, a static analysis tool for shell scripts.
:::{.example #ex-shellcheck}
# Run `testers.shellcheck`
A single script
```nix
testers.shellcheck {
name = "shellcheck";
src = ./script.sh;
}
```
Multiple files
```nix
let
inherit (lib) fileset;
in
testers.shellcheck {
name = "shellcheck";
src = fileset.toSource {
root = ./.;
fileset = fileset.unions [
./lib.sh
./nixbsd-activate
];
};
}
```
:::
### Inputs {#tester-shellcheck-inputs}
[`src` (path or string)]{#tester-shellcheck-param-src}
: The path to the shell script(s) to check.
This can be a single file or a directory containing shell files.
All files in `src` will be checked, so you may want to provide `fileset`-based source instead of a whole directory.
### Return value {#tester-shellcheck-return}
A derivation that runs `shellcheck` on the given script(s).
The build will fail if `shellcheck` finds any issues.
## `testVersion` {#tester-testVersion}
Checks that the output from running a command contains the specified version string in it as a whole word.
NOTE: In most cases, [`versionCheckHook`](#versioncheckhook) should be preferred, but this function is provided and documented here anyway. The motivation for adding either tests would be:
- Catch dynamic linking errors and such and missing environment variables that should be added by wrapping.
- Probable protection against accidentally building the wrong version, for example when using an "old" hash in a fixed-output derivation.
By default, the command to be run will be inferred from the given `package` attribute:
it will check `meta.mainProgram` first, and fall back to `pname` or `name`.
The default argument to the command is `--version`, and the version to be checked will be inferred from the given `package` attribute as well.
:::{.example #ex-testversion-hello}
# Check a program version using all the default values
This example will run the command `hello --version`, and then check that the version of the `hello` package is in the output of the command.
```nix
{
passthru.tests.version = testers.testVersion { package = hello; };
}
```
:::
:::{.example #ex-testversion-different-commandversion}
# Check the program version using a specified command and expected version string
This example will run the command `leetcode -V`, and then check that `leetcode 0.4.2` is in the output of the command as a whole word (separated by whitespaces).
This means that an output like "leetcode 0.4.21" would fail the tests, and an output like "You're running leetcode 0.4.2" would pass the tests.
A common usage of the `version` attribute is to specify `version = "v${version}"`.
```nix
{
version = "0.4.2";
passthru.tests.version = testers.testVersion {
package = leetcode-cli;
command = "leetcode -V";
version = "leetcode ${version}";
};
}
```
:::
## `testBuildFailure` {#tester-testBuildFailure}
Make sure that a build does not succeed. This is useful for testing testers.
This returns a derivation with an override on the builder, with the following effects:
- Fail the build when the original builder succeeds
- Move `$out` to `$out/result`, if it exists (assuming `out` is the default output)
- Save the build log to `$out/testBuildFailure.log` (same)
While `testBuildFailure` is designed to keep changes to the original builder's environment to a minimum, some small changes are inevitable:
- The file `$TMPDIR/testBuildFailure.log` is present. It should not be deleted.
- `stdout` and `stderr` are a pipe instead of a tty. This could be improved.
- One or two extra processes are present in the sandbox during the original builder's execution.
- The derivation and output hashes are different, but not unusual.
- The derivation includes a dependency on `buildPackages.bash` and `expect-failure.sh`, which is built to include a transitive dependency on `buildPackages.coreutils` and possibly more.
These are not added to `PATH` or any other environment variable, so they should be hard to observe.
:::{.example #ex-testBuildFailure-showingenvironmentchanges}
# Check that a build fails, and verify the changes made during build
```nix
runCommand "example" {
failed = testers.testBuildFailure (runCommand "fail" {} ''
echo ok-ish >$out
echo failing though
exit 3
'');
} ''
grep -F 'ok-ish' $failed/result
grep -F 'failing though' $failed/testBuildFailure.log
[[ 3 = $(cat $failed/testBuildFailure.exit) ]]
touch $out
''
```
:::
## `testEqualContents` {#tester-testEqualContents}
Check that two paths have the same contents.
:::{.example #ex-testEqualContents-toyexample}
# Check that two paths have the same contents
```nix
testers.testEqualContents {
assertion = "sed -e performs replacement";
expected = writeText "expected" ''
foo baz baz
'';
actual = runCommand "actual" {
# not really necessary for a package that's in stdenv
nativeBuildInputs = [ gnused ];
base = writeText "base" ''
foo bar baz
'';
} ''
sed -e 's/bar/baz/g' $base >$out
'';
}
```
:::
## `testEqualDerivation` {#tester-testEqualDerivation}
Checks that two packages produce the exact same build instructions.
This can be used to make sure that a certain difference of configuration, such as the presence of an overlay does not cause a cache miss.
When the derivations are equal, the return value is an empty file.
Otherwise, the build log explains the difference via `nix-diff`.
:::{.example #ex-testEqualDerivation-hello}
# Check that two packages produce the same derivation
```nix
testers.testEqualDerivation
"The hello package must stay the same when enabling checks."
hello
(hello.overrideAttrs(o: { doCheck = true; }))
```
:::
## `invalidateFetcherByDrvHash` {#tester-invalidateFetcherByDrvHash}
Use the derivation hash to invalidate the output via name, for testing.
Type: `(a@{ name, ... } -> Derivation) -> a -> Derivation`
Normally, fixed output derivations can and should be cached by their output hash only, but for testing we want to re-fetch everytime the fetcher changes.
Changes to the fetcher become apparent in the drvPath, which is a hash of how to fetch, rather than a fixed store path.
By inserting this hash into the name, we can make sure to re-run the fetcher every time the fetcher changes.
This relies on the assumption that Nix isn't clever enough to reuse its database of local store contents to optimize fetching.
You might notice that the "salted" name derives from the normal invocation, not the final derivation.
`invalidateFetcherByDrvHash` has to invoke the fetcher function twice:
once to get a derivation hash, and again to produce the final fixed output derivation.
:::{.example #ex-invalidateFetcherByDrvHash-nix}
# Prevent nix from reusing the output of a fetcher
```nix
{
tests.fetchgit = testers.invalidateFetcherByDrvHash fetchgit {
name = "nix-source";
url = "https://github.com/NixOS/nix";
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
hash = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
};
}
```
:::
## `runNixOSTest` {#tester-runNixOSTest}
A helper function that behaves exactly like the NixOS `runTest`, except it also assigns this Nixpkgs package set as the `pkgs` of the test and makes the `nixpkgs.*` options read-only.
If your test is part of the Nixpkgs repository, or if you need a more general entrypoint, see ["Calling a test" in the NixOS manual](https://nixos.org/manual/nixos/stable/index.html#sec-calling-nixos-tests).
:::{.example #ex-runNixOSTest-hello}
# Run a NixOS test using `runNixOSTest`
```nix
pkgs.testers.runNixOSTest ({ lib, ... }: {
name = "hello";
nodes.machine = { pkgs, ... }: {
environment.systemPackages = [ pkgs.hello ];
};
testScript = ''
machine.succeed("hello")
'';
})
```
:::
## `nixosTest` {#tester-nixosTest}
Run a NixOS VM network test using this evaluation of Nixpkgs.
NOTE: This function is primarily for external use. NixOS itself uses `make-test-python.nix` directly. Packages defined in Nixpkgs [reuse NixOS tests via `nixosTests`, plural](#ssec-nixos-tests-linking).
It is mostly equivalent to the function `import ./make-test-python.nix` from the [NixOS manual](https://nixos.org/nixos/manual/index.html#sec-nixos-tests), except that the current application of Nixpkgs (`pkgs`) will be used, instead of letting NixOS invoke Nixpkgs anew.
If a test machine needs to set NixOS options under `nixpkgs`, it must set only the `nixpkgs.pkgs` option.
### Parameter {#tester-nixosTest-parameter}
A [NixOS VM test network](https://nixos.org/nixos/manual/index.html#sec-nixos-tests), or path to it. Example:
```nix
{
name = "my-test";
nodes = {
machine1 = { lib, pkgs, nodes, ... }: {
environment.systemPackages = [ pkgs.hello ];
services.foo.enable = true;
};
# machine2 = ...;
};
testScript = ''
start_all()
machine1.wait_for_unit("foo.service")
machine1.succeed("hello | foo-send")
'';
}
```
### Result {#tester-nixosTest-result}
A derivation that runs the VM test.
Notable attributes:
* `nodes`: the evaluated NixOS configurations. Useful for debugging and exploring the configuration.
* `driverInteractive`: a script that launches an interactive Python session in the context of the `testScript`.

View File

@@ -1,710 +0,0 @@
# Trivial build helpers {#chap-trivial-builders}
Nixpkgs provides a variety of wrapper functions that help build commonly useful derivations.
Like [`stdenv.mkDerivation`](#sec-using-stdenv), each of these build helpers creates a derivation, but the arguments passed are different (usually simpler) from those required by `stdenv.mkDerivation`.
## `runCommand` {#trivial-builder-runCommand}
`runCommand :: String -> AttrSet -> String -> Derivation`
The result of `runCommand name drvAttrs buildCommand` is a derivation that is built by running the specified shell commands.
By default `runCommand` runs in a stdenv with no compiler environment, whereas [`runCommandCC`](#trivial-builder-runCommandCC) uses the default stdenv, `pkgs.stdenv`.
`name :: String`
: The name that Nix will append to the store path in the same way that `stdenv.mkDerivation` uses its `name` attribute.
`drvAttr :: AttrSet`
: Attributes to pass to the underlying call to [`stdenv.mkDerivation`](#chap-stdenv).
`buildCommand :: String`
: Shell commands to run in the derivation builder.
::: {.note}
You have to create a file or directory `$out` for Nix to be able to run the builder successfully.
:::
::: {.example #ex-runcommand-simple}
# Invocation of `runCommand`
```nix
(import <nixpkgs> {}).runCommand "my-example" {} ''
echo My example command is running
mkdir $out
echo I can write data to the Nix store > $out/message
echo I can also run basic commands like:
echo ls
ls
echo whoami
whoami
echo date
date
''
```
:::
## `runCommandCC` {#trivial-builder-runCommandCC}
This works just like `runCommand`. The only difference is that it also provides a C compiler in `buildCommand`'s environment. To minimize your dependencies, you should only use this if you are sure you will need a C compiler as part of running your command.
## `runCommandLocal` {#trivial-builder-runCommandLocal}
Variant of `runCommand` that forces the derivation to be built locally, it is not substituted. This is intended for very cheap commands (<1s execution time). It saves on the network round-trip and can speed up a build.
::: {.note}
This sets [`allowSubstitutes` to `false`](https://nixos.org/nix/manual/#adv-attr-allowSubstitutes), so only use `runCommandLocal` if you are certain the user will always have a builder for the `system` of the derivation. This should be true for most trivial use cases (e.g., just copying some files to a different location or adding symlinks) because there the `system` is usually the same as `builtins.currentSystem`.
:::
## Writing text files {#trivial-builder-text-writing}
Nixpkgs provides the following functions for producing derivations which write text files or executable scripts into the Nix store.
They are useful for creating files from Nix expression, and are all implemented as convenience wrappers around `writeTextFile`.
Each of these functions will cause a derivation to be produced.
When you coerce the result of each of these functions to a string with [string interpolation](https://nixos.org/manual/nix/stable/language/string-interpolation) or [`builtins.toString`](https://nixos.org/manual/nix/stable/language/builtins#builtins-toString), it will evaluate to the [store path](https://nixos.org/manual/nix/stable/store/store-path) of this derivation.
:::: {.note}
Some of these functions will put the resulting files within a directory inside the [derivation output](https://nixos.org/manual/nix/stable/language/derivations#attr-outputs).
If you need to refer to the resulting files somewhere else in a Nix expression, append their path to the derivation's store path.
For example, if the file destination is a directory:
```nix
{
my-file = writeTextFile {
name = "my-file";
text = ''
Contents of File
'';
destination = "/share/my-file";
};
}
```
Remember to append "/share/my-file" to the resulting store path when using it elsewhere:
```nix
writeShellScript "evaluate-my-file.sh" ''
cat ${my-file}/share/my-file
''
```
::::
### `makeDesktopItem` {#trivial-builder-makeDesktopItem}
Write an [XDG desktop file](https://specifications.freedesktop.org/desktop-entry-spec/1.4/) to the Nix store.
This function is usually used to add desktop items to a package through the `copyDesktopItems` hook.
`makeDesktopItem` adheres to version 1.4 of the specification.
#### Inputs {#trivial-builder-makeDesktopItem-inputs}
`makeDesktopItem` takes an attribute set that accepts most values from the [XDG specification](https://specifications.freedesktop.org/desktop-entry-spec/1.4/ar01s06.html).
All recognised keys from the specification are supported with the exception of the "Hidden" field. The keys are converted into camelCase format, but correspond 1:1 to their equivalent in the specification: `genericName`, `noDisplay`, `comment`, `icon`, `onlyShowIn`, `notShowIn`, `dbusActivatable`, `tryExec`, `exec`, `path`, `terminal`, `mimeTypes`, `categories`, `implements`, `keywords`, `startupNotify`, `startupWMClass`, `url`, `prefersNonDefaultGPU`.
The "Version" field is hardcoded to the version `makeDesktopItem` currently adheres to.
The following fields are either required, are of a different type than in the specification, carry specific default values, or are additional fields supported by `makeDesktopItem`:
`name` (String)
: The name of the desktop file in the Nix store.
`type` (String; _optional_)
: Default value: `"Application"`
`desktopName` (String)
: Corresponds to the "Name" field of the specification.
`actions` (List of Attribute set; _optional_)
: A list of attribute sets {name, exec?, icon?}
`extraConfig` (Attribute set; _optional_)
: Additional key/value pairs to be added verbatim to the desktop file. Attributes need to be prefixed with 'X-'.
#### Examples {#trivial-builder-makeDesktopItem-examples}
::: {.example #ex-makeDesktopItem}
# Usage 1 of `makeDesktopItem`
Write a desktop file `/nix/store/<store path>/my-program.desktop` to the Nix store.
```nix
{makeDesktopItem}:
makeDesktopItem {
name = "my-program";
desktopName = "My Program";
genericName = "Video Player";
noDisplay = false;
comment = "Cool video player";
icon = "/path/to/icon";
onlyShowIn = [ "KDE" ];
dbusActivatable = true;
tryExec = "my-program";
exec = "my-program --someflag";
path = "/some/working/path";
terminal = false;
actions.example = {
name = "New Window";
exec = "my-program --new-window";
icon = "/some/icon";
};
mimeTypes = [ "video/mp4" ];
categories = [ "Utility" ];
implements = [ "org.my-program" ];
keywords = [ "Video" "Player" ];
startupNotify = false;
startupWMClass = "MyProgram";
prefersNonDefaultGPU = false;
extraConfig.X-SomeExtension = "somevalue";
}
```
:::
::: {.example #ex2-makeDesktopItem}
# Usage 2 of `makeDesktopItem`
Override the `hello` package to add a desktop item.
```nix
{ copyDesktopItems
, hello
, makeDesktopItem }:
hello.overrideAttrs {
nativeBuildInputs = [ copyDesktopItems ];
desktopItems = [(makeDesktopItem {
name = "hello";
desktopName = "Hello";
exec = "hello";
})];
}
```
:::
### `writeTextFile` {#trivial-builder-writeTextFile}
Write a text file to the Nix store.
`writeTextFile` takes an attribute set with the following possible attributes:
`name` (String)
: Corresponds to the name used in the Nix store path identifier.
`text` (String)
: The contents of the file.
`executable` (Bool, _optional_)
: Make this file have the executable bit set.
Default: `false`
`destination` (String, _optional_)
: A subpath under the derivation's output path into which to put the file.
Subdirectories are created automatically when the derivation is realised.
By default, the store path itself will be a file containing the text contents.
Default: `""`
`checkPhase` (String, _optional_)
: Commands to run after generating the file.
Default: `""`
`meta` (Attribute set, _optional_)
: Additional metadata for the derivation.
Default: `{}`
`allowSubstitutes` (Bool, _optional_)
: Whether to allow substituting from a binary cache.
Passed through to [`allowSubstitutes`](https://nixos.org/manual/nix/stable/language/advanced-attributes#adv-attr-allowSubstitutes) of the underlying call to `builtins.derivation`.
It defaults to `false`, as running the derivation's simple `builder` executable locally is assumed to be faster than network operations.
Set it to true if the `checkPhase` step is expensive.
Default: `false`
`preferLocalBuild` (Bool, _optional_)
: Whether to prefer building locally, even if faster [remote build machines](https://nixos.org/manual/nix/stable/command-ref/conf-file#conf-substituters) are available.
Passed through to [`preferLocalBuild`](https://nixos.org/manual/nix/stable/language/advanced-attributes#adv-attr-preferLocalBuild) of the underlying call to `builtins.derivation`.
It defaults to `true` for the same reason `allowSubstitutes` defaults to `false`.
Default: `true`
`derivationArgs` (Attribute set, _optional_)
: Extra arguments to pass to the underlying call to `stdenv.mkDerivation`.
Default: `{}`
The resulting store path will include some variation of the name, and it will be a file unless `destination` is used, in which case it will be a directory.
::: {.example #ex-writeTextFile}
# Usage 1 of `writeTextFile`
Write `my-file` to `/nix/store/<store path>/some/subpath/my-cool-script`, making it executable.
Also run a check on the resulting file in a `checkPhase`, and supply values for the less-used options.
```nix
writeTextFile {
name = "my-cool-script";
text = ''
#!/bin/sh
echo "This is my cool script!"
'';
executable = true;
destination = "/some/subpath/my-cool-script";
checkPhase = ''
${pkgs.shellcheck}/bin/shellcheck $out/some/subpath/my-cool-script
'';
meta = {
license = pkgs.lib.licenses.cc0;
};
allowSubstitutes = true;
preferLocalBuild = false;
}
```
:::
::: {.example #ex2-writeTextFile}
# Usage 2 of `writeTextFile`
Write the string `Contents of File` to `/nix/store/<store path>`.
See also the [](#trivial-builder-writeText) helper function.
```nix
writeTextFile {
name = "my-file";
text = ''
Contents of File
'';
}
```
:::
::: {.example #ex3-writeTextFile}
# Usage 3 of `writeTextFile`
Write an executable script `my-script` to `/nix/store/<store path>/bin/my-script`.
See also the [](#trivial-builder-writeScriptBin) helper function.
```nix
writeTextFile {
name = "my-script";
text = ''
echo "hi"
'';
executable = true;
destination = "/bin/my-script";
}
```
:::
### `writeText` {#trivial-builder-writeText}
Write a text file to the Nix store
`writeText` takes the following arguments:
a string.
`name` (String)
: The name used in the Nix store path.
`text` (String)
: The contents of the file.
The store path will include the name, and it will be a file.
::: {.example #ex-writeText}
# Usage of `writeText`
Write the string `Contents of File` to `/nix/store/<store path>`:
```nix
writeText "my-file"
''
Contents of File
''
```
:::
This is equivalent to:
```nix
writeTextFile {
name = "my-file";
text = ''
Contents of File
'';
}
```
### `writeTextDir` {#trivial-builder-writeTextDir}
Write a text file within a subdirectory of the Nix store.
`writeTextDir` takes the following arguments:
`path` (String)
: The destination within the Nix store path under which to create the file.
`text` (String)
: The contents of the file.
The store path will be a directory.
::: {.example #ex-writeTextDir}
# Usage of `writeTextDir`
Write the string `Contents of File` to `/nix/store/<store path>/share/my-file`:
```nix
writeTextDir "share/my-file"
''
Contents of File
''
```
:::
This is equivalent to:
```nix
writeTextFile {
name = "my-file";
text = ''
Contents of File
'';
destination = "share/my-file";
}
```
### `writeScript` {#trivial-builder-writeScript}
Write an executable script file to the Nix store.
`writeScript` takes the following arguments:
`name` (String)
: The name used in the Nix store path.
`text` (String)
: The contents of the file.
The created file is marked as executable.
The store path will include the name, and it will be a file.
::: {.example #ex-writeScript}
# Usage of `writeScript`
Write the string `Contents of File` to `/nix/store/<store path>` and make the file executable.
```nix
writeScript "my-file"
''
Contents of File
''
```
:::
This is equivalent to:
```nix
writeTextFile {
name = "my-file";
text = ''
Contents of File
'';
executable = true;
}
```
### `writeScriptBin` {#trivial-builder-writeScriptBin}
Write a script within a `bin` subdirectory of a directory in the Nix store.
This is for consistency with the convention of software packages placing executables under `bin`.
`writeScriptBin` takes the following arguments:
`name` (String)
: The name used in the Nix store path and within the file created under the store path.
`text` (String)
: The contents of the file.
The created file is marked as executable.
The file's contents will be put into `/nix/store/<store path>/bin/<name>`.
The store path will include the name, and it will be a directory.
::: {.example #ex-writeScriptBin}
# Usage of `writeScriptBin`
```nix
writeScriptBin "my-script"
''
echo "hi"
''
```
:::
This is equivalent to:
```nix
writeTextFile {
name = "my-script";
text = ''
echo "hi"
'';
executable = true;
destination = "bin/my-script";
}
```
### `writeShellScript` {#trivial-builder-writeShellScript}
Write a Bash script to the store.
`writeShellScript` takes the following arguments:
`name` (String)
: The name used in the Nix store path.
`text` (String)
: The contents of the file.
The created file is marked as executable.
The store path will include the name, and it will be a file.
This function is almost exactly like [](#trivial-builder-writeScript), except that it prepends to the file a [shebang](https://en.wikipedia.org/wiki/Shebang_%28Unix%29) line that points to the version of Bash used in Nixpkgs.
<!-- this cannot be changed in practice, so there is no point pretending it's somehow generic -->
::: {.example #ex-writeShellScript}
# Usage of `writeShellScript`
```nix
writeShellScript "my-script"
''
echo "hi"
''
```
:::
This is equivalent to:
```nix
writeTextFile {
name = "my-script";
text = ''
#! ${pkgs.runtimeShell}
echo "hi"
'';
executable = true;
}
```
### `writeShellScriptBin` {#trivial-builder-writeShellScriptBin}
Write a Bash script to a "bin" subdirectory of a directory in the Nix store.
`writeShellScriptBin` takes the following arguments:
`name` (String)
: The name used in the Nix store path and within the file generated under the store path.
`text` (String)
: The contents of the file.
The file's contents will be put into `/nix/store/<store path>/bin/<name>`.
The store path will include the the name, and it will be a directory.
This function is a combination of [](#trivial-builder-writeShellScript) and [](#trivial-builder-writeScriptBin).
::: {.example #ex-writeShellScriptBin}
# Usage of `writeShellScriptBin`
```nix
writeShellScriptBin "my-script"
''
echo "hi"
''
```
:::
This is equivalent to:
```nix
writeTextFile {
name = "my-script";
text = ''
#! ${pkgs.runtimeShell}
echo "hi"
'';
executable = true;
destination = "bin/my-script";
}
```
## `concatTextFile`, `concatText`, `concatScript` {#trivial-builder-concatText}
These functions concatenate `files` to the Nix store in a single file. This is useful for configuration files structured in lines of text. `concatTextFile` takes an attribute set and expects two arguments, `name` and `files`. `name` corresponds to the name used in the Nix store path. `files` will be the files to be concatenated. You can also set `executable` to true to make this file have the executable bit set.
`concatText` and`concatScript` are simple wrappers over `concatTextFile`.
Here are a few examples:
```nix
# Writes my-file to /nix/store/<store path>
concatTextFile {
name = "my-file";
files = [ drv1 "${drv2}/path/to/file" ];
}
# See also the `concatText` helper function below.
# Writes executable my-file to /nix/store/<store path>/bin/my-file
concatTextFile {
name = "my-file";
files = [ drv1 "${drv2}/path/to/file" ];
executable = true;
destination = "/bin/my-file";
}
# Writes contents of files to /nix/store/<store path>
concatText "my-file" [ file1 file2 ]
# Writes contents of files to /nix/store/<store path>
concatScript "my-file" [ file1 file2 ]
```
## `writeShellApplication` {#trivial-builder-writeShellApplication}
`writeShellApplication` is similar to `writeShellScriptBin` and `writeScriptBin` but supports runtime dependencies with `runtimeInputs`.
Writes an executable shell script to `/nix/store/<store path>/bin/<name>` and checks its syntax with [`shellcheck`](https://github.com/koalaman/shellcheck) and the `bash`'s `-n` option.
Some basic Bash options are set by default (`errexit`, `nounset`, and `pipefail`), but can be overridden with `bashOptions`.
Extra arguments may be passed to `stdenv.mkDerivation` by setting `derivationArgs`; note that variables set in this manner will be set when the shell script is _built,_ not when it's run.
Runtime environment variables can be set with the `runtimeEnv` argument.
For example, the following shell application can refer to `curl` directly, rather than needing to write `${curl}/bin/curl`:
```nix
writeShellApplication {
name = "show-nixos-org";
runtimeInputs = [ curl w3m ];
text = ''
curl -s 'https://nixos.org' | w3m -dump -T text/html
'';
}
```
## `symlinkJoin` {#trivial-builder-symlinkJoin}
This can be used to put many derivations into the same directory structure. It works by creating a new derivation and adding symlinks to each of the paths listed. It expects two arguments, `name`, and `paths`. `name` is the name used in the Nix store path for the created derivation. `paths` is a list of paths that will be symlinked. These paths can be to Nix store derivations or any other subdirectory contained within.
Here is an example:
```nix
# adds symlinks of hello and stack to current build and prints "links added"
symlinkJoin { name = "myexample"; paths = [ pkgs.hello pkgs.stack ]; postBuild = "echo links added"; }
```
This creates a derivation with a directory structure like the following:
```
/nix/store/sglsr5g079a5235hy29da3mq3hv8sjmm-myexample
|-- bin
| |-- hello -> /nix/store/qy93dp4a3rqyn2mz63fbxjg228hffwyw-hello-2.10/bin/hello
| `-- stack -> /nix/store/6lzdpxshx78281vy056lbk553ijsdr44-stack-2.1.3.1/bin/stack
`-- share
|-- bash-completion
| `-- completions
| `-- stack -> /nix/store/6lzdpxshx78281vy056lbk553ijsdr44-stack-2.1.3.1/share/bash-completion/completions/stack
|-- fish
| `-- vendor_completions.d
| `-- stack.fish -> /nix/store/6lzdpxshx78281vy056lbk553ijsdr44-stack-2.1.3.1/share/fish/vendor_completions.d/stack.fish
...
```
## `writeReferencesToFile` {#trivial-builder-writeReferencesToFile}
Deprecated. Use [`writeClosure`](#trivial-builder-writeClosure) instead.
## `writeClosure` {#trivial-builder-writeClosure}
Given a list of [store paths](https://nixos.org/manual/nix/stable/glossary#gloss-store-path) (or string-like expressions coercible to store paths), write their collective [closure](https://nixos.org/manual/nix/stable/glossary#gloss-closure) to a text file.
The result is equivalent to the output of `nix-store -q --requisites`.
For example,
```nix
writeClosure [ (writeScriptBin "hi" ''${hello}/bin/hello'') ]
```
produces an output path `/nix/store/<hash>-runtime-deps` containing
```
/nix/store/<hash>-hello-2.10
/nix/store/<hash>-hi
/nix/store/<hash>-libidn2-2.3.0
/nix/store/<hash>-libunistring-0.9.10
/nix/store/<hash>-glibc-2.32-40
```
You can see that this includes `hi`, the original input path,
`hello`, which is a direct reference, but also
the other paths that are indirectly required to run `hello`.
## `writeDirectReferencesToFile` {#trivial-builder-writeDirectReferencesToFile}
Writes the set of references to the output file, that is, their immediate dependencies.
This produces the equivalent of `nix-store -q --references`.
For example,
```nix
writeDirectReferencesToFile (writeScriptBin "hi" ''${hello}/bin/hello'')
```
produces an output path `/nix/store/<hash>-runtime-references` containing
```
/nix/store/<hash>-hello-2.10
```
but none of `hello`'s dependencies because those are not referenced directly
by `hi`'s output.

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

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

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

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

View File

@@ -0,0 +1,102 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="sec-pkgs-appimageTools">
<title>pkgs.appimageTools</title>
<para>
<varname>pkgs.appimageTools</varname> is a set of functions for extracting and wrapping <link xlink:href="https://appimage.org/">AppImage</link> files. They are meant to be used if traditional packaging from source is infeasible, or it would take too long. To quickly run an AppImage file, <literal>pkgs.appimage-run</literal> can be used as well.
</para>
<warning>
<para>
The <varname>appimageTools</varname> API is unstable and may be subject to backwards-incompatible changes in the future.
</para>
</warning>
<section xml:id="ssec-pkgs-appimageTools-formats">
<title>AppImage formats</title>
<para>
There are different formats for AppImages, see <link xlink:href="https://github.com/AppImage/AppImageSpec/blob/74ad9ca2f94bf864a4a0dac1f369dd4f00bd1c28/draft.md#image-format">the specification</link> for details.
</para>
<itemizedlist>
<listitem>
<para>
Type 1 images are ISO 9660 files that are also ELF executables.
</para>
</listitem>
<listitem>
<para>
Type 2 images are ELF executables with an appended filesystem.
</para>
</listitem>
</itemizedlist>
<para>
They can be told apart with <command>file -k</command>:
</para>
<screen>
<prompt>$ </prompt>file -k type1.AppImage
type1.AppImage: ELF 64-bit LSB executable, x86-64, version 1 (SYSV) ISO 9660 CD-ROM filesystem data 'AppImage' (Lepton 3.x), scale 0-0,
spot sensor temperature 0.000000, unit celsius, color scheme 0, calibration: offset 0.000000, slope 0.000000, dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, BuildID[sha1]=d629f6099d2344ad82818172add1d38c5e11bc6d, stripped\012- data
<prompt>$ </prompt>file -k type2.AppImage
type2.AppImage: ELF 64-bit LSB executable, x86-64, version 1 (SYSV) (Lepton 3.x), scale 232-60668, spot sensor temperature -4.187500, color scheme 15, show scale bar, calibration: offset -0.000000, slope 0.000000 (Lepton 2.x), scale 4111-45000, spot sensor temperature 412442.250000, color scheme 3, minimum point enabled, calibration: offset -75402534979642766821519867692934234112.000000, slope 5815371847733706829839455140374904832.000000, dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, BuildID[sha1]=79dcc4e55a61c293c5e19edbd8d65b202842579f, stripped\012- data
</screen>
<para>
Note how the type 1 AppImage is described as an <literal>ISO 9660 CD-ROM filesystem</literal>, and the type 2 AppImage is not.
</para>
</section>
<section xml:id="ssec-pkgs-appimageTools-wrapping">
<title>Wrapping</title>
<para>
Depending on the type of AppImage you're wrapping, you'll have to use <varname>wrapType1</varname> or <varname>wrapType2</varname>.
</para>
<programlisting>
appimageTools.wrapType2 { # or wrapType1
name = "patchwork"; <co xml:id='ex-appimageTools-wrapping-1' />
src = fetchurl { <co xml:id='ex-appimageTools-wrapping-2' />
url = https://github.com/ssbc/patchwork/releases/download/v3.11.4/Patchwork-3.11.4-linux-x86_64.AppImage;
sha256 = "1blsprpkvm0ws9b96gb36f0rbf8f5jgmw4x6dsb1kswr4ysf591s";
};
extraPkgs = pkgs: with pkgs; [ ]; <co xml:id='ex-appimageTools-wrapping-3' />
}</programlisting>
<calloutlist>
<callout arearefs='ex-appimageTools-wrapping-1'>
<para>
<varname>name</varname> specifies the name of the resulting image.
</para>
</callout>
<callout arearefs='ex-appimageTools-wrapping-2'>
<para>
<varname>src</varname> specifies the AppImage file to extract.
</para>
</callout>
<callout arearefs='ex-appimageTools-wrapping-3'>
<para>
<varname>extraPkgs</varname> allows you to pass a function to include additional packages inside the FHS environment your AppImage is going to run in. There are a few ways to learn which dependencies an application needs:
<itemizedlist>
<listitem>
<para>
Looking through the extracted AppImage files, reading its scripts and running <command>patchelf</command> and <command>ldd</command> on its executables. This can also be done in <command>appimage-run</command>, by setting <command>APPIMAGE_DEBUG_EXEC=bash</command>.
</para>
</listitem>
<listitem>
<para>
Running <command>strace -vfefile</command> on the wrapped executable, looking for libraries that can't be found.
</para>
</listitem>
</itemizedlist>
</para>
</callout>
</calloutlist>
</section>
</section>

View File

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

View File

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

View File

@@ -0,0 +1,28 @@
let
inherit (import <nixpkgs> { }) snapTools firefox;
in snapTools.makeSnap {
meta = {
name = "nix-example-firefox";
summary = firefox.meta.description;
architectures = [ "amd64" ];
apps.nix-example-firefox = {
command = "${firefox}/bin/firefox";
plugs = [
"pulseaudio"
"camera"
"browser-support"
"avahi-observe"
"cups-control"
"desktop"
"desktop-legacy"
"gsettings"
"home"
"network"
"mount-observe"
"removable-media"
"x11"
];
};
confinement = "strict";
};
}

View File

@@ -0,0 +1,12 @@
let
inherit (import <nixpkgs> { }) snapTools hello;
in snapTools.makeSnap {
meta = {
name = "hello";
summary = hello.meta.description;
description = hello.meta.longDescription;
architectures = [ "amd64" ];
confinement = "strict";
apps.hello.command = "${hello}/bin/hello";
};
}

View File

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

View File

@@ -0,0 +1,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>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,24 @@
<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="urxvt.xml" />
<xi:include href="weechat.xml" />
<xi:include href="xorg.xml" />
</chapter>

View File

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

View File

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

View File

@@ -0,0 +1,13 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="locales">
<title>Locales</title>
<para>
To allow simultaneous use of packages linked against different versions of <literal>glibc</literal> with different locale archive formats Nixpkgs patches <literal>glibc</literal> to rely on <literal>LOCALE_ARCHIVE</literal> environment variable.
</para>
<para>
On non-NixOS distributions this variable is obviously not set. This can cause regressions in language support or even crashes in some Nixpkgs-provided programs. The simplest way to mitigate this problem is exporting the <literal>LOCALE_ARCHIVE</literal> variable pointing to <literal>${glibcLocales}/lib/locale/locale-archive</literal>. The drawback (and the reason this is not the default) is the relatively large (a hundred MiB) size of the full set of locales. It is possible to build a custom set of locales by overriding parameters <literal>allLocales</literal> and <literal>locales</literal> of the package.
</para>
</section>

View File

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

View File

@@ -0,0 +1,9 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-opengl">
<title>OpenGL</title>
<para>
Packages that use OpenGL have NixOS desktop as their primary target. The current solution for loading the GPU-specific drivers is based on <literal>libglvnd</literal> and looks for the driver implementation in <literal>LD_LIBRARY_PATH</literal>. If you are using a non-NixOS GNU/Linux/X11 desktop with free software video drivers, consider launching OpenGL-dependent programs from Nixpkgs with Nixpkgs versions of <literal>libglvnd</literal> and <literal>mesa_drivers</literal> in <literal>LD_LIBRARY_PATH</literal>. For proprietary video drivers you might have luck with also adding the corresponding video driver package.
</para>
</section>

View File

@@ -0,0 +1,25 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-shell-helpers">
<title>Interactive shell helpers</title>
<para>
Some packages provide the shell integration to be more useful. But unlike other systems, nix doesn't have a standard share directory location. This is why a bunch <command>PACKAGE-share</command> scripts are shipped that print the location of the corresponding shared folder. Current list of such packages is as following:
<itemizedlist>
<listitem>
<para>
<literal>autojump</literal>: <command>autojump-share</command>
</para>
</listitem>
<listitem>
<para>
<literal>fzf</literal>: <command>fzf-share</command>
</para>
</listitem>
</itemizedlist>
E.g. <literal>autojump</literal> can then used in the .bashrc like this:
<screen>
source "$(autojump-share)/autojump.bash"
</screen>
</para>
</section>

View File

@@ -0,0 +1,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>

View File

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

View File

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

View File

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

View File

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

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

@@ -0,0 +1,10 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="chap-special">
<title>Special builders</title>
<para>
This chapter describes several special builders.
</para>
<xi:include href="special/fhs-environments.xml" />
<xi:include href="special/mkshell.xml" />
</chapter>

View File

@@ -0,0 +1,122 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="sec-fhs-environments">
<title>buildFHSUserEnv</title>
<para>
<function>buildFHSUserEnv</function> provides a way to build and run FHS-compatible lightweight sandboxes. It creates an isolated root with bound <filename>/nix/store</filename>, so its footprint in terms of disk space needed is quite small. This allows one to run software which is hard or unfeasible to patch for NixOS -- 3rd-party source trees with FHS assumptions, games distributed as tarballs, software with integrity checking and/or external self-updated binaries. It uses Linux namespaces feature to create temporary lightweight environments which are destroyed after all child processes exit, without root user rights requirement. Accepted arguments are:
</para>
<variablelist>
<varlistentry>
<term>
<literal>name</literal>
</term>
<listitem>
<para>
Environment name.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>targetPkgs</literal>
</term>
<listitem>
<para>
Packages to be installed for the main host's architecture (i.e. x86_64 on x86_64 installations). Along with libraries binaries are also installed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>multiPkgs</literal>
</term>
<listitem>
<para>
Packages to be installed for all architectures supported by a host (i.e. i686 and x86_64 on x86_64 installations). Only libraries are installed by default.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>extraBuildCommands</literal>
</term>
<listitem>
<para>
Additional commands to be executed for finalizing the directory structure.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>extraBuildCommandsMulti</literal>
</term>
<listitem>
<para>
Like <literal>extraBuildCommands</literal>, but executed only on multilib architectures.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>extraOutputsToInstall</literal>
</term>
<listitem>
<para>
Additional derivation outputs to be linked for both target and multi-architecture packages.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>extraInstallCommands</literal>
</term>
<listitem>
<para>
Additional commands to be executed for finalizing the derivation with runner script.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>runScript</literal>
</term>
<listitem>
<para>
A command that would be executed inside the sandbox and passed all the command line arguments. It defaults to <literal>bash</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
One can create a simple environment using a <literal>shell.nix</literal> like that:
</para>
<programlisting><![CDATA[
{ pkgs ? import <nixpkgs> {} }:
(pkgs.buildFHSUserEnv {
name = "simple-x11-env";
targetPkgs = pkgs: (with pkgs;
[ udev
alsaLib
]) ++ (with pkgs.xorg;
[ libX11
libXcursor
libXrandr
]);
multiPkgs = pkgs: (with pkgs;
[ udev
alsaLib
]);
runScript = "bash";
}).env
]]></programlisting>
<para>
Running <literal>nix-shell</literal> would then drop you into a shell with these libraries and binaries available. You can use this to run closed-source applications which expect FHS structure without hassles: simply change <literal>runScript</literal> to the application path, e.g. <filename>./bin/start.sh</filename> -- relative paths are supported.
</para>
</section>

View File

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

View File

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

View File

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

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