Compare commits

..

347 Commits

Author SHA1 Message Date
Janne Heß
ce6aa13369 Release 22.05
(cherry picked from commit cbaacfb8df)
2022-05-30 20:51:36 +02:00
Thiago Kenji Okada
2c1f2cc193 Merge pull request #175441 from NixOS/backport-175211-to-release-22.05
[Backport release-22.05] liblouis: fix darwin build with patch
2022-05-30 18:04:50 +01:00
Thiago Kenji Okada
b0aae9a820 Merge pull request #175481 from NixOS/backport-173349-to-release-22.05
[Backport release-22.05] python310Packages.robotframework: 5.0 -> 5.0.1
2022-05-30 18:03:47 +01:00
Janne Heß
a634c8f6c1 Merge pull request #175482 from NixOS/backport-175480-to-release-22.05
[Backport release-22.05] libportal/libqalculate: Unbreak
2022-05-30 16:21:43 +02:00
Janne Heß
6494478c35 libportal/libqalculate: Unbreak
This blocks release because the tested jobset depends on these
indirectly.

(cherry picked from commit cd0956e5d8)
2022-05-30 14:16:41 +00:00
R. Ryantm
9b7dd0976e python310Packages.robotframework: 5.0 -> 5.0.1
(cherry picked from commit e5cb66e9f97e522d7028815a4f58ea8ee52d974f)
2022-05-30 13:53:43 +00:00
Maximilian Bosch
e44c82bfec Merge pull request #175168 from NixOS/backport-175024-to-release-22.05
[Backport release-22.05] wiki-js: 2.5.282 -> 2.5.283
2022-05-30 15:52:01 +02:00
Yorick van Pelt
e0fa35aeeb asterisk: 16.25.1 -> 16.26.1, 18.11.1 -> 18.12.1, 19.3.1 -> 19.4.1
(cherry picked from commit 5d62b7f79f)
2022-05-30 12:46:57 +00:00
Yorick van Pelt
99633af7af asterisk: update updateScript to include python deps
(cherry picked from commit 237b5838d3)
2022-05-30 12:46:57 +00:00
Janne Heß
64c18203e2 Merge pull request #175472 from helsinki-systems/feat/mark-broken
[22.05] treewide: mark broken packages as broken
2022-05-30 14:46:33 +02:00
Rick van Schijndel
658fd8317a robomachine: mark broken
(cherry picked from commit 26243136fe)
2022-05-30 14:20:07 +02:00
Rick van Schijndel
43072cd017 treewide: pkgs/development/python-modules: mark broken for aarch64-linux
(cherry picked from commit afbb0f6ff4)
2022-05-30 14:20:06 +02:00
Rick van Schijndel
a8cd66256f mps: mark broken
(cherry picked from commit 7da0ca2e25)
2022-05-30 14:19:33 +02:00
Rick van Schijndel
cdea6a07de swift: mark broken
(cherry picked from commit cd19a0e7b4)
2022-05-30 14:19:33 +02:00
Rick van Schijndel
f078cea543 treewide: pkgs/development: mark broken for aarch64-linux
(cherry picked from commit 11ee22d797)
2022-05-30 14:19:32 +02:00
Rick van Schijndel
ff7cd38205 treewide: pkgs/applications: mark broken for aarch64-linux
(cherry picked from commit 433701147a)
2022-05-30 14:19:24 +02:00
Rick van Schijndel
2a7b9a3fcb treewide: mark broken for darwin
(cherry picked from commit 010f6ee30d)
2022-05-30 14:19:21 +02:00
Rick van Schijndel
95a3b63e81 luaPackages.luxio: mark broken for darwin
(cherry picked from commit 82ccbc08de)
2022-05-30 14:19:04 +02:00
Rick van Schijndel
184877600b treewide: pkgs/desktops: mark broken for darwin
(cherry picked from commit 7a68548822)
2022-05-30 14:19:04 +02:00
Rick van Schijndel
1ea48d9664 treewide: pkgs/servers/sql: mark 2 psql extension broken
(cherry picked from commit 033d5579c2)
2022-05-30 14:19:04 +02:00
Rick van Schijndel
b29dbdf474 treewide: pkgs/servers: mark broken for darwin
(cherry picked from commit 879d278253)
2022-05-30 14:19:04 +02:00
Rick van Schijndel
d911a85d84 speedcrunch: mark broken on darwin
(cherry picked from commit a0dd8198cd)
2022-05-30 14:19:04 +02:00
Rick van Schijndel
5874279f95 tippecanoe: mark broken on darwin as well
(cherry picked from commit c312ae98a1)
2022-05-30 14:19:03 +02:00
Rick van Schijndel
744167bc9e blender: mark broken on all darwins
(cherry picked from commit 117ee3af2a)
2022-05-30 14:19:03 +02:00
Rick van Schijndel
8d86a47ea1 libresprite: mark broken on darwin
(cherry picked from commit da846421fc)
2022-05-30 14:19:03 +02:00
Rick van Schijndel
da3b873b79 pqrs: mark broken
(cherry picked from commit edde4da42e)
2022-05-30 14:19:03 +02:00
Rick van Schijndel
b516917c56 treewide: pkgs/development: mark broken for darwin
(cherry picked from commit 03bc571744)
2022-05-30 14:19:03 +02:00
Rick van Schijndel
86baa2411e treewide: pkgs/development/libraries: mark broken for darwin
(cherry picked from commit 7d58a30286)
2022-05-30 14:19:02 +02:00
Rick van Schijndel
3644535053 treewide: pkgs/development/python-modules: mark broken for darwin
(cherry picked from commit 65db3b17a8)
2022-05-30 14:19:02 +02:00
Rick van Schijndel
11af55b8b3 treewide: pkgs/development/tools: mark broken for darwin
(cherry picked from commit 13e0d33703)
2022-05-30 14:19:02 +02:00
Rick van Schijndel
e315d48b2b treewide: pkgs/development/compilers: mark broken for darwin
(cherry picked from commit 0b45cae8a3)
2022-05-30 14:19:02 +02:00
Rick van Schijndel
941826b663 treewide: pkgs/applications: mark broken for darwin
(cherry picked from commit 37c633f7ae)
2022-05-30 14:19:01 +02:00
Rick van Schijndel
90c49a6acd treewide: pkgs/games: mark broken for darwin
(cherry picked from commit f97a7e634f)
2022-05-30 14:19:01 +02:00
Rick van Schijndel
4de437620a treewide: pkgs/tools: mark broken for darwin
All packages that were failing on x86_64-darwin are marked broken.
I'm assuming here that these are also broken on aarch64-darwin.

(cherry picked from commit cd3c25616d)
2022-05-30 14:19:01 +02:00
Rick van Schijndel
0c269335a9 ccl: mark broken on x86_64-darwin
(cherry picked from commit 6d9a33741e)
2022-05-30 14:19:01 +02:00
Rick van Schijndel
0dc1602b92 cataclysm-dda-git: mark broken on x86_64-darwin
(cherry picked from commit 941458e0b9)
2022-05-30 14:19:01 +02:00
Rick van Schijndel
779dcac6fc cargo-modules: mark broken on x86_64-darwin
(cherry picked from commit 2542b4d60e)
2022-05-30 14:19:00 +02:00
Rick van Schijndel
96e8c48c1f cargo-deb: mark broken on x86_64-darwin
(cherry picked from commit ed7599305f)
2022-05-30 14:19:00 +02:00
Rick van Schijndel
ce94f5ee41 cardinal: mark broken on darwin
(cherry picked from commit dd6e61fa54)
2022-05-30 14:19:00 +02:00
Rick van Schijndel
1dd5dabfc9 bupstash: mark broken on x86_64-darwin
Related to https://github.com/NixOS/nixpkgs/issues/101229

(cherry picked from commit c3fa68c928)
2022-05-30 14:19:00 +02:00
Rick van Schijndel
6ebd1794aa bullet-roboschool: mark broken on x86_64-darwin
(cherry picked from commit bc286911d8)
2022-05-30 14:19:00 +02:00
Rick van Schijndel
4304f69306 bsnes-hd: mark broken on x86_64-darwin
(cherry picked from commit d898e26892)
2022-05-30 14:18:59 +02:00
Rick van Schijndel
3f8c71eff2 boofuzz: mark broken on x86_64-darwin
(cherry picked from commit 1f88f6a2c0)
2022-05-30 14:18:59 +02:00
Rick van Schijndel
41b16eb3b5 boinc: mark broken for aarch64
(cherry picked from commit 90869787c5)
2022-05-30 14:18:59 +02:00
Rick van Schijndel
528ab12cb7 blender: mark broken on x86_64-darwin
(cherry picked from commit 53d8d81656)
2022-05-30 14:18:59 +02:00
Rick van Schijndel
3893752d12 bigloo: mark broken on x86_64 Darwin
(cherry picked from commit 8152b170e2)
2022-05-30 14:18:59 +02:00
Rick van Schijndel
2eaf7db352 binwalk: mark broken on x86_64-darwin
Probably some issues with signatures.
Disabling this test may or may not also help.

(cherry picked from commit ce7a64713e)
2022-05-30 14:18:58 +02:00
Rick van Schijndel
667e5d3a64 bakelite: only supports linux
(cherry picked from commit 5d8ec2adc1)
2022-05-30 14:18:58 +02:00
Rick van Schijndel
cc1e49cf6a awless: mark broken for aarch64-linux
Unclear if this ever worked.

asm: InitTextSym double init for .Syscall
panic: invalid use of LSym - NewFuncInfo with Extra of type *obj.FuncInfo

goroutine 1 [running]:
cmd/internal/obj.(*LSym).NewFuncInfo(0x400015e100)
        /nix/store/9nqp0vlgakl12c6irdn3qvicqsvc2zl8-go-1.17.10/share/go/src/cmd/internal/obj/link.go:496 +0x134
cmd/internal/obj.(*Link).InitTextSym(0x400017c000, 0x400015e100, 0x4)
        /nix/store/9nqp0vlgakl12c6irdn3qvicqsvc2zl8-go-1.17.10/share/go/src/cmd/internal/obj/plist.go:153 +0x10c
cmd/asm/internal/asm.(*Parser).asmText(0x400013fe60, {0x400013fd00, 0x3, 0x3})
        /nix/store/9nqp0vlgakl12c6irdn3qvicqsvc2zl8-go-1.17.10/share/go/src/cmd/asm/internal/asm/asm.go:180 +0x4f0
cmd/asm/internal/asm.(*Parser).pseudo(0x400013fe60, {0x4000130460, 0x4}, {0x400013fd00, 0x3, 0x3})
        /nix/store/9nqp0vlgakl12c6irdn3qvicqsvc2zl8-go-1.17.10/share/go/src/cmd/asm/internal/asm/parse.go:297 +0x7c
cmd/asm/internal/asm.(*Parser).Parse(0x400013fe60)
        /nix/store/9nqp0vlgakl12c6irdn3qvicqsvc2zl8-go-1.17.10/share/go/src/cmd/asm/internal/asm/parse.go:105 +0xcc
main.main()
        /nix/store/9nqp0vlgakl12c6irdn3qvicqsvc2zl8-go-1.17.10/share/go/src/cmd/asm/main.go:91 +0x814

(cherry picked from commit 223184228c)
2022-05-30 14:18:58 +02:00
Rick van Schijndel
277a046219 aspino: mark broken for x86_64 Darwin
Been broken for a few years already too.

(cherry picked from commit 5e1adacaf0)
2022-05-30 14:18:58 +02:00
Rick van Schijndel
92315bf58b alttpr-opentracker: only enable on x86_64-linux
It was failing to build on aarch64-linux with:

Executing dotnetConfigureHook
  Determining projects to restore...
  Restored /build/source/OpenTracker.UnitTests/OpenTracker.UnitTests.csproj (in 35.07 sec).
  Restored /build/source/OpenTracker.Models/OpenTracker.Models.csproj (in 520 ms).
  Restored /build/source/OpenTracker.Utils/OpenTracker.Utils.csproj (in 48 ms).
/build/source/OpenTracker/OpenTracker.csproj : error NU1101: Unable to find package Microsoft.NETCore.App.Host.linux-arm64. No packages exist with this id in source(s): /nix/store/x82zwgmqdbp4xykx1nkrjin8hicm8jld-opentracker-1.8.2-nuget-source/lib [/build/source/OpenTracker.sln]
  Failed to restore /build/source/OpenTracker/OpenTracker.csproj (in 12.45 sec).
  Restored /build/source/Avalonia.ThemeManager/Avalonia.ThemeManager.csproj (in 56 ms).

(cherry picked from commit b465f1a92f)
2022-05-30 14:18:58 +02:00
Rick van Schijndel
e0206b48ca adwaita-qt: mark broken on Darwin since it doesn't build with qt514
Darwin is still using qt514 instead of qt515.

(cherry picked from commit 70c66de145)
2022-05-30 14:18:57 +02:00
Rick van Schijndel
f18b0b125a CHOWTapeModel: mark broken on aarch64
(cherry picked from commit 859aa7da13)
2022-05-30 14:18:57 +02:00
Janne Heß
bc7824cc01 Merge pull request #175458 from NixOS/backport-175445-to-release-22.05
[Backport release-22.05] nixos/vmware-guest: Remove the video driver
2022-05-30 12:56:26 +02:00
Janne Heß
ecc36827c6 nixos/vmware-guest: Remove the video driver
This breaks isos since https://github.com/NixOS/nixpkgs/pull/172668
because vmware is enabled there. @K900 tested this and confirmed that
the GPU acceleration still works.

(cherry picked from commit 5157246aa4)
2022-05-30 10:37:15 +00:00
7c6f434c
be5e3632be Merge pull request #175434 from NixOS/backport-175426-to-release-22.05
[Backport release-22.05] gajim: 1.4.1 → 1.4.2
2022-05-30 07:48:35 +00:00
Robert Scott
44aa4d1566 liblouis: fix darwin build with patch
(cherry picked from commit 327af2f90f)
2022-05-30 07:15:15 +00:00
Vincent Laporte
362889b5c2 gajim: 1.4.1 → 1.4.2
(cherry picked from commit 1593316a21)
2022-05-30 06:29:45 +00:00
Robert Scott
7f7e833e0b Merge pull request #175373 from NixOS/backport-175357-to-release-22.05
[Backport release-22.05] python3Packages.cnvkit: 0.9.7 -> 0.9.9, skip broken test
2022-05-30 00:22:50 +01:00
Robert Scott
2830ce4133 Merge pull request #175371 from NixOS/backport-175336-to-release-22.05
[Backport release-22.05] python3Packages.pomegranate: 0.13.5 -> 0.14.8
2022-05-30 00:17:17 +01:00
Robert Scott
d20913a939 python3Packages.cnvkit: 0.9.7 -> 0.9.9, skip broken test
(cherry picked from commit 798d9f9f3b)
2022-05-29 23:11:56 +00:00
Robert Scott
7ac55c542a python3Packages.pomegranate: 0.13.5 -> 0.14.8
(cherry picked from commit 17003648fe)
2022-05-29 22:52:35 +00:00
Bjørn Forsman
10c86be5af genimage: 9 -> 15
It still doesn't install any documenation, the README now has .rst file
extension.

(cherry picked from commit 42b247f7e7eb9fcbd6830d7669da778e053c0d2e)
2022-05-29 23:26:35 +02:00
Martin Weinelt
49de89df1a Merge pull request #175338 from NixOS/backport-175095-to-release-22.05 2022-05-29 23:14:57 +02:00
sternenseemann
66160e08c4 fcft: 3.1.1 -> 3.1.2
https://codeberg.org/dnkl/fcft/releases/tag/3.1.2
(cherry picked from commit ebfcc109b2bf1430881e063900e20e19460853b0)
2022-05-29 23:12:36 +02:00
maxine [they]
6ee6788cb0 Merge pull request #175277 from NixOS/backport-175236-to-release-22.05
[Backport release-22.05] gnome.gnome-terminal: 3.44.0 -> 3.44.1
2022-05-29 22:49:44 +02:00
maxine [they]
23d2d93e19 Merge pull request #175276 from NixOS/backport-175230-to-release-22.05
[Backport release-22.05] gnome.aisleriot: 3.22.22 -> 3.22.23
2022-05-29 22:49:41 +02:00
Janne Heß
889c107a29 Merge pull request #174967 from NixOS/backport-174734-to-release-22.05
[Backport release-22.05] release: Slightly adjust release-critical packages
2022-05-29 21:34:05 +02:00
Janne Heß
6ffcbe6bc8 Merge pull request #174980 from NixOS/backport-174639-to-release-22.05
[Backport release-22.05] nixos/version: add trailing newline to os-release
2022-05-29 21:33:21 +02:00
Janne Heß
e495381dad Merge pull request #175190 from NixOS/backport-174795-to-release-22.05
[Backport release-22.05] openmoji-black,openmoji-color: fix hanging builds
2022-05-29 21:29:18 +02:00
Martin Weinelt
5d4a350660 nixos/doc/rl-2205: add slapd argon2 module rename hint
(cherry picked from commit 173fdcb251)
2022-05-29 18:54:06 +00:00
Thiago Kenji Okada
388410bd28 Merge pull request #175329 from NixOS/backport-175302-to-release-22.05
[Backport release-22.05] distrobox: 1.2.15 -> 1.3.0
2022-05-29 18:58:00 +01:00
AtilaSaraiva
ee30f081ef distrobox: 1.2.15 -> 1.3.0
(cherry picked from commit 4330af7dd8)
2022-05-29 17:38:02 +00:00
Robert Scott
489b52c6b7 Merge pull request #175318 from NixOS/backport-174522-to-release-22.05
[Backport release-22.05] python39Packages.graspologic: mark as broken
2022-05-29 16:51:43 +01:00
Fabian Affolter
0a553b0ace python39Packages.graspologic: mark as broken
(cherry picked from commit 9102b1cc65)
2022-05-29 15:32:23 +00:00
Bobby Rong
ec8c383af7 Merge pull request #175229 from NixOS/backport-175112-to-release-22.05
[Backport release-22.05] snowflake: 2.0.1 -> 2.2.0
2022-05-29 21:17:26 +08:00
Thiago Kenji Okada
db78278ff2 Merge pull request #175280 from NixOS/backport-175221-to-release-22.05
[Backport release-22.05] argocd-autopilot: 0.3.5 -> 0.3.7
2022-05-29 12:06:52 +01:00
Bryan A. S
2e263afbd0 argocd-autopilot: 0.3.5 -> 0.3.7
- bump version

- fix typo in ldflags to make sure default manifests url works

(cherry picked from commit 063471168d)
2022-05-29 10:39:01 +00:00
Rick van Schijndel
2a64cd672b Merge pull request #175263 from NixOS/backport-174762-to-release-22.05
[Backport release-22.05] u-boot: embiggen RPi kernel allocation again, again
2022-05-29 12:19:19 +02:00
R. Ryantm
623b1681a6 gnome.gnome-terminal: 3.44.0 -> 3.44.1
(cherry picked from commit 87fd72101b)
2022-05-29 10:12:29 +00:00
R. Ryantm
49d24ce4d8 gnome.aisleriot: 3.22.22 -> 3.22.23
(cherry picked from commit 9344541ff2)
2022-05-29 10:11:14 +00:00
maxine [they]
82d155a8ef Merge pull request #175237 from NixOS/backport-175233-to-release-22.05 2022-05-29 11:12:44 +02:00
maxine [they]
88215e69ae Merge pull request #175234 from NixOS/backport-175231-to-release-22.05 2022-05-29 11:12:31 +02:00
Vladimír Čunát
d21a6faf85 Merge #174340: e2fsprogs: apply patch unconditionally
...into release-22.05
2022-05-29 10:45:19 +02:00
K900
d42735f21b u-boot: embiggen RPi kernel allocation again, again
(cherry picked from commit ff391e0f0d)
2022-05-29 07:47:42 +00:00
R. Ryantm
cd7af3091d gnome.gnome-maps: 42.1 -> 42.2
(cherry picked from commit d64d4c8fcc)
2022-05-29 04:19:49 +00:00
Robert Schütz
ca7b592395 python310Packages.ocrmypdf: fix build on Darwin
With enabled sandbox we get
    PermissionError: [Errno 1] Operation not permitted
when calling os.nice().

(cherry picked from commit 65450988a5)
2022-05-28 21:18:52 -07:00
Robert Schütz
fb9306521f python310Packages.pikepdf: fix build on aarch64-darwin
(cherry picked from commit f0eb6d2059)
2022-05-28 21:18:52 -07:00
R. Ryantm
361309a694 gnome.eog: 42.1 -> 42.2
(cherry picked from commit 213cac429f)
2022-05-29 04:06:08 +00:00
Robert Schütz
6daced223a python310Packages.miniaudio: fix build on Darwin
(cherry picked from commit 57436c50ee)
2022-05-28 20:45:53 -07:00
Yaya
a87c409c9d snowflake: 2.0.1 -> 2.2.0
(cherry picked from commit 45109ffcb8)
2022-05-29 03:30:01 +00:00
Bobby Rong
fc206e3522 Merge pull request #175036 from NixOS/backport-173947-to-release-22.05
[Backport release-22.05] vkdisplayinfo: init at 0.1
2022-05-29 11:27:18 +08:00
Mario Rodas
1ae0feedfb Merge pull request #175213 from NixOS/backport-173501-to-release-22.05
[Backport release-22.05] mysql: 8.0.28 -> 8.0.29
2022-05-28 20:44:21 -05:00
Aaron Jheng
47e85c3a34 mysql: 8.0.28 -> 8.0.29
(cherry picked from commit 0ce4fec785)
2022-05-29 00:12:17 +00:00
Martin Weinelt
53d60246da Merge pull request #175115 from NixOS/backport-172849-to-release-22.05 2022-05-29 01:59:45 +02:00
Robert Scott
3ef0aa0806 Merge pull request #175184 from NixOS/backport-174997-to-release-22.05
[Backport release-22.05] python3Packages.aioftp: skip pasv-mode test on darwin
2022-05-29 00:34:23 +01:00
Thiago Kenji Okada
d4efa1d822 Merge pull request #175203 from NixOS/backport-174897-to-release-22.05
[Backport release-22.05] each: 0.1.3 -> 0.2.0
2022-05-28 23:18:50 +01:00
Rick van Schijndel
8e5e8a366b Merge pull request #175181 from NixOS/backport-173198-to-release-22.05
[Backport release-22.05] nlohmann_json: 3.10.2 -> 3.10.5
2022-05-28 23:42:54 +02:00
R. Ryantm
7327559ad1 each: 0.1.3 -> 0.2.0
(cherry picked from commit 635d185f91)
2022-05-28 21:41:11 +00:00
Rick van Schijndel
38c57eb610 Merge pull request #175176 from NixOS/backport-173132-to-release-22.05
[Backport release-22.05] sigi: 3.3.0 -> 3.4.0
2022-05-28 23:23:47 +02:00
Francesco Gazzetta
fa71687b27 openmoji-black,openmoji-color: fix hanging builds
...by downgrading fontforge.

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

(cherry picked from commit 6ee6794c8c)
2022-05-28 20:17:21 +00:00
Niklas Hambüchen
96d30fd819 Merge pull request #175164 from NixOS/backport-173370-to-release-22.05
[Backport release-22.05] turbovnc: 2.2.7 -> 3.0, unvendor libs
2022-05-28 21:58:09 +02:00
Robert Scott
53544f8d64 python3Packages.aioftp: skip pasv-mode test on darwin
(cherry picked from commit cd07879440)
2022-05-28 19:42:15 +00:00
Markus S. Wamser
cfc4f9536a nlohmann_json: 3.10.2 -> 3.10.5
(cherry picked from commit 1dfba65a22)
2022-05-28 19:29:36 +00:00
hiljusti
921f8b4bd6 sigi: 3.3.0 -> 3.4.0
(cherry picked from commit 96467f286f)
2022-05-28 18:59:47 +00:00
Maximilian Bosch
515f7e95a6 wiki-js: 2.5.282 -> 2.5.283
ChangeLog: https://github.com/requarks/wiki/releases/tag/v2.5.283
(cherry picked from commit 9b11851ccf)
2022-05-28 18:24:20 +00:00
R. Ryantm
f1f0c4c1ac avrdudess: 2.13 -> 2.14
(cherry picked from commit 84ebb9b9f6a1668dabd9a7bf7e814671f115f465)
2022-05-28 19:58:52 +02:00
Markus S. Wamser
d3c1f66ebb turbovnc: 2.2.7 -> 3.0, unvendor libs
(cherry picked from commit 891df4eec9)
2022-05-28 17:58:52 +00:00
Gabriel Ebner
f01602e62a Merge pull request #175155 from NixOS/backport-175139-to-release-22.05
[Backport release-22.05] linuxPackages.digimend: unstable-2019-06-18 -> 10
2022-05-28 19:02:30 +02:00
Mario Rodas
db69d106a5 Merge pull request #174963 from NixOS/backport-174937-to-release-22.05
[Backport release-22.05] plantuml: 1.2022.3 -> 1.2022.5
2022-05-28 11:30:10 -05:00
Gabriel Ebner
ff48f1faa1 linuxPackages.digimend: unstable-2019-06-18 -> 10
(cherry picked from commit ddf273588e)
2022-05-28 16:08:50 +00:00
Artturi
1328a1b0e8 Merge pull request #175054 from NixOS/backport-170545-to-release-22.05
[Backport release-22.05] kitty: 0.24.4 -> 0.25.0
2022-05-28 18:46:02 +03:00
Bjørn Forsman
61bd5ce6a8 pulseview: hotfix build
libsForQt514 uses a custom stdenv that cause breakage when mixed with
boost built with normal stdenv. Fix it by building boost with the same
stdenv as libsForQt514.

This is a dirty fix compared to https://github.com/NixOS/nixpkgs/pull/171380,
but without mass rebuilds.

(cherry picked from commit 8d5481d01c)
2022-05-28 17:30:14 +02:00
José Romildo Malaquias
13209ddf33 Merge pull request #175141 from NixOS/backport-174931-to-release-22.05
[Backport release-22.05] xfce: move legacy aliases outside the scope of xfce
2022-05-28 12:22:08 -03:00
José Romildo
4e63ae1e0f xfce: move legacy aliases outside the scope of xfce
(cherry picked from commit 52beb63f4e)
2022-05-28 15:00:27 +00:00
José Romildo Malaquias
7429d1dec3 Merge pull request #175113 from NixOS/backport-174277-to-release-22.05
[Backport release-22.05] xfce: convert old aliases to throws, and remove old throws
2022-05-28 11:55:02 -03:00
José Romildo Malaquias
5870c4f0fb Merge pull request #175131 from NixOS/backport-174197-to-release-22.05
[Backport release-22.05] xfce.xfce4-terminal: 1.0.3 -> 1.0.4
2022-05-28 11:52:49 -03:00
Jörg Thalheim
812751d57f Merge pull request #175043 from NixOS/backport-174776-to-release-22.05
[Backport release-22.05] xkcd-font: fix build
2022-05-28 15:35:29 +01:00
Jörg Thalheim
aada3dbffd Merge pull request #175120 from NixOS/backport-175108-to-release-22.05
[Backport release-22.05] docs: document using labels for backporting in CONTRIBUTING.md
2022-05-28 15:33:08 +01:00
Bobby Rong
f00aef2d38 Merge pull request #174588 from NixOS/backport-169312-to-release-22.05
[Backport release-22.05] apko: init at 0.3.3
2022-05-28 22:11:31 +08:00
José Romildo
730e258412 xfce.xfce4-terminal: 1.0.3 -> 1.0.4
(cherry picked from commit e4dad6d606)
2022-05-28 13:58:20 +00:00
Arnout Engelen
49db510d94 CONTRIBUTING.md: document using labels for backporting
(cherry picked from commit d73290c6dd)
2022-05-28 12:36:25 +00:00
Robert Scott
95d85ef635 Merge pull request #175116 from NixOS/backport-175039-to-release-22.05
[Backport release-22.05] clingcon: fix build
2022-05-28 13:21:44 +01:00
Azat Bahawi
817e0854f7 clingcon: fix build
Fix build https://hydra.nixos.org/build/178237905

(cherry picked from commit aa8447dd0c)
2022-05-28 11:45:54 +00:00
maxine [they]
812ec6fbca Merge pull request #175102 from NixOS/backport-175067-to-release-22.05 2022-05-28 13:38:03 +02:00
Matthias Treydte
fd46fd58f2 nixos/systemd-boot: fix systemd-boot-builder dowgrade to fail
Since, 4ddc78818e systemd-boot-builder
is broken in two ways:

  * if no systemd-boot is currently installed *and* the NIXOS_INSTALL_BOOTLOADER
    env variable is not set, it will try to run "bootctl update", which will fail
  * if the currently installed systemd-boot version is newer than the version
    we're about to install, it will also try to run "bootctl update", which will fail

This patch changes the behaviour,

  * for the first case to still fail, but not even bother to try running
    "bootctl update" and instead erroring out with an exception
  * for the second case to leave the newer version in place, restoring
    the pre - 4ddc78818e behaviour

To do the proper version check a new "should_update" helper function was introduced,
mimicing the compare_product C function from bootctl. If the following systemd
issue gets resolved, we would have a nice way to get rid of this function:

> https://github.com/systemd/systemd/issues/23450

This change allows to again switch to a different NixOS configuration which contains
an older systemd-boot.

Co-authored-by: Martin Weinelt <mweinelt@users.noreply.github.com>
(cherry picked from commit a30de3b849)
2022-05-28 11:29:14 +00:00
José Romildo
f52be30c02 xfce: convert old aliases to throws, and remove old throws
(cherry picked from commit 886d8b7ecf)
2022-05-28 11:21:28 +00:00
Janne Heß
d1086907f5 Merge pull request #174961 from NixOS/backport-174722-to-release-22.05
[Backport release-22.05] perl*Packages: Fix all packages
2022-05-28 12:29:49 +02:00
R. Ryantm
92d6058128 gnome.gnome-control-center: 42.1 -> 42.2
(cherry picked from commit 2fe8fe3ec62e96a448af087c20afab508c793aee)
2022-05-28 10:12:53 +00:00
José Romildo Malaquias
714c4cce49 Merge pull request #175025 from NixOS/backport-173031-to-release-22.05
[Backport release-22.05] lxqt.libqtxdg: 3.9.0 -> 3.9.1
2022-05-28 06:54:05 -03:00
Bobby Rong
1127044143 Merge pull request #175085 from NixOS/backport-175059-to-release-22.05
[Backport release-22.05] pantheon.elementary-feedback: 6.1.0 -> 6.1.1
2022-05-28 17:10:15 +08:00
maxine [they]
69fd269a46 Merge pull request #175073 from NixOS/backport-175065-to-release-22.05
[Backport release-22.05] gnome.gnome-calculator: 42.0 -> 42.1
2022-05-28 11:08:27 +02:00
maxine [they]
1cf16ebae9 Merge pull request #175078 from NixOS/backport-175074-to-release-22.05
[Backport release-22.05] _1password: fix hashes
2022-05-28 11:05:21 +02:00
Michele Guerini Rocco
a840724b0c Merge pull request #175037 from NixOS/backport-174757-to-release-22.05
[Backport release-22.05] qutebrowser: 2.5.0 -> 2.5.1
2022-05-28 10:47:02 +02:00
Bobby Rong
fa127ed2cf pantheon.elementary-feedback: load metadata from correct location
(cherry picked from commit 874fb627c4)
2022-05-28 08:33:41 +00:00
Bobby Rong
3df1b42267 pantheon.elementary-feedback: 6.1.0 -> 6.1.1
(cherry picked from commit e741166e62)
2022-05-28 08:33:40 +00:00
Jörg Thalheim
8160ad8247 Merge pull request #175081 from NixOS/backport-152437-to-release-22.05
[Backport release-22.05] picoscope: fix sources
2022-05-28 09:02:38 +01:00
Jörg Thalheim
1e4ab9e339 picoscope: fix sources
(cherry picked from commit a3a93502f1)
2022-05-28 07:44:15 +00:00
Mario Rodas
971ad1c5b5 _1password: fix hashes
The latest version bump only updated the hash for x86_64-linux.

(cherry picked from commit dab999d541)
2022-05-28 07:34:14 +00:00
Jörg Thalheim
9af86f3121 Merge pull request #174944 from NixOS/backport-174680-to-release-22.05
[Backport release-22.05] nix-ld: disable build on non-linux platforms
2022-05-28 08:30:27 +01:00
Wael Nasreddine
08be99ada5 Merge pull request #175076 from NixOS/backport-175026-to-release-22.05 2022-05-28 00:21:08 -07:00
Maximilian Bosch
b1426df893 packer: 1.8.0 -> 1.8.1
ChangeLog: https://github.com/hashicorp/packer/blob/v1.8.1/CHANGELOG.md#181-may-27-2022
(cherry picked from commit 125e0b9f5c)
2022-05-28 06:52:50 +00:00
R. Ryantm
a883bac308 gnome.gnome-calculator: 42.0 -> 42.1
(cherry picked from commit cdcf234ef3)
2022-05-28 05:02:56 +00:00
Malo Bourgon
9f7197cff3 kitty: 0.24.4 -> 0.25.0
(cherry picked from commit 41d4a16961)
2022-05-28 01:27:13 +00:00
Robert Schütz
71be98ead1 ostinato: fix desktop file
(cherry picked from commit dcd7915d17)
2022-05-27 17:16:49 -07:00
midchildan
01895ff5df xkcd-font: add comment
(cherry picked from commit 05e4997ae97743d7fa096134d620aff4290ab7c8)
2022-05-27 23:30:12 +00:00
midchildan
72727d16fe xkcd-font: remove dotfiles from output
(cherry picked from commit 736905b7e8f52c32683a17259e17a31bd5c8f285)
2022-05-27 23:30:12 +00:00
midchildan
6bf9570279 xkcd-font: fix build
(cherry picked from commit ef97620b668a5c8d1ac7fee56be7feab9c5e53cf)
2022-05-27 23:30:12 +00:00
Robert Schütz
b4d2bc6726 qutebrowser: 2.5.0 -> 2.5.1
https://github.com/qutebrowser/qutebrowser/releases/tag/v2.5.1
(cherry picked from commit 2be2461a98)
2022-05-27 22:58:16 +00:00
Luna Nova
75a28d908b vkdisplayinfo: init at 0.1
https://github.com/ChristophHaag/vkdisplayinfo

Apply suggestions from @SuperSandro2000's code review

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>

Don't use pipefail

(cherry picked from commit 108dea5cda)
2022-05-27 22:55:15 +00:00
José Romildo
894508e63b lxqt.lxqt-session: 1.1.0 -> 1.1.1
(cherry picked from commit 1c884fb5bd)
2022-05-27 22:32:43 +00:00
José Romildo
b5b02698f6 lxqt.qtxdg-tools: init at 3.9.1
(cherry picked from commit 6a69317900)
2022-05-27 22:32:42 +00:00
José Romildo
976a934df5 lxqt.libqtxdg: 3.9.0 -> 3.9.1
(cherry picked from commit 3ab2cf2279)
2022-05-27 22:32:42 +00:00
Niklas Hambüchen
33f78039b4 Merge pull request #174983 from NixOS/backport-174669-to-release-22.05
[Backport release-22.05] consul: 1.12.0 -> 1.12.1
2022-05-27 22:32:06 +02:00
Robert Scott
c5e45824da Merge pull request #174973 from NixOS/backport-174817-to-release-22.05
[Backport release-22.05] curl: deduplicate definition of `passthru.tests`
2022-05-27 20:30:24 +01:00
Robert Scott
f344c2bb1a Merge pull request #174976 from NixOS/backport-174820-to-release-22.05
[Backport release-22.05] python3Packages.nitime: disable test test_FilterAnalyzer
2022-05-27 20:30:10 +01:00
Robert Scott
3e89701b6f Merge pull request #174972 from NixOS/backport-174818-to-release-22.05
[Backport release-22.05] gecode_3: fix on darwin using same patch as gecode_6
2022-05-27 20:29:30 +01:00
techknowlogick
201b09125f consul: 1.12.0 -> 1.12.1
(cherry picked from commit 933a7b06bc)
2022-05-27 17:44:34 +00:00
Matthew Toohey
c3aa32bed0 nixos/version: add trailing newline to os-release
(cherry picked from commit e41c423b01)
2022-05-27 17:34:48 +00:00
Robert Scott
aaf38814a7 python3Packages.nitime: disable test test_FilterAnalyzer
fails on all platforms after scipy 1.8.0 bump

(cherry picked from commit f01cef9982)
2022-05-27 17:16:15 +00:00
Robert Scott
889b6d813b curl: deduplicate definition of passthru.tests
(cherry picked from commit e9a0f109e5)
2022-05-27 16:59:21 +00:00
Robert Scott
fc72e35403 gecode_3: fix on darwin using same patch as gecode_6
(cherry picked from commit dd41e3832a)
2022-05-27 16:58:28 +00:00
Janne Heß
6e466b727d release: Slightly adjust release-critical packages
Removing Python 2 because it's EOL and most packages don't use it
anymore.
Also replace thunderbird with firefox because more people use it and it
feels better maintained in general

(cherry picked from commit 24bd72fd83)
2022-05-27 16:29:15 +00:00
Thomas Gerbet
44c1444338 plantuml: 1.2022.3 -> 1.2022.5
Fixes CVE-2022-1231.
https://plantuml.com/en/changes

(cherry picked from commit b6e3591669)
2022-05-27 15:53:55 +00:00
Janne Heß
c7bcba0389 perl*Packages: Fix all packages
This is mostly done by disabling the tests or the entire package on
Darwin

(cherry picked from commit 2997839463)
2022-05-27 15:39:24 +00:00
Rick van Schijndel
7ec4e53390 Merge pull request #174602 from NixOS/backport-174222-to-release-22.05
[Backport release-22.05] linuxPackages.rtw88: 2021-04-19 to 2022-05-08, removed broken mark.
2022-05-27 16:07:22 +02:00
Jörg Thalheim
1f0b10ae8b nix-ld: disable build on non-linux platforms
(cherry picked from commit fcb339e294)
2022-05-27 13:57:09 +00:00
Kerstin Humm
7bb3e009c1 mastodon: 3.5.2 -> 3.5.3
(cherry picked from commit db795b8f2b7c6d315f50acba15c0491b4f0f1907)
2022-05-27 14:50:30 +02:00
maxine [they]
779e2f50f8 Merge pull request #174902 from NixOS/backport-174794-to-release-22.05
[Backport release-22.05] kind: 0.11.1 -> 0.14.0
2022-05-27 12:39:42 +02:00
Maxine Aubrey
9ffa7a7abb kind: 0.11.1 -> 0.14.0
- https://github.com/kubernetes-sigs/kind/releases/tag/v0.12.0
- https://github.com/kubernetes-sigs/kind/releases/tag/v0.13.0
- https://github.com/kubernetes-sigs/kind/releases/tag/v0.14.0

Changes:
- update/fix nixos specific kernel module path patch
- change build options to match upstream
- pin major go version to match upstream

(cherry picked from commit 5b062820b6)
2022-05-27 10:38:20 +00:00
maxine [they]
dddcef9ef7 Merge pull request #174549 from NixOS/backport-174524-to-release-22.05
[Backport release-22.05] coredns: 1.9.1 -> 1.9.2
2022-05-27 12:23:27 +02:00
maxine [they]
86631674f3 Merge pull request #174889 from NixOS/backport-174851-to-release-22.05
[Backport release-22.05] gnome.gnome-initial-setup: 42.1.1 -> 42.2
2022-05-27 12:17:31 +02:00
maxine [they]
31a0fe22f4 Merge pull request #174882 from NixOS/backport-174848-to-release-22.05
[Backport release-22.05] gnome.gedit: 42.0 -> 42.1
2022-05-27 12:17:17 +02:00
R. Ryantm
27d041e617 gnome.gnome-initial-setup: 42.1.1 -> 42.2
(cherry picked from commit c49b38e057f2e5127011683e85f357e1034d1204)
2022-05-27 08:44:26 +00:00
Timo Kaufmann
41d80aaff9 Merge pull request #174785 from NixOS/backport-174139-to-release-22.05
[Backport release-22.05] sage: fix passthru.kernelspec regression
2022-05-27 10:38:43 +02:00
R. Ryantm
a76201ad78 gnome.gedit: 42.0 -> 42.1
(cherry picked from commit c7acf6a4ac)
2022-05-27 07:54:53 +00:00
Maximilian Bosch
e7dbbc76e7 Merge pull request #174813 from NixOS/backport-174773-to-release-22.05
[Backport release-22.05] Linux kernel updates 2022-05-25
2022-05-27 07:56:02 +02:00
Kerstin Humm
308d79072c python3Packages.python-louvain: fix test karate
Also add pandas, scipy to checkInputs

(cherry picked from commit 22f3d34c93)
2022-05-27 04:39:54 +02:00
R. Ryantm
357ab17bb7 vorta: 0.8.4 -> 0.8.6
(cherry picked from commit a64bf22230)
2022-05-26 17:55:37 -07:00
Maximilian Bosch
0102a71727 linux/hardened/patches/5.4: 5.4.195-hardened1 -> 5.4.196-hardened1
(cherry picked from commit 75f4c62775)
2022-05-26 22:52:40 +00:00
Maximilian Bosch
54ad2d59b7 linux/hardened/patches/5.17: 5.17.9-hardened1 -> 5.17.11-hardened1
(cherry picked from commit ec4b2a871d)
2022-05-26 22:52:40 +00:00
Maximilian Bosch
70426590f0 linux/hardened/patches/5.15: 5.15.41-hardened1 -> 5.15.43-hardened1
(cherry picked from commit e97b03a780)
2022-05-26 22:52:40 +00:00
Maximilian Bosch
27b7a0686f linux/hardened/patches/5.10: 5.10.117-hardened1 -> 5.10.118-hardened1
(cherry picked from commit d8d0dd929e)
2022-05-26 22:52:40 +00:00
Maximilian Bosch
921fbe2c57 linux/hardened/patches/4.19: 4.19.244-hardened1 -> 4.19.245-hardened1
(cherry picked from commit 63192641bb)
2022-05-26 22:52:40 +00:00
Maximilian Bosch
65395800a0 linux/hardened/patches/4.14: 4.14.280-hardened1 -> 4.14.281-hardened1
(cherry picked from commit 08daee172e)
2022-05-26 22:52:40 +00:00
Maximilian Bosch
9c6daf44c5 linux: 5.4.195 -> 5.4.196
(cherry picked from commit d505557a29)
2022-05-26 22:52:40 +00:00
Maximilian Bosch
488dabf121 linux: 5.17.9 -> 5.17.11
(cherry picked from commit c57d757e1b)
2022-05-26 22:52:40 +00:00
Maximilian Bosch
b95e3c00d4 linux: 5.15.41 -> 5.15.43
(cherry picked from commit bc0db57d53)
2022-05-26 22:52:39 +00:00
Maximilian Bosch
bbfd3b5093 linux: 5.10.117 -> 5.10.118
(cherry picked from commit ec5629f3f2)
2022-05-26 22:52:39 +00:00
Maximilian Bosch
0de9fe65fb linux: 4.9.315 -> 4.9.316
(cherry picked from commit 110b58f77e)
2022-05-26 22:52:39 +00:00
Maximilian Bosch
d979074177 linux: 4.19.244 -> 4.19.245
(cherry picked from commit b5c4a60bbe)
2022-05-26 22:52:39 +00:00
Maximilian Bosch
3fa5c1831f linux: 4.14.280 -> 4.14.281
(cherry picked from commit f2e1f34e4c)
2022-05-26 22:52:39 +00:00
Martin Weinelt
6477b12bae python3Packages.sanic: disable some tests again
Apparently those tests still need to be disabled.

(cherry picked from commit b79448d4ee)
2022-05-26 15:17:01 -07:00
Robert Schütz
b00c255692 python310Packages.uvicorn: 0.17.5 -> 0.17.6
https://github.com/encode/uvicorn/releases/tag/0.17.6
(cherry picked from commit 58667dbd53)
2022-05-26 15:17:01 -07:00
sternenseemann
6eeedcd742 Merge pull request #174798 from NixOS/backport-174777-to-release-22.05
[Backport release-22.05] gajim: fix plugin support
2022-05-26 23:40:40 +02:00
Robert Schütz
88e092f22c python3Packages.pykeepass: 4.0.1 -> 4.0.2
https://github.com/libkeepass/pykeepass/blob/v4.0.2/CHANGELOG.rst
(cherry picked from commit 09cce3f3e2)
2022-05-26 14:16:59 -07:00
Robert Scott
fbfe922658 Merge pull request #174779 from NixOS/backport-174617-to-release-22.05
[Backport release-22.05] python3Packages.pot: fix build on darwin
2022-05-26 22:04:13 +01:00
sternenseemann
79d2667dd0 gajim: update download page
(cherry picked from commit 9559ad77585c546221a2072ec1e315300d6a43f7)
2022-05-26 20:45:13 +00:00
sternenseemann
5dc61208df gajim: add dependency on gssapi
Not sure what this is necessary for precisely, but Gajim would complain
about missing it on startup.

(cherry picked from commit 65cc6305ee0ebb5ff7ce295c2075b659e3021bb9)
2022-05-26 20:45:13 +00:00
sternenseemann
b904d062b2 gajim: don't vendor old plugin_installer
With 1.4.0 the plugin_installer was added to the main Gajim source tree,
so we no longer need to fetch the plugins repository.

(cherry picked from commit f63c5a45c2010583c83d181bd8eba4b3745460e0)
2022-05-26 20:45:13 +00:00
Manuel Bärenz
6848cb6bfc scribus: Rename scribus{,Unstable} -> scribus{_1_4,}
(cherry picked from commit 28c8201955118249aa466260d3016869ad9f98c0)
2022-05-26 21:29:30 +02:00
Mauricio Collares
325eb23722 sage: fix passthru.kernelspec regression
(cherry picked from commit 8711501e96)
2022-05-26 19:11:07 +00:00
Martin Weinelt
7212933299 Merge pull request #174768 from NixOS/backport-174716-to-release-22.05 2022-05-26 20:23:13 +02:00
Martin Weinelt
fd840b999a Merge pull request #174766 from NixOS/backport-174718-to-release-22.05 2022-05-26 20:22:02 +02:00
Robert Scott
64a0e6fe03 python3Packages.pot: fix build on darwin
(cherry picked from commit 0cdff58b3f)
2022-05-26 18:19:39 +00:00
Robert Scott
ae77c60007 Merge pull request #174631 from NixOS/backport-174618-to-release-22.05
[Backport release-22.05] coredns: fix tests on darwin
2022-05-26 19:15:26 +01:00
Martin Weinelt
8f2211f0c6 python3Packages.sanic-auth: disable failing test
(cherry picked from commit 664bd428bd)
2022-05-26 17:37:26 +00:00
Martin Weinelt
6dfa1d5a2c python3Packages.elastic-apm: fix tests with sanic>=22.3.0
(cherry picked from commit 39e8b8b42f)
2022-05-26 17:37:25 +00:00
Martin Weinelt
7ea428e9a1 python3Packages.sanic: 21.12.1 -> 22.3.2
(cherry picked from commit c95ab3cc25)
2022-05-26 17:37:25 +00:00
Martin Weinelt
4ef9f03873 python3Packages.sanic-resting: 0.8.2 -> 22.3.0
(cherry picked from commit 1fda638640)
2022-05-26 17:37:25 +00:00
Martin Weinelt
9893de5cfd python3Packages.sanic-routing: 0.7.2 -> 22.3.0
(cherry picked from commit 17273c5fcf)
2022-05-26 17:37:25 +00:00
Martin Weinelt
4b71257186 python3Packages.sentry-sdk: stop testing integrations
They're fragile and break on most dependency upgrades and the upstream
is too slow to catch up in a reasonable timeframe.

Also implement optional-depdencies passthru attr set and clean up unused
dependencies.

(cherry picked from commit df64a670ae)
2022-05-26 17:19:34 +00:00
Kai Wohlfahrt
787b1647a9 python3Packages.aiohttp: remove trustme test dependency on aarch64-darwin
This is an optional test dependency dependency is no longer needed, and
makes the package unbuildable on aarch64-darwin, as it transitively
depends on pyopenssl, which is marked broken.

(cherry picked from commit df1f9ecd9b)
2022-05-26 08:19:38 -07:00
Martin Weinelt
67cdf5099c Merge pull request #174743 from NixOS/backport-174717-to-release-22.05 2022-05-26 16:46:56 +02:00
Martin Weinelt
e409cfe8e9 python3Packages.lomond: disable tornado_4 tests on python3.10
And organize a makeover for the package.

(cherry picked from commit 9c295d34e1)
2022-05-26 14:27:50 +00:00
Martin Weinelt
b1671eaf7f Merge pull request #174739 from NixOS/backport-174719-to-release-22.05 2022-05-26 16:09:15 +02:00
Martin Weinelt
88fc18d34a python3Packages.pyfronius: add patch for python310 compat
(cherry picked from commit 27d3429a3f)
2022-05-26 14:04:44 +00:00
maxine [they]
300811fa8f Merge pull request #174699 from NixOS/backport-174064-to-release-22.05
[Backport release-22.05] golangci-lint: 1.45.2 -> 1.46.2
2022-05-26 15:54:27 +02:00
Martin Weinelt
ca7506ce15 Merge pull request #174723 from NixOS/backport-169430-to-release-22.05 2022-05-26 14:30:56 +02:00
Fabian Möller
718104684b breitbandmessung: don't use bundled electron
(cherry picked from commit 92e2e3b3f4)
2022-05-26 12:27:17 +00:00
Gabriel Ebner
dcc69df9cb Merge pull request #174704 from NixOS/backport-174624-to-release-22.05
[Backport release-22.05] elinks: disable perl support on darwin
2022-05-26 13:19:45 +02:00
Robert Scott
d96ad18485 elinks: disable perl support on darwin
currently causes a header mixup with LIST_HEAD macros

(cherry picked from commit 9b103fac08)
2022-05-26 09:59:13 +00:00
Michael Weiss
282ea22a18 Merge pull request #174449 from NixOS/backport-174338-to-release-22.05
[Backport release-22.05] chromium: 101.0.4951.64 -> 102.0.5005.61
2022-05-26 11:49:31 +02:00
Jan Tojnar
84070c8154 Remove myself from maintainers
Done with `sed -i -E '/^\s+jtojnar\s*$/d;s/ @?jtojnar//g' (rg ' jtojnar|^\s+jtojnar\s*$' -l -g '!maintainers/maintainer-list.nix')`.
(Always check the `rg` result beforehand to avoid corruption.)
2022-05-26 11:30:50 +02:00
Zane van Iperen
28bdfbef5b golangci-lint: 1.45.2 -> 1.46.2
(cherry picked from commit 4a029b2477)
2022-05-26 09:30:49 +00:00
maxine [they]
34f12f5e45 Merge pull request #174561 from NixOS/backport-174102-to-release-22.05
[Backport release-22.05] GNOME updates
2022-05-26 11:00:30 +02:00
adisbladis
192c0dcfc7 Merge pull request #174693 from NixOS/backport-174689-to-release-22.05
[Backport release-22.05] compressFirmwareXz: fix with empty lib/firmware
2022-05-26 16:58:37 +08:00
Alyssa Ross
6fd97eadd7 compressFirmwareXz: fix with empty lib/firmware
Fixes: 8aa8e0ce7f ("nixos/udev: compress all firmware if supported")
(cherry picked from commit 76405e3077)
2022-05-26 08:07:05 +00:00
Jörg Thalheim
99acd989ad Merge pull request #174622 from NixOS/backport-174491-to-release-22.05
[Backport release-22.05] ghidra-bin: 10.1.1 -> 10.1.4
2022-05-26 07:15:59 +01:00
adisbladis
aebc7fd7e2 Merge pull request #174661 from NixOS/backport-174178-to-release-22.05
[Backport release-22.05] emacsPackages.melpaBuild: Update package-build, avoid monkey-patch
2022-05-26 13:55:22 +08:00
Tad Fisher
c8bb3de96e emacsPackages.melpaBuild: Update package-build, avoid monkey-patch
(cherry picked from commit b4e4982e6c)
2022-05-26 02:53:28 +00:00
Robert Scott
794428305f coredns: fix tests on darwin
(cherry picked from commit e9c36e2d76)
2022-05-25 23:26:10 +00:00
Martin Weinelt
e3a8165d29 Merge pull request #174625 from NixOS/backport-174285-to-release-22.05 2022-05-26 01:20:35 +02:00
Tobias Mayer
01ad3873a6 pkgsStatic.python3: fix build
GCC does not come with a `libgcc_eh.a` for the target platform if
it was built without `--enable-shared`. That flag was removed with
c6dd11ca39, meaning we should no longer
attempt to link against that lib.

(cherry picked from commit 1e447d7898)
2022-05-25 22:39:57 +00:00
sintemal
511b94b525 ghidra-bin: 10.1.1 -> 10.1.4
(cherry picked from commit d079f3654d)
2022-05-25 22:21:58 +00:00
Alyssa Ross
55636a152d linuxPackages.openafs: mark broken on Linux 5.18
(cherry picked from commit d7446ec4678e97e7f80023d1e6a788d3c4894a2b)
2022-05-25 22:21:48 +00:00
Alyssa Ross
a2a6e71985 linuxPackages.vmware: mark broken on Linux 5.18
(cherry picked from commit f68830545150a8e1c63ca9c88d7893c8f4ade611)
2022-05-25 22:21:48 +00:00
Alyssa Ross
3c23c47c69 linuxPackages.virtualbox: mark broken on Linux 5.18
(cherry picked from commit 11ab41731c0d2f5c24947b1bc85661f6c8e36f6e)
2022-05-25 22:21:48 +00:00
Alyssa Ross
b3d8309c8a linuxPackages.rtl88xxau-aircrack: mark broken on Linux 5.18
(cherry picked from commit 90b308ddf8594478d5510e75efd4a09536b4248c)
2022-05-25 22:21:48 +00:00
Alyssa Ross
46e171dba1 linuxPackages.rtl8821ce: mark broken on Linux 5.18
(cherry picked from commit de2fc99ca6ab983a7bf8be070071d14b31cd3b84)
2022-05-25 22:21:48 +00:00
Alyssa Ross
ccec3f70c2 linuxPackages.rtl8192eu: mark broken on Linux 5.18
(cherry picked from commit 044f1204c7f5b6d7281d8a14d5e6fbd3a01bb060)
2022-05-25 22:21:48 +00:00
Alyssa Ross
778388bdff linuxPackages.nvidiabl: mark broken on Linux 5.18
(cherry picked from commit c49453790213fa0851ba3179b81f11253d26ca0b)
2022-05-25 22:21:48 +00:00
Alyssa Ross
7348038c72 linuxPackages.lttng-modules: mark broken on Linux 5.18
(cherry picked from commit 87fd0b8f5e35aafed79e67fd84116c1ae72db0d1)
2022-05-25 22:21:48 +00:00
Alyssa Ross
2dba8c3408 linuxPackages.kvmfr: mark broken on Linux 5.18
(cherry picked from commit 4f8a58791b1ed3214fe78481a27adad65d441011)
2022-05-25 22:21:48 +00:00
Alyssa Ross
c1e01debe7 linuxPackages.kvdo: mark broken on Linux 5.17+
(cherry picked from commit 9da14eb0a6919d4a24b8051a30933c9b2efdac78)
2022-05-25 22:21:48 +00:00
Alyssa Ross
7436afa22d linuxPackages.intel-speed-select: mark broken on Linux 5.18
(cherry picked from commit e34fb41128168f771dbfffa4cd8927869dd9cc44)
2022-05-25 22:21:48 +00:00
Alyssa Ross
f83ace1305 linuxPackages.facetimehd: mark broken on Linux 5.18
(cherry picked from commit cd6418bfe124c8feb54a523ebdf49b81b8e06a43)
2022-05-25 22:21:48 +00:00
Alyssa Ross
a274814c07 linuxPackages.dpdk: mark broken on Linux 5.18
(cherry picked from commit 5dfffe13e7fd211d0a6bd86c68c40e6337d04692)
2022-05-25 22:21:48 +00:00
Alyssa Ross
0042f455d1 linuxPackages.dpdk-kmods: mark broken on Linux 5.18
(cherry picked from commit ffbb348e7b9cab746f4fd3d205e34f8837e419cb)
2022-05-25 22:21:48 +00:00
Alyssa Ross
09a0b5f4d4 linuxPackages.dddvb: mark broken on Linux 5.18
(cherry picked from commit 2e82459fdc56b67e639019964b17d3be1e7c6ee3)
2022-05-25 22:21:48 +00:00
Alyssa Ross
79e93660fe linuxPackages.bbswitch: mark broken on Linux 5.18
(cherry picked from commit 48d76730a3c0f570e05559ba118a565fa3b1e7a0)
2022-05-25 22:21:48 +00:00
Alyssa Ross
410c3f046b linuxPackages.akvcam: mark broken on Linux 5.18
(cherry picked from commit cac2231057d35b9524336aec511693f16c7d5057)
2022-05-25 22:21:48 +00:00
Alyssa Ross
aac57c30ea linuxPackages.vendor-reset: enable parallel building
Tested at -j48.

(cherry picked from commit 9dab6bc07744790f5ca081fd9af07db1547bfaf5)
2022-05-25 22:21:32 +00:00
Alyssa Ross
113012804c linuxPackages.vendor-reset: patch for Linux 5.18
(cherry picked from commit d851e2f78a2c270e0f8ba1954cd884830796c8d0)
2022-05-25 22:21:32 +00:00
Alyssa Ross
520108641b cgiserver: init at 1.0.0
(cherry picked from commit b97e0d1cbc4c07934c4162502c637824818b58f0)
2022-05-25 22:20:57 +00:00
Alyssa Ross
f922a077d8 linux_latest: 5.17.9 -> 5.18
NSFD_V3 is now always enabled, and enabling debug info now requires
selecting a DWARF version instead of just setting DEBUG_INFO=y.

(cherry picked from commit fa7ae8876f)
2022-05-25 22:19:57 +00:00
Alyssa Ross
f6b9994e2e linuxPackages.pktgen: 21.11.0 -> 22.04.1
21.11.0 didn't build with our version of DPDK.

(cherry picked from commit 9278a76d82dd8ee4f9c4207b288ee391352fb149)
2022-05-25 22:18:51 +00:00
Alyssa Ross
8aa0aa9c7d linuxPackages.netatop: fix build with Linux 5.18
With 5.18, implicit fallthrough is an error, and netatop hasn't caught
up yet.

(cherry picked from commit 197e9ba286917cf32ed85efa117a14285b21a998)
2022-05-25 22:18:02 +00:00
Robert Scott
2224599890 Merge pull request #174614 from NixOS/backport-174581-to-release-22.05
[Backport release-22.05] python310Packages.pot: 0.8.1.0 -> 0.8.2
2022-05-25 22:20:00 +01:00
Robert Scott
64b479425b Merge pull request #174428 from NixOS/backport-174322-to-release-22.05
[Backport release-22.05] python310Packages.tokenizers: unstable-2021-08-13 -> 0.12.1
2022-05-25 22:15:47 +01:00
Fabian Affolter
c7f4660ac8 python310Packages.pot: 0.8.1.0 -> 0.8.2
(cherry picked from commit b7de85745c04526625d2874aee4c968654f0bd67)
2022-05-25 21:03:15 +00:00
AtilaSaraiva
daf6ceeebc linuxPackages.rtw88: removing upper version limit for the broken mark
(cherry picked from commit 032a4229f40010531c34f0e61aff84ba4c7a8261)
2022-05-25 20:26:27 +00:00
AtilaSaraiva
f57bf57c8d linuxPackages.rtw88: 2021-04-19 to 2022-05-08
added myself to the maintainers

(cherry picked from commit 71749fd81da723a2737c91e2cffe491e6c82c1d1)
2022-05-25 20:26:27 +00:00
Pascal Bach
d76be3882c Merge pull request #174311 from NixOS/backport-174280-to-release-22.05
[Backport release-22.05] element-{web,desktop}: 1.10.12 -> 1.10.13
2022-05-25 21:40:37 +02:00
Martin Weinelt
86fe1a808a Merge pull request #174589 from NixOS/backport-174535-to-release-22.05 2022-05-25 21:17:52 +02:00
Martin Weinelt
56f9e5d35e dump_syms: 1.0.0 -> 1.0.1
https://github.com/mozilla/dump_syms/releases/tag/v1.0.1
(cherry picked from commit d3564429d5)
2022-05-25 19:16:37 +00:00
06kellyjac
2dbb13690e apko: init at 0.3.3
(cherry picked from commit dcf4c8e7b9)
2022-05-25 19:11:45 +00:00
Martin Weinelt
6efc186e60 Merge pull request #174575 from NixOS/backport-174565-to-release-22.05 2022-05-25 20:45:06 +02:00
Alvar Penning
186c857daa logrotate: 3.19.0 -> 3.20.1
Fixes CVE-2022-1348.

- https://github.com/logrotate/logrotate/releases/tag/3.20.0
- https://github.com/logrotate/logrotate/releases/tag/3.20.1

(cherry picked from commit 0e006cd850)
2022-05-25 18:23:47 +00:00
Jan Tojnar
e5f47298b7 gnome.gnome-keyring: 40.0 → 42.1
https://gitlab.gnome.org/GNOME/gnome-keyring/-/compare/40.0...42.1

The systemd-activation support does not appear to me to be ready yet: https://gitlab.gnome.org/GNOME/gnome-keyring/-/merge_requests/35

(cherry picked from commit 2d6c441042)
2022-05-25 17:32:11 +00:00
Jan Tojnar
a412d05a3b seahorse: fix missing icons
Recent `wrapGAppsHook` change stopped `gcr` from being added to `XDG_DATA_DIRS`:
b1e73fa2e0
But gcr installs icons expected by Seahorse to the hicolor theme so we need to add it back.

Also drop adwaita-icon-theme since whether it will be used depends on user’s environment.

(cherry picked from commit e3e91f0c33)
2022-05-25 17:32:11 +00:00
Jan Tojnar
3090468d02 gupnp-tools: 0.10.2 → 0.10.3
https://gitlab.gnome.org/GNOME/gupnp-tools/-/compare/gupnp-tools-0.10.2...gupnp-tools-0.10.3
(cherry picked from commit 9925507b45)
2022-05-25 17:32:11 +00:00
Jan Tojnar
d3abf842f6 evince: 42.2 → 42.3
https://gitlab.gnome.org/GNOME/evince/-/compare/42.2...42.3
(cherry picked from commit e337e4ea5f)
2022-05-25 17:32:11 +00:00
Jan Tojnar
c7d2d933e3 shotwell: 0.30.15 → 0.30.16
https://gitlab.gnome.org/GNOME/shotwell/-/compare/shotwell-0.30.15...shotwell-0.30.16
(cherry picked from commit 2f87de7b08)
2022-05-25 17:32:11 +00:00
Jan Tojnar
e0aa1f1cd5 orca: 42.0 → 42.1
https://gitlab.gnome.org/GNOME/orca/-/compare/ORCA_42_0...ORCA_42_1
(cherry picked from commit 275b2f85ec)
2022-05-25 17:32:11 +00:00
Jan Tojnar
21e08a43f0 gnome.seahorse: 41.0 → 42.0
https://gitlab.gnome.org/GNOME/seahorse/-/compare/41.0...42.0
(cherry picked from commit b5d942b84f)
2022-05-25 17:32:10 +00:00
maxine [they]
0b9b835599 Merge pull request #174554 from NixOS/backport-174546-to-release-22.05 2022-05-25 19:06:33 +02:00
Maxine Aubrey
cc85ac23b9 docker: 20.10.15 -> 20.10.16
- https://docs.docker.com/engine/release-notes/#201016
- https://github.com/docker/cli/releases/tag/v20.10.16
- https://github.com/moby/moby/releases/tag/v20.10.16

(cherry picked from commit f21fb9441f)
2022-05-25 17:01:25 +00:00
R. Ryantm
44b21b7984 coredns: 1.9.1 -> 1.9.2
(cherry picked from commit ff7d60fdcf)
2022-05-25 16:47:37 +00:00
maxine [they]
50b9bcc9a4 Merge pull request #174544 from NixOS/backport-174488-to-release-22.05
[Backport release-22.05] docker-credential-gcr: 2.1.2 -> 2.1.4
2022-05-25 18:25:57 +02:00
R. Ryantm
e55bd861a9 docker-credential-gcr: 2.1.2 -> 2.1.4
(cherry picked from commit 3740bcad45)
2022-05-25 16:24:35 +00:00
maxine [they]
84026ed10c Merge pull request #174542 from NixOS/backport-174085-to-release-22.05
[Backport release-22.05] slack: 4.25.1 -> 4.26.1
2022-05-25 18:24:14 +02:00
maxine [they]
1f0988a53f Merge pull request #174543 from NixOS/backport-174392-to-release-22.05
[Backport release-22.05] _1password: 2.2.0 -> 2.3.1
2022-05-25 18:24:04 +02:00
R. Ryantm
db4d79857a _1password: 2.2.0 -> 2.3.1
(cherry picked from commit 85ff3bfe63)
2022-05-25 16:22:45 +00:00
nanashi0x74
0700863107 slack:4.25.1 -> 4.26.1
(cherry picked from commit 3d409bffca8e693fd74ad396705155be94d30bbf)
2022-05-25 16:22:38 +00:00
maxine [they]
30482fab2d Merge pull request #174541 from NixOS/backport-174486-to-release-22.05
[Backport release-22.05] docker-compose_2: 2.5.0 -> 2.5.1
2022-05-25 18:22:15 +02:00
R. Ryantm
f1dc426351 docker-compose_2: 2.5.0 -> 2.5.1
(cherry picked from commit dc51978b78)
2022-05-25 16:21:55 +00:00
Michael Weiss
8d1d1dff92 chromium: 101.0.4951.64 -> 102.0.5005.61
https://chromereleases.googleblog.com/2022/05/stable-channel-update-for-desktop_24.html

This update includes 32 security fixes.

CVEs:
CVE-2022-1853 CVE-2022-1854 CVE-2022-1855 CVE-2022-1856 CVE-2022-1857
CVE-2022-1858 CVE-2022-1859 CVE-2022-1860 CVE-2022-1861 CVE-2022-1862
CVE-2022-1863 CVE-2022-1864 CVE-2022-1865 CVE-2022-1866 CVE-2022-1867
CVE-2022-1868 CVE-2022-1869 CVE-2022-1870 CVE-2022-1871 CVE-2022-1872
CVE-2022-1873 CVE-2022-1874 CVE-2022-1875 CVE-2022-1876

(cherry picked from commit e48814a245)
2022-05-25 09:15:11 +00:00
Martin Weinelt
4332560513 Merge pull request #174440 from NixOS/backport-174396-to-release-22.05 2022-05-25 10:11:48 +02:00
R. Ryantm
2cd013ed83 esphome: 2022.5.0 -> 2022.5.1
(cherry picked from commit bd88e1b38b)
2022-05-25 07:58:48 +00:00
Fabian Affolter
04ce374a07 python310Packages.tokenizers: add Security for darwin
(cherry picked from commit 73aa9f07ee)
2022-05-25 06:56:35 +00:00
Fabian Affolter
692f2abe16 python310Packages.tokenizers: unstable-2021-08-13 -> 0.12.1
(cherry picked from commit b95fefe360)
2022-05-25 06:56:35 +00:00
Mario Rodas
0c3bf3a5c3 Merge pull request #174421 from NixOS/backport-174267-to-release-22.05
[Backport release-22.05] postgresqlPackages.timescaledb: 2.6.1 -> 2.7.0
2022-05-25 01:43:11 -05:00
1000101
6652336fc8 postgresqlPackages.timescaledb: 2.6.1 -> 2.7.0
(cherry picked from commit 06eee30956)
2022-05-25 06:24:59 +00:00
Bobby Rong
08cea6f6cc Merge pull request #174263 from NixOS/backport-174220-to-release-22.05
[Backport release-22.05] pantheon.gala: save/restore easing on workspace switch
2022-05-25 12:01:32 +08:00
Robert Scott
851a423898 Merge pull request #174211 from NixOS/backport-173679-to-release-22.05
[Backport release-22.05] moarvm: fix build on darwin
2022-05-25 00:16:43 +01:00
Robert Scott
4d12927134 Merge pull request #174336 from NixOS/backport-174327-to-release-22.05
[Backport release-22.05] python310Packages.pyhocon: disable failing tests
2022-05-25 00:09:06 +01:00
Vladimír Čunát
81bb75b6ef e2fsprogs: apply patch unconditionally
Commit 49d0a5afd mistakenly inverted when to apply the patch.
Maybe it's not needed anymore, as pkgsMusl.e2fsprogs succeeded for me
even without it, but it looks harmless and better not have it inversed.
This way we also don't cause a mass rebuild :-)

(cherry picked from commit f008987704)
2022-05-24 22:47:53 +00:00
Fabian Affolter
a3349543b0 python310Packages.pyhocon: disable failing tests
(cherry picked from commit 76014d394e)
2022-05-24 22:32:24 +00:00
Martin Weinelt
3455859476 Merge pull request #174335 from NixOS/backport-171679-to-release-22.05 2022-05-25 00:23:49 +02:00
Martin Weinelt
ec44a901de Merge pull request #174333 from NixOS/backport-174329-to-release-22.05
[Backport release-22.05] powerdns-admin: fix build
2022-05-25 00:23:13 +02:00
Sebastian Neubauer
5ae3ced1e5 directx-shader-compiler: 1.6.2106 -> 1.6.2112
The glibc update broke compiling dxc. Update and fix compilation.

- Use ninja because it's faster and fixes compilation (uhm, yes, no idea
  why)
- Remove the comment about using submodules only for .git, they are
  actually used for SPIR-V
- The way default CMake flags are passed changed
- Add myself as maintainer

(cherry picked from commit 7655d19fc2)
2022-05-24 22:22:54 +00:00
Robert Scott
648b182a89 Merge pull request #174254 from NixOS/backport-174144-to-release-22.05
[Backport release-22.05] python310Packages.mlflow: 1.25.1 -> 1.26.0
2022-05-24 23:22:23 +01:00
Flakebi
cd575e1d5c powerdns-admin: fix build
Pin jsonschema to 3.2.0 because bravado-core is incompatible with 4.0.
Also fix the dnspython pin.

(cherry picked from commit efec13e550)
2022-05-24 22:18:28 +00:00
Robert Scott
16ad3208e3 Merge pull request #174319 from NixOS/backport-174307-to-release-22.05
[Backport release-22.05] python310Packages.sumtypes: 0.1a5 -> 0.1a6
2022-05-24 22:35:53 +01:00
Robert Scott
8afb7a9534 Merge pull request #174317 from NixOS/backport-174296-to-release-22.05
[Backport release-22.05] python310Packages.qiskit-aer: disable failing test
2022-05-24 22:31:52 +01:00
Robert Scott
48f65c327a Merge pull request #174318 from NixOS/backport-174304-to-release-22.05
[Backport release-22.05] python39Packages.tensorly: disable failing test
2022-05-24 22:29:18 +01:00
Martin Weinelt
b823f47a93 Merge pull request #174320 from NixOS/backport-174312-to-release-22.05 2022-05-24 23:12:35 +02:00
Martin Weinelt
ef406f904d Merge pull request #174314 from NixOS/backport-174249-to-release-22.05
[Backport release-22.05] tor-browser-bundle-bin: 11.0.11 -> 11.0.13
2022-05-24 23:09:34 +02:00
Martin Weinelt
961e143b58 dump_syms: unstable-2022-05-05 -> 1.0.0
https://github.com/mozilla/dump_syms/releases/tag/v1.0.0
(cherry picked from commit 183bd9e940)
2022-05-24 21:09:18 +00:00
Fabian Affolter
4b9e6cba12 python310Packages.sumtypes: 0.1a5 -> 0.1a6
(cherry picked from commit bf30415f27)
2022-05-24 21:00:57 +00:00
Fabian Affolter
51810a0fe3 python39Packages.tensorly: disable failing test
(cherry picked from commit 0bee571d1b)
2022-05-24 21:00:45 +00:00
Fabian Affolter
eae67d0842 python310Packages.qiskit-aer: disable failing test
(cherry picked from commit 7acf1bd715)
2022-05-24 21:00:32 +00:00
FliegendeWurst
379a610966 tor-browser-bundle-bin: 11.0.11 -> 11.0.13
(cherry picked from commit 5c801dd601)
2022-05-24 20:36:17 +00:00
Sumner Evans
c695bcc79b element-{web,desktop}: 1.10.12 -> 1.10.13
(cherry picked from commit 402e5fe40d)
2022-05-24 20:24:10 +00:00
Martin Weinelt
d7cba8862e Merge pull request #174303 from NixOS/backport-174111-to-release-22.05
[Backport release-22.05] linuxPackages.nvidiabl: use a better homepage
2022-05-24 21:13:34 +02:00
Alyssa Ross
91c1c5f493 linuxPackages.nvidiabl: use a better homepage
It makes more sense to point this to the fork that we're using, rather
than the upstream.

(cherry picked from commit 062d21eead)
2022-05-24 19:05:48 +00:00
Robert Scott
339d0fc23d Merge pull request #174300 from NixOS/backport-174175-to-release-22.05
[Backport release-22.05] python3Packages.pyzbar: fix for darwin
2022-05-24 20:00:22 +01:00
Robert Scott
b87b64e349 python3Packages.pyzbar: fix for darwin
(cherry picked from commit a7de2cdcac)
2022-05-24 18:27:20 +00:00
Martin Weinelt
7f99bde23d Merge pull request #174298 from NixOS/backport-173738-to-release-22.05
[Backport release-22.05] buildMozillaMach: add support for MLS
2022-05-24 20:21:05 +02:00
Martin Weinelt
32bd8a47d8 buildMozillaMach: set geo.provider.network.url for new profiles.
Use Mozilla Location Service as geolocation provider for new profiles,
since our Google API key does not seem to work for geolocation at this
time.

Related: https://github.com/NixOS/nixpkgs/issues/173758
(cherry picked from commit 2d97db7873)
2022-05-24 18:14:22 +00:00
Martin Weinelt
a42e4414ac buildMozillaMach: Clean up Google API key configuration
Use a proper filename that and add the URL where information about
requesting API keys can be found.

(cherry picked from commit 0750e47a4d)
2022-05-24 18:14:22 +00:00
Martin Weinelt
8698dd394a buildMozillaMach: add support for MLS
We have received our very own API key for Mozilla Location Services and
have been recognized as a Public Interest Project, implying a rate limit
of 100k daily requests¹, which should be sufficient for our population.

N.B: This key belongs to the NixOS project, please don't use ours, but
instead request your own.

[1] https://location.services.mozilla.com/terms

(cherry picked from commit 1ba9dfbd97)
2022-05-24 18:14:22 +00:00
Rick van Schijndel
75560c4747 Merge pull request #174293 from NixOS/backport-174048-to-release-22.05
[Backport release-22.05] praat: fix cross-compilation
2022-05-24 20:01:15 +02:00
Rick van Schijndel
1715955fcb praat: fix cross-compilation
(cherry picked from commit 55b1550473)
2022-05-24 17:20:04 +00:00
Maximilian Bosch
6c97721a01 Merge pull request #174181 from NixOS/backport-174145-to-release-22.05
[Backport release-22.05] nixos/nextcloud: use PHP 8 avoiding broken 2FA app
2022-05-24 14:26:36 +02:00
Bobby Rong
df8cde54fa pantheon.gala: save/restore easing on workspace switch
(cherry picked from commit 7d48c204ef)
2022-05-24 10:32:10 +00:00
Fabian Affolter
046df58fe2 python310Packages.mlflow: 1.25.1 -> 1.26.0
(cherry picked from commit 00004be60e)
2022-05-24 08:38:11 +00:00
Thiago Kenji Okada
9f80fc22c1 Merge pull request #174240 from NixOS/backport-174129-to-release-22.05
[Backport release-22.05] adtool: mark broken
2022-05-24 08:07:46 +01:00
Martin Weinelt
78f9b41ee9 adtool: mark broken
Broke when updating OpenLDAP>2.5 and has not seen a change since 2017,
which is at this point 5y in the past.

I think it's safe to say that this tool deserves to being marked broken.

(cherry picked from commit d2fa18e744522f9823fde46ee9f9548de71bf231)
2022-05-24 06:38:57 +00:00
Wael Nasreddine
fb0003cd0b Merge pull request #174231 from NixOS/backport-174224-to-release-22.05 2022-05-23 22:09:55 -07:00
Bobby Rong
61b4e52c1e Merge pull request #174234 from NixOS/backport-174217-to-release-22.05
[Backport release-22.05] pantheon.elementary-mail: 6.4.0 -> 7.0.0
2022-05-24 13:02:55 +08:00
Bobby Rong
1a81be4d38 pantheon.elementary-mail: 6.4.0 -> 7.0.0
(cherry picked from commit 7e72954cad)
2022-05-24 04:48:39 +00:00
Wael M. Nasreddine
fc5baa5ec2 onlykey: 5.3.3 -> 5.3.4
(cherry picked from commit 0094dccde8)
2022-05-24 04:46:06 +00:00
Wael M. Nasreddine
f7390567fa onlykey-agent: 1.1.11 -> 1.1.13
(cherry picked from commit 9ba84fb7f7)
2022-05-24 04:46:06 +00:00
Wael M. Nasreddine
6901609eb9 onlykey-cli: 1.2.5 -> 1.2.9
(cherry picked from commit ca32037807)
2022-05-24 04:46:06 +00:00
Bobby Rong
b80531b35c Merge pull request #174216 from NixOS/backport-174112-to-release-22.05
[Backport release-22.05] pantheon-tweaks: 1.0.3 -> 1.0.4
2022-05-24 09:05:21 +08:00
Bobby Rong
d263bdfdbb pantheon-tweaks: 1.0.3 -> 1.0.4
(cherry picked from commit f60bb29734)
2022-05-24 00:41:28 +00:00
Robert Scott
5c018ddd2e moarvm: add patch fixing build of bundled mimalloc on darwin
same patch as introduced to our own mimalloc in
9ba8bda313

(cherry picked from commit 7d56d31d82)
2022-05-24 00:14:18 +00:00
Robert Scott
b313d272ea Merge pull request #174196 from NixOS/backport-174084-to-release-22.05
[Backport release-22.05] python3Packages.aspy-refactor-imports: fix url and darwin test failure
2022-05-23 23:11:48 +01:00
Martin Weinelt
93eac359fd Merge pull request #174188 from NixOS/backport-174182-to-release-22.05
[Backport release-22.05] wallabag: 2.4.3 -> 2.5.0
2022-05-24 00:06:32 +02:00
Florian Brandes
bd96db064f python3Packages.aspy-refactor-imports: fix url and darwin test failure
Signed-off-by: Florian Brandes <florian.brandes@posteo.de>
(cherry picked from commit 2f4da397f0)
2022-05-23 22:04:25 +00:00
Robert Scott
642205175f Merge pull request #174191 from NixOS/backport-174148-to-release-22.05
[Backport release-22.05] s3bro: remove use_2to3
2022-05-23 22:57:10 +01:00
Fabian Affolter
ab405d8791 s3bro: remove use_2to3
(cherry picked from commit aa608e458c)
2022-05-23 21:34:39 +00:00
Martin Weinelt
54bd8d1f4d wallabag: 2.4.3 -> 2.5.0
https://github.com/wallabag/wallabag/releases/tag/2.5.0
(cherry picked from commit da56374a49)
2022-05-23 21:23:37 +00:00
Antoine Martin
576b037f78 nixos/nextcloud: use PHP 8 avoiding broken 2FA app
(cherry picked from commit f3f0b60006)
2022-05-23 20:21:26 +00:00
Janne Heß
7ae60dd706 22.05 beta release 2022-05-23 20:00:45 +02:00
25719 changed files with 638588 additions and 1721062 deletions

View File

@@ -55,20 +55,10 @@ 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.
# trailing whitespace is an actual syntax element of classic Markdown/
# CommonMark to enforce a line break
[*.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
@@ -95,9 +85,3 @@ trim_trailing_whitespace = unset
[pkgs/tools/misc/timidity/timidity.cfg]
trim_trailing_whitespace = unset
[pkgs/tools/virtualization/ovftool/*.ova]
end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
charset = unset

View File

@@ -28,14 +28,5 @@
# 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

2
.gitattributes vendored
View File

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

83
.github/CODEOWNERS vendored
View File

@@ -28,7 +28,6 @@
/lib/cli.nix @edolstra @nbp @Profpatsch
/lib/debug.nix @edolstra @nbp @Profpatsch
/lib/asserts.nix @edolstra @nbp @Profpatsch
/lib/path.* @infinisil @fricklerhandwerk
# Nixpkgs Internals
/default.nix @nbp
@@ -38,33 +37,21 @@
/pkgs/top-level/splice.nix @Ericson2314 @matthewbauer
/pkgs/top-level/release-cross.nix @Ericson2314 @matthewbauer
/pkgs/stdenv/generic @Ericson2314 @matthewbauer
/pkgs/stdenv/generic/check-meta.nix @Ericson2314 @matthewbauer @piegamesde
/pkgs/stdenv/cross @Ericson2314 @matthewbauer
/pkgs/build-support/cc-wrapper @Ericson2314
/pkgs/build-support/bintools-wrapper @Ericson2314
/pkgs/build-support/setup-hooks @Ericson2314
/pkgs/build-support/setup-hooks/auto-patchelf.sh @layus
/pkgs/build-support/setup-hooks/auto-patchelf.py @layus
/pkgs/pkgs-lib @infinisil
# Nixpkgs build-support
/pkgs/build-support/writers @lassulus @Profpatsch
# Nixpkgs make-disk-image
/doc/builders/images/makediskimage.section.md @raitobezarius
/nixos/lib/make-disk-image.nix @raitobezarius
# Nixpkgs documentation
/maintainers/scripts/db-to-md.sh @jtojnar @ryantm
/maintainers/scripts/doc @jtojnar @ryantm
/doc/* @fricklerhandwerk
/doc/build-aux/pandoc-filters @jtojnar
/doc/builders/trivial-builders.chapter.md @fricklerhandwerk
/doc/contributing/ @fricklerhandwerk
/doc/contributing/contributing-to-documentation.chapter.md @jtojnar @fricklerhandwerk
/doc/stdenv @fricklerhandwerk
/doc/using @fricklerhandwerk
/doc/contributing/contributing-to-documentation.chapter.md @jtojnar
# NixOS Internals
/nixos/default.nix @nbp @infinisil
@@ -84,15 +71,10 @@
/nixos/doc/manual/man-nixos-option.xml @nbp
/nixos/modules/installer/tools/nixos-option.sh @nbp
/nixos/modules/system @dasJ
/nixos/modules/system/activation/bootspec.nix @grahamc @cole-h @raitobezarius
/nixos/modules/system/activation/bootspec.cue @grahamc @cole-h @raitobezarius
# NixOS integration test driver
/nixos/lib/test-driver @tfc
# NixOS QEMU virtualisation
/nixos/virtualisation/qemu-vm.nix @raitobezarius
# Systemd
/nixos/modules/system/boot/systemd.nix @NixOS/systemd
/nixos/modules/system/boot/systemd @NixOS/systemd
@@ -108,24 +90,26 @@
# Python-related code and docs
/maintainers/scripts/update-python-libraries @FRidh
/pkgs/top-level/python-packages.nix @FRidh @jonringer
/pkgs/development/interpreters/python @FRidh
/doc/languages-frameworks/python.section.md @FRidh @mweinelt
/pkgs/development/python-modules @FRidh @jonringer
/doc/languages-frameworks/python.section.md @FRidh
/pkgs/development/tools/poetry2nix @adisbladis
/pkgs/development/interpreters/python/hooks @FRidh @jonringer
# Haskell
/doc/languages-frameworks/haskell.section.md @cdepillabout @sternenseemann @maralorn
/maintainers/scripts/haskell @cdepillabout @sternenseemann @maralorn
/pkgs/development/compilers/ghc @cdepillabout @sternenseemann @maralorn
/pkgs/development/haskell-modules @cdepillabout @sternenseemann @maralorn
/pkgs/test/haskell @cdepillabout @sternenseemann @maralorn
/pkgs/top-level/release-haskell.nix @cdepillabout @sternenseemann @maralorn
/pkgs/top-level/haskell-packages.nix @cdepillabout @sternenseemann @maralorn
/doc/languages-frameworks/haskell.section.md @cdepillabout @sternenseemann @maralorn @expipiplus1
/maintainers/scripts/haskell @cdepillabout @sternenseemann @maralorn @expipiplus1
/pkgs/development/compilers/ghc @cdepillabout @sternenseemann @maralorn @expipiplus1
/pkgs/development/haskell-modules @cdepillabout @sternenseemann @maralorn @expipiplus1
/pkgs/test/haskell @cdepillabout @sternenseemann @maralorn @expipiplus1
/pkgs/top-level/release-haskell.nix @cdepillabout @sternenseemann @maralorn @expipiplus1
/pkgs/top-level/haskell-packages.nix @cdepillabout @sternenseemann @maralorn @expipiplus1
# Perl
/pkgs/development/interpreters/perl @stigtsp @zakame @dasJ
/pkgs/top-level/perl-packages.nix @stigtsp @zakame @dasJ
/pkgs/development/perl-modules @stigtsp @zakame @dasJ
/pkgs/development/interpreters/perl @stigtsp @zakame
/pkgs/top-level/perl-packages.nix @stigtsp @zakame
/pkgs/development/perl-modules @stigtsp @zakame
# R
/pkgs/applications/science/math/R @jbedo
@@ -136,13 +120,13 @@
/pkgs/development/ruby-modules @marsam
# 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 @zowoq
/pkgs/build-support/rust @zowoq
/doc/languages-frameworks/rust.section.md @zowoq
# C compilers
/pkgs/development/compilers/gcc @matthewbauer
/pkgs/development/compilers/llvm @matthewbauer @RaitoBezarius
/pkgs/development/compilers/llvm @matthewbauer
# Compatibility stuff
/pkgs/top-level/unix-tools.nix @matthewbauer
@@ -157,11 +141,6 @@
# Browsers
/pkgs/applications/networking/browsers/firefox @mweinelt
# Certificate Authorities
pkgs/data/misc/cacert/ @ajs124 @lukegb @mweinelt
pkgs/development/libraries/nss/ @ajs124 @lukegb @mweinelt
pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
# Jetbrains
/pkgs/applications/editors/jetbrains @edwtjo
@@ -208,7 +187,6 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @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
@@ -235,10 +213,10 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/pkgs/top-level/emacs-packages.nix @adisbladis
# Neovim
/pkgs/applications/editors/neovim @figsoda @jonringer @teto
/pkgs/applications/editors/neovim @jonringer @teto
# VimPlugins
/pkgs/applications/editors/vim/plugins @figsoda @jonringer
/pkgs/applications/editors/vim/plugins @jonringer
# VsCode Extensions
/pkgs/applications/editors/vscode/extensions @jonringer
@@ -273,13 +251,13 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
# Go
/doc/languages-frameworks/go.section.md @kalbasit @Mic92 @zowoq
/pkgs/build-support/go @kalbasit @Mic92 @zowoq
/pkgs/development/compilers/go @kalbasit @Mic92 @zowoq
/pkgs/development/go-modules @kalbasit @Mic92 @zowoq
/pkgs/development/go-packages @kalbasit @Mic92 @zowoq
# GNOME
/pkgs/desktops/gnome @jtojnar
/pkgs/desktops/gnome/extensions @piegamesde @jtojnar
/pkgs/build-support/make-hardcode-gsettings-patch @jtojnar
/pkgs/desktops/gnome @jtojnar @hedning
/pkgs/desktops/gnome/extensions @piegamesde @jtojnar @hedning
# Cinnamon
/pkgs/desktops/cinnamon @mkg20001
@@ -301,20 +279,13 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
# Matrix
/pkgs/servers/heisenbridge @piegamesde
/pkgs/servers/matrix-conduit @piegamesde
/pkgs/servers/matrix-synapse/matrix-appservice-irc @piegamesde
/nixos/modules/services/misc/heisenbridge.nix @piegamesde
/nixos/modules/services/misc/matrix-appservice-irc.nix @piegamesde
/nixos/modules/services/misc/matrix-conduit.nix @piegamesde
/nixos/tests/matrix-appservice-irc.nix @piegamesde
/nixos/tests/matrix-conduit.nix @piegamesde
# Dotnet
/pkgs/build-support/dotnet @IvarWithoutBones
/pkgs/development/compilers/dotnet @IvarWithoutBones
# Node.js
/pkgs/build-support/node/build-npm-package @winterqt
/pkgs/build-support/node/fetch-npm-deps @winterqt
/doc/languages-frameworks/javascript.section.md @winterqt
# OCaml
/pkgs/build-support/ocaml @romildo @ulrikstrid
/pkgs/development/compilers/ocaml @romildo @ulrikstrid
/pkgs/development/ocaml-modules @romildo @ulrikstrid

View File

@@ -26,7 +26,6 @@ If applicable, add screenshots to help explain your problem.
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.

View File

@@ -1,36 +1,31 @@
---
name: Build failure
about: Create a report to help us improve
title: 'Build failure: PACKAGENAME'
title: ''
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

View File

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

View File

@@ -1,17 +1,24 @@
---
name: Out-of-date package reports
about: For packages that are out-of-date
title: 'Update request: PACKAGENAME OLDVERSION → NEWVERSION'
title: ''
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:
###### Checklist
<!-- Note that these are hard requirements -->
<!--
You can use the "Go to file" functionality on GitHub to find the package
Then you can go to the history for this package
Find the latest "package_name: old_version -> new_version" commit
The "new_version" is the current version of the package
-->
- [ ] Checked the [nixpkgs master branch](https://github.com/NixOS/nixpkgs)
<!--
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!
@@ -19,10 +26,23 @@ There's a high chance that you'll have the new version right away while helping
-->
- [ ] Checked the [nixpkgs pull requests](https://github.com/NixOS/nixpkgs/pulls)
**Notify maintainers**
###### Project name
`nix search` name:
<!--
The current version can be found easily with the same process as above for checking the master branch
If an open PR is present for the package, take this version as the current one and link to the PR
-->
current version:
desired version:
<!-- If the search.nixos.org result shows no maintainers, tag the person that last updated the package. -->
###### Notify maintainers
<!--
Search your package here: https://search.nixos.org/packages?channel=unstable
If no maintainer is listed for your package, tag the person that last updated the package
-->
-----
maintainers:
Note for maintainers: Please tag this issue in your PR.
###### Note for maintainers
Please tag this issue in your PR.

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**

View File

@@ -1,31 +0,0 @@
---
name: Unreproducible package
about: A package that does not produce a bit-by-bit reproducible result each time it is built
title: ''
labels: [ '0.kind: enhancement', '6.topic: reproducible builds' ]
assignees: ''
---
Building this package twice does not produce the bit-by-bit identical result each time, making it harder to detect CI breaches. You can read more about this at https://reproducible-builds.org/ .
Fixing bit-by-bit reproducibility also has additional advantages, such as avoiding hard-to-reproduce bugs, making content-addressed storage more effective and reducing rebuilds in such systems.
### Steps To Reproduce
```
nix-build '<nixpkgs>' -A ... --check --keep-failed
```
You can use `diffoscope` to analyze the differences in the output of the two builds.
To view the build log of the build that produced the artifact in the binary cache:
```
nix-store --read-log $(nix-instantiate '<nixpkgs>' -A ...)
```
### Additional context
(please share the relevant fragment of the diffoscope output here,
and any additional analysis you may have done)

View File

@@ -22,10 +22,11 @@ For new packages please briefly describe the package or provide a link to its ho
- made sure NixOS tests are [linked](https://nixos.org/manual/nixpkgs/unstable/#ssec-nixos-tests-linking) to the relevant packages
- [ ] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"`. Note: all changes have to be committed, also see [nixpkgs-review usage](https://github.com/Mic92/nixpkgs-review#usage)
- [ ] Tested basic functionality of all binary files (usually in `./result/bin/`)
- [23.05 Release Notes (or backporting 22.11 Release notes)](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#generating-2305-release-notes)
- [22.11 Release Notes (or backporting 21.11 Release notes)](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#generating-2211-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
- [ ] (Release notes changes) Ran `nixos/doc/manual/md-to-db.sh` to update generated release notes
- [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).
<!--

View File

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

View File

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

26
.github/labeler.yml vendored
View File

@@ -7,8 +7,6 @@
"6.topic: cinnamon":
- pkgs/desktops/cinnamon/**/*
- nixos/modules/services/x11/desktop-managers/cinnamon.nix
- nixos/tests/cinnamon.nix
"6.topic: emacs":
- nixos/modules/services/editors/emacs.nix
@@ -19,11 +17,6 @@
- pkgs/build-support/emacs/**/*
- pkgs/top-level/emacs-packages.nix
"6.topic: Enlightenment DE":
- nixos/modules/services/x11/desktop-managers/enlightenment.nix
- pkgs/desktops/enlightenment/**/*
- pkgs/development/python-modules/python-efl/*
"6.topic: erlang":
- doc/languages-frameworks/beam.section.md
- pkgs/development/beam-modules/**/*
@@ -47,8 +40,9 @@
"6.topic: golang":
- doc/languages-frameworks/go.section.md
- pkgs/build-support/go/**/*
- pkgs/development/compilers/go/**/*
- pkgs/development/go-modules/**/*
- pkgs/development/go-packages/**/*
"6.topic: haskell":
- doc/languages-frameworks/haskell.section.md
@@ -70,19 +64,6 @@
- pkgs/development/lua-modules/**/*
- pkgs/top-level/lua-packages.nix
"6.topic: Lumina DE":
- nixos/modules/services/x11/desktop-managers/lumina.nix
- pkgs/desktops/lumina/**/*
"6.topic: LXQt":
- nixos/modules/services/x11/desktop-managers/lxqt.nix
- pkgs/desktops/lxqt/**/*
"6.topic: mate":
- nixos/modules/services/x11/desktop-managers/mate.nix
- nixos/tests/mate.nix
- pkgs/desktops/mate/**/*
"6.topic: nixos":
- nixos/**/*
- pkgs/os-specific/linux/nixos-rebuild/**/*
@@ -161,9 +142,6 @@
- nixos/modules/programs/neovim.nix
- pkgs/applications/editors/neovim/**/*
"6.topic: vscode":
- pkgs/applications/editors/vscode/**/*
"6.topic: xfce":
- nixos/doc/manual/configuration/xfce.xml
- nixos/modules/services/x11/desktop-managers/xfce.nix

3
.github/stale.yml vendored
View File

@@ -5,5 +5,6 @@ exemptLabels:
- "1.severity: security"
- "2.status: never-stale"
staleLabel: "2.status: stale"
markComment: false
markComment: |
I marked this as stale due to inactivity. &rarr; [More info](https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md)
closeComment: false

View File

@@ -8,26 +8,26 @@ on:
# the GitHub repository. This means that it should not evaluate user input in a
# way that allows code injection.
permissions:
contents: read
jobs:
backport:
permissions:
contents: write # for korthout/backport-action to create branch
pull-requests: write # for korthout/backport-action to create PR to backport
name: Backport Pull Request
if: github.repository_owner == 'NixOS' && github.event.pull_request.merged == true && (github.event_name != 'labeled' || startsWith('backport', github.event.label.name))
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
# required to find all branches
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
- name: Create backport PRs
uses: korthout/backport-action@v1.2.0
# should be kept in sync with `version`
uses: zeebe-io/backport-action@v0.0.5
with:
# Config README: https://github.com/korthout/backport-action#backport-action
copy_labels_pattern: 'severity:\ssecurity'
# Config README: https://github.com/zeebe-io/backport-action#backport-action
github_token: ${{ secrets.GITHUB_TOKEN }}
github_workspace: ${{ github.workspace }}
# should be kept in sync with `uses`
version: v0.0.5
pull_description: |-
Bot-based backport to `${target_branch}`, triggered by a label in #${pull_number}.

View File

@@ -10,17 +10,14 @@ on:
# branches:
# - master
# - release-**
permissions:
contents: read
jobs:
tests:
runs-on: ubuntu-latest
# we don't limit this action to only NixOS repo since the checks are cheap and useful developer feedback
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v20
- uses: cachix/cachix-action@v12
- uses: cachix/install-nix-action@v17
- uses: cachix/cachix-action@v10
with:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
name: nixpkgs-ci

View File

@@ -1,24 +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@v3
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@v20
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true
- name: Check that maintainer-list.nix is sorted
run: nix-instantiate --eval maintainers/scripts/check-maintainers-sorted.nix

View File

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

View File

@@ -4,13 +4,8 @@ on:
branches:
- master
- release-**
permissions:
contents: read
jobs:
build:
permissions:
contents: write # for peter-evans/commit-comment to comment on commit
runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS'
env:
@@ -21,7 +16,7 @@ jobs:
id: ismerge
run: |
ISMERGE=$(curl -H 'Accept: application/vnd.github.groot-preview+json' -H "authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" https://api.github.com/repos/${{ env.GITHUB_REPOSITORY }}/commits/${{ env.GITHUB_SHA }}/pulls | jq -r '.[] | select(.merge_commit_sha == "${{ env.GITHUB_SHA }}") | any')
echo "ismerge=$ISMERGE" >> $GITHUB_OUTPUT
echo "::set-output name=ismerge::$ISMERGE"
# github events are eventually consistent, so wait until changes propagate to thier DB
- run: sleep 60
if: steps.ismerge.outputs.ismerge != 'true'

View File

@@ -11,7 +11,7 @@ on:
jobs:
tests:
runs-on: ubuntu-latest
if: "github.repository_owner == 'NixOS' && !contains(github.event.pull_request.title, '[skip treewide]')"
if: "github.repository_owner == 'NixOS' && !contains(github.event.pull_request.title, '[skip editorconfig]')"
steps:
- name: Get list of changed files from PR
env:
@@ -28,14 +28,16 @@ jobs:
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@v20
- uses: cachix/install-nix-action@v17
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: install editorconfig-checker
run: nix-env -iA editorconfig-checker -f '<nixpkgs>'
- name: Checking EditorConfig
run: |
cat "$HOME/changed_files" | nix-shell -p editorconfig-checker --run 'xargs -r editorconfig-checker -disable-indent-size'
cat "$HOME/changed_files" | 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

@@ -16,7 +16,7 @@ permissions:
jobs:
labels:
runs-on: ubuntu-latest
if: "github.repository_owner == 'NixOS' && !contains(github.event.pull_request.title, '[skip treewide]')"
if: github.repository_owner == 'NixOS'
steps:
- uses: actions/labeler@v4
with:

View File

@@ -18,22 +18,14 @@ jobs:
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@v20
- uses: cachix/install-nix-action@v17
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true
- uses: cachix/cachix-action@v12
- uses: cachix/cachix-action@v10
with:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
name: nixpkgs-ci
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
- name: Building NixOS manual with DocBook options
- name: Building NixOS manual
run: NIX_PATH=nixpkgs=$(pwd) nix-build --option restrict-eval true nixos/release.nix -A manual.x86_64-linux
- name: Building NixOS manual with Markdown options
run: |
export NIX_PATH=nixpkgs=$(pwd)
nix-build \
--option restrict-eval true \
--arg configuration '{ documentation.nixos.options.allowDocBook = false; }' \
nixos/release.nix \
-A manual.x86_64-linux

View File

@@ -8,7 +8,6 @@ on:
- master
paths:
- 'doc/**'
- 'lib/**'
jobs:
nixpkgs:
@@ -19,11 +18,11 @@ jobs:
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@v20
- uses: cachix/install-nix-action@v17
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true
- uses: cachix/cachix-action@v12
- uses: cachix/cachix-action@v10
with:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
name: nixpkgs-ci

View File

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

26
.github/workflows/nixos-manual.yml vendored Normal file
View File

@@ -0,0 +1,26 @@
name: NixOS manual checks
permissions: read-all
on:
pull_request_target:
branches-ignore:
- 'release-**'
paths:
- 'nixos/**/*.xml'
- 'nixos/**/*.md'
jobs:
tests:
runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS'
steps:
- uses: actions/checkout@v3
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@v17
- name: Check DocBook files generated from Markdown are consistent
run: |
nixos/doc/manual/md-to-db.sh
git diff --exit-code

View File

@@ -6,13 +6,8 @@ on:
- 'nixos-**'
- 'nixpkgs-**'
permissions:
contents: read
jobs:
fail:
permissions:
contents: none
name: "This PR is is targeting a channel branch"
runs-on: ubuntu-latest
steps:

View File

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

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

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

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

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

View File

@@ -14,14 +14,8 @@ on:
# Merge every 24 hours
- cron: '0 0 * * *'
permissions:
contents: read
jobs:
periodic-merge:
permissions:
contents: write # for devmasx/merge-branch to merge branches
pull-requests: write # for peter-evans/create-or-update-comment to create or update comment
if: github.repository_owner == 'NixOS'
runs-on: ubuntu-latest
strategy:
@@ -34,10 +28,14 @@ jobs:
pairs:
- from: master
into: haskell-updates
- from: release-22.11
into: staging-next-22.11
- from: staging-next-22.11
into: staging-22.11
- from: release-21.11
into: staging-next-21.11
- from: staging-next-21.11
into: staging-21.11
- from: release-22.05
into: staging-next-22.05
- from: staging-next-22.05
into: staging-22.05
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
steps:
- uses: actions/checkout@v3
@@ -51,7 +49,7 @@ jobs:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Comment on failure
uses: peter-evans/create-or-update-comment@v3
uses: peter-evans/create-or-update-comment@v2
if: ${{ failure() }}
with:
issue-number: 105153

View File

@@ -14,14 +14,8 @@ on:
# Merge every 6 hours
- cron: '0 */6 * * *'
permissions:
contents: read
jobs:
periodic-merge:
permissions:
contents: write # for devmasx/merge-branch to merge branches
pull-requests: write # for peter-evans/create-or-update-comment to create or update comment
if: github.repository_owner == 'NixOS'
runs-on: ubuntu-latest
strategy:
@@ -49,7 +43,7 @@ jobs:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Comment on failure
uses: peter-evans/create-or-update-comment@v3
uses: peter-evans/create-or-update-comment@v2
if: ${{ failure() }}
with:
issue-number: 105153

View File

@@ -2,68 +2,47 @@ name: "Update terraform-providers"
on:
schedule:
- cron: "0 3 * * *"
- cron: "14 3 * * 1"
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@v3
- uses: cachix/install-nix-action@v20
with:
nix_path: nixpkgs=channel:nixpkgs-unstable
- uses: cachix/install-nix-action@v17
- name: setup
id: setup
run: |
echo "title=terraform-providers: update $(date -u +"%Y-%m-%d")" >> $GITHUB_OUTPUT
echo ::set-output name=title::"terraform-providers: update $(date -u +"%Y-%m-%d")"
- 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
pushd pkgs/applications/networking/cluster/terraform-providers
./update-all-providers --no-build
git commit -m "${{ steps.setup.outputs.title }}" providers.json
popd
- name: create PR
uses: peter-evans/create-pull-request@v5
uses: peter-evans/create-pull-request@v4
with:
body: |
Automatic update by [update-terraform-providers](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/update-terraform-providers.yml) action.
https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}
These providers failed to update:
```
${{ env.FAILED }}
```
Check that all providers build with:
```
@ofborg build terraform.full
@ofborg build terraform-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
labels: "2.status: work-in-progress"
title: ${{ steps.setup.outputs.title }}
token: ${{ secrets.GITHUB_TOKEN }}
- name: comment on failure
uses: peter-evans/create-or-update-comment@v2
if: ${{ failure() }}
with:
issue-number: 153416
body: |
Automatic update of terraform providers [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).

8
.gitignore vendored
View File

@@ -2,20 +2,16 @@
,*
.*.swp
.*.swo
.\#*
\#*\#
.idea/
.vscode/
outputs/
result-*
result
!pkgs/development/python-modules/result
result-*
source/
/doc/NEWS.html
/doc/NEWS.txt
/doc/manual.html
/doc/manual.pdf
/result
/source/
.version-suffix
.DS_Store

View File

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

View File

@@ -1 +1 @@
23.05
22.05

View File

@@ -38,15 +38,11 @@ Below is a short excerpt of some points in there:
The old config generation system used impure shell scripts and could break in specific circumstances (see #1234).
* `meta.description` should:
* Be short, just one sentence.
* Be capitalized.
* Not start with the package name.
* More generally, it should not refer to the package name.
* Not end with a period (or any punctuation for that matter).
* Aim to inform while avoiding subjective language.
* 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 `lib.licenses.unfree`.
* If in doubt, try to contact the upstream developers for clarification.
* `meta.maintainers` must be set.
See the nixpkgs manual for more details on [standard meta-attributes](https://nixos.org/nixpkgs/manual/#sec-standard-meta-attributes).
@@ -55,11 +51,7 @@ See the nixpkgs manual for more details on [standard meta-attributes](https://ni
In addition to writing properly formatted commit messages, it's important to include relevant information so other developers can later understand *why* a change was made. While this information usually can be found by digging code, mailing list/Discourse archives, pull request discussions or upstream changes, it may require a lot of work.
Package version upgrades usually allow for simpler commit messages, including attribute name, old and new version, as well as a reference to the relevant release notes/changelog. Every once in a while a package upgrade requires more extensive changes, and that subsequently warrants a more verbose message.
Pull requests should not be squash merged in order to keep complete commit messages and GPG signatures intact and must not be when the change doesn't make sense as a single commit.
This means that, when addressing review comments in order to keep the pull request in an always mergeable status, you will sometimes need to rewrite your branch's history and then force-push it with `git push --force-with-lease`.
Useful git commands that can help a lot with this are `git commit --patch --amend` and `git rebase --interactive`. For more details consult the git man pages or online resources like [git-rebase.io](https://git-rebase.io/) or [The Pro Git Book](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History).
For package version upgrades and such a one-line commit message is usually sufficient.
## Rebasing between branches (i.e. from master to staging)
@@ -70,26 +62,25 @@ many CODEOWNERS will be inadvertently requested for review. To achieve this,
rebasing should not be performed directly on the target branch, but on the merge
base between the current and target branch.
In the following example, we assume that the current branch, called `feature`,
is based on `master`, and we rebase it onto the merge base between
`master` and `staging` so that the PR can eventually be retargeted to
`staging` without causing a mess. The example uses `upstream` as the remote for `NixOS/nixpkgs.git`
while `origin` is the remote you are pushing to.
In the following example, we see a rebase from `master` onto the merge base
between `master` and `staging`, so that a change can eventually be retargeted to
`staging`. The example uses `upstream` as the remote for `NixOS/nixpkgs.git`
while the `origin` remote is used for the remote you are pushing to.
```console
# Rebase your commits onto the common merge base
git rebase --onto upstream/staging... upstream/master
# Find the common base between two branches
common=$(git merge-base upstream/master upstream/staging)
# Find the common base between your feature branch and master
commits=$(git merge-base $(git branch --show-current) upstream/master)
# Rebase all commits onto the common base
git rebase --onto=$common $commits
# Force push your changes
git push origin feature --force-with-lease
git push origin $(git branch --show-current) --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
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.
@@ -99,24 +90,24 @@ git rebase upstream/staging
# Review and fixup possible conflicts
git status
# Force push your changes
git push origin feature --force-with-lease
git push origin $(git branch --show-current) --force-with-lease
```
## Backporting changes
Follow these steps to backport a change into a release branch in compliance with the [commit policy](https://nixos.org/nixpkgs/manual/#submitting-changes-stable-release-branches).
You can add a label such as `backport release-22.11` to a PR, so that merging it will
You can add a label such as `backport release-22.05` to a PR, so that merging it will
automatically create a backport (via [a GitHub Action](.github/workflows/backport.yml)).
This also works for PR's that have already been merged, and might take a couple of minutes to trigger.
You can also create the backport manually:
1. Take note of the commits in which the change was introduced into `master` branch.
2. Check out the target _release branch_, e.g. `release-22.11`. Do not use a _channel branch_ like `nixos-22.11` or `nixpkgs-22.11-darwin`.
2. Check out the target _release branch_, e.g. `release-21.11`. Do not use a _channel branch_ like `nixos-21.11` or `nixpkgs-21.11-darwin`.
3. Create a branch for your change, e.g. `git checkout -b backport`.
4. When the reason to backport is not obvious from the original commit message, use `git cherry-pick -xe <original commit>` and add a reason. Otherwise use `git cherry-pick -x <original commit>`. That's fine for minor version updates that only include security and bug fixes, commits that fixes an otherwise broken package or similar. Please also ensure the commits exists on the master branch; in the case of squashed or rebased merges, the commit hash will change and the new commits can be found in the merge message at the bottom of the master pull request.
5. Push to GitHub and open a backport pull request. Make sure to select the release branch (e.g. `release-22.11`) as the target branch of the pull request, and link to the pull request in which the original change was committed to `master`. The pull request title should be the commit title with the release version as prefix, e.g. `[22.11]`.
5. Push to GitHub and open a backport pull request. Make sure to select the release branch (e.g. `release-21.11`) as the target branch of the pull request, and link to the pull request in which the original change was comitted to `master`. The pull request title should be the commit title with the release version as prefix, e.g. `[21.11]`.
6. When the backport pull request is merged and you have the necessary privileges you can also replace the label `9.needs: port to stable` with `8.has: port to stable` on the original pull request. This way maintainers can keep track of missing backports easier.
## Criteria for Backporting changes
@@ -128,18 +119,15 @@ Anything that does not cause user or downstream dependency regressions can be ba
- Services which require a client to be up-to-date regardless. (E.g. `spotify`, `steam`, or `discord`)
- Security critical applications (E.g. `firefox`)
## Generating 23.05 Release Notes
<!--
note: title unchanged even though we don't need regeneration because extant
PRs will link here. definitely change the title for 23.11 though.
-->
## Generating 22.11 Release Notes
Documentation in nixpkgs is transitioning to a markdown-centric workflow. In the past release notes required a translation step to convert from markdown to a compatible docbook document, but this is no longer necessary.
Documentation in nixpkgs is transitioning to a markdown-centric workflow. Release notes now require a translation step to convert from markdown to a compatible docbook document.
Steps for updating 23.05 Release notes:
Steps for updating 22.11 Release notes:
1. Edit `nixos/doc/manual/release-notes/rl-2305.section.md` with the desired changes
2. Commit changes to `rl-2305.section.md`.
1. Edit `nixos/doc/manual/release-notes/rl-2211.section.md` with the desired changes
2. Run `./nixos/doc/manual/md-to-db.sh` to render `nixos/doc/manual/from_md/release-notes/rl-2211.section.xml`
3. Include changes to `rl-2211.section.md` and `rl-2211.section.xml` in the same commit.
## Reviewing contributions

View File

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

@@ -51,9 +51,9 @@ Nixpkgs and NixOS are built and tested by our continuous integration
system, [Hydra](https://hydra.nixos.org/).
* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
* [Continuous package builds for the NixOS 22.11 release](https://hydra.nixos.org/jobset/nixos/release-22.11)
* [Continuous package builds for the NixOS 21.11 release](https://hydra.nixos.org/jobset/nixos/release-21.11)
* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
* [Tests for the NixOS 22.11 release](https://hydra.nixos.org/job/nixos/release-22.11/tested#tabs-constituents)
* [Tests for the NixOS 21.11 release](https://hydra.nixos.org/job/nixos/release-21.11/tested#tabs-constituents)
Artifacts successfully built with Hydra are published to cache at
https://cache.nixos.org/. When successful build and test criteria are

3
doc/.gitignore vendored
View File

@@ -6,6 +6,3 @@ functions/library/locations.xml
highlightjs
manual-full.xml
out
result
result-*
media

View File

@@ -3,7 +3,7 @@ MD_TARGETS=$(addsuffix .xml, $(basename $(shell find . -type f -regex '.*\.md$$'
PANDOC ?= pandoc
pandoc_media_dir = media
# NOTE: Keep in sync with conversion script (/maintainers/scripts/db-to-md.sh).
# NOTE: Keep in sync with NixOS manual (/nixos/doc/manual/md-to-db.sh) and conversion script (/maintainers/scripts/db-to-md.sh).
# TODO: Remove raw-attribute when we can get rid of DocBook altogether.
pandoc_commonmark_enabled_extensions = +attributes+fenced_divs+footnotes+bracketed_spans+definition_lists+pipe_tables+raw_attribute
# Not needed:
@@ -11,7 +11,7 @@ pandoc_commonmark_enabled_extensions = +attributes+fenced_divs+footnotes+bracket
pandoc_flags = --extract-media=$(pandoc_media_dir) \
--lua-filter=$(PANDOC_LUA_FILTERS_DIR)/diagram-generator.lua \
--lua-filter=build-aux/pandoc-filters/myst-reader/roles.lua \
--lua-filter=$(PANDOC_LINK_MANPAGES_FILTER) \
--lua-filter=build-aux/pandoc-filters/link-unix-man-references.lua \
--lua-filter=build-aux/pandoc-filters/docbook-writer/rst-roles.lua \
--lua-filter=build-aux/pandoc-filters/docbook-writer/labelless-link-is-xref.lua \
-f commonmark$(pandoc_commonmark_enabled_extensions)+smart
@@ -19,9 +19,6 @@ pandoc_flags = --extract-media=$(pandoc_media_dir) \
.PHONY: all
all: validate format out/html/index.html out/epub/manual.epub
.PHONY: render-md
render-md: ${MD_TARGETS}
.PHONY: debug
debug:
nix-shell --run "xmloscopy --docbook5 ./manual.xml ./manual-full.xml"

View File

@@ -27,14 +27,6 @@ function Code(elem)
content = '<refentrytitle>' .. title .. '</refentrytitle>' .. (volnum ~= nil and ('<manvolnum>' .. volnum .. '</manvolnum>') or '')
elseif elem.attributes['role'] == 'file' then
tag = 'filename'
elseif elem.attributes['role'] == 'command' then
tag = 'command'
elseif elem.attributes['role'] == 'option' then
tag = 'option'
elseif elem.attributes['role'] == 'var' then
tag = 'varname'
elseif elem.attributes['role'] == 'env' then
tag = 'envar'
end
if tag ~= nil then

View File

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

View File

@@ -0,0 +1,17 @@
--[[
Turns a manpage reference into a link, when a mapping is defined below.
]]
local man_urls = {
["tmpfiles.d(5)"] = "https://www.freedesktop.org/software/systemd/man/tmpfiles.d.html",
["nix.conf(5)"] = "https://nixos.org/manual/nix/stable/#sec-conf-file",
["systemd.time(7)"] = "https://www.freedesktop.org/software/systemd/man/systemd.time.html",
["systemd.timer(5)"] = "https://www.freedesktop.org/software/systemd/man/systemd.timer.html",
}
function Code(elem)
local is_man_role = elem.classes:includes('interpreted-text') and elem.attributes['role'] == 'manpage'
if is_man_role and man_urls[elem.text] ~= nil then
return pandoc.Link(elem, man_urls[elem.text])
end
end

View File

@@ -17,16 +17,9 @@ function Inlines(inlines)
if correct_tags then
-- docutils supports alphanumeric strings separated by [-._:]
-- We are slightly more liberal for simplicity.
-- Allow preceding punctuation (eg '('), otherwise '({file}`...`)'
-- does not match. Also allow anything followed by a non-breaking space
-- since pandoc emits those after certain abbreviations (e.g. e.g.).
local prefix, role = first.text:match('^(.*){([-._+:%w]+)}$')
if role ~= nil and (prefix == '' or prefix:match("^.*[%p ]$") ~= nil) then
if prefix == '' then
inlines:remove(i)
else
first.text = prefix
end
local role = first.text:match('^{([-._+:%w]+)}$')
if role ~= nil then
inlines:remove(i)
second.attributes['role'] = role
second.classes:insert('interpreted-text')
end

View File

@@ -1,55 +1,16 @@
# Fetchers {#chap-pkgs-fetchers}
Building software with Nix often requires downloading source code and other files from the internet.
`nixpkgs` provides *fetchers* for different protocols and services. Fetchers are functions that simplify downloading files.
When using Nix, you will frequently need to download source code and other files from the internet. For this purpose, Nix provides the [_fixed output derivation_](https://nixos.org/manual/nix/stable/#fixed-output-drvs) feature and Nixpkgs provides various functions that implement the actual fetching from various protocols and services.
## Caveats {#chap-pkgs-fetchers-caveats}
## Caveats
Fetchers create [fixed output derivations](https://nixos.org/manual/nix/stable/#fixed-output-drvs) from downloaded files.
Nix can reuse the downloaded files via the hash of the resulting derivation.
Because fixed output derivations are _identified_ by their hash, a common mistake is to update a fetcher's URL or a version parameter, without updating the hash. **This will cause the old contents to be used.** So remember to always invalidate the hash argument.
The fact that the hash belongs to the Nix derivation output and not the file itself can lead to confusion.
For example, consider the following fetcher:
```nix
fetchurl {
url = "http://www.example.org/hello-1.0.tar.gz";
hash = "sha256-lTeyxzJNQeMdu1IVdovNMtgn77jRIhSybLdMbTkf2Ww=";
};
```
A common mistake is to update a fetchers URL, or a version parameter, without updating the hash.
```nix
fetchurl {
url = "http://www.example.org/hello-1.1.tar.gz";
hash = "sha256-lTeyxzJNQeMdu1IVdovNMtgn77jRIhSybLdMbTkf2Ww=";
};
```
**This will reuse the old contents**.
Remember to invalidate the hash argument, in this case by setting the `hash` attribute to an empty string.
```nix
fetchurl {
url = "http://www.example.org/hello-1.1.tar.gz";
hash = "";
};
```
Use the resulting error message to determine the correct hash.
```
error: hash mismatch in fixed-output derivation '/path/to/my.drv':
specified: sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
got: sha256-lTeyxzJNQeMdu1IVdovNMtgn77jRIhSybLdMbTkf2Ww=
```
A similar problem arises while testing changes to a fetcher's implementation. If the output of the derivation already exists in the Nix store, test failures can go undetected. The [`invalidateFetcherByDrvHash`](#tester-invalidateFetcherByDrvHash) function helps prevent reusing cached derivations.
For those who develop and maintain fetchers, a similar problem arises with changes to the implementation of a fetcher. These may cause a fixed output derivation to fail, but won't normally be caught by tests because the supposed output is already in the store or cache. For the purpose of testing, you can use a trick that is embodied by the [`invalidateFetcherByDrvHash`](#tester-invalidateFetcherByDrvHash) function. It uses the derivation `name` to create a unique output path per fetcher implementation, defeating the caching precisely where it would be harmful.
## `fetchurl` and `fetchzip` {#fetchurl}
Two basic fetchers are `fetchurl` and `fetchzip`. Both of these have two required arguments, a URL and a hash. The hash is typically `hash`, although many more hash algorithms are supported. Nixpkgs contributors are currently recommended to use `hash`. This hash will be used by Nix to identify your source. A typical usage of `fetchurl` is provided below.
Two basic fetchers are `fetchurl` and `fetchzip`. Both of these have two required arguments, a URL and a hash. The hash is typically `sha256`, although many more hash algorithms are supported. Nixpkgs contributors are currently recommended to use `sha256`. This hash will be used by Nix to identify your source. A typical usage of `fetchurl` is provided below.
```nix
{ stdenv, fetchurl }:
@@ -58,41 +19,28 @@ stdenv.mkDerivation {
name = "hello";
src = fetchurl {
url = "http://www.example.org/hello.tar.gz";
hash = "sha256-BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=";
sha256 = "1111111111111111111111111111111111111111111111111111";
};
}
```
The main difference between `fetchurl` and `fetchzip` is in how they store the contents. `fetchurl` will store the unaltered contents of the URL within the Nix store. `fetchzip` on the other hand, will decompress the archive for you, making files and directories directly accessible in the future. `fetchzip` can only be used with archives. Despite the name, `fetchzip` is not limited to .zip files and can also be used with any tarball.
## `fetchpatch` {#fetchpatch}
`fetchpatch` works very similarly to `fetchurl` with the same arguments expected. It expects patch files as a source and performs normalization on them before computing the checksum. For example, it will remove comments or other unstable parts that are sometimes added by version control systems and can change over time.
- `relative`: Similar to using `git-diff`'s `--relative` flag, only keep changes inside the specified directory, making paths relative to it.
- `stripLen`: Remove the first `stripLen` components of pathnames in the patch.
- `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.
## `fetchsvn` {#fetchsvn}
Used with Subversion. Expects `url` to a Subversion directory, `rev`, and `hash`.
Used with Subversion. Expects `url` to a Subversion directory, `rev`, and `sha256`.
## `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`.
Used with Git. Expects `url` to a Git repo, `rev`, and `sha256`. `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:
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) and [git clone --filter](https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---filterltfilter-specgt) for more information:
```nix
{ stdenv, fetchgit }:
@@ -101,36 +49,36 @@ stdenv.mkDerivation {
name = "hello";
src = fetchgit {
url = "https://...";
sparseCheckout = [
"directory/to/be/included"
"another/directory"
];
hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
sparseCheckout = ''
path/to/be/included
another/path
'';
sha256 = "0000000000000000000000000000000000000000000000000000";
};
}
```
## `fetchfossil` {#fetchfossil}
Used with Fossil. Expects `url` to a Fossil archive, `rev`, and `hash`.
Used with Fossil. Expects `url` to a Fossil archive, `rev`, and `sha256`.
## `fetchcvs` {#fetchcvs}
Used with CVS. Expects `cvsRoot`, `tag`, and `hash`.
Used with CVS. Expects `cvsRoot`, `tag`, and `sha256`.
## `fetchhg` {#fetchhg}
Used with Mercurial. Expects `url`, `rev`, and `hash`.
Used with Mercurial. Expects `url`, `rev`, and `sha256`.
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.
`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, `sha256` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available but `sha256` is currently preferred.
## `fetchFromGitHub` {#fetchfromgithub}
`fetchFromGitHub` expects four arguments. `owner` is a string corresponding to the GitHub user or organization that controls this repository. `repo` corresponds to the name of the software repository. These are located at the top of every GitHub HTML page as `owner`/`repo`. `rev` corresponds to the Git commit hash or tag (e.g `v1.0`) that will be downloaded from Git. Finally, `hash` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available, but `hash` is currently preferred.
`fetchFromGitHub` 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, `sha256` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available, but `sha256` is currently preferred.
`fetchFromGitHub` uses `fetchzip` to download the source archive generated by GitHub for the specified revision. If `leaveDotGit`, `deepClone` or `fetchSubmodules` are set to `true`, `fetchFromGitHub` will use `fetchgit` instead. Refer to its section for documentation of these options.
@@ -157,37 +105,10 @@ This is used with repo.or.cz repositories. The arguments expected are very simil
## `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 (~)
it expects `owner`, `repo`, `rev` and `sha256`, but don't forget the tilde (~)
in front of the username! Expected arguments also include `vc` ("git" (default)
or "hg"), `domain` and `fetchSubmodules`.
If `fetchSubmodules` is `true`, `fetchFromSourcehut` uses `fetchgit`
or `fetchhg` with `fetchSubmodules` or `fetchSubrepos` set to `true`,
respectively. Otherwise, the fetcher uses `fetchzip`.
## `requireFile` {#requirefile}
`requireFile` allows requesting files that cannot be fetched automatically, but whose content is known.
This is a useful last-resort workaround for license restrictions that prohibit redistribution, or for downloads that are only accessible after authenticating interactively in a browser.
If the requested file is present in the Nix store, the resulting derivation will not be built, because its expected output is already available.
Otherwise, the builder will run, but fail with a message explaining to the user how to provide the file. The following code, for example:
```
requireFile {
name = "jdk-${version}_linux-x64_bin.tar.gz";
url = "https://www.oracle.com/java/technologies/javase-jdk11-downloads.html";
sha256 = "94bd34f85ee38d3ef59e5289ec7450b9443b924c55625661fffe66b03f2c8de2";
}
```
results in this error message:
```
***
Unfortunately, we cannot download file jdk-11.0.10_linux-x64_bin.tar.gz automatically.
Please go to https://www.oracle.com/java/technologies/javase-jdk11-downloads.html to download it yourself, and add it to the Nix store
using either
nix-store --add-fixed sha256 jdk-11.0.10_linux-x64_bin.tar.gz
or
nix-prefetch-url --type sha256 file:///path/to/jdk-11.0.10_linux-x64_bin.tar.gz
***
```

View File

@@ -9,7 +9,4 @@
<xi:include href="images/dockertools.section.xml" />
<xi:include href="images/ocitools.section.xml" />
<xi:include href="images/snaptools.section.xml" />
<xi:include href="images/portableservice.section.xml" />
<xi:include href="images/makediskimage.section.xml" />
<xi:include href="images/binarycache.section.xml" />
</chapter>

View File

@@ -35,7 +35,7 @@ appimageTools.wrapType2 { # or wrapType1
name = "patchwork";
src = fetchurl {
url = "https://github.com/ssbc/patchwork/releases/download/v3.11.4/Patchwork-3.11.4-linux-x86_64.AppImage";
hash = "sha256-OqTitCeZ6xmWbqYTXp8sDrmVgTNjPZNW0hzUPW++mq4=";
sha256 = "1blsprpkvm0ws9b96gb36f0rbf8f5jgmw4x6dsb1kswr4ysf591s";
};
extraPkgs = pkgs: with pkgs; [ ];
}

View File

@@ -1,49 +0,0 @@
# pkgs.mkBinaryCache {#sec-pkgs-binary-cache}
`pkgs.mkBinaryCache` is a function for creating Nix flat-file binary caches. Such a cache exists as a directory on disk, and can be used as a Nix substituter by passing `--substituter file:///path/to/cache` to Nix commands.
Nix packages are most commonly shared between machines using [HTTP, SSH, or S3](https://nixos.org/manual/nix/stable/package-management/sharing-packages.html), but a flat-file binary cache can still be useful in some situations. For example, you can copy it directly to another machine, or make it available on a network file system. It can also be a convenient way to make some Nix packages available inside a container via bind-mounting.
Note that this function is meant for advanced use-cases. The more idiomatic way to work with flat-file binary caches is via the [nix-copy-closure](https://nixos.org/manual/nix/stable/command-ref/nix-copy-closure.html) command. You may also want to consider [dockerTools](#sec-pkgs-dockerTools) for your containerization needs.
## Example {#sec-pkgs-binary-cache-example}
The following derivation will construct a flat-file binary cache containing the closure of `hello`.
```nix
mkBinaryCache {
rootPaths = [hello];
}
```
- `rootPaths` specifies a list of root derivations. The transitive closure of these derivations' outputs will be copied into the cache.
Here's an example of building and using the cache.
Build the cache on one machine, `host1`:
```shellSession
nix-build -E 'with import <nixpkgs> {}; mkBinaryCache { rootPaths = [hello]; }'
```
```shellSession
/nix/store/cc0562q828rnjqjyfj23d5q162gb424g-binary-cache
```
Copy the resulting directory to the other machine, `host2`:
```shellSession
scp result host2:/tmp/hello-cache
```
Substitute the derivation using the flat-file binary cache on the other machine, `host2`:
```shellSession
nix-build -A hello '<nixpkgs>' \
--option require-sigs false \
--option trusted-substituters file:///tmp/hello-cache \
--option substituters file:///tmp/hello-cache
```
```shellSession
/nix/store/gl5a41azbpsadfkfmbilh9yk40dh5dl0-hello-2.12.1
```

View File

@@ -20,12 +20,7 @@ buildImage {
fromImageName = null;
fromImageTag = "latest";
copyToRoot = pkgs.buildEnv {
name = "image-root";
paths = [ pkgs.redis ];
pathsToLink = [ "/bin" ];
};
contents = pkgs.redis;
runAsRoot = ''
#!${pkgs.runtimeShell}
mkdir -p /data
@@ -36,9 +31,6 @@ buildImage {
WorkingDir = "/data";
Volumes = { "/data" = { }; };
};
diskSize = 1024;
buildVMMemorySize = 512;
}
```
@@ -54,7 +46,7 @@ The above example will build a Docker image `redis/latest` from the given base i
- `fromImageTag` can be used to further specify the tag of the base image within the repository, in case an image contains multiple tags. By default it's `null`, in which case `buildImage` will peek the first tag available for the base image.
- `copyToRoot` is a derivation that will be copied in the new layer of the resulting image. This can be similarly seen as `ADD contents/ /` in a `Dockerfile`. By default it's `null`.
- `contents` is a derivation that will be copied in the new layer of the resulting image. This can be similarly seen as `ADD contents/ /` in a `Dockerfile`. By default it's `null`.
- `runAsRoot` is a bash script that will run as root in an environment that overlays the existing layers of the base image with the new resulting layer, including the previously copied `contents` derivation. This can be similarly seen as `RUN ...` in a `Dockerfile`.
@@ -62,12 +54,6 @@ The above example will build a Docker image `redis/latest` from the given base i
- `config` is used to specify the configuration of the containers that will be started off the built image in Docker. The available options are listed in the [Docker Image Specification v1.2.0](https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions).
- `architecture` is _optional_ and used to specify the image architecture, this is useful for multi-architecture builds that don't need cross compiling. If not specified it will default to `hostPlatform`.
- `diskSize` is used to specify the disk size of the VM used to build the image in megabytes. By default it's 1024 MiB.
- `buildVMMemorySize` is used to specify the memory size of the VM to build the image in megabytes. By default it's 512 MiB.
After the new layer has been created, its closure (to which `contents`, `config` and `runAsRoot` contribute) will be copied in the layer itself. Only new dependencies that are not already in the existing layers will be copied.
At the end of the process, only one new single layer will be produced and added to the resulting image.
@@ -95,11 +81,7 @@ pkgs.dockerTools.buildImage {
name = "hello";
tag = "latest";
created = "now";
copyToRoot = pkgs.buildEnv {
name = "image-root";
paths = [ pkgs.hello ];
pathsToLink = [ "/bin" ];
};
contents = pkgs.hello;
config.Cmd = [ "/bin/hello" ];
}
@@ -143,9 +125,7 @@ Create a Docker image with many of the store paths being on their own layer to i
`config` _optional_
`architecture` is _optional_ and used to specify the image architecture, this is useful for multi-architecture builds that don't need cross compiling. If not specified it will default to `hostPlatform`.
: Run-time configuration of the container. A full list of the options available is in the [Docker Image Specification v1.2.0](https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions).
: Run-time configuration of the container. A full list of the options are available at in the [Docker Image Specification v1.2.0](https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions).
*Default:* `{}`
@@ -249,10 +229,10 @@ Its parameters are described in the example below:
pullImage {
imageName = "nixos/nix";
imageDigest =
"sha256:473a2b527958665554806aea24d0131bacec46d23af09fef4598eeab331850fa";
"sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b";
finalImageName = "nix";
finalImageTag = "2.11.1";
sha256 = "sha256-qvhj+Hlmviz+KEBVmsyPIzTB3QlVAFzwAY1zDPIBGxc=";
finalImageTag = "1.11";
sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8";
os = "linux";
arch = "x86_64";
}
@@ -312,44 +292,7 @@ The parameters relative to the base image have the same synopsis as described in
The `name` argument is the name of the derivation output, which defaults to `fromImage.name`.
## Environment Helpers {#ssec-pkgs-dockerTools-helpers}
Some packages expect certain files to be available globally.
When building an image from scratch (i.e. without `fromImage`), these files are missing.
`pkgs.dockerTools` provides some helpers to set up an environment with the necessary files.
You can include them in `copyToRoot` like this:
```nix
buildImage {
name = "environment-example";
copyToRoot = with pkgs.dockerTools; [
usrBinEnv
binSh
caCertificates
fakeNss
];
}
```
### usrBinEnv {#sssec-pkgs-dockerTools-helpers-usrBinEnv}
This provides the `env` utility at `/usr/bin/env`.
### binSh {#sssec-pkgs-dockerTools-helpers-binSh}
This provides `bashInteractive` at `/bin/sh`.
### caCertificates {#sssec-pkgs-dockerTools-helpers-caCertificates}
This sets up `/etc/ssl/certs/ca-certificates.crt`.
### fakeNss {#sssec-pkgs-dockerTools-helpers-fakeNss}
Provides `/etc/passwd` and `/etc/group` that contain root and nobody.
Useful when packaging binaries that insist on using nss to look up
username/groups (like nginx).
### shadowSetup {#ssec-pkgs-dockerTools-shadowSetup}
## shadowSetup {#ssec-pkgs-dockerTools-shadowSetup}
This constant string is a helper for setting up the base files for managing users and groups, only if such files don't exist already. It is suitable for being used in a [`buildImage` `runAsRoot`](#ex-dockerTools-buildImage-runAsRoot) script for cases like in the example below:
@@ -359,7 +302,7 @@ buildImage {
runAsRoot = ''
#!${pkgs.runtimeShell}
${pkgs.dockerTools.shadowSetup}
${shadowSetup}
groupadd -r redis
useradd -r -g redis redis
mkdir /data
@@ -369,171 +312,3 @@ buildImage {
```
Creating base files like `/etc/passwd` or `/etc/login.defs` is necessary for shadow-utils to manipulate users and groups.
## fakeNss {#ssec-pkgs-dockerTools-fakeNss}
If your primary goal is providing a basic skeleton for user lookups to work,
and/or a lesser privileged user, adding `pkgs.fakeNss` to
the container image root might be the better choice than a custom script
running `useradd` and friends.
It provides a `/etc/passwd` and `/etc/group`, containing `root` and `nobody`
users and groups.
It also provides a `/etc/nsswitch.conf`, configuring NSS host resolution to
first check `/etc/hosts`, before checking DNS, as the default in the absence of
a config file (`dns [!UNAVAIL=return] files`) is quite unexpected.
You can pair it with `binSh`, which provides `bin/sh` as a symlink
to `bashInteractive` (as `/bin/sh` is configured as a shell).
```nix
buildImage {
name = "shadow-basic";
copyToRoot = pkgs.buildEnv {
name = "image-root";
paths = [ binSh pkgs.fakeNss ];
pathsToLink = [ "/bin" "/etc" "/var" ];
};
}
```
## buildNixShellImage {#ssec-pkgs-dockerTools-buildNixShellImage}
Create a Docker image that sets up an environment similar to that of running `nix-shell` on a derivation.
When run in Docker, this environment somewhat resembles the Nix sandbox typically used by `nix-build`, with a major difference being that access to the internet is allowed.
It additionally also behaves like an interactive `nix-shell`, running things like `shellHook` and setting an interactive prompt.
If the derivation is fully buildable (i.e. `nix-build` can be used on it), running `buildDerivation` inside such a Docker image will build the derivation, with all its outputs being available in the correct `/nix/store` paths, pointed to by the respective environment variables like `$out`, etc.
::: {.warning}
The behavior doesn't match `nix-shell` or `nix-build` exactly and this function is known not to work correctly for e.g. fixed-output derivations, content-addressed derivations, impure derivations and other special types of derivations.
:::
### Arguments {#ssec-pkgs-dockerTools-buildNixShellImage-arguments}
`drv`
: The derivation on which to base the Docker image.
Adding packages to the Docker image is possible by e.g. extending the list of `nativeBuildInputs` of this derivation like
```nix
buildNixShellImage {
drv = someDrv.overrideAttrs (old: {
nativeBuildInputs = old.nativeBuildInputs or [] ++ [
somethingExtra
];
});
# ...
}
```
Similarly, you can extend the image initialization script by extending `shellHook`
`name` _optional_
: The name of the resulting image.
*Default:* `drv.name + "-env"`
`tag` _optional_
: Tag of the generated image.
*Default:* the resulting image derivation output path's hash
`uid`/`gid` _optional_
: The user/group ID to run the container as. This is like a `nixbld` build user.
*Default:* 1000/1000
`homeDirectory` _optional_
: The home directory of the user the container is running as
*Default:* `/build`
`shell` _optional_
: The path to the `bash` binary to use as the shell. This shell is started when running the image.
*Default:* `pkgs.bashInteractive + "/bin/bash"`
`command` _optional_
: Run this command in the environment of the derivation, in an interactive shell. See the `--command` option in the [`nix-shell` documentation](https://nixos.org/manual/nix/stable/command-ref/nix-shell.html?highlight=nix-shell#options).
*Default:* (none)
`run` _optional_
: Same as `command`, but runs the command in a non-interactive shell instead. See the `--run` option in the [`nix-shell` documentation](https://nixos.org/manual/nix/stable/command-ref/nix-shell.html?highlight=nix-shell#options).
*Default:* (none)
### Example {#ssec-pkgs-dockerTools-buildNixShellImage-example}
The following shows how to build the `pkgs.hello` package inside a Docker container built with `buildNixShellImage`.
```nix
with import <nixpkgs> {};
dockerTools.buildNixShellImage {
drv = hello;
}
```
Build the derivation:
```console
nix-build hello.nix
```
these 8 derivations will be built:
/nix/store/xmw3a5ln29rdalavcxk1w3m4zb2n7kk6-nix-shell-rc.drv
...
Creating layer 56 from paths: ['/nix/store/crpnj8ssz0va2q0p5ibv9i6k6n52gcya-stdenv-linux']
Creating layer 57 with customisation...
Adding manifests...
Done.
/nix/store/cpyn1lc897ghx0rhr2xy49jvyn52bazv-hello-2.12-env.tar.gz
Load the image:
```console
docker load -i result
```
0d9f4c4cd109: Loading layer [==================================================>] 2.56MB/2.56MB
...
ab1d897c0697: Loading layer [==================================================>] 10.24kB/10.24kB
Loaded image: hello-2.12-env:pgj9h98nal555415faa43vsydg161bdz
Run the container:
```console
docker run -it hello-2.12-env:pgj9h98nal555415faa43vsydg161bdz
```
[nix-shell:/build]$
In the running container, run the build:
```console
buildDerivation
```
unpacking sources
unpacking source archive /nix/store/8nqv6kshb3vs5q5bs2k600xpj5bkavkc-hello-2.12.tar.gz
...
patching script interpreter paths in /nix/store/z5wwy5nagzy15gag42vv61c2agdpz2f2-hello-2.12
checking for references to /build/ in /nix/store/z5wwy5nagzy15gag42vv61c2agdpz2f2-hello-2.12...
Check the build result:
```console
$out/bin/hello
```
Hello, world!

View File

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

View File

@@ -34,4 +34,4 @@ buildContainer {
- `mounts` specifies additional mount points chosen by the user. By default only a minimal set of necessary filesystems are mounted into the container (e.g procfs, cgroupfs)
- `readonly` makes the container's rootfs read-only if it is set to true. The default value is false `false`.
- `readonly` makes the container\'s rootfs read-only if it is set to true. The default value is false `false`.

View File

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

View File

@@ -103,7 +103,7 @@ let
owner = "Someone";
repo = "AwesomeMod";
rev = "...";
hash = "...";
sha256 = "...";
};
# Path to be installed in the unpacked source (default: ".")
modRoot = "contents/under/this/path/will/be/installed";

View File

@@ -4,7 +4,7 @@ The [Citrix Workspace App](https://www.citrix.com/products/workspace-app/) is a
## Basic usage {#sec-citrix-base}
The tarball archive needs to be downloaded manually, as the license agreements of the vendor for [Citrix Workspace](https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html) needs to be accepted first. Then run `nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz`. With the archive available in the store, the package can be built and installed with Nix.
The tarball archive needs to be downloaded manually, as the license agreements of the vendor for [Citrix Workspace](https://www.citrix.de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html) needs to be accepted first. Then run `nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz`. With the archive available in the store, the package can be built and installed with Nix.
## Citrix Self-service {#sec-citrix-selfservice}
@@ -19,7 +19,7 @@ $ selfservice
## Custom certificates {#sec-citrix-custom-certs}
The `Citrix Workspace App` in `nixpkgs` trusts several certificates [from the Mozilla database](https://curl.haxx.se/docs/caextract.html) by default. However, several companies using Citrix might require their own corporate certificate. On distros with imperative packaging, these certs can be stored easily in [`$ICAROOT`](https://citrix.github.io/receiver-for-linux-command-reference/), however this directory is a store path in `nixpkgs`. In order to work around this issue, the package provides a simple mechanism to add custom certificates without rebuilding the entire package using `symlinkJoin`:
The `Citrix Workspace App` in `nixpkgs` trusts several certificates [from the Mozilla database](https://curl.haxx.se/docs/caextract.html) by default. However, several companies using Citrix might require their own corporate certificate. On distros with imperative packaging, these certs can be stored easily in [`$ICAROOT`](https://developer-docs.citrix.com/projects/receiver-for-linux-command-reference/en/13.7/), however this directory is a store path in `nixpkgs`. In order to work around this issue, the package provides a simple mechanism to add custom certificates without rebuilding the entire package using `symlinkJoin`:
```nix
with import <nixpkgs> { config.allowUnfree = true; };

View File

@@ -4,7 +4,7 @@
## Compiling without AVX support {#compiling-without-avx-support}
Especially older CPUs don't support [AVX](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions) (Advanced Vector Extensions) instructions that are used by DLib to optimize their algorithms.
Especially older CPUs don\'t support [AVX](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions) (Advanced Vector Extensions) instructions that are used by DLib to optimize their algorithms.
On the affected hardware errors like `Illegal instruction` will occur. In those cases AVX support needs to be disabled:

View File

@@ -43,11 +43,11 @@ packageOverrides = pkgs: {
name = "myplugin1-1.0";
srcFeature = fetchurl {
url = "http:///features/myplugin1.jar";
hash = "sha256-123";
sha256 = "123";
};
srcPlugin = fetchurl {
url = "http:///plugins/myplugin1.jar";
hash = "sha256-123";
sha256 = "123";
};
});
(plugins.buildEclipseUpdateSite {
@@ -55,7 +55,7 @@ packageOverrides = pkgs: {
src = fetchurl {
stripRoot = false;
url = "http:///myplugin2.zip";
hash = "sha256-123";
sha256 = "123";
};
});
];

View File

@@ -12,7 +12,7 @@ The `wrapFirefox` function allows to pass policies, preferences and extensions t
(fetchFirefoxAddon {
name = "ublock"; # Has to be unique!
url = "https://addons.mozilla.org/firefox/downloads/file/3679754/ublock_origin-1.31.0-an+fx.xpi";
hash = "sha256-2e73AbmYZlZXCP5ptYVcFjQYdjDp4iPoEPEOSCVF5sA=";
sha256 = "1h768ljlh3pi23l27qp961v1hd0nbj2vasgy11bmcrlqp40zgvnr";
})
];
@@ -26,14 +26,10 @@ The `wrapFirefox` function allows to pass policies, preferences and extensions t
Pocket = false;
Snippets = false;
};
UserMessaging = {
ExtensionRecommendations = false;
SkipOnboarding = true;
};
SecurityDevices = {
# Use a proxy module rather than `nixpkgs.config.firefox.smartcardSupport = true`
"PKCS#11 Proxy Module" = "${pkgs.p11-kit}/lib/p11-kit-proxy.so";
};
UserMessaging = {
ExtensionRecommendations = false;
SkipOnboarding = true;
};
};
extraPrefs = ''

View File

@@ -4,7 +4,7 @@ This package is an ibus-based completion method to speed up typing.
## Activating the engine {#sec-ibus-typing-booster-activate}
IBus needs to be configured accordingly to activate `typing-booster`. The configuration depends on the desktop manager in use. For detailed instructions, please refer to the [upstream docs](https://mike-fabian.github.io/ibus-typing-booster/).
IBus needs to be configured accordingly to activate `typing-booster`. The configuration depends on the desktop manager in use. For detailed instructions, please refer to the [upstream docs](https://mike-fabian.github.io/ibus-typing-booster/documentation.html).
On NixOS, you need to explicitly enable `ibus` with given engines before customizing your desktop to use `typing-booster`. This can be achieved using the `ibus` module:

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

@@ -73,7 +73,7 @@ stdenv.mkDerivation {
name = "exemplary-weechat-script";
src = fetchurl {
url = "https://scripts.tld/your-scripts.tar.gz";
hash = "...";
sha256 = "...";
};
passthru.scripts = [ "foo.py" "bar.lua" ];
installPhase = ''

View File

@@ -6,8 +6,5 @@
This chapter describes several special builders.
</para>
<xi:include href="special/fhs-environments.section.xml" />
<xi:include href="special/makesetuphook.section.xml" />
<xi:include href="special/mkshell.section.xml" />
<xi:include href="special/darwin-builder.section.xml" />
<xi:include href="special/vm-tools.section.xml" />
</chapter>

View File

@@ -1,149 +0,0 @@
# darwin.builder {#sec-darwin-builder}
`darwin.builder` provides a way to bootstrap a Linux builder on a macOS machine.
This requires macOS version 12.4 or later.
This also requires that port 22 on your machine is free (since Nix does not
permit specifying a non-default SSH port for builders).
You will also need to be a trusted user for your Nix installation. In other
words, your `/etc/nix/nix.conf` should have something like:
```
extra-trusted-users = <your username goes here>
```
To launch the builder, run the following flake:
```ShellSession
$ nix run nixpkgs#darwin.builder
```
That will prompt you to enter your `sudo` password:
```
+ sudo --reset-timestamp /nix/store/…-install-credentials.sh ./keys
Password:
```
… so that it can install a private key used to `ssh` into the build server.
After that the script will launch the virtual machine and automatically log you
in as the `builder` user:
```
<<< Welcome to NixOS 22.11.20220901.1bd8d11 (aarch64) - ttyAMA0 >>>
Run 'nixos-help' for the NixOS manual.
nixos login: builder (automatic login)
[builder@nixos:~]$
```
> Note: When you need to stop the VM, run `shutdown now` as the `builder` user.
To delegate builds to the remote builder, add the following options to your
`nix.conf` file:
```
# - Replace ${ARCH} with either aarch64 or x86_64 to match your host machine
# - Replace ${MAX_JOBS} with the maximum number of builds (pick 4 if you're not sure)
builders = ssh-ng://builder@localhost ${ARCH}-linux /etc/nix/builder_ed25519 ${MAX_JOBS} - - - c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUpCV2N4Yi9CbGFxdDFhdU90RStGOFFVV3JVb3RpQzVxQkorVXVFV2RWQ2Igcm9vdEBuaXhvcwo=
# Not strictly necessary, but this will reduce your disk utilization
builders-use-substitutes = true
```
… and then restart your Nix daemon to apply the change:
```ShellSession
$ sudo launchctl kickstart -k system/org.nixos.nix-daemon
```
## Example flake usage
```
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin";
darwin.url = "github:lnl7/nix-darwin/master";
darwin.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { self, darwin, nixpkgs, ... }@inputs:
let
inherit (darwin.lib) darwinSystem;
system = "aarch64-darwin";
pkgs = nixpkgs.legacyPackages."${system}";
linuxSystem = builtins.replaceStrings [ "darwin" ] [ "linux" ] system;
darwin-builder = nixpkgs.lib.nixosSystem {
system = linuxSystem;
modules = [
"${nixpkgs}/nixos/modules/profiles/macos-builder.nix"
{ virtualisation.host.pkgs = pkgs; }
];
};
in {
darwinConfigurations = {
machine1 = darwinSystem {
inherit system;
modules = [
{
nix.distributedBuilds = true;
nix.buildMachines = [{
hostName = "ssh://builder@localhost";
system = linuxSystem;
maxJobs = 4;
supportedFeatures = [ "kvm" "benchmark" "big-parallel" ];
}];
launchd.daemons.darwin-builder = {
command = "${darwin-builder.config.system.build.macos-builder-installer}/bin/create-builder";
serviceConfig = {
KeepAlive = true;
RunAtLoad = true;
StandardOutPath = "/var/log/darwin-builder.log";
StandardErrorPath = "/var/log/darwin-builder.log";
};
};
}
];
};
};
};
}
```
## Reconfiguring the builder
Initially you should not change the builder configuration else you will not be
able to use the binary cache. However, after you have the builder running locally
you may use it to build a modified builder with additional storage or memory.
To do this, you just need to set the `virtualisation.darwin-builder.*` parameters as
in the example below and rebuild.
```
darwin-builder = nixpkgs.lib.nixosSystem {
system = linuxSystem;
modules = [
"${nixpkgs}/nixos/modules/profiles/macos-builder.nix"
{
virtualisation.host.pkgs = pkgs;
virtualisation.darwin-builder.diskSize = 5120;
virtualisation.darwin-builder.memorySize = 1024;
virtualisation.darwin-builder.hostPort = 33022;
virtualisation.darwin-builder.workingDirectory = "/var/lib/darwin-builder";
}
];
```
You may make any other changes to your VM in this attribute set. For example,
you could enable Docker or X11 forwarding to your Darwin host.

View File

@@ -1,6 +1,6 @@
# buildFHSEnv {#sec-fhs-environments}
# buildFHSUserEnv {#sec-fhs-environments}
`buildFHSEnv` provides a way to build and run FHS-compatible lightweight sandboxes. It creates an isolated root with bound `/nix/store`, so its footprint in terms of disk space needed is quite small. This allows one to run software which is hard or unfeasible to patch for NixOS -- 3rd-party source trees with FHS assumptions, games distributed as tarballs, software with integrity checking and/or external self-updated binaries. It uses Linux namespaces feature to create temporary lightweight environments which are destroyed after all child processes exit, without root user rights requirement. Accepted arguments are:
`buildFHSUserEnv` provides a way to build and run FHS-compatible lightweight sandboxes. It creates an isolated root with bound `/nix/store`, so its footprint in terms of disk space needed is quite small. This allows one to run software which is hard or unfeasible to patch for NixOS -- 3rd-party source trees with FHS assumptions, games distributed as tarballs, software with integrity checking and/or external self-updated binaries. It uses Linux namespaces feature to create temporary lightweight environments which are destroyed after all child processes exit, without root user rights requirement. Accepted arguments are:
- `name`
Environment name.
@@ -26,7 +26,7 @@ One can create a simple environment using a `shell.nix` like that:
```nix
{ pkgs ? import <nixpkgs> {} }:
(pkgs.buildFHSEnv {
(pkgs.buildFHSUserEnv {
name = "simple-x11-env";
targetPkgs = pkgs: (with pkgs;
[ udev

View File

@@ -1,37 +0,0 @@
# pkgs.makeSetupHook {#sec-pkgs.makeSetupHook}
`pkgs.makeSetupHook` is a builder that produces hooks that go in to `nativeBuildInputs`
## Usage {#sec-pkgs.makeSetupHook-usage}
```nix
pkgs.makeSetupHook {
name = "something-hook";
propagatedBuildInputs = [ pkgs.commandsomething ];
depsTargetTargetPropagated = [ pkgs.libsomething ];
} ./script.sh
```
#### setup hook that depends on the hello package and runs hello and @shell@ is substituted with path to bash {#sec-pkgs.makeSetupHook-usage-example}
```nix
pkgs.makeSetupHook {
name = "run-hello-hook";
propagatedBuildInputs = [ pkgs.hello ];
substitutions = { shell = "${pkgs.bash}/bin/bash"; };
passthru.tests.greeting = callPackage ./test { };
meta.platforms = lib.platforms.linux;
} (writeScript "run-hello-hook.sh" ''
#!@shell@
hello
'')
```
## Attributes {#sec-pkgs.makeSetupHook-attributes}
* `name` Set the name of the hook.
* `propagatedBuildInputs` Runtime dependencies (such as binaries) of the hook.
* `depsTargetTargetPropagated` Non-binary dependencies.
* `meta`
* `passthru`
* `substitutions` Variables for `substituteAll`

View File

@@ -20,7 +20,7 @@ pkgs.mkShell {
}
```
## Attributes {#sec-pkgs-mkShell-attributes}
## Attributes
* `name` (default: `nix-shell`). Set the name of the derivation.
* `packages` (default: `[]`). Add executable packages to the `nix-shell` environment.
@@ -29,7 +29,7 @@ pkgs.mkShell {
... all the attributes of `stdenv.mkDerivation`.
## Building the shell {#sec-pkgs-mkShell-building}
## Building the shell
This derivation output will contain a text file that contains a reference to
all the build inputs. This is useful in CI where we want to make sure that

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
* `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
* `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
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
* `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
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
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
* 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
* `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
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,19 +1,6 @@
# Testers {#chap-testers}
This chapter describes several testing builders which are available in the <literal>testers</literal> namespace.
## `hasPkgConfigModule` {#tester-hasPkgConfigModule}
Checks whether a package exposes a certain `pkg-config` module.
Example:
```nix
passthru.tests.pkg-config = testers.hasPkgConfigModule {
package = finalAttrs.finalPackage;
moduleName = "libfoo";
}
```
## `testVersion` {#tester-testVersion}
Checks the command output contains the specified version
@@ -27,89 +14,19 @@ for example when using an 'old' hash in a fixed-output derivation.
Examples:
```nix
passthru.tests.version = testers.testVersion { package = hello; };
passthru.tests.version = testVersion { package = hello; };
passthru.tests.version = testers.testVersion {
passthru.tests.version = testVersion {
package = seaweedfs;
command = "weed version";
};
passthru.tests.version = testers.testVersion {
passthru.tests.version = testVersion {
package = key;
command = "KeY --help";
# Wrong '2.5' version in the code. Drop on next version.
version = "2.5";
};
passthru.tests.version = testers.testVersion {
package = ghr;
# The output needs to contain the 'version' string without any prefix or suffix.
version = "v${version}";
};
```
## `testBuildFailure` {#tester-testBuildFailure}
Make sure that a build does not succeed. This is useful for testing testers.
This returns a derivation with an override on the builder, with the following effects:
- Fail the build when the original builder succeeds
- Move `$out` to `$out/result`, if it exists (assuming `out` is the default output)
- Save the build log to `$out/testBuildFailure.log` (same)
Example:
```nix
runCommand "example" {
failed = testers.testBuildFailure (runCommand "fail" {} ''
echo ok-ish >$out
echo failing though
exit 3
'');
} ''
grep -F 'ok-ish' $failed/result
grep -F 'failing though' $failed/testBuildFailure.log
[[ 3 = $(cat $failed/testBuildFailure.exit) ]]
touch $out
'';
```
While `testBuildFailure` is designed to keep changes to the original builder's
environment to a minimum, some small changes are inevitable.
- The file `$TMPDIR/testBuildFailure.log` is present. It should not be deleted.
- `stdout` and `stderr` are a pipe instead of a tty. This could be improved.
- One or two extra processes are present in the sandbox during the original
builder's execution.
- The derivation and output hashes are different, but not unusual.
- The derivation includes a dependency on `buildPackages.bash` and
`expect-failure.sh`, which is built to include a transitive dependency on
`buildPackages.coreutils` and possibly more. These are not added to `PATH`
or any other environment variable, so they should be hard to observe.
## `testEqualContents` {#tester-equalContents}
Check that two paths have the same contents.
Example:
```nix
testers.testEqualContents {
assertion = "sed -e performs replacement";
expected = writeText "expected" ''
foo baz baz
'';
actual = runCommand "actual" {
# not really necessary for a package that's in stdenv
nativeBuildInputs = [ gnused ];
base = writeText "base" ''
foo bar baz
'';
} ''
sed -e 's/bar/baz/g' $base >$out
'';
}
```
## `testEqualDerivation` {#tester-testEqualDerivation}
@@ -125,7 +42,7 @@ Otherwise, the build log explains the difference via `nix-diff`.
Example:
```nix
testers.testEqualDerivation
testEqualDerivation
"The hello package must stay the same when enabling checks."
hello
(hello.overrideAttrs(o: { doCheck = true; }))
@@ -156,11 +73,11 @@ fixed output derivation.
Example:
```nix
tests.fetchgit = testers.invalidateFetcherByDrvHash fetchgit {
tests.fetchgit = invalidateFetcherByDrvHash fetchgit {
name = "nix-source";
url = "https://github.com/NixOS/nix";
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
hash = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
};
```
@@ -178,7 +95,7 @@ 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}
### Parameter
A [NixOS VM test network](https://nixos.org/nixos/manual/index.html#sec-nixos-tests), or path to it. Example:
@@ -200,7 +117,7 @@ A [NixOS VM test network](https://nixos.org/nixos/manual/index.html#sec-nixos-te
}
```
### Result {#tester-nixosTest-result}
### Result
A derivation that runs the VM test.

View File

@@ -204,13 +204,13 @@ The key words _must_, _must not_, _required_, _shall_, _shall not_, _should_, _s
In Nixpkgs, there are generally three different names associated with a package:
- The `pname` attribute of the derivation. This is what most users see, in particular when using `nix-env`.
- The `name` attribute of the derivation (excluding the version part). This is what most users see, in particular when using `nix-env`.
- The variable name used for the instantiated package in `all-packages.nix`, and when passing it as a dependency to other functions. Typically this is called the _package attribute name_. This is what Nix expression authors see. It can also be used when installing using `nix-env -iA`.
- The filename for (the directory containing) the Nix expression.
Most of the time, these are the same. For instance, the package `e2fsprogs` has a `pname` attribute `"e2fsprogs"`, is bound to the variable name `e2fsprogs` in `all-packages.nix`, and the Nix expression is in `pkgs/os-specific/linux/e2fsprogs/default.nix`.
Most of the time, these are the same. For instance, the package `e2fsprogs` has a `name` attribute `"e2fsprogs-version"`, is bound to the variable name `e2fsprogs` in `all-packages.nix`, and the Nix expression is in `pkgs/os-specific/linux/e2fsprogs/default.nix`.
There are a few naming guidelines:
@@ -260,10 +260,6 @@ When in doubt, consider refactoring the `pkgs/` tree, e.g. creating new categori
- `development/tools/build-managers` (e.g. `gnumake`)
- **If its a _language server_:**
- `development/tools/language-servers` (e.g. `ccls` or `rnix-lsp`)
- **Else:**
- `development/tools/misc` (e.g. `binutils`)
@@ -342,10 +338,6 @@ A (typically large) program with a distinct user interface, primarily used inter
- `applications/terminal-emulators` (e.g. `alacritty` or `rxvt` or `termite`)
- **If its a _file manager_:**
- `applications/file-managers` (e.g. `mc` or `ranger` or `pcmanfm`)
- **If its for _video playback / editing_:**
- `applications/video` (e.g. `vlc`)
@@ -430,10 +422,9 @@ In the file `pkgs/top-level/all-packages.nix` you can find fetch helpers, these
```nix
src = fetchgit {
url = "git@github.com:NixOS/nix.git"
url = "git://github.com/NixOS/nix.git";
rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae";
hash = "sha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ=";
sha256 = "1cw5fszffl5pkpa6s6wjnkiv6lm5k618s32sp60kvmvpy7a2v9kg";
}
```
@@ -443,7 +434,7 @@ In the file `pkgs/top-level/all-packages.nix` you can find fetch helpers, these
src = fetchgit {
url = "https://github.com/NixOS/nix.git";
rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae";
hash = "sha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ=";
sha256 = "1cw5fszffl5pkpa6s6wjnkiv6lm5k618s32sp60kvmvpy7a2v9kg";
}
```
@@ -454,14 +445,11 @@ In the file `pkgs/top-level/all-packages.nix` you can find fetch helpers, these
owner = "NixOS";
repo = "nix";
rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae";
hash = "ha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ=";
sha256 = "1i2yxndxb6yc9l6c99pypbd92lfq5aac4klq7y2v93c9qvx2cgpc";
}
```
When fetching from GitHub, commits must always be referenced by their full commit hash. This is because GitHub shares commit hashes among all forks and returns `404 Not Found` when a short commit hash is ambiguous. It already happens for some short, 6-character commit hashes in `nixpkgs`.
It is a practical vector for a denial-of-service attack by pushing large amounts of auto generated commits into forks and was already [demonstrated against GitHub Actions Beta](https://blog.teddykatz.com/2019/11/12/github-actions-dos.html).
Find the value to put as `hash` by running `nix-shell -p nix-prefetch-github --run "nix-prefetch-github --rev 1f795f9f44607cc5bec70d1300150bfefcef2aae NixOS nix"`.
Find the value to put as `sha256` by running `nix run -f '<nixpkgs>' nix-prefetch-github -c nix-prefetch-github --rev 1f795f9f44607cc5bec70d1300150bfefcef2aae NixOS nix` or `nix-prefetch-url --unpack https://github.com/NixOS/nix/archive/1f795f9f44607cc5bec70d1300150bfefcef2aae.tar.gz`.
## Obtaining source hash {#sec-source-hashes}
@@ -485,23 +473,15 @@ Preferred source hash type is sha256. There are several ways to get it.
4. Extracting hash from local source tarball can be done with `sha256sum`. Use `nix-prefetch-url file:///path/to/tarball` if you want base32 hash.
5. Fake hash: set the hash to one of
5. Fake hash: set fake hash in package expression, perform build and extract correct hash from error Nix prints.
- `""`
- `lib.fakeHash`
- `lib.fakeSha256`
- `lib.fakeSha512`
in the package expression, attempt build and extract correct hash from error messages.
::: {.warning}
You must use one of these four fake hashes and not some arbitrarily-chosen hash.
See [](#sec-source-hashes-security).
:::
For package updates it is enough to change one symbol to make hash fake. For new packages, you can use `lib.fakeSha256`, `lib.fakeSha512` or any other fake hash.
This is last resort method when reconstructing source URL is non-trivial and `nix-prefetch-url -A` isnt applicable (for example, [one of `kodi` dependencies](https://github.com/NixOS/nixpkgs/blob/d2ab091dd308b99e4912b805a5eb088dd536adb9/pkgs/applications/video/kodi/default.nix#L73)). The easiest way then would be replace hash with a fake one and rebuild. Nix build will fail and error message will contain desired hash.
::: {.warning}
This method has security problems. Check below for details.
:::
### Obtaining hashes securely {#sec-source-hashes-security}
@@ -513,7 +493,7 @@ Let's say Man-in-the-Middle (MITM) sits close to your network. Then instead of f
- `https://` URLs are secure in methods 1, 2, 3;
- `https://` URLs are secure in method 5 *only if* you use one of the listed fake hashes. If you use any other hash, `fetchurl` will pass `--insecure` to `curl` and may then degrade to HTTP in case of TLS certificate expiration.
- `https://` URLs are not secure in method 5. When obtaining hashes with fake hash method, TLS checks are disabled. So refetch source hash from several different networks to exclude MITM scenario. Alternatively, use fake hash method to make Nix error, but instead of extracting hash from error, extract `https://` URL and prefetch it with method 1.
## Patches {#sec-patches}
@@ -524,15 +504,13 @@ patches = [
(fetchpatch {
name = "fix-check-for-using-shared-freetype-lib.patch";
url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=8f5d285";
hash = "sha256-uRcxaCjd+WAuGrXOmGfFeu79cUILwkRdBu48mwcBE7g=";
sha256 = "1f0k043rng7f0rfl9hhb89qzvvksqmkrikmm38p61yfx51l325xr";
})
];
```
Otherwise, you can add a `.patch` file to the `nixpkgs` repository. In the interest of keeping our maintenance burden to a minimum, only patches that are unique to `nixpkgs` should be added in this way.
If a patch is available online but does not cleanly apply, it can be modified in some fixed ways by using additional optional arguments for `fetchpatch`. Check [](#fetchpatch) for details.
```nix
patches = [ ./0001-changes.patch ];
```
@@ -560,6 +538,17 @@ If you do need to do create this sort of patch file, one way to do so is with gi
$ git diff -a > nixpkgs/pkgs/the/package/0001-changes.patch
```
If a patch is available online but does not cleanly apply, it can be modified in some fixed ways by using additional optional arguments for `fetchpatch`:
- `relative`: Similar to using `git-diff`'s `--relative` flag, only keep changes inside the specified directory, making paths relative to it.
- `stripLen`: Remove the first `stripLen` components of pathnames in the patch.
- `extraPrefix`: Prefix pathnames by this string.
- `excludes`: Exclude files matching these patterns (applies after the above arguments).
- `includes`: Include only files matching these patterns (applies after the above arguments).
- `revert`: Revert the patch.
Note that because the checksum is computed after applying these effects, using or modifying these arguments will have no effect unless the `sha256` argument is changed as well.
## Package tests {#sec-package-tests}
Tests are important to ensure quality and make reviews and automatic updates easy.
@@ -674,18 +663,3 @@ stdenv.mkDerivation {
...
}
```
### Import From Derivation {#ssec-import-from-derivation}
Import From Derivation (IFD) is disallowed in Nixpkgs for performance reasons:
[Hydra] evaluates the entire package set, and sequential builds during evaluation would increase evaluation times to become impractical.
[Hydra]: https://github.com/NixOS/hydra
Import From Derivation can be worked around in some cases by committing generated intermediate files to version control and reading those instead.
<!-- TODO: remove the following and link to Nix manual once https://github.com/NixOS/nix/pull/7332 is merged -->
See also [NixOS Wiki: Import From Derivation].
[NixOS Wiki: Import From Derivation]: https://nixos.wiki/wiki/Import_From_Derivation

View File

@@ -27,7 +27,7 @@ If the build succeeds, the manual will be in `./result/share/doc/nixpkgs/manual.
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:
Additionally, the following syntax extensions are currently used:
- []{#ssec-contributing-markup-anchors}
Explicitly defined **anchors** on headings, to allow linking to sections. These should be always used, to ensure the anchors can be linked even when the heading text changes, and to prevent conflicts between [automatically assigned identifiers](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/auto_identifiers.md).
@@ -38,10 +38,6 @@ Additional syntax extensions are available, all of which can be used in NixOS op
## Syntax {#sec-contributing-markup}
```
::: {.note}
NixOS option documentation does not support headings in general.
:::
- []{#ssec-contributing-markup-anchors-inline}
**Inline anchors**, which allow linking arbitrary place in the text (e.g. individual list items, sentences…).
@@ -57,17 +53,9 @@ Additional syntax extensions are available, all of which can be used in NixOS op
This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/using/syntax.html#targets-and-cross-referencing).
- []{#ssec-contributing-markup-inline-roles}
If you want to link to a man page, you can use `` {manpage}`nix.conf(5)` ``, which will turn into {manpage}`nix.conf(5)`. The references will turn into links when a mapping exists in {file}`doc/manpage-urls.json`.
If you want to link to a man page, you can use `` {manpage}`nix.conf(5)` ``, which will turn into {manpage}`nix.conf(5)`.
A few markups for other kinds of literals are also available:
- `` {command}`rm -rfi` `` turns into {command}`rm -rfi`
- `` {env}`XDG_DATA_DIRS` `` turns into {env}`XDG_DATA_DIRS`
- `` {file}`/etc/passwd` `` turns into {file}`/etc/passwd`
- `` {option}`networking.useDHCP` `` turns into {option}`networking.useDHCP`
- `` {var}`/etc/passwd` `` turns into {var}`/etc/passwd`
These literal kinds are used mostly in NixOS option documentation.
The references will turn into links when a mapping exists in {file}`doc/build-aux/pandoc-filters/link-unix-man-references.lua`.
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.

View File

@@ -34,7 +34,7 @@ To add a package to Nixpkgs:
- Apache HTTPD: [`pkgs/servers/http/apache-httpd/2.4.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/http/apache-httpd/2.4.nix). A bunch of optional features, variable substitutions in the configure flags, a post-install hook, and miscellaneous hackery.
- buildMozillaMach: [`pkgs/applications/networking/browser/firefox/common.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/browsers/firefox/common.nix). A reusable build function for Firefox, Thunderbird and Librewolf.
- Thunderbird: [`pkgs/applications/networking/mailreaders/thunderbird/default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/mailreaders/thunderbird/default.nix). Lots of dependencies.
- JDiskReport, a Java utility: [`pkgs/tools/misc/jdiskreport/default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/jdiskreport/default.nix). Nixpkgs doesnt have a decent `stdenv` for Java yet so this is pretty ad-hoc.

View File

@@ -185,111 +185,6 @@ Sample template for a new module review is provided below.
##### Comments
```
## Individual maintainer list {#reviewing-contributions-individual-maintainer-list}
When adding users to `maintainers/maintainer-list.nix`, the following
checks should be performed:
- If the user has specified a GPG key, verify that the commit is
signed by their key.
First, validate that the commit adding the maintainer is signed by
the key the maintainer listed. Check out the pull request and
compare its signing key with the listed key in the commit.
If the commit is not signed or it is signed by a different user, ask
them to either recommit using that key or to remove their key
information.
Given a maintainter entry like this:
``` nix
{
example = {
email = "user@example.com";
name = "Example User";
keys = [{
fingerprint = "0000 0000 2A70 6423 0AED 3C11 F04F 7A19 AAA6 3AFE";
}];
}
};
```
First receive their key from a keyserver:
$ gpg --recv-keys 0xF04F7A19AAA63AFE
gpg: key 0xF04F7A19AAA63AFE: public key "Example <user@example.com>" imported
gpg: Total number processed: 1
gpg: imported: 1
Then check the commit is signed by that key:
$ git log --show-signature
commit b87862a4f7d32319b1de428adb6cdbdd3a960153
gpg: Signature made Wed Mar 12 13:32:24 2003 +0000
gpg: using RSA key 000000002A7064230AED3C11F04F7A19AAA63AFE
gpg: Good signature from "Example User <user@example.com>
Author: Example User <user@example.com>
Date: Wed Mar 12 13:32:24 2003 +0000
maintainers: adding example
and validate that there is a `Good signature` and the printed key
matches the user's submitted key.
Note: GitHub's "Verified" label does not display the user's full key
fingerprint, and should not be used for validating the key matches.
- If the user has specified a `github` account name, ensure they have
also specified a `githubId` and verify the two match.
Maintainer entries that include a `github` field must also include
their `githubId`. People can and do change their GitHub name
frequently, and the ID is used as the official and stable identity
of the maintainer.
Given a maintainer entry like this:
``` nix
{
example = {
email = "user@example.com";
name = "Example User";
github = "ghost";
githubId = 10137;
}
};
```
First, make sure that the listed GitHub handle matches the author of
the commit.
Then, visit the URL `https://api.github.com/users/ghost` and
validate that the `id` field matches the provided `githubId`.
## Maintainer teams {#reviewing-contributions-maintainer-teams}
Feel free to create a new maintainer team in `maintainers/team-list.nix`
when a group is collectively responsible for a collection of packages.
Use taste and personal judgement when deciding if a team is warranted.
Teams are allowed to define their own rules about membership.
For example, some teams will represent a business or other group which
wants to carefully track its members. Other teams may be very open about
who can join, and allow anybody to participate.
When reviewing changes to a team, read the team's scope and the context
around the member list for indications about the team's membership
policy.
In any case, request reviews from the existing team members. If the team
lists no specific membership policy, feel free to merge changes to the
team after giving the existing members a few days to respond.
*Important:* If a team says it is a closed group, do not merge additions
to the team without an approval by at least one existing member.
## Other submissions {#reviewing-contributions-other-submissions}
Other type of submissions requires different reviewing steps.
@@ -302,12 +197,6 @@ Container system, boot system and library changes are some examples of the pull
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.

View File

@@ -76,7 +76,7 @@ Security fixes are submitted in the same way as other changes and thus the same
(fetchpatch {
name = "CVE-2019-11068.patch";
url = "https://gitlab.gnome.org/GNOME/libxslt/commit/e03553605b45c88f0b4b2980adfbbb8f6fca2fd6.patch";
hash = "sha256-SEKe/8HcW0UBHCfPTTOnpRlzmV2nQPPeL6HOMxBZd14=";
sha256 = "0pkpb4837km15zgg6h57bncp66d5lwrlvkr73h0lanywq7zrwhj8";
})
```
@@ -167,30 +167,24 @@ Packages with automated tests are much more likely to be merged in a timely fash
### Tested compilation of all pkgs that depend on this change using `nixpkgs-review` {#submitting-changes-tested-compilation}
If you are updating a packages version, you can use `nixpkgs-review` to make sure all packages that depend on the updated package still compile correctly. The `nixpkgs-review` utility can look for and build all dependencies either based on uncommitted changes with the `wip` option or specifying a GitHub pull request number.
If you are updating a packages version, you can use nixpkgs-review to make sure all packages that depend on the updated package still compile correctly. The `nixpkgs-review` utility can look for and build all dependencies either based on uncommited changes with the `wip` option or specifying a github pull request number.
Review changes from pull request number 12345:
review changes from pull request number 12345:
```ShellSession
nix-shell -p nixpkgs-review --run "nixpkgs-review pr 12345"
nix run nixpkgs.nixpkgs-review -c nixpkgs-review pr 12345
```
Alternatively, with flakes (and analogously for the other commands below):
review uncommitted changes:
```ShellSession
nix run nixpkgs#nixpkgs-review -- pr 12345
nix run nixpkgs.nixpkgs-review -c nixpkgs-review wip
```
Review uncommitted changes:
review changes from last commit:
```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"
nix run nixpkgs.nixpkgs-review -c nixpkgs-review rev HEAD
```
### Tested execution of all binary files (usually in `./result/bin/`) {#submitting-changes-tested-execution}
@@ -199,7 +193,7 @@ Its important to test any executables generated by a build when you change or
### Meets Nixpkgs contribution standards {#submitting-changes-contribution-standards}
The last checkbox is fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md). The contributing document has detailed information on standards the Nix community has for commit messages, reviews, licensing of contributions you make to the project, etc... Everyone should read and understand the standards the community has for contributing before submitting a pull request.
The last checkbox is fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md). The contributing document has detailed information on standards the Nix community has for commit messages, reviews, licensing of contributions you make to the project, etc\... Everyone should read and understand the standards the community has for contributing before submitting a pull request.
## Hotfixing pull requests {#submitting-changes-hotfixing-pull-requests}
@@ -233,7 +227,7 @@ digraph {
}
```
[This GitHub Action](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/periodic-merge-6h.yml) brings changes from `master` to `staging-next` and from `staging-next` to `staging` every 6 hours; these are the blue arrows in the diagram above. The purple arrows in the diagram above are done manually and much less frequently. You can get an idea of how often these merges occur by looking at the git history.
[This GitHub Action](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/periodic-merge-6h.yml) brings changes from `master` to `staging-next` and from `staging-next` to `staging` every 6 hours.
### Master branch {#submitting-changes-master-branch}
@@ -244,16 +238,12 @@ The `master` branch is the main development branch. It should only see non-break
The `staging` branch is a development branch where mass-rebuilds go. Mass rebuilds are commits that cause rebuilds for many packages, like more than 500 (or perhaps, if it's 'light' packages, 1000). It should only see non-breaking mass-rebuild commits. That means it is not to be used for testing, and changes must have been well tested already. If the branch is already in a broken state, please refrain from adding extra new breakages.
During the process of a releasing a new NixOS version, this branch or the release-critical packages can be restricted to non-breaking changes.
### Staging-next branch {#submitting-changes-staging-next-branch}
The `staging-next` branch is for stabilizing mass-rebuilds submitted to the `staging` branch prior to merging them into `master`. Mass-rebuilds must go via the `staging` branch. It must only see non-breaking commits that are fixing issues blocking it from being merged into the `master` branch.
The `staging-next` branch is for stabilizing mass-rebuilds submitted to the `staging` branch prior to merging them into `master`. Mass-rebuilds must go via the `staging` branch. It must only see non-breaking commits that are fixing issues blocking it from being merged into the `master ` branch.
If the branch is already in a broken state, please refrain from adding extra new breakages. Stabilize it for a few days and then merge into master.
During the process of a releasing a new NixOS version, this branch or the release-critical packages can be restricted to non-breaking changes.
### Stable release branches {#submitting-changes-stable-release-branches}
The same staging workflow applies to stable release branches, but the main branch is called `release-*` instead of `master`.
@@ -290,7 +280,7 @@ Other examples of reasons are:
- The previous download links were all broken
- Crash when starting on some X11 systems
#### Acceptable backport criteria {#acceptable-backport-criteria}
#### Acceptable backport criteria
The stable branch does have some changes which cannot be backported. Most notable are breaking changes. The desire is to have stable users be uninterrupted when updating packages.

View File

@@ -1,5 +1,6 @@
{ pkgs ? (import ./.. { }), nixpkgs ? { }}:
let
lib = pkgs.lib;
doc-support = import ./doc-support { inherit pkgs nixpkgs; };
in pkgs.stdenv.mkDerivation {
name = "nixpkgs-manual";
@@ -14,16 +15,12 @@ in pkgs.stdenv.mkDerivation {
xmlformat
];
src = pkgs.nix-gitignore.gitignoreSource [] ./.;
src = lib.cleanSource ./.;
postPatch = ''
ln -s ${doc-support} ./doc-support/result
'';
preBuild = ''
make -j$NIX_BUILD_CORES render-md
'';
installPhase = ''
dest="$out/share/doc/nixpkgs"
mkdir -p "$(dirname "$dest")"
@@ -39,5 +36,4 @@ in pkgs.stdenv.mkDerivation {
# Environment variables
PANDOC_LUA_FILTERS_DIR = "${pkgs.pandoc-lua-filters}/share/pandoc/filters";
PANDOC_LINK_MANPAGES_FILTER = import build-aux/pandoc-filters/link-manpages.nix { inherit pkgs; };
}

View File

@@ -1,25 +1,7 @@
{ pkgs ? (import ../.. {}), nixpkgs ? { }}:
let
inherit (pkgs) lib;
inherit (lib) hasPrefix removePrefix;
libsets = [
{ name = "asserts"; description = "assertion functions"; }
{ name = "attrsets"; description = "attribute set functions"; }
{ name = "strings"; description = "string manipulation functions"; }
{ name = "versions"; description = "version string functions"; }
{ name = "trivial"; description = "miscellaneous functions"; }
{ name = "lists"; description = "list manipulation functions"; }
{ name = "debug"; description = "debugging functions"; }
{ name = "options"; description = "NixOS / nixpkgs option handling"; }
{ name = "path"; description = "path functions"; }
{ name = "filesystem"; description = "filesystem functions"; }
{ name = "sources"; description = "source filtering functions"; }
{ name = "cli"; description = "command-line serialization functions"; }
];
locationsXml = import ./lib-function-locations.nix { inherit pkgs nixpkgs libsets; };
functionDocs = import ./lib-function-docs.nix { inherit locationsXml pkgs libsets; };
locationsXml = import ./lib-function-locations.nix { inherit pkgs nixpkgs; };
functionDocs = import ./lib-function-docs.nix { inherit locationsXml pkgs; };
version = pkgs.lib.version;
epub-xsl = pkgs.writeText "epub.xsl" ''
@@ -47,18 +29,6 @@ let
optionsDoc = pkgs.nixosOptionsDoc {
inherit (pkgs.lib.evalModules { modules = [ ../../pkgs/top-level/config.nix ]; }) options;
documentType = "none";
transformOptions = opt:
opt // {
declarations =
map
(decl:
if hasPrefix (toString ../..) (toString decl)
then
let subpath = removePrefix "/" (removePrefix (toString ../..) (toString decl));
in { url = "https://github.com/NixOS/nixpkgs/blob/master/${subpath}"; name = subpath; }
else decl)
opt.declarations;
};
};
in pkgs.runCommand "doc-support" {}
@@ -75,7 +45,7 @@ in pkgs.runCommand "doc-support" {}
ln -s ${epub-xsl} ./epub.xsl
ln -s ${xhtml-xsl} ./xhtml.xsl
ln -s ${./xmlformat.conf} ./xmlformat.conf
ln -s ${../../nixos/doc/xmlformat.conf} ./xmlformat.conf
ln -s ${pkgs.documentation-highlighter} ./highlightjs
echo -n "${version}" > ./version

View File

@@ -1,36 +1,27 @@
# Generates the documentation for library functions via nixdoc.
# Generates the documentation for library functons via nixdoc. To add
# another library function file to this list, the include list in the
# file `doc/functions/library.xml` must also be updated.
{ pkgs, locationsXml, libsets }:
{ pkgs ? import ./.. {}, locationsXml }:
with pkgs; stdenv.mkDerivation {
name = "nixpkgs-lib-docs";
src = ../../lib;
src = ./../../lib;
buildInputs = [ nixdoc ];
installPhase = ''
function docgen {
# TODO: wrap lib.$1 in <literal>, make nixdoc not escape it
if [[ -e "../lib/$1.nix" ]]; then
nixdoc -c "$1" -d "lib.$1: $2" -f "$1.nix" > "$out/$1.xml"
else
nixdoc -c "$1" -d "lib.$1: $2" -f "$1/default.nix" > "$out/$1.xml"
fi
echo "<xi:include href='$1.xml' />" >> "$out/index.xml"
nixdoc -c "$1" -d "$2" -f "../lib/$1.nix" > "$out/$1.xml"
}
mkdir -p "$out"
cat > "$out/index.xml" << 'EOF'
<?xml version="1.0" encoding="utf-8"?>
<root xmlns:xi="http://www.w3.org/2001/XInclude">
EOF
${lib.concatMapStrings ({ name, description }: ''
docgen ${name} ${lib.escapeShellArg description}
'') libsets}
echo "</root>" >> "$out/index.xml"
mkdir -p $out
ln -s ${locationsXml} $out/locations.xml
docgen strings 'String manipulation functions'
docgen trivial 'Miscellaneous functions'
docgen lists 'List manipulation functions'
docgen debug 'Debugging functions'
docgen options 'NixOS / nixpkgs option handling'
docgen sources 'Source filtering functions'
'';
}

View File

@@ -1,24 +1,24 @@
{ pkgs, nixpkgs ? { }, libsets }:
{ pkgs ? (import ./.. { }), nixpkgs ? { }}:
let
revision = pkgs.lib.trivial.revisionWithDefault (nixpkgs.rev or "master");
revision = pkgs.lib.trivial.revisionWithDefault (nixpkgs.revision or "master");
libDefPos = prefix: set:
builtins.concatMap
(name: [{
name = builtins.concatStringsSep "." (prefix ++ [name]);
libDefPos = set:
builtins.map
(name: {
name = name;
location = builtins.unsafeGetAttrPos name set;
}] ++ nixpkgsLib.optionals
(builtins.length prefix == 0 && builtins.isAttrs set.${name})
(libDefPos (prefix ++ [name]) set.${name})
) (builtins.attrNames set);
})
(builtins.attrNames set);
libset = toplib:
builtins.map
(subsetname: {
subsetname = subsetname;
functions = libDefPos [] toplib.${subsetname};
functions = libDefPos toplib.${subsetname};
})
(builtins.map (x: x.name) libsets);
(builtins.filter
(name: builtins.isAttrs toplib.${name})
(builtins.attrNames toplib));
nixpkgsLib = pkgs.lib;

View File

@@ -2,18 +2,13 @@
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:param name="chapter.autolabel" select="0" />
<xsl:param name="part.autolabel" select="0" />
<xsl:param name="preface.autolabel" select="0" />
<xsl:param name="reference.autolabel" select="0" />
<xsl:param name="section.autolabel" select="0" />
<xsl:param name="section.autolabel" select="1" />
<xsl:param name="section.label.includes.component.label" select="1" />
<xsl:param name="html.stylesheet" select="'style.css overrides.css highlightjs/mono-blue.css'" />
<xsl:param name="html.script" select="'./highlightjs/highlight.pack.js ./highlightjs/loader.js'" />
<xsl:param name="xref.with.number.and.title" select="0" />
<xsl:param name="xref.with.number.and.title" select="1" />
<xsl:param name="use.id.as.filename" select="1" />
<xsl:param name="generate.section.toc.level" select="1" />
<xsl:param name="toc.section.depth" select="0" />
<xsl:param name="admon.style" select="''" />
<xsl:param name="callout.graphics.extension" select="'.svg'" />
<xsl:param name="generate.consistent.ids" select="1" />
</xsl:stylesheet>

View File

@@ -8,7 +8,23 @@
Nixpkgs provides a standard library at <varname>pkgs.lib</varname>, or through <code>import &lt;nixpkgs/lib&gt;</code>.
</para>
<!-- The index must have a root element to declare namespaces, but we
don't want to include it, so we select all of its children. -->
<xi:include href="./library/generated/index.xml" xpointer="xpointer(/root/*)" />
<xi:include href="./library/asserts.xml" />
<xi:include href="./library/attrsets.xml" />
<!-- These docs are generated via nixdoc. To add another generated
library function file to this list, the file
`lib-function-docs.nix` must also be updated. -->
<xi:include href="./library/generated/strings.xml" />
<xi:include href="./library/generated/trivial.xml" />
<xi:include href="./library/generated/lists.xml" />
<xi:include href="./library/generated/debug.xml" />
<xi:include href="./library/generated/options.xml" />
<xi:include href="./library/generated/sources.xml" />
</section>

View File

@@ -0,0 +1,112 @@
<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-functions-library-asserts">
<title>Assert functions</title>
<section xml:id="function-library-lib.asserts.assertMsg">
<title><function>lib.asserts.assertMsg</function></title>
<subtitle><literal>assertMsg :: Bool -> String -> Bool</literal>
</subtitle>
<xi:include href="./locations.xml" xpointer="lib.asserts.assertMsg" />
<para>
Print a trace message if <literal>pred</literal> is false.
</para>
<para>
Intended to be used to augment asserts with helpful error messages.
</para>
<variablelist>
<varlistentry>
<term>
<varname>pred</varname>
</term>
<listitem>
<para>
Condition under which the <varname>msg</varname> should <emphasis>not</emphasis> be printed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>msg</varname>
</term>
<listitem>
<para>
Message to print.
</para>
</listitem>
</varlistentry>
</variablelist>
<example xml:id="function-library-lib.asserts.assertMsg-example-false">
<title>Printing when the predicate is false</title>
<programlisting><![CDATA[
assert lib.asserts.assertMsg ("foo" == "bar") "foo is not bar, silly"
stderr> trace: foo is not bar, silly
stderr> assert failed
]]></programlisting>
</example>
</section>
<section xml:id="function-library-lib.asserts.assertOneOf">
<title><function>lib.asserts.assertOneOf</function></title>
<subtitle><literal>assertOneOf :: String -> String ->
StringList -> Bool</literal>
</subtitle>
<xi:include href="./locations.xml" xpointer="lib.asserts.assertOneOf" />
<para>
Specialized <function>asserts.assertMsg</function> for checking if <varname>val</varname> is one of the elements of <varname>xs</varname>. Useful for checking enums.
</para>
<variablelist>
<varlistentry>
<term>
<varname>name</varname>
</term>
<listitem>
<para>
The name of the variable the user entered <varname>val</varname> into, for inclusion in the error message.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>val</varname>
</term>
<listitem>
<para>
The value of what the user provided, to be compared against the values in <varname>xs</varname>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>xs</varname>
</term>
<listitem>
<para>
The list of valid values.
</para>
</listitem>
</varlistentry>
</variablelist>
<example xml:id="function-library-lib.asserts.assertOneOf-example">
<title>Ensuring a user provided a possible value</title>
<programlisting><![CDATA[
let sslLibrary = "bearssl";
in lib.asserts.assertOneOf "sslLibrary" sslLibrary [ "openssl" "libressl" ];
=> false
stderr> trace: sslLibrary must be one of "openssl", "libressl", but is: "bearssl"
]]></programlisting>
</example>
</section>
</section>

File diff suppressed because it is too large Load Diff

View File

@@ -4,7 +4,7 @@
## Usage {#sec-pkgs-nix-gitignore-usage}
`pkgs.nix-gitignore` exports a number of functions, but you'll most likely need either `gitignoreSource` or `gitignoreSourcePure`. As their first argument, they both accept either 1. a file with gitignore lines or 2. a string with gitignore lines, or 3. a list of either of the two. They will be concatenated into a single big string.
`pkgs.nix-gitignore` exports a number of functions, but you\'ll most likely need either `gitignoreSource` or `gitignoreSourcePure`. As their first argument, they both accept either 1. a file with gitignore lines or 2. a string with gitignore lines, or 3. a list of either of the two. They will be concatenated into a single big string.
```nix
{ pkgs ? import <nixpkgs> {} }:
@@ -30,7 +30,7 @@ gitignoreSourcePure = gitignoreFilterSourcePure (_: _: true);
gitignoreSource = gitignoreFilterSource (_: _: true);
```
Those filter functions accept the same arguments the `builtins.filterSource` function would pass to its filters, thus `fn: gitignoreFilterSourcePure fn ""` should be extensionally equivalent to `filterSource`. The file is blacklisted if it's blacklisted by either your filter or the gitignoreFilter.
Those filter functions accept the same arguments the `builtins.filterSource` function would pass to its filters, thus `fn: gitignoreFilterSourcePure fn ""` should be extensionally equivalent to `filterSource`. The file is blacklisted if it\'s blacklisted by either your filter or the gitignoreFilter.
If you want to make your own filter from scratch, you may use

View File

@@ -1,4 +0,0 @@
### Autoconf {#setup-hook-autoconf}
The `autoreconfHook` derivation adds `autoreconfPhase`, which runs autoreconf, libtoolize and automake, essentially preparing the configure script in autotools-based builds. Most autotools-based packages come with the configure script pre-generated, but this hook is necessary for a few packages and when you need to patch the packages configure scripts.

View File

@@ -1,4 +0,0 @@
### Automake {#setup-hook-automake}
Adds the `share/aclocal` subdirectory of each build input to the `ACLOCAL_PATH` environment variable.

View File

@@ -1,12 +0,0 @@
### autoPatchelfHook {#setup-hook-autopatchelfhook}
This is a special setup hook which helps in packaging proprietary software in that it automatically tries to find missing shared library dependencies of ELF files based on the given `buildInputs` and `nativeBuildInputs`.
You can also specify a `runtimeDependencies` variable which lists dependencies to be unconditionally added to rpath of all executables. This is useful for programs that use dlopen 3 to load libraries at runtime.
In certain situations you may want to run the main command (`autoPatchelf`) of the setup hook on a file or a set of directories instead of unconditionally patching all outputs. This can be done by setting the `dontAutoPatchelf` environment variable to a non-empty value.
By default `autoPatchelf` will fail as soon as any ELF file requires a dependency which cannot be resolved via the given build inputs. In some situations you might prefer to just leave missing dependencies unpatched and continue to patch the rest. This can be achieved by setting the `autoPatchelfIgnoreMissingDeps` environment variable to a non-empty value. `autoPatchelfIgnoreMissingDeps` can be set to a list like `autoPatchelfIgnoreMissingDeps = [ "libcuda.so.1" "libcudart.so.1" ];` or to simply `[ "*" ]` to ignore all missing dependencies.
The `autoPatchelf` command also recognizes a `--no-recurse` command line flag, which prevents it from recursing into subdirectories.

View File

@@ -1,16 +0,0 @@
### breakpointHook {#breakpointhook}
This hook will make a build pause instead of stopping when a failure happens. It prevents nix from cleaning up the build environment immediately and allows the user to attach to a build environment using the `cntr` command. Upon build error it will print instructions on how to use `cntr`, which can be used to enter the environment for debugging. Installing cntr and running the command will provide shell access to the build sandbox of failed build. At `/var/lib/cntr` the sandboxed filesystem is mounted. All commands and files of the system are still accessible within the shell. To execute commands from the sandbox use the cntr exec subcommand. `cntr` is only supported on Linux-based platforms. To use it first add `cntr` to your `environment.systemPackages` on NixOS or alternatively to the root user on non-NixOS systems. Then in the package that is supposed to be inspected, add `breakpointHook` to `nativeBuildInputs`.
```nix
nativeBuildInputs = [ breakpointHook ];
```
When a build failure happens there will be an instruction printed that shows how to attach with `cntr` to the build sandbox.
::: {.note}
Caution with remote builds
This wont work with remote builds as the build environment is on a different machine and cant be accessed by `cntr`. Remote builds can be turned off by setting `--option builders ''` for `nix-build` or `--builders ''` for `nix build`.
:::

View File

@@ -1,4 +0,0 @@
### cmake {#cmake}
Overrides the default configure phase to run the CMake command. By default, we use the Make generator of CMake. In addition, dependencies are added automatically to `CMAKE_PREFIX_PATH` so that packages are correctly detected by CMake. Some additional flags are passed in to give similar behavior to configure-based packages. You can disable this hooks behavior by setting `configurePhase` to a custom value, or by setting `dontUseCmakeConfigure`. `cmakeFlags` controls flags passed only to CMake. By default, parallel building is enabled as CMake supports parallel building almost everywhere. When Ninja is also in use, CMake will detect that and use the ninja generator.

View File

@@ -1,4 +0,0 @@
### gdk-pixbuf {#setup-hook-gdk-pixbuf}
Exports `GDK_PIXBUF_MODULE_FILE` environment variable to the builder. Add librsvg package to `buildInputs` to get svg support. See also the [setup hook description in GNOME platform docs](#ssec-gnome-hooks-gdk-pixbuf).

View File

@@ -1,4 +0,0 @@
### GHC {#ghc}
Creates a temporary package database and registers every Haskell build input in it (TODO: how?).

View File

@@ -1,4 +0,0 @@
### GNOME platform {#gnome-platform}
Hooks related to GNOME platform and related libraries like GLib, GTK and GStreamer are described in [](#sec-language-gnome).

View File

@@ -6,32 +6,5 @@
<para>
Nixpkgs has several hook packages that augment the stdenv phases.
</para>
<para>
The stdenv built-in hooks are documented in <xref linkend="ssec-setup-hooks"/>.
</para>
<xi:include href="./autoconf.section.xml" />
<xi:include href="./automake.section.xml" />
<xi:include href="./autopatchelf.section.xml" />
<xi:include href="./breakpoint.section.xml" />
<xi:include href="./cmake.section.xml" />
<xi:include href="./gdk-pixbuf.section.xml" />
<xi:include href="./ghc.section.xml" />
<xi:include href="./gnome.section.xml" />
<xi:include href="./installShellFiles.section.xml" />
<xi:include href="./libiconv.section.xml" />
<xi:include href="./libxml2.section.xml" />
<xi:include href="./meson.section.xml" />
<xi:include href="./ninja.section.xml" />
<xi:include href="./patch-rc-path-hooks.section.xml" />
<xi:include href="./perl.section.xml" />
<xi:include href="./pkg-config.section.xml" />
<xi:include href="./postgresql-test-hook.section.xml" />
<xi:include href="./python.section.xml" />
<xi:include href="./qt-4.section.xml" />
<xi:include href="./scons.section.xml" />
<xi:include href="./tetex-tex-live.section.xml" />
<xi:include href="./unzip.section.xml" />
<xi:include href="./validatePkgConfig.section.xml" />
<xi:include href="./waf.section.xml" />
<xi:include href="./xcbuild.section.xml" />
</chapter>

View File

@@ -1,26 +0,0 @@
### `installShellFiles` {#installshellfiles}
This hook helps with installing manpages and shell completion files. It exposes 2 shell functions `installManPage` and `installShellCompletion` that can be used from your `postInstall` hook.
The `installManPage` function takes one or more paths to manpages to install. The manpages must have a section suffix, and may optionally be compressed (with `.gz` suffix). This function will place them into the correct directory.
The `installShellCompletion` function takes one or more paths to shell completion files. By default it will autodetect the shell type from the completion file extension, but you may also specify it by passing one of `--bash`, `--fish`, or `--zsh`. These flags apply to all paths listed after them (up until another shell flag is given). Each path may also have a custom installation name provided by providing a flag `--name NAME` before the path. If this flag is not provided, zsh completions will be renamed automatically such that `foobar.zsh` becomes `_foobar`. A root name may be provided for all paths using the flag `--cmd NAME`; this synthesizes the appropriate name depending on the shell (e.g. `--cmd foo` will synthesize the name `foo.bash` for bash and `_foo` for zsh). The path may also be a fifo or named fd (such as produced by `<(cmd)`), in which case the shell and name must be provided.
```nix
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
installManPage doc/foobar.1 doc/barfoo.3
# explicit behavior
installShellCompletion --bash --name foobar.bash share/completions.bash
installShellCompletion --fish --name foobar.fish share/completions.fish
installShellCompletion --zsh --name _foobar share/completions.zsh
# implicit behavior
installShellCompletion share/completions/foobar.{bash,fish,zsh}
# using named fd
installShellCompletion --cmd foobar \
--bash <($out/bin/foobar --bash-completion) \
--fish <($out/bin/foobar --fish-completion) \
--zsh <($out/bin/foobar --zsh-completion)
'';
```

View File

@@ -1,4 +0,0 @@
### libiconv, libintl {#libiconv-libintl}
A few libraries automatically add to `NIX_LDFLAGS` their library, making their symbols automatically available to the linker. This includes libiconv and libintl (gettext). This is done to provide compatibility between GNU Linux, where libiconv and libintl are bundled in, and other systems where that might not be the case. Sometimes, this behavior is not desired. To disable this behavior, set `dontAddExtraLibs`.

View File

@@ -1,4 +0,0 @@
### libxml2 {#setup-hook-libxml2}
Adds every file named `catalog.xml` found under the `xml/dtd` and `xml/xsl` subdirectories of each build input to the `XML_CATALOG_FILES` environment variable.

View File

@@ -1,26 +0,0 @@
### Meson {#meson}
Overrides the configure phase to run meson to generate Ninja files. To run these files, you should accompany Meson with ninja. By default, `enableParallelBuilding` is enabled as Meson supports parallel building almost everywhere.
#### Variables controlling Meson {#variables-controlling-meson}
##### `mesonFlags` {#mesonflags}
Controls the flags passed to meson.
##### `mesonBuildType` {#mesonbuildtype}
Which [`--buildtype`](https://mesonbuild.com/Builtin-options.html#core-options) to pass to Meson. We default to `plain`.
##### `mesonAutoFeatures` {#mesonautofeatures}
What value to set [`-Dauto_features=`](https://mesonbuild.com/Builtin-options.html#core-options) to. We default to `enabled`.
##### `mesonWrapMode` {#mesonwrapmode}
What value to set [`-Dwrap_mode=`](https://mesonbuild.com/Builtin-options.html#core-options) to. We default to `nodownload` as we disallow network access.
##### `dontUseMesonConfigure` {#dontusemesonconfigure}
Disables using Mesons `configurePhase`.

View File

@@ -1,4 +0,0 @@
### ninja {#ninja}
Overrides the build, install, and check phase to run ninja instead of make. You can disable this behavior with the `dontUseNinjaBuild`, `dontUseNinjaInstall`, and `dontUseNinjaCheck`, respectively. Parallel building is enabled by default in Ninja.

View File

@@ -1,50 +0,0 @@
# `patchRcPath` hooks {#sec-patchRcPathHooks}
These hooks provide shell-specific utilities (with the same name as the hook) to patch shell scripts meant to be sourced by software users.
The typical usage is to patch initialisation or [rc](https://unix.stackexchange.com/questions/3467/what-does-rc-in-bashrc-stand-for) scripts inside `$out/bin` or `$out/etc`.
Such scripts, when being sourced, would insert the binary locations of certain commands into `PATH`, modify other environment variables or run a series of start-up commands.
When shipped from the upstream, they sometimes use commands that might not be available in the environment they are getting sourced in.
The compatible shells for each hook are:
- `patchRcPathBash`: [Bash](https://www.gnu.org/software/bash/), [ksh](http://www.kornshell.org/), [zsh](https://www.zsh.org/) and other shells supporting the Bash-like parameter expansions.
- `patchRcPathCsh`: Csh scripts, such as those targeting [tcsh](https://www.tcsh.org/).
- `patchRcPathFish`: [Fish](https://fishshell.com/) scripts.
- `patchRcPathPosix`: POSIX-conformant shells supporting the limited parameter expansions specified by the POSIX standard. Current implementation uses the parameter expansion `${foo-}` only.
For each supported shell, it modifies the script with a `PATH` prefix that is later removed when the script ends.
It allows nested patching, which guarantees that a patched script may source another patched script.
Syntax to apply the utility to a script:
```sh
patchRcPath<shell> <file> <PATH-prefix>
```
Example usage:
Given a package `foo` containing an init script `this-foo.fish` that depends on `coreutils`, `man` and `which`,
patch the init script for users to source without having the above dependencies in their `PATH`:
```nix
{ lib, stdenv, patchRcPathFish}:
stdenv.mkDerivation {
# ...
nativeBuildInputs = [
patchRcPathFish
];
postFixup = ''
patchRcPathFish $out/bin/this-foo.fish ${lib.makeBinPath [ coreutils man which ]}
'';
}
```
::: {.note}
`patchRcPathCsh` and `patchRcPathPosix` implementation depends on `sed` to do the string processing.
The others are in vanilla shell and have no third-party dependencies.
:::

View File

@@ -1,4 +0,0 @@
### Perl {#setup-hook-perl}
Adds the `lib/site_perl` subdirectory of each build input to the `PERL5LIB` environment variable. For instance, if `buildInputs` contains Perl, then the `lib/site_perl` subdirectory of each input is added to the `PERL5LIB` environment variable.

View File

@@ -1,4 +0,0 @@
### pkg-config {#setup-hook-pkg-config}
Adds the `lib/pkgconfig` and `share/pkgconfig` subdirectories of each build input to the `PKG_CONFIG_PATH` environment variable.

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