Compare commits

..

734 Commits

Author SHA1 Message Date
Weijia Wang
63dacb46bf Release NixOS 24.05 2024-05-31 20:18:33 +02:00
Francesco Gazzetta
d4a08c14ed nixos/ladybird: init
(cherry picked from commit 899c542291)
2024-05-31 17:19:23 +00:00
Francesco Gazzetta
c41846f758 ladybird: search for fonts in NixOS-specific paths
Fixes #314604

(cherry picked from commit 2058c78327)
2024-05-31 17:19:23 +00:00
Alyssa Ross
9df33e9518 minijail: 18 -> 2024.05.22
Fixes the build of minijail-tools.

Canonical repo seems to have changed.

(cherry picked from commit a3e2042d5e)
2024-05-31 18:29:19 +02:00
K900
60f5d9e596 Merge pull request #316206 from NixOS/backport-316200-to-release-24.05
[Backport release-24.05] plasma-workspace security updates: 5.27.11.1, 6.0.5.1
2024-05-31 19:24:36 +03:00
Matt Moriarity
ad732e66b0 plasma-workspace: 5.27.11 -> 5.27.11.1
(cherry picked from commit fc16891480)
2024-05-31 16:24:15 +00:00
Matt Moriarity
bebde4a6bf kdePackages.plasma-workspace: 6.0.5 -> 6.0.5.1
(cherry picked from commit a4e1477b61)
2024-05-31 16:24:15 +00:00
Pol Dellaiera
98db3eb284 Merge pull request #316195 from NixOS/backport-316069-to-release-24.05
[Backport release-24.05] telegram-desktop: 5.0.2 -> 5.0.6
2024-05-31 18:07:14 +02:00
Aleksana
60e848d4ec Merge pull request #314838 from NixOS/backport-314666-to-release-24.05
[Backport release-24.05] gnome.gnome-remote-desktop: 46.1 -> 46.2
2024-06-01 00:04:04 +08:00
Aleksana
16a3c1d60d Merge pull request #315542 from NixOS/backport-314071-to-release-24.05
[Backport release-24.05] lix: build in release mode with link time optimizations
2024-06-01 00:01:59 +08:00
Aleksana
77e4976d6b Merge pull request #315034 from NixOS/backport-314627-to-release-24.05
[Backport release-24.05] haskellPackages.di-core: unbreak on darwin
2024-06-01 00:01:47 +08:00
Aleksana
5c2584e964 Merge pull request #315829 from NixOS/backport-314957-to-release-24.05
[Backport release-24.05]  python311Packages.openrazer: fix gobjects, double wrapping
2024-06-01 00:01:09 +08:00
R. Ryantm
15586e4d04 telegram-desktop: 5.0.2 -> 5.0.6
(cherry picked from commit 46fff1439b)
2024-05-31 15:52:11 +00:00
Aleksana
4c2574e974 Merge pull request #315932 from NixOS/backport-315877-to-release-24.05
[Backport release-24.05] osc: 1.6.1 -> 1.7.0
2024-05-31 23:34:26 +08:00
Pol Dellaiera
459c008fda Merge pull request #316170 from NixOS/backport-315925-to-release-24.05
[Backport release-24.05] linux-doc: Remove docutils patch
2024-05-31 16:23:56 +02:00
Sigmanificient
153069229b linux-doc: Remove docutils patch
(cherry picked from commit 7345910b1b)
2024-05-31 14:22:41 +00:00
Weijia Wang
c38ed0cf00 Merge pull request #315315 from NixOS/backport-302635-to-release-24.05
[Backport release-24.05] motif: fix build with clang
2024-05-31 16:21:46 +02:00
Weijia Wang
c8cd15fcb9 Merge pull request #316147 from NixOS/backport-314968-to-release-24.05
[Backport release-24.05] pythonPackages.shiboken2: mark as broken on Python ≥ 3.12
2024-05-31 16:17:03 +02:00
Weijia Wang
c99e8f5d38 Merge pull request #315567 from NixOS/backport-311904-to-release-24.05
[Backport release-24.05] feishu: fix build error
2024-05-31 15:46:37 +02:00
Weijia Wang
94e665850f Merge pull request #315983 from NixOS/backport-315702-to-release-24.05
[Backport release-24.05] svg2tikz: 3.0.1 -> 3.1.0
2024-05-31 15:45:51 +02:00
Connor Baker
6f68a0b9b4 Merge pull request #316149 from NixOS/backport-314018-to-release-24.05
[Backport release-24.05] python311Packages.svgelements: fix tests
2024-05-31 08:46:56 -04:00
K900
bb4f336d79 Merge pull request #315993 from NixOS/backport-315930-to-release-24.05
[Backport release-24.05] Kernel updates for 2024-05-30
2024-05-31 15:45:27 +03:00
Weijia Wang
c79ea03d70 Merge pull request #316121 from NixOS/backport-314597-to-release-24.05
[Backport release-24.05] pdfplumber: disable additional tests depending on pypdfium2
2024-05-31 14:38:30 +02:00
Weijia Wang
c697fedcbe Merge pull request #315841 from NixOS/backport-315287-to-release-24.05
[Backport release-24.05] povray: build with gcc12
2024-05-31 14:37:45 +02:00
Weijia Wang
326b7f4e84 Merge pull request #315881 from NixOS/backport-315713-to-release-24.05
[Backport release-24.05] wasm-tools: 1.208.1 -> 1.209.1
2024-05-31 14:36:58 +02:00
Weijia Wang
3d446e2a92 Merge pull request #316093 from NixOS/backport-315405-to-release-24.05
[Backport release-24.05] powerpipe: 0.3.0 -> 0.3.1
2024-05-31 14:34:55 +02:00
Gaetan Lepage
2c695d49e3 python311Packages.svgelements: fix tests
(cherry picked from commit afffe11b2e)
2024-05-31 12:23:05 +00:00
Raphael Borun Das Gupta
90356cb4b8 pythonPackages.shiboken2: mark as broken on Python ≥ 3.12
shiboken2 uses distutils, which was removed in Python 3.12.
This is the case in the currently packaged shiboken2 5.15.11,
as well as in the latest 5.x upstream release 5.15.12.

We can't use the 6.x releases, as those are for shiboken6,
not shiboken2.

(cherry picked from commit 13baded6ae)
2024-05-31 12:20:17 +00:00
Aleksana
fe7d83b7de Merge pull request #315830 from NixOS/backport-314418-to-release-24.05
[Backport release-24.05] nixos/mopidy: add wants network-online.target to fix warning
2024-05-31 19:34:14 +08:00
Aleksana
12936357e4 Merge pull request #315971 from NixOS/backport-311696-to-release-24.05
[Backport release-24.05] licenses: Add NCBI-PD
2024-05-31 19:33:25 +08:00
Weijia Wang
97bc6b1a13 Merge pull request #315747 from NixOS/backport-310130-to-release-24.05
[Backport release-24.05] linuxPackages.apfs: 0.3.8 -> 0.3.9
2024-05-31 13:25:46 +02:00
Thomas Gerbet
cb34de1dcb Merge pull request #315884 from NixOS/backport-315707-to-release-24.05
[Backport release-24.05] palemoon-bin: 33.1.0 -> 33.1.1
2024-05-31 12:40:52 +02:00
Robert Hensing
cf5b9f8268 Merge pull request #316122 from NixOS/backport-316056-to-release-24.05
[Backport release-24.05] doc: fix testers.testEqualContents fragment link
2024-05-31 12:34:40 +02:00
Ivan Trubach
a2f94bf7ab doc: fix testers.testEqualContents fragment link
(cherry picked from commit b25101d1fb)
2024-05-31 10:34:05 +00:00
Weijia Wang
ae63e4aa52 Merge pull request #314949 from NixOS/backport-314557-to-release-24.05
[Backport release-24.05] zipfile2: Mark as broken on Python 3.12
2024-05-31 12:31:25 +02:00
Andreas Zweili
910ea38af9 pdfplumber: disable additional tests depending on pypdfium2
(cherry picked from commit 324c1ac315)
2024-05-31 10:31:17 +00:00
R. Ryantm
0334d7f5ca powerpipe: 0.3.0 -> 0.3.1
(cherry picked from commit 667d27d937)
2024-05-31 08:42:10 +00:00
Martin Weinelt
805a384895 Merge pull request #316090 from NixOS/backport-316026-to-release-24.05
[Backport release-24.05] doc/release-notes: highlight desktop environment updates
2024-05-31 10:32:57 +02:00
Weijia Wang
76c2576f2b doc/release-notes: highlight desktop environment updates
(cherry picked from commit 8c58b05881)
2024-05-31 08:24:37 +00:00
superherointj
05b444ac1d Merge pull request #315901 from NixOS/backport-315686-to-release-24.05
[Backport release-24.05] vscode-extensions.{xdebug.php-debug,phind.phind}: init
2024-05-30 22:43:32 -03:00
Robert Scott
0f1a94c815 Merge pull request #315988 from NixOS/backport-315943-to-release-24.05
[Backport release-24.05] schleuder: fix tests
2024-05-31 00:17:46 +01:00
Robert Scott
7f4d0a0de7 Merge pull request #315987 from NixOS/backport-315717-to-release-24.05
[Backport release-24.05] gtk-sharp-2_0: fix build on darwin
2024-05-31 00:13:59 +01:00
Robert Scott
b4a0f7e0b6 Merge pull request #315984 from NixOS/backport-315748-to-release-24.05
[Backport release-24.05] pe-parse: fix build on darwin
2024-05-30 23:25:02 +01:00
Robert Scott
d8cb910385 Merge pull request #315980 from NixOS/backport-315721-to-release-24.05
[Backport release-24.05] texinfo413: fix build on darwin
2024-05-30 23:05:39 +01:00
K900
88f80887b7 linux_6_8: 6.8.11 -> 6.8.12
(cherry picked from commit 97c87160f3)
2024-05-30 21:12:51 +00:00
K900
8a4c6b9542 linux_6_9: 6.9.2 -> 6.9.3
(cherry picked from commit f53fb88ea1)
2024-05-30 21:12:51 +00:00
teutat3s
e85237934a schleuder-cli: 0.1.0 -> 0.2.0
https://0xacab.org/schleuder/schleuder-cli/-/blob/schleuder-cli-0.2.0/CHANGELOG.md?ref_type=tags#020--2024-03-08
(cherry picked from commit dc4ec31c60)
2024-05-30 20:48:28 +00:00
teutat3s
a9cb41aebf schleuder: add net-smtp dependency to fix tests
(cherry picked from commit 1689257223)
2024-05-30 20:48:28 +00:00
Weijia Wang
06a54184f0 gtk-sharp-2_0: fix build on darwin
(cherry picked from commit dab160ba2c)
2024-05-30 20:47:36 +00:00
Weijia Wang
3a49fc3c75 pe-parse: fix build on darwin
(cherry picked from commit 4a90d51bb8)
2024-05-30 20:20:21 +00:00
Cosima Neidahl
75000c2cf4 Merge pull request #315638 from NixOS/backport-314943-to-release-24.05
[Backport release-24.05] nixos-artwork.wallpapers.*: Update
2024-05-30 22:20:21 +02:00
Jonas Meurer
4fb6f6bbf6 svg2tikz: 3.0.1 -> 3.1.0
Fix the build issue by relaxing lxml dependency.

Diff: https://github.com/xyz2tex/svg2tikz/compare/v3.0.1...v3.1.0
Changelog: https://github.com/xyz2tex/svg2tikz/releases/tag/v3.1.0
(cherry picked from commit f6cf233cb9)
2024-05-30 20:19:42 +00:00
Weijia Wang
6688c7c6f3 texinfo413: fix build on darwin
(cherry picked from commit 704ef039af)
2024-05-30 20:15:05 +00:00
Gavin John
b40bd4299e sratoolkit: Assign correct license
(cherry picked from commit 438273dac7)
2024-05-30 19:42:37 +00:00
Gavin John
47e87374c1 licenses: Add NCBI-PD
(cherry picked from commit 361874c944)
2024-05-30 19:42:37 +00:00
Kerstin
d24e7fdcfa Merge pull request #315951 from NixOS/backport-315915-to-release-24.05
[Backport release-24.05] mastodon: 4.2.8 -> 4.2.9
2024-05-30 19:41:22 +02:00
Kerstin Humm
33d8e27657 mastodon: 4.2.8 -> 4.2.9
(cherry picked from commit b5fe321055)
2024-05-30 17:12:04 +00:00
Kerstin Humm
be15fecdbb mastodon: remove outdated override for openssl 3 support
(cherry picked from commit c42df26a93)
2024-05-30 17:12:04 +00:00
Nicolas Benes
0805ae8016 osc: 1.6.1 -> 1.7.0
https://github.com/openSUSE/osc/blob/1.7.0/NEWS
(cherry picked from commit b897c50b7c)
2024-05-30 15:50:26 +00:00
Jörg Thalheim
a724abcfda Merge pull request #315898 from NixOS/backport-315680-to-release-24.05
[Backport release-24.05] switch-to-configuration-ng: retain escaped content in unit files
2024-05-30 17:05:09 +02:00
John Ericson
bc1066f849 Merge pull request #315912 from NixOS/backport-312703-to-release-24.05
[Backport release-24.05] llvmPackages_18: 18.1.5 -> 18.1.6
2024-05-30 10:57:10 -04:00
AMS21
273b0020a7 llvmPackages_18: 18.1.5 -> 18.1.6
(cherry picked from commit 10a00da799)
2024-05-30 14:46:25 +00:00
Niklas Hambüchen
1980044104 Merge pull request #315775 from NixOS/backport-315499-to-release-24.05
[Backport release-24.05] turbovnc.tests: Fix negative test
2024-05-30 14:43:47 +00:00
John Ericson
c963c4da17 Merge pull request #315904 from NixOS/backport-315790-to-release-24.05
[Backport release-24.05] llvmPackages_18.{clang,libcxx}: Revert redundant openbsd patches
2024-05-30 10:06:32 -04:00
Reno Dakota
72779eb94f Revert "llvmPackages.clang: Fix special-case for OpenBSD to be less special"
This reverts commit 222a29eb53.

(cherry picked from commit 30d42ba569)
2024-05-30 14:05:09 +00:00
Reno Dakota
cda8946099 Revert "llvmPackages.libcxx: Fix compiling for OpenBSD"
This reverts commit 0c6d2eee3c.

(cherry picked from commit 8110970af9)
2024-05-30 14:05:09 +00:00
Jonas Heinrich
b14424ce76 vscode-extensions.xdebug.php-debug: init at 1.34.0
(cherry picked from commit 24e8d20aaf)
2024-05-30 13:51:57 +00:00
Jonas Heinrich
d57d1cf2e5 vscode-extensions.phind.phind: init 0.22.2
(cherry picked from commit b0394aa571)
2024-05-30 13:51:57 +00:00
Jared Baur
c0d6b76338 switch-to-configuration-ng: retain escaped content in unit files
By default, the INI parser in `rust-ini` tries to unescape the content
it receives, causing issues such as those uncovered in
https://github.com/NixOS/nixpkgs/issues/315602. We don't ever need the
content to be unescaped for our purposes, so we can configure the parser
to retain escape characters.

(cherry picked from commit a67a3648e1)
2024-05-30 13:46:46 +00:00
Cosima Neidahl
d13f21097e Merge pull request #315648 from NixOS/backport-315627-to-release-24.05
[Backport release-24.05] nixos/coolercontrol: Use user-preferred nvidia package
2024-05-30 15:02:14 +02:00
Nick Cao
d1888a87e8 Merge pull request #315739 from NixOS/backport-315592-to-release-24.05
[Backport release-24.05] libfpx: remove register storage specifier
2024-05-30 08:48:05 -04:00
R. Ryantm
3d4bfdbe69 palemoon-bin: 33.1.0 -> 33.1.1
(cherry picked from commit cd991708e9)
2024-05-30 12:44:33 +00:00
Rafael Fernández López
6eea3dc247 wasm-tools: 1.208.1 -> 1.209.1
(cherry picked from commit b3f065d48c)
2024-05-30 12:41:35 +00:00
Nick Cao
0378dbfa30 Merge pull request #315668 from NixOS/backport-315430-to-release-24.05
[Backport release-24.05] webex: 43.11.0.28947 -> 44.5.0.29672
2024-05-30 08:38:19 -04:00
Martin Weinelt
132c225096 Merge pull request #315866 from NixOS/backport-315855-to-release-24.05
[Backport release-24.05] nixos/tests/networkd: make client reliable in dhcpserver-static-leases test
2024-05-30 13:56:05 +02:00
Martin Weinelt
8e89e58c4e nixos/tests/networkd: make client reliable in dhcpserver-static-leases test
Migrate the client to a native networkd configuration and reduce
unrelated log spam.

(cherry picked from commit 884a0835ef)
2024-05-30 11:55:48 +00:00
Francesco Gazzetta
3d1db4d736 ladybird: 0-unstable-2024-03-16 -> 0-unstable-2024-05-26
(cherry picked from commit f9ab10bd9b)
2024-05-30 11:14:33 +00:00
Francesco Gazzetta
94a66a52f1 ladybird: ensure data files versions are correct
(cherry picked from commit 25bbd06b64)
2024-05-30 11:14:33 +00:00
rewine
0326dbe8d0 Merge pull request #315831 from NixOS/backport-315626-to-release-24.05
[Backport release-24.05] punes-qt6: Fetch patch to fix Qt 6.7.1 compat
2024-05-30 19:12:08 +08:00
Weijia Wang
68fafe9810 Merge pull request #315836 from NixOS/backport-315528-to-release-24.05
[Backport release-24.05] python312Packages.paddle2onnx: disable
2024-05-30 13:10:42 +02:00
Martin Weinelt
356f19cc3b Merge pull request #315751 from NixOS/backport-274425-to-release-24.05
[Backport release-24.05] nixos/frr: adapt to frr-9
2024-05-30 12:57:41 +02:00
Francesco Gazzetta
1956171531 povray: build with gcc12
Building with gcc13 makes it fail to parse some scenes:
https://github.com/POV-Ray/povray/issues/460
Fixes #311017

(cherry picked from commit dac428114e)
2024-05-30 09:08:51 +00:00
Weijia Wang
0e9210127a python312Packages.paddle2onnx: disable
(cherry picked from commit 488b284ce8)
2024-05-30 08:59:24 +00:00
Francesco Gazzetta
76b997c6a6 domination: 1.3.0 -> 1.3.1
(cherry picked from commit 71d8de12b8)
2024-05-30 08:22:37 +00:00
Francesco Gazzetta
d60b01aea3 domination: 1.2.9 -> 1.3.0
(cherry picked from commit 9180836151)
2024-05-30 08:22:37 +00:00
OPNA2608
847ff296ff punes-qt6: Fetch patch to fix Qt 6.7.1 compat
(cherry picked from commit 079c31833c)
2024-05-30 08:21:22 +00:00
Sandro Jäckel
17913ae653 nixos/mopidy: add wants network-online.target to fix warning
(cherry picked from commit b064e2db69)
2024-05-30 08:17:02 +00:00
Sandro
fb29a558c8 Merge pull request #315577 from NixOS/backport-315369-to-release-24.05
[Backport release-24.05] ssh-audit: install man page
2024-05-30 10:14:23 +02:00
Weijia Wang
3981dd2b2a Merge pull request #315731 from NixOS/backport-315583-to-release-24.05
[Backport release-24.05] boxfs: add missing includes to fix clang build
2024-05-30 10:08:24 +02:00
K900
7fd53be8cb Merge pull request #315828 from NixOS/backport-315715-to-release-24.05
[Backport release-24.05] qt5.qtwayland: restrict platforms
2024-05-30 11:07:50 +03:00
Sandro Jäckel
36449687c8 python311Packages.openrazer: fix gobjects, double wrapping
(cherry picked from commit 9dd5cef498)
2024-05-30 08:07:36 +00:00
Sandro Jäckel
94c402f686 python311Packages.openrazer: fix indentation
(cherry picked from commit 0d8fe4b476)
2024-05-30 08:07:36 +00:00
Weijia Wang
dd69531b5c qt5.qtwayland: restrict platforms
(cherry picked from commit fc37780866)
2024-05-30 08:06:45 +00:00
Atemu
19f0660e75 Merge pull request #315791 from NixOS/backport-315773-to-release-24.05
[Backport release-24.05] radeontop: remove outdated note from description
2024-05-30 08:14:48 +02:00
Atemu
0baa224c87 radeontop: remove outdated note from description
It Just Works™ without root these days.

(cherry picked from commit d9b67159b0)
2024-05-30 05:13:11 +00:00
Atemu
2de7ca012a Merge pull request #315733 from NixOS/backport-315569-to-release-24.05
[Backport release-24.05] coan: fix compile error in configure.ac
2024-05-30 05:44:15 +02:00
Niklas Hambüchen
8b419f7b3d turbovnc.tests: Replace comment link by newer NixOS manual link
(cherry picked from commit 613d50c1d5)
2024-05-30 02:46:50 +00:00
Niklas Hambüchen
9157b72c40 turbovnc.tests: Don't override already-empty password to empty
(cherry picked from commit cd519b6101)
2024-05-30 02:46:50 +00:00
Niklas Hambüchen
06f31991d1 turbovnc.tests: Fix passwordless test VM root login
(cherry picked from commit 1f77a3c14b)
2024-05-30 02:46:50 +00:00
Niklas Hambüchen
89b861f2d2 turbovnc.tests: Fix negative test failing due to string grep
(cherry picked from commit 1be779cf3c)
2024-05-30 02:46:50 +00:00
superherointj
a38ef549c0 Merge pull request #315755 from NixOS/backport-315541-to-release-24.05
[Backport release-24.05] k3s_1_28: 1.28.9+k3s1 -> 1.28.10+k3s1
2024-05-29 21:50:19 -03:00
R. Ryantm
82788b81d6 k3s_1_28: 1.28.9+k3s1 -> 1.28.10+k3s1
(cherry picked from commit 228ec58c44)
2024-05-30 00:49:36 +00:00
Frank Doepper
665e247019 nixos/frr: adapt to frr-9
- fix #274286
- remove `-f configfile` from ExecStart
- use /etc/frr/${service}d.conf
- enable mgmtd when staticd is enabled
- don't frr-reload.py mgmtd
- remove obsolete lib.mdDoc

(cherry picked from commit 4df955130e)
2024-05-30 00:34:05 +00:00
John Ericson
a7b0b30004 Merge pull request #315687 from NixOS/backport-311836-to-release-24.05
[Backport release-24.05] openbsd: init at 7.5
2024-05-29 20:22:18 -04:00
Luflosi
80fb2a0e39 linuxPackages.apfs: 0.3.8 -> 0.3.9
https://github.com/linux-apfs/linux-apfs-rw/releases/tag/v0.3.9
(cherry picked from commit 21bd69a51e)
2024-05-30 00:13:17 +00:00
Reno Dakota
ade424e602 libfpx: use patch to fix clang build
register storage specifier which is not supported by c++17 and later
5f340b0a49

(cherry picked from commit 395122ffc1)
2024-05-29 22:56:31 +00:00
Reno Dakota
6b1f4a8f58 coan: fix compile error in configure.ac
fix the big-endian compile error (implicit return type) when built with
clang

(cherry picked from commit 522daeb8fa)
2024-05-29 22:14:51 +00:00
Robert Scott
cdbd8394aa Merge pull request #315719 from NixOS/backport-315482-to-release-24.05
[Backport release-24.05] disnix: include stdlib.h to fix implicit function declaration
2024-05-29 23:09:30 +01:00
Reno Dakota
e603dbe99f boxfs: add missing includes to fix clang build
(cherry picked from commit fd29e43fcb)
2024-05-29 22:00:41 +00:00
paparodeo
6bad1acda0 disnix: include stdlib.h to fix implicit function declaration
aa969f1d15.patch
(cherry picked from commit a42de3dcec)
2024-05-29 21:00:06 +00:00
Jonas Meurer
f6f09ae123 linuxPackages.lttng-modules: 2.13.10 -> 2.13.13
(cherry picked from commit 46d556370e)
2024-05-29 22:27:34 +02:00
Martin Weinelt
51948c1715 Merge pull request #315706 from NixOS/backport-313829-to-release-24.05
[Backport release-24.05] evcc: 0.126.3 -> 0.126.4
2024-05-29 22:25:26 +02:00
Martin Weinelt
ee71dc410c evcc: 0.126.3 -> 0.126.4
https://github.com/evcc-io/evcc/releases/tag/0.126.4
(cherry picked from commit 2eaea7071a)
2024-05-29 19:35:31 +00:00
Jan Tojnar
a3518cda5b gnome-firmware: 45.0 → 46.0
Only minor fixes and translations:
https://gitlab.gnome.org/World/gnome-firmware/-/compare/45.0...46.0

(cherry picked from commit 52e35bdafc)
2024-05-29 21:13:59 +02:00
Martin Weinelt
83fdc87b89 Merge pull request #315692 from NixOS/backport-315605-to-release-24.05
[Backport release-24.05] Firefox: 126.0 -> 126.0.1
2024-05-29 20:53:19 +02:00
Martin Weinelt
81afee0607 firefox-bin-unwrapped: 126.0 -> 126.0.1
https://www.mozilla.org/en-US/firefox/126.0.1/releasenotes/
(cherry picked from commit 151dc56998)
2024-05-29 18:25:56 +00:00
Martin Weinelt
791eaa54f0 firefox-unwrapped: 126.0 -> 126.0.1
https://www.mozilla.org/en-US/firefox/126.0.1/releasenotes/
(cherry picked from commit c89b25cd61)
2024-05-29 18:25:56 +00:00
Ali Abrar
2a2f78315c openbsd: init at 7.5
(cherry picked from commit 888dee445d)
2024-05-29 17:43:02 +00:00
John Ericson
036333d851 llvmPackages.compiler-rt: Add flag to force libcompiler-rt.a creation
See the code comments for details

Also replace a bad hard-coded `freebsd` with a flexible `*` wildcard in
the `doFakeLibgcc` implementation.

(cherry picked from commit ad6fa01c06)
2024-05-29 17:43:02 +00:00
Ali Abrar
1a8bcb4c2e llvmPackages: libcxx: link stdlib
See: https://github.com/NixOS/nixpkgs/pull/246577/files#r1600650238

This code was breaking some thing for me, and I believe it was a
mistake. I hink we *do* wanna link libc, since libc++ depends on it, but
*don't* want to link an already-existing C++ standard library
implementation. `-nostdlib++` without `-nostdlib` therefore seems
correct to me.

Without this change, we do indeed fail to link OpenBSD.

(cherry picked from commit d0b08ab5de)
2024-05-29 17:43:02 +00:00
John Ericson
9154e11339 llvmPackages.libcxx: Fix compiling for OpenBSD
(cherry picked from commit 0c6d2eee3c)
2024-05-29 17:43:02 +00:00
John Ericson
41856fe356 llvmPackages.clang: Fix special-case for OpenBSD to be less special
(cherry picked from commit 222a29eb53)
2024-05-29 17:43:02 +00:00
John Ericson
2da38653ff netbsd.makeMinimal: Make it possible to override the rules
Co-authored-by: Rahul Butani <rrbutani@users.noreply.github.com>
(cherry picked from commit d9c9da5d65)
2024-05-29 17:43:01 +00:00
Nick Cao
b23d19d18a Merge pull request #315607 from NixOS/backport-315382-to-release-24.05
[Backport release-24.05] protonmail-desktop: 1.0.2 -> 1.0.3
2024-05-29 13:41:12 -04:00
Nick Cao
5207075d4e Merge pull request #315623 from NixOS/backport-315438-to-release-24.05
[Backport release-24.05] gmnitohtml: 0.1.2 -> 0.1.3
2024-05-29 13:39:07 -04:00
Christina Rust
d163d73f61 Merge pull request #315410 from NixOS/backport-315263-to-release-24.05
[Backport release-24.05] nixos/devpi-server: fix loading credentials as DynamicUser
2024-05-29 18:40:06 +02:00
Weijia Wang
562c943fdf Merge pull request #315546 from NixOS/backport-315514-to-release-24.05
[Backport release-24.05] utm: 4.5.2 -> 4.5.3
2024-05-29 18:35:18 +02:00
nicoo
2a0c2f21e7 Merge #315349: init koboldcpp at 1.66
Backport to `release-24.05`
2024-05-29 16:04:12 +00:00
Nick Cao
54b64e9718 Merge pull request #315558 from NixOS/backport-315513-to-release-24.05
[Backport release-24.05] sgfutils: fix build on darwin
2024-05-29 11:50:08 -04:00
R. Ryantm
01de46f2b8 webex: 43.11.0.28947 -> 44.5.0.29672
(cherry picked from commit 1a78aa641b)
2024-05-29 15:40:44 +00:00
Nick Cao
b27a2e0874 Merge pull request #315418 from NixOS/backport-315122-to-release-24.05
[Backport release-24.05] linuxKernel.kernels.linux_lqx: 6.8.10-lqx1 -> 6.8.11-lqx1
2024-05-29 11:30:09 -04:00
Nick Cao
f86bee358b Merge pull request #315625 from NixOS/backport-315339-to-release-24.05
[Backport release-24.05] ginkgo: 2.18.0 -> 2.19.0
2024-05-29 11:29:38 -04:00
Nick Cao
63828b66e8 Merge pull request #315637 from NixOS/backport-314859-to-release-24.05
[Backport release-24.05] stats: 2.10.14 -> 2.10.15
2024-05-29 11:29:10 -04:00
Nick Cao
b97ebb1ef5 Merge pull request #315636 from NixOS/backport-315469-to-release-24.05
[Backport release-24.05] matrix-synapse-unwrapped: 1.107.0 -> 1.108.0
2024-05-29 11:28:43 -04:00
Sandro
275bc39f77 Merge pull request #315640 from NixOS/backport-315189-to-release-24.05
[Backport release-24.05] gitea,nixos/gitea: add SuperSandro2000 as maintainer, remove inactive…
2024-05-29 17:08:37 +02:00
OPNA2608
00a27d79e1 nixos/coolercontrol: Use user-preferred nvidia package
(cherry picked from commit 07b369b5aa)
2024-05-29 14:44:31 +00:00
Atemu
148355cf9c Merge pull request #315613 from NixOS/backport-315478-to-release-24.05
[Backport release-24.05] linux_xanmod, linux_xanmod_latest: 2024-05-25
2024-05-29 15:57:42 +02:00
Sandro Jäckel
54936852e5 gitea,nixos/gitea: add SuperSandro2000 as maintainer, remove inactive maintainers, unify maintainers
(cherry picked from commit 73c11de701)
2024-05-29 13:49:27 +00:00
OPNA2608
37dd4d8230 nixos-artwork.wallpapers.catppuccin-{frappe,latte,macchiato,mocha}: init at 2024-02-15
(cherry picked from commit 91da428e78)
2024-05-29 13:43:29 +00:00
OPNA2608
272b46a1f7 nixos-artwork.wallpapers.binary-{black,blue,red,white}: init at 2024-02-15
(cherry picked from commit 8fbd83c8a1)
2024-05-29 13:43:29 +00:00
OPNA2608
0be46595fb nixos-artwork.wallpapers.{gear,moonscape,recursive,waterfall,watersplash}: init at 2022-04-19
(cherry picked from commit a6ae8972a5)
2024-05-29 13:43:29 +00:00
OPNA2608
3bfcb467d3 nixos-artwork.wallpapers.nineish-solarized-dark,nixos-artwork.wallpapers.nineish-solarized-light: init at 2021-07-20
(cherry picked from commit 5968598e5f)
2024-05-29 13:43:29 +00:00
OPNA2608
77423ffbc3 nixos-artwork.wallpapers.gradient-grey: init at 2018-10-20
(cherry picked from commit 2daa66fdee)
2024-05-29 13:43:29 +00:00
OPNA2608
572e540409 nixos-artwork.wallpapers.*: Switch to SRI hash format
(cherry picked from commit 00e4a16478)
2024-05-29 13:43:28 +00:00
OPNA2608
928b53d3e4 nixos-artwork.wallpapers.*: Make license wallpaper-specific
Because not all of them are under the same license, and some lack licensing information in general.

(cherry picked from commit b1d4e99af4)
2024-05-29 13:43:28 +00:00
Nick Cao
ba4cdca40c Merge pull request #314522 from NixOS/backport-313498-to-release-24.05
[Backport release-24.05] hyprland: 0.40.0-unstable-2024-05-12 -> 0.40.0-unstable-2024-05-05, hyprwayland-scanner: 0.3.8 -> 0.3.4
2024-05-29 09:36:02 -04:00
DontEatOreo
e62a262fea stats: 2.10.14 -> 2.10.15
Diff: https://github.com/exelban/stats/compare/v2.10.14...v2.10.15
Changelog: https://github.com/exelban/stats/releases/tag/v2.10.15
(cherry picked from commit cf4d0c4e3f)
2024-05-29 13:35:57 +00:00
Guanran Wang
1a307bb870 matrix-synapse-unwrapped: 1.107.0 -> 1.108.0
Diff: https://github.com/element-hq/synapse/compare/v1.107.0...v1.108.0

Changelog: https://github.com/element-hq/synapse/releases/tag/v1.108.0
(cherry picked from commit b2b2a2d085)
2024-05-29 13:33:52 +00:00
R. Ryantm
c8551643e7 ginkgo: 2.18.0 -> 2.19.0
(cherry picked from commit aa07045ba1)
2024-05-29 13:09:17 +00:00
Ian M. Jones
fccbc0920d gmnitohtml: 0.1.2 -> 0.1.3
(cherry picked from commit b2fd245371)
2024-05-29 13:06:30 +00:00
Cosima Neidahl
45cef8da7c Merge pull request #315535 from NixOS/backport-315117-to-release-24.05
[Backport release-24.05] lomiri.*: Make buildable while waiting for GLib fix
2024-05-29 14:36:47 +02:00
zzzsyyy
544e6304fc linux_xanmod_latest: 6.8.10 -> 6.8.11
(cherry picked from commit 20776fcfee)
2024-05-29 12:34:17 +00:00
zzzsyyy
7f158bb962 linux_xanmod: 6.6.31 -> 6.6.32
(cherry picked from commit 584f168d53)
2024-05-29 12:34:17 +00:00
R. Ryantm
bbd1576a5f protonmail-desktop: 1.0.2 -> 1.0.3
(cherry picked from commit 3eff38ff21)
2024-05-29 12:17:58 +00:00
Francesco Gazzetta
9600c69366 gnome-obfuscate: 0.0.9 -> 0.0.10
Diff: https://gitlab.gnome.org/World/Obfuscate/-/compare/0.0.9...0.0.10
(cherry picked from commit 1a38444522)
2024-05-29 10:30:51 +00:00
Lucas Hoffmann
59c764c434 ssh-audit: install man page
(cherry picked from commit 4c5510e0cd)
2024-05-29 09:46:20 +00:00
Giel van Schijndel
8bdd5026f4 nixos/netboot: only install syslinux on platforms where it's available
Instead of maintaining an inevitably incomplete list of unsupported
architectures.

I discovered this while building for armv7-linux (32-bit ARM).

(cherry picked from commit af8a1f59eb)
2024-05-29 11:18:16 +02:00
Bill Huang
8d2e99efb5 feishu: add updateScript
(cherry picked from commit 2096243136)
2024-05-29 09:13:28 +00:00
Bill Huang
08ae39eea4 feishu: fix build error
(cherry picked from commit 5564130ecf)
2024-05-29 09:13:28 +00:00
Weijia Wang
83adb73f3b Merge pull request #315540 from NixOS/backport-315522-to-release-24.05
[Backport release-24.05] p3x-onenote: fix hash
2024-05-29 10:59:12 +02:00
Weijia Wang
c617da8663 sgfutils: fix build on darwin
(cherry picked from commit 757cfcf7d3)
2024-05-29 08:42:42 +00:00
Weijia Wang
566413f372 utm: 4.5.2 -> 4.5.3
(cherry picked from commit 9bd873881e)
2024-05-29 07:56:29 +00:00
Raito Bezarius
f0e4df797b lix: build in release mode with link time optimizations
This makes the binary size further reduced and may improve (?)
performance.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
(cherry picked from commit 84419e5c37)
2024-05-29 07:24:04 +00:00
Weijia Wang
e3a4eed470 p3x-onenote: fix hash
(cherry picked from commit c30b51d180)
2024-05-29 07:15:16 +00:00
Weijia Wang
fafeae3d24 Merge pull request #315526 from NixOS/backport-315253-to-release-24.05
[Backport release-24.05] deepin.dtk6core: fix build on 6.7.1
2024-05-29 09:14:28 +02:00
Weijia Wang
9999aa37b0 Merge pull request #315531 from NixOS/backport-315021-to-release-24.05
[Backport release-24.05] deepin.dde-daemon: do not create /usr/share/uadp
2024-05-29 09:14:10 +02:00
Vincent Laporte
4d899ff014 hol_light: 2023-11-03 → 2024-05-10
(cherry picked from commit a832b67356)
2024-05-29 08:57:21 +02:00
OPNA2608
bbae47b2b6 lomiri.lomiri-indicator-network: Disable tests
Needs a GLib change to be fixed, which needs a staging cycle, which I was told won't happen in time anymore.
Seems like only the tests fail though.

(cherry picked from commit 137015743e)
2024-05-29 06:44:06 +00:00
OPNA2608
10837a8efe lomiri.telephony-service: Mark broken & exclude everywhere
Needs a GLib change to be fixed, which needs a staging cycle, which I was told won't happen in time anymore.
Luckily it's not a crucial component for the desktop mode.

(cherry picked from commit 3ef60ac499)
2024-05-29 06:44:06 +00:00
github-actions[bot]
6d45231912 doc/release-notes: tweaks (#315520)
* Clean up the curious dwarf-fortress note

(cherry picked from commit e36f83eac4)

* Various tweaks to release notes

(cherry picked from commit 9708aca853)

* Consistently use capitalized Nix in plain text

(cherry picked from commit 005ef76e9e)

* Further tweaks to release notes

(cherry picked from commit 9c6861249c)

---------

Co-authored-by: Jacek Generowicz <jacg@my-post-office.net>
2024-05-29 08:37:12 +02:00
Weijia Wang
78d7d55a66 Merge pull request #314894 from NixOS/backport-314273-to-release-24.05
[Backport release-24.05] remnote: 1.16.4 -> 1.16.18
2024-05-29 08:35:16 +02:00
Weijia Wang
0485c42252 Merge pull request #315436 from NixOS/backport-313492-to-release-24.05
[Backport release-24.05] _1password-gui: 8.10.30 -> 8.10.33
2024-05-29 08:34:33 +02:00
Weijia Wang
3fb5c5a23a Merge pull request #314788 from NixOS/backport-314409-to-release-24.05
[Backport release-24.05] wasmtime: fix build on aarch64
2024-05-29 08:33:03 +02:00
rewine
1e64ec0b6f deepin.dde-daemon: do not create /usr/share/uadp
fix: https://github.com/NixOS/nixpkgs/issues/314108
(cherry picked from commit 8fbe3b5589)
2024-05-29 06:19:47 +00:00
rewine
3de7ae0aa8 deepin.dtk6core: fix build on 6.7.1
(cherry picked from commit 73660e9351)
2024-05-29 05:57:43 +00:00
Martin Weinelt
0ff3d75bf8 Merge pull request #315468 from NixOS/backport-313817-to-release-24.05
[Backport release-24.05] python312Packages.ha-philipsjs: 3.1.1 -> 3.2.1
2024-05-29 02:04:27 +02:00
Martin Weinelt
cc76735bde Merge pull request #315466 from NixOS/backport-314222-to-release-24.05
[Backport release-24.05] python312Packages.pyswitchbot: 0.45.0 -> 0.46.1
2024-05-29 02:04:04 +02:00
Martin Weinelt
f333c0ce1f Merge pull request #315467 from NixOS/backport-313828-to-release-24.05
[Backport release-24.05] python312Packages.wled: 0.17.1 -> 0.18.0
2024-05-29 02:03:25 +02:00
Fabian Affolter
0aa0ff6949 python312Packages.ha-philipsjs: refactor
(cherry picked from commit 1896b9a5b8)
2024-05-28 23:57:07 +00:00
Fabian Affolter
2ca40f4f4a python312Packages.ha-philipsjs: 3.1.1 -> 3.2.1
Diff: https://github.com/danielperna84/ha-philipsjs/compare/refs/tags/3.1.1...3.2.1

Changelog: https://github.com/danielperna84/ha-philipsjs/releases/tag/3.2.1
(cherry picked from commit f0246f7796)
2024-05-28 23:57:07 +00:00
Martin Weinelt
76276870f2 Merge pull request #315459 from NixOS/backport-315458-to-release-24.05
[Backport release-24.05] python312Packages.amcrest: replace distutils usage
2024-05-29 01:57:04 +02:00
Fabian Affolter
8ff499b1d9 python312Packages.wled: refactor
- add optional-dependencies

(cherry picked from commit 4e30caab80)
2024-05-28 23:56:35 +00:00
Fabian Affolter
3716399b39 python312Packages.wled: 0.17.1 -> 0.18.0
Diff: https://github.com/frenck/python-wled/compare/refs/tags/v0.17.1...v0.18.0

Changelog: https://github.com/frenck/python-wled/releases/tag/v0.18.0
(cherry picked from commit ae18e3e998)
2024-05-28 23:56:35 +00:00
Fabian Affolter
62a9913e56 python312Packages.pyswitchbot: 0.45.0 -> 0.46.1
Diff: https://github.com/Danielhiversen/pySwitchbot/compare/refs/tags/0.45.0...0.46.1

Changelog: https://github.com/Danielhiversen/pySwitchbot/releases/tag/0.46.1
(cherry picked from commit 0eb6ab0e62)
2024-05-28 23:56:11 +00:00
Martin Weinelt
f87e54303c python312Packages.amcrest: replace distutils usage
(cherry picked from commit 5f294ad027)
2024-05-28 23:16:55 +00:00
Robert Scott
8dead30e3f Merge pull request #315447 from NixOS/backport-315316-to-release-24.05
[Backport release-24.05] netsurf.libparserutils: use libiconv for darwin
2024-05-28 23:59:55 +01:00
Robert Scott
addb1cf91a Merge pull request #315442 from NixOS/backport-315313-to-release-24.05
[Backport release-24.05] xqilla,dbxml: fix clang and darwin builds
2024-05-28 22:47:47 +01:00
Robert Scott
4d997dbcf3 Merge pull request #315433 from NixOS/backport-315423-to-release-24.05
[Backport release-24.05] apptainer: 1.3.1 -> 1.3.2
2024-05-28 22:45:03 +01:00
Robert Scott
9b2aab3301 Merge pull request #315439 from NixOS/backport-315195-to-release-24.05
[Backport release-24.05] fricas: 1.3.9 -> 1.3.10
2024-05-28 22:31:40 +01:00
Robert Scott
8ba1269a87 Merge pull request #315437 from NixOS/backport-315283-to-release-24.05
[Backport release-24.05] photofield: add patch for Go 1.22 support
2024-05-28 22:26:40 +01:00
paparodeo
7bf05cd984 netsurf.libparserutils: use libiconv for darwin
(cherry picked from commit 7546fd6123)
2024-05-28 21:21:37 +00:00
paparodeo
1d71d99673 dbxml: fix clang build
use std=c++14 due to use of register storage specifier

(cherry picked from commit 7343dde6d3)
2024-05-28 20:57:04 +00:00
paparodeo
1448866ccc xqilla: unbreak darwin; add required frameworks
(cherry picked from commit d32beebac2)
2024-05-28 20:57:04 +00:00
paparodeo
522856c028 xqilla: fix clang build
use std=c++14 due to use of register storage specifier

(cherry picked from commit c398cede57)
2024-05-28 20:57:04 +00:00
Someone
8872b57bcd Merge pull request #315347 from NixOS/backport-314840-to-release-24.05
[Backport release-24.05] hardware/nvidia-container-toolkit: mount `nvidia-driver/share`
2024-05-28 20:32:58 +00:00
Thomas Gerbet
a67e660584 gnome.gnome-remote-desktop: 46.1 -> 46.2
Fixes CVE-2024-5148.
https://security.opensuse.org/2024/05/22/gnome-remote-desktop-system-dbus.html

Changes:
https://gitlab.gnome.org/GNOME/gnome-remote-desktop/-/blob/46.2/NEWS?ref_type=tags
(cherry picked from commit 092ca8d1cf)
2024-05-28 22:20:21 +02:00
Jonas Meurer
57d839e7b8 fricas: 1.3.9 -> 1.3.10
Previous builds refused to build due to memory exhaustion. This was
already fixed by upstream in 759272d834538c54d69d3dbb9f31a2b1e51cf9a8.

(cherry picked from commit 4a2bbf27a8)
2024-05-28 20:19:22 +00:00
TomaSajt
770d2011f1 photofield: add patch for Go 1.22 support
(cherry picked from commit c4252653c1)
2024-05-28 20:04:13 +00:00
Sebastian Sellmeier
e578f66241 _1password-gui: 8.10.30 -> 8.10.33
_1password-gui-beta: 8.10.30-20.BETA -> 8.10.34-10.BETA

(cherry picked from commit 4fba1588a6)
2024-05-28 20:00:07 +00:00
Gaetan Lepage
c4e01c7a36 apptainer: 1.3.1 -> 1.3.2
Changelog: https://github.com/apptainer/apptainer/releases/tag/v1.3.2
(cherry picked from commit 315b8a0466)
2024-05-28 19:45:16 +00:00
Nick Cao
1c9af90d8b Merge pull request #315272 from NixOS/backport-314775-to-release-24.05
[Backport release-24.05] jellyfin, jellyfin-web: 10.9.1 -> 10.9.3, 10.9.2 -> 10.9.3
2024-05-28 15:20:51 -04:00
Nick Cao
6e318d1cb0 Merge pull request #315285 from NixOS/backport-315046-to-release-24.05
[Backport release-24.05] nixosTests.gnome-extensions: fix test
2024-05-28 15:20:35 -04:00
Nick Cao
fe83789156 Merge pull request #315301 from NixOS/backport-311176-to-release-24.05
[Backport release-24.05] tailscale: fix tailscale ssh
2024-05-28 15:18:17 -04:00
Nick Cao
55d3011ef4 Merge pull request #315191 from NixOS/backport-314988-to-release-24.05
[Backport release-24.05] samrewritten: change platforms to only x86_64-linux
2024-05-28 15:10:12 -04:00
Nick Cao
62149b4cb1 Merge pull request #315116 from NixOS/backport-315070-to-release-24.05
[Backport release-24.05] unison-fsmonitor: 0.3.3 -> 0.3.4
2024-05-28 15:07:43 -04:00
Jerry
4e3a040807 linuxKernel.kernels.linux_lqx: 6.8.10-lqx1 -> 6.8.11-lqx1
(cherry picked from commit b0f847dac2)
2024-05-28 18:03:01 +00:00
Sarah Brofeldt
cf546b0bf0 nixos/devpi-server: fix loading credentials as DynamicUser
(cherry picked from commit 4d4571b20a)
2024-05-28 17:23:05 +00:00
Connor Baker
39ffb04fef Merge pull request #315295 from NixOS/backport-314710-to-release-24.05
[Backport release-24.05] python312Packages.ax: disable tests
2024-05-28 13:07:46 -04:00
Robert Hensing
682b72ac26 Merge pull request #315017 from NixOS/backport-298665-to-release-24.05
[Backport release-24.05] testers.lycheeLinkCheck: init
2024-05-28 18:11:35 +02:00
Matthias Beyer
de2a297856 Merge pull request #315318 from NixOS/backport-314195-to-release-24.05
[Backport release-24.05] semgrep: 1.73.0 -> 1.74.0
2024-05-28 17:53:18 +02:00
Artturin
9f9e5cd6c7 Merge pull request #315328 from NixOS/backport-314634-to-release-24.05
[Backport release-24.05] Update discord packages
2024-05-28 16:04:56 +03:00
Maxwell Henderson
f63ff69547 koboldcpp: init at 1.66
This responds to issue #295900 by adding the koboldcpp package

Co-authored-by: DontEatOreo <57304299+DontEatOreo@users.noreply.github.com>
(cherry picked from commit 55291de146)
2024-05-28 12:58:15 +00:00
Maxwell Henderson
f3271228e1 maintainers: add maxstrid
(cherry picked from commit 79a678c2f5)
2024-05-28 12:58:14 +00:00
Rafael Fernández López
5a4bc7ddeb hardware/nvidia-container-toolkit: mount nvidia-driver/share
(cherry picked from commit 79c79671a7)
2024-05-28 12:51:03 +00:00
Artturin
45cbc299bb Update discord packages
discord-ptb: 0.0.84 -> 0.0.85

discord-canary: 0.0.382 -> 0.0.402

discord-development: 0.0.18 -> 0.0.19

pkgsCross.aarch64-darwin.discord: 0.0.303 -> 0.0.305

pkgsCross.aarch64-darwin.discord-ptb: 0.0.113 -> 0.0.114

pkgsCross.aarch64-darwin.discord-canary: 0.0.492 -> 0.0.510

pkgsCross.aarch64-darwin.discord-development: 0.0.40 -> 0.0.41

(cherry picked from commit 8d3e378f97)
2024-05-28 11:34:37 +00:00
Maciej Krüger
49ad869946 Merge pull request #315299 from NixOS/backport-315027-to-release-24.05
[Backport release-24.05] dbeaver-bin: add `wrapGAppsHook`
2024-05-28 13:33:16 +02:00
Aaron Andersen
5150b07a3d Merge pull request #315238 from NixOS/backport-315215-to-release-24.05
[Backport release-24.05] kodi.packages.invidious: add missing infotagger dependency
2024-05-28 11:07:20 +00:00
R. Ryantm
a71637856e semgrep: 1.73.0 -> 1.74.0
(cherry picked from commit 5e7a0de3b6)
2024-05-28 10:58:52 +00:00
Alyssa Ross
78ca2bef8a motif: prePatch -> postPatch
To avoid potentially breaking patches that modify Makefile.am or
Makefile.in.

(cherry picked from commit 3aeecd86ea)
2024-05-28 10:49:42 +00:00
Alyssa Ross
5c11d382f8 motif: fix build with clang
Fixes: https://github.com/NixOS/nixpkgs/issues/302449
(cherry picked from commit 5861ff78ab)
2024-05-28 10:49:42 +00:00
Alyssa Ross
14e88eacf7 motif: fix disabling demos
The previous sed expression didn't work, even in the commit that added
it.

Fixes: 68c003b256 ("motif: fixup build after automake update #28232")
(cherry picked from commit 9cfffcd54a)
2024-05-28 10:49:42 +00:00
Mauricio Collares
357c26c303 Merge pull request #315300 from NixOS/backport-315114-to-release-24.05
[Backport release-24.05] sageWithDoc: add sphinx 7.3 update patch
2024-05-28 12:39:54 +02:00
Jan Tojnar
32344320da gnome.geary: 44.1 → 46.0
https://gitlab.gnome.org/GNOME/geary/-/compare/44.1...46.0
(cherry picked from commit 07ae3d806b)
2024-05-28 11:56:26 +02:00
Jan Tojnar
9365420af6 libgtop: 2.41.2 → 2.41.3
https://gitlab.gnome.org/GNOME/libgtop/-/compare/2.41.2...2.41.3
(cherry picked from commit f4df7f0e7e)
2024-05-28 11:56:26 +02:00
Jan Tojnar
14f4653027 vte: 0.76.1 → 0.76.2
https://gitlab.gnome.org/GNOME/vte/-/compare/0.76.1...0.76.2
(cherry picked from commit c989059161)
2024-05-28 11:56:26 +02:00
Jan Tojnar
19c420aae8 gnome.gnome-shell: 46.1 → 46.2
https://gitlab.gnome.org/GNOME/gnome-shell/-/compare/46.1...46.2
(cherry picked from commit 1cf80c71d4)
2024-05-28 11:56:26 +02:00
Jan Tojnar
75420cc6aa gnome.nautilus: 46.1 → 46.2
https://gitlab.gnome.org/GNOME/nautilus/-/compare/46.1...46.2
(cherry picked from commit ca3b765cfb)
2024-05-28 11:56:26 +02:00
Jan Tojnar
460c0b9522 xdg-desktop-portal-gnome: 46.1 → 46.2
https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome/-/compare/46.1...46.2
(cherry picked from commit 891e0fb10b)
2024-05-28 11:56:26 +02:00
Jan Tojnar
e8c1868904 gnome.mutter: remove unneeded dependencies
json-glib was removed in 03235773be
(part of bump in fde899eefd).

libcap-ng is not used at all. It was added in 9742df1595
required by an older version of the patch from https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/460
which was dropped in 8c5884ef4e.

Also update comment since mutter-clutter no longer depends on graphene, -cogl and -mtk libraries do.

(cherry picked from commit e6719289cd)
2024-05-28 11:56:26 +02:00
Jan Tojnar
710deda4d0 gnome.mutter: 46.1 → 46.2
https://gitlab.gnome.org/GNOME/mutter/-/compare/46.1...46.2
(cherry picked from commit 49097abda9)
2024-05-28 11:56:26 +02:00
Jan Tojnar
a70853f968 gnome.gnome-terminal: 3.52.1 → 3.52.2
https://gitlab.gnome.org/GNOME/gnome-terminal/-/compare/3.52.1...3.52.2
(cherry picked from commit 41e94d87d8)
2024-05-28 11:56:26 +02:00
Jan Tojnar
1e90922710 gnome.gnome-shell-extensions: 46.1 → 46.2
https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/compare/46.1...46.2
(cherry picked from commit 8c463bfeb0)
2024-05-28 11:56:26 +02:00
Jan Tojnar
57f58f1437 gnome.gucharmap: 15.1.2 → 15.1.5
https://gitlab.gnome.org/GNOME/gucharmap/-/compare/15.1.2...15.1.5
(cherry picked from commit 184ffd7bee)
2024-05-28 11:56:26 +02:00
Jan Tojnar
d323d9cdb8 gnome.aisleriot: 3.22.32 → 3.22.33
https://gitlab.gnome.org/GNOME/aisleriot/-/compare/3.22.32...3.22.33
(cherry picked from commit 2b0062f5fa)
2024-05-28 11:56:26 +02:00
Jan Tojnar
35aeffc076 libshumate: 1.2.1 → 1.2.2
https://gitlab.gnome.org/GNOME/libshumate/-/compare/1.2.1...1.2.2
(cherry picked from commit a90ad835fd)
2024-05-28 11:56:26 +02:00
Jan Tojnar
dcc604f5b3 libmsgraph: 0.2.1 → 0.2.2
https://gitlab.gnome.org/GNOME/msgraph/-/compare/0.2.1...0.2.2
(cherry picked from commit 8a08782e4d)
2024-05-28 11:56:26 +02:00
Jan Tojnar
08cac94c9c libadwaita: 1.5.0 → 1.5.1
https://gitlab.gnome.org/GNOME/libadwaita/-/compare/1.5.0...1.5.1
(cherry picked from commit 4653e5d070)
2024-05-28 11:56:26 +02:00
Jan Tojnar
4cbfdb3f4c gnome-online-accounts: 3.50.1 → 3.50.2
https://gitlab.gnome.org/GNOME/gnome-online-accounts/-/compare/3.50.1...3.50.2
(cherry picked from commit 62ee5cadbe)
2024-05-28 11:56:26 +02:00
Jan Tojnar
b4d510e4ad gnome-builder: 46.1 → 46.2
https://gitlab.gnome.org/GNOME/gnome-builder/-/compare/46.1...46.2
(cherry picked from commit fa4611e465)
2024-05-28 11:56:26 +02:00
Jan Tojnar
272535f598 gnome.rygel: 0.42.5 → 0.42.6
https://gitlab.gnome.org/GNOME/rygel/-/compare/rygel-0.42.5...rygel-0.42.6
(cherry picked from commit 46f9348479)
2024-05-28 11:56:26 +02:00
Jan Tojnar
00e12ebb5a gvfs: 1.54.0 → 1.54.1
https://gitlab.gnome.org/GNOME/gvfs/-/compare/1.54.0...1.54.1
(cherry picked from commit 1886558b27)
2024-05-28 11:56:26 +02:00
Jan Tojnar
7e3b2c6af2 gnome.gnome-software: 46.1 → 46.2
https://gitlab.gnome.org/GNOME/gnome-software/-/compare/46.1...46.2
(cherry picked from commit 15024190f5)
2024-05-28 11:56:26 +02:00
Jan Tojnar
bf5da9a4e7 gnome.gnome-maps: 46.10 → 46.11
https://gitlab.gnome.org/GNOME/gnome-maps/-/compare/v46.10...v46.11
(cherry picked from commit c130d93c68)
2024-05-28 11:56:26 +02:00
Jan Tojnar
92e004ec2d gnome.gnome-initial-setup: 46.0 → 46.2
https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/compare/46.0...46.2
(cherry picked from commit dd7db60d7b)
2024-05-28 11:56:26 +02:00
Jan Tojnar
3ce3aded9f gnome.file-roller: 44.2 → 44.3
https://gitlab.gnome.org/GNOME/file-roller/-/compare/44.2...44.3
(cherry picked from commit aa2d96b2b8)
2024-05-28 11:56:26 +02:00
Jan Tojnar
880c51aadc evince: 46.1 → 46.3
https://gitlab.gnome.org/GNOME/evince/-/compare/46.1...46.3
(cherry picked from commit 1e5cbf8038)
2024-05-28 11:56:26 +02:00
Jan Tojnar
bd077e83f3 phoc: Add missing dependency
This was previously propagated by mutter.
(e6719289cd)

(cherry picked from commit b53ea07f5c)
2024-05-28 11:35:10 +02:00
Jan Tojnar
3380d2a9bf gnome-control-center: Add missing dependency
This was previously propagated by mutter.
(e6719289cd)

(cherry picked from commit 63197e9e3d)
2024-05-28 11:34:49 +02:00
github-actions[bot]
e0d79f2bfb python3Packages.zconfig: 4.0 -> 4.1 (#315284)
The pypi artifact has been renamed from ZConfig to zconfig.

Unbreaks the build.

(cherry picked from commit cdda685ca9)

Co-authored-by: Mathis Antony <sveitser@gmail.com>
2024-05-28 09:17:09 +00:00
github-actions[bot]
e0fa66fd95 grype: unbreak build (#315281)
(cherry picked from commit 9d97550a55)

Co-authored-by: sveitser <sveitser@gmail.com>
2024-05-28 09:13:32 +00:00
Sandro
576f015f2f Merge pull request #314919 from NixOS/backport-314408-to-release-24.05 2024-05-28 11:13:17 +02:00
Sandro
125daa7c1d Merge pull request #314764 from NixOS/backport-314433-to-release-24.05 2024-05-28 11:11:11 +02:00
Sandro Jäckel
7f2547a15b tailscale: fix tailscale ssh
Closes #310950

(cherry picked from commit d2eeeb450a)
2024-05-28 09:04:24 +00:00
github-actions[bot]
d74975e8e2 vinegar: 1.7.3 -> 1.7.4; Add childwindow patch; pinned Wine to 9.2-staging (#315297)
This PR adds the following:

- Updates the hash and version for vinegar
- Adds the childwindow patch (from the vinegar flatpak)
- Ping the WINE version to 9.2-staging (this is the version of WINE vinegar ships with in their flatpak)

and with this, the nix package will be the same functionally as the official Flatpak.

(cherry picked from commit 03eddf9906)

Co-authored-by: Liquidovski <109692107+liquidovski@users.noreply.github.com>
2024-05-28 09:01:17 +00:00
Mauricio Collares
79feebc8e0 sageWithDoc: add sphinx 7.3 update patch
(cherry picked from commit 544465ef98)
2024-05-28 08:58:53 +00:00
luoch
9c8cced0fa dbeaver-bin: add wrapGAppsHook3
(cherry picked from commit 4082d7e115)
2024-05-28 08:51:58 +00:00
Connor Baker
a6d2eba009 python312Packages.ax: disable tests on Python 3.12
The test suite has a number of failures (not limited to):

FAILED ax/analysis/helpers/tests/test_cross_validation_helpers.py::TestCrossValidationHelpers::test_get_min_max_with_errors - SystemError: <sys.legacy_event_handler object at 0x7ffc5029cdb0> returned a...
FAILED ax/analysis/helpers/tests/test_cross_validation_helpers.py::TestCrossValidationHelpers::test_obs_vs_pred_dropdown_plot - SystemError: <sys.legacy_event_handler object at 0x7ffc5029cdb0> returned a...
FAILED ax/analysis/helpers/tests/test_cross_validation_helpers.py::TestCrossValidationHelpers::test_store_df_to_file - SystemError: <sys.legacy_event_handler object at 0x7ffc5029cdb0> returned a...
FAILED ax/analysis/helpers/tests/test_cross_validation_helpers.py::TestCrossValidationHelpers::test_store_plot_as_dict - SystemError: <sys.legacy_event_handler object at 0x7ffc5029cdb0> returned a...
FAILED ax/analysis/helpers/tests/test_cv_consistency_checks.py::TestCVConsistencyCheck::test_error_scatter_data_branin - SystemError: <sys.legacy_event_handler object at 0x7ffc5029cdb0> returned a...
FAILED ax/analysis/helpers/tests/test_cv_consistency_checks.py::TestCVConsistencyCheck::test_error_scatter_trace_branin - SystemError: <sys.legacy_event_handler object at 0x7ffc5029cdb0> returned a...

Irritatingly enough, disabling those tests causes (or allows?) different tests to fail. After chasing these for some time, it proved easier to disable the test suite for Python 3.12.

(cherry picked from commit 13e2dcabbc)
2024-05-28 08:39:56 +00:00
Jörg Thalheim
755245893a Merge pull request #315271 from NixOS/backport-315040-to-release-24.05
[Backport release-24.05] nixos/hyprlock, nixos/hypridle: init module
2024-05-28 10:23:47 +02:00
Honnip
8175851944 gnomeExtensions.mullvad-indicator: remove outdated patch
(cherry picked from commit 709d326858)
2024-05-28 07:47:09 +00:00
Honnip
3fe54eb851 nixosTests.gnome-extensions: ENABLED and DISABLED states are renamed
01e9724d75
Fix the test failure caused by the renaming of the states name from `ENABLED`, `DISABLED` to `ACTIVE` and `INACTIVE`

(cherry picked from commit b2069e7fc7)
2024-05-28 07:47:09 +00:00
Honnip
268c53b55a nixosTests.gnome-extensions: emoji-selector has been removed
(cherry picked from commit d7062ba870)
2024-05-28 07:47:09 +00:00
Nano Twerpus
62f30688dc jellyfin-web: add assert version == jellyfin.version to src
(cherry picked from commit 30dac56dab)
2024-05-28 07:05:39 +00:00
Nano Twerpus
0ef09bf23d jellyfin-web: 10.9.2 -> 10.9.3
(cherry picked from commit 5cd7bbe6fe)
2024-05-28 07:05:39 +00:00
Nano Twerpus
e5c147151a jellyfin: 10.9.1 -> 10.9.3
The `default.nix` was also formatted with `nixfmt-rfc-style` to be `RFC 166`-compliant.

(cherry picked from commit a7441feb23)
2024-05-28 07:05:38 +00:00
John Titor
d318a15bca nixos/hypridle: init
(cherry picked from commit 353aa12446)
2024-05-28 07:04:11 +00:00
John Titor
0b15e543c6 nixos/hyprlock: init module
(cherry picked from commit 07a0b79ed1)
2024-05-28 07:04:11 +00:00
Aaron Andersen
512a3fd04a kodi.packages.invidious: add missing infotagger dependency
(cherry picked from commit ee947a38e2)
2024-05-28 03:50:34 +00:00
Adam C. Stephens
064b8bf531 Merge pull request #315123 from NixOS/backport-314738-to-release-24.05
[Backport release-24.05] firefoxpwa: 2.12.0 -> 2.12.1
2024-05-27 17:09:46 -04:00
Nick Cao
fb5fb7fd6f Merge pull request #314857 from NixOS/backport-314650-to-release-24.05
[Backport release-24.05] arc-browser: 1.43.1-50198 -> 1.44.2-50412
2024-05-27 17:03:46 -04:00
Ludovico Piero
bdbbbc2c74 samrewritten: change platforms to only x86_64-linux
Signed-off-by: Ludovico Piero <lewdovico@gnuweeb.org>
(cherry picked from commit 8259c8bd4d)
2024-05-27 21:00:51 +00:00
Robert Scott
42e3277186 Merge pull request #315182 from justinas/24-05-backport-314573
[24.05]  teleport_13: remove
2024-05-27 22:00:26 +01:00
Martin Weinelt
42e786fc8b Merge pull request #315171 from NixOS/backport-315162-to-release-24.05
[Backport release-24.05] discourse: update plugins
2024-05-27 22:19:18 +02:00
Justinas Stankevicius
dac0b86b6a teleport_13: remove 2024-05-27 23:14:53 +03:00
Martin Weinelt
55ee801174 discourse: build discourseAllPlugins in passthru.tests.
Useful to reveal failing plugin builds.

(cherry picked from commit 898d023384)
2024-05-27 19:32:18 +00:00
Martin Weinelt
432e435a69 discourse: update plugins
(cherry picked from commit 1d2d14cc1f)
2024-05-27 19:32:18 +00:00
Pol Dellaiera
60266426f0 Merge pull request #315165 from NixOS/backport-314534-to-release-24.05
[Backport release-24.05] gh-eco: added fetchpatch; modernize
2024-05-27 21:30:20 +02:00
isabel
102a07abb1 gh-eco: added fetchpatch; modernize
(cherry picked from commit 072363fc3e)
2024-05-27 19:16:45 +00:00
Weijia Wang
0ba80a0f4d Merge pull request #315120 from eclairevoyant/revert-steam-fonts
[24.05] Revert "nixos/steam: add option fontPackages"
2024-05-27 20:59:02 +02:00
Atemu
c5ddb6cbc7 Merge pull request #314815 from NixOS/backport-314337-to-release-24.05
[Backport release-24.05] nextcloudPackages.richdocuments: init
2024-05-27 19:44:48 +02:00
Maximilian Bosch
1df68e31d2 Merge pull request #315098 from NixOS/backport-314939-to-release-24.05
[Backport release-24.05] grafana-image-renderer: 3.10.2 -> 3.10.5
2024-05-27 16:16:46 +00:00
R. Ryantm
e58876b56a firefoxpwa: 2.12.0 -> 2.12.1
(cherry picked from commit 4e5a485d6a)
2024-05-27 15:53:27 +00:00
Martin Weinelt
0b1b49a45f Merge pull request #315094 from NixOS/backport-299269-to-release-24.05
[Backport release-24.05] discourse: 3.1.0 -> 3.2.2
2024-05-27 17:48:50 +02:00
éclairevoyant
8ed61d15ff Revert "nixos/steam: add option fontPackages"
This reverts commit 7f86c8842a.
2024-05-27 11:42:49 -04:00
Yongun Seong
f265769617 unison-fsmonitor: 0.3.3 -> 0.3.4
(cherry picked from commit 3b1b7987af)
2024-05-27 15:19:30 +00:00
Thiago Kenji Okada
050570e289 Merge pull request #315054 from NixOS/backport-314997-to-release-24.05
[Backport release-24.05] linuxKernel.kernels.linux_zen: 6.9.1-zen1 -> 6.9.2-zen1
2024-05-27 16:03:11 +01:00
Nick Cao
cbdd3f3d16 Merge pull request #314979 from NixOS/backport-314122-to-release-24.05
[Backport release-24.05] chatty: 0.8.2 -> 0.8.3
2024-05-27 10:42:15 -04:00
Maximilian Bosch
818e481946 grafana-image-renderer: 3.10.2 -> 3.10.5
ChangeLogs:
* https://github.com/grafana/grafana-image-renderer/releases/tag/v3.10.3
* https://github.com/grafana/grafana-image-renderer/releases/tag/v3.10.4
* https://github.com/grafana/grafana-image-renderer/releases/tag/v3.10.5

(cherry picked from commit 8dd0b1d0ab)
2024-05-27 14:14:49 +00:00
Martin Weinelt
4d2a8b2c58 discourse: 3.1.0 -> 3.2.2
https://meta.discourse.org/t/3-1-1-security-and-bug-fix-release/278760
https://meta.discourse.org/t/3-1-2-security-and-bug-fix-release/282427
https://meta.discourse.org/t/3-1-3-security-and-bug-fix-release/284973
https://meta.discourse.org/t/3-1-4-security-and-bug-fix-release/290939
https://blog.discourse.org/2024/01/celebrating-discourse-3-2/
https://meta.discourse.org/t/3-2-1-security-and-bug-fix-release/298237
https://meta.discourse.org/t/3-2-2-bug-fix-release/307780

Co-Authored-By: Christian Albrecht <christian.albrecht@mayflower.de>
Fixes: CVE-2023-38706, CVE-2023-40588, CVE-2023-41043, CVE-2023-41042,
       CVE-2023-44388, CVE-2023-43814, CVE-2023-45147, CVE-2023-43659,
       CVE-2023-44391, CVE-2023-45131, CVE-2023-47120, CVE-2023-45816,
       CVE-2023-46130, CVE-2023-47119, CVE-2023-47121, CVE-2023-45806,
       CVE-2023-49099, CVE-2024-21655, CVE-2024-21655, CVE-2023-48297,
       CVE-2024-24748, CVE-2024-24827, CVE-2024-27085, CVE-2024-27100,
       CVE-2024-28242
(cherry picked from commit 25755c0d20)
2024-05-27 13:56:11 +00:00
Martin Weinelt
427bdcc885 discourse: strip markers from plugin compat spec
The plugin updater would previously stumble over compat spec version
entries that begin with angled brackets.

````
< 3.3.0.beta1-dev: 56b0de3896361b6a87523537c8f5b450d2fe0807
3.2.0: 33c43ca51ac7b7baa8a309a269dcf8685b8bd638
< 3.2.0.beta2-dev: ac930c509e2a5b0c37b84bcea28d332e686add95
3.1.999: a304cd2028ccf1f5b00f5137633aa7027a1fd334
3.1.0.beta3: 9c270cac9abc1c2b30574d8c655fb3a90546236b
[...]
````

(cherry picked from commit 5cf005119a)
2024-05-27 13:56:11 +00:00
Martin Weinelt
54f359612f discourse: rely on packaging module for version comparison
The distutils module is deprecated and was removed in Python 3.12, which
would eventually break this updater.

(cherry picked from commit 3106519f14)
2024-05-27 13:56:11 +00:00
Maximilian Bosch
44b81bfaaf Merge pull request #315060 from NixOS/backport-314938-to-release-24.05
[Backport release-24.05] meshcentral: 1.1.22 -> 1.1.24
2024-05-27 13:28:34 +00:00
Robert Scott
a1e0c81816 Merge pull request #314555 from NixOS/backport-314091-to-release-24.05
[Backport release-24.05] python3Packages.shiboken6: restore backwards compatibility with 6.6
2024-05-27 14:04:44 +01:00
Maximilian Bosch
fc39836b7a Merge pull request #314946 from Ma27/grafana-2405
[24.05] grafana: 10.4.2 -> 10.4.3
2024-05-27 11:14:23 +00:00
Maximilian Bosch
51b088b4b5 meshcentral: 1.1.22 -> 1.1.24
ChangeLog: https://github.com/Ylianst/MeshCentral/releases/tag/1.1.23
ChangeLog: https://github.com/Ylianst/MeshCentral/releases/tag/1.1.24
(cherry picked from commit cc48fad505)
2024-05-27 11:11:37 +00:00
Maximilian Bosch
4095d7bdb9 Merge pull request #315031 from NixOS/backport-314944-to-release-24.05
[Backport release-24.05] nixVersions.git: 2.23.0pre20240520_b7709d14 -> 2.23.0pre20240526_7de033d6
2024-05-27 11:02:04 +00:00
Jerry
472cb2d381 linuxKernel.kernels.linux_zen: 6.9.1-zen1 -> 6.9.2-zen1
(cherry picked from commit 7359e7f57c)
2024-05-27 10:31:53 +00:00
rewine
3d62b9bc82 Merge pull request #315030 from NixOS/backport-315019-to-release-24.05
[Backport release-24.05] pyprland: 2.3.2 -> 2.3.4
2024-05-27 18:10:39 +08:00
Mathis Antony
02c22a632e haskellPackages.di-core: unbreak on darwin
One of the tests is flaky and fails sometimes on darwin, linux builds
don't seem to be affected. This change removes the failing assert on
darwin.

(cherry picked from commit 42ade6365d)
2024-05-27 08:36:38 +00:00
Maximilian Bosch
0080eea022 nixVersions.git: 2.23.0pre20240520_b7709d14 -> 2.23.0pre20240526_7de033d6
Changes: b7709d14...7de033d6
(cherry picked from commit bbc5af4fcc)
2024-05-27 08:17:35 +00:00
R. Ryantm
0bfb2dadbf pyprland: 2.3.2 -> 2.3.4
(cherry picked from commit 27f9914e58)
2024-05-27 07:54:09 +00:00
Vladimír Čunát
67a8b308ba Merge #315023: Revert "boehmgc: disable tests on aarch64-linux"
...into release-24.05.   Moving to staging-24.05.
2024-05-27 09:03:12 +02:00
Vladimír Čunát
0b5ea07801 Revert "[Backport release-24.05] boehmgc: disable tests on aarch64-linux" 2024-05-27 09:02:47 +02:00
Robert Hensing
6a668b71ee testers.lycheeLinkCheck: Clarify test data
(cherry picked from commit 5acbed79ee)
2024-05-27 05:55:46 +00:00
Robert Hensing
912abfa907 testers.lycheeLinkCheck: Edit documentation and messages
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
(cherry picked from commit 984b45c609)
2024-05-27 05:55:46 +00:00
Robert Hensing
871a6e4536 testers.lycheeLinkCheck: Validate regex...
... because of the odd choice of config syntax.

(cherry picked from commit 89092532e7)
2024-05-27 05:55:46 +00:00
Robert Hensing
5a51f54ec4 testers.lycheeLinkCheck: Fix plain derivation remap, showcase emptyDirectory
(cherry picked from commit 60536f85a3)
2024-05-27 05:55:46 +00:00
Robert Hensing
20fccd7b6c testers.lycheeLinkCheck: Update docs
A deep dive reveals that the needles in our haystack are actually
regular expressions.

(cherry picked from commit 076c5afd20)
2024-05-27 05:55:46 +00:00
Robert Hensing
25a5fced3c testers.lycheeLinkCheck: Generalize remapUrl convenience feature
(cherry picked from commit f6b7891368)
2024-05-27 05:55:46 +00:00
Robert Hensing
8bfb6afca9 testers.lycheeLinkCheck: Edit documentation
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
(cherry picked from commit 984b11685d)
2024-05-27 05:55:46 +00:00
Robert Hensing
3363b4e759 testers.lycheeLinkCheck: Test online runner
(cherry picked from commit 0291ebf782)
2024-05-27 05:55:46 +00:00
Robert Hensing
e2a9d4f64d doc/testers: Make lycheeLinkCheck section more accessible
- Explain the use case for audience who's new to the concept
- Be more explicit about what the return value "does"

(cherry picked from commit 444f8bf6eb)
2024-05-27 05:55:46 +00:00
Robert Hensing
8567fac505 testers.lycheeLinkCheck: Add online attribute for nix run
(cherry picked from commit c2ebd3ea60)
2024-05-27 05:55:46 +00:00
Robert Hensing
bf8c7334f8 testers.lycheeLinkCheck: init
(cherry picked from commit 6af49f27ed)
2024-05-27 05:55:46 +00:00
Vincent Laporte
e00cc19a9a coqPackages.mathcomp-infotheo: 0.6.1 → 0.7.1
(cherry picked from commit 2322144110)
2024-05-27 07:13:57 +02:00
K900
dd12f1e9cb Merge pull request #314970 from NixOS/backport-312268-to-release-24.05
[Backport release-24.05] nixos/steam: add option `extraPackages` `fontPackages`, fix CJK fonts on client
2024-05-27 07:33:01 +03:00
Connor Baker
4d34890c90 Merge pull request #314991 from NixOS/backport-314707-to-release-24.05
[Backport release-24.05] python3Packages.apricot-select: fixup dependency categories and disable tests
2024-05-27 00:06:27 -04:00
Connor Baker
45516b8d49 python3Packages.apricot-select: disable tests by default
They can run for hours on Hydra: https://hydra.nixos.org/build/261011861

(cherry picked from commit 7568ee06c9)
2024-05-27 03:12:41 +00:00
Connor Baker
f65c42eaf8 python3Packages.apricot-select: disable flaky tests
(cherry picked from commit b1c46e1d2e)
2024-05-27 03:12:41 +00:00
Connor Baker
18a489ea34 python3Packages.apricot-select: move scikit-learn and torchvision to dependencies
These are needed when building the package, not just during the checkPhase. This can be observed by setting
doCheck to false.

(cherry picked from commit b28f7c5303)
2024-05-27 03:12:40 +00:00
Robert Schütz
19f9b6672e chatty: 0.8.2 -> 0.8.3
Changelog: https://gitlab.gnome.org/World/Chatty/-/blob/v0.8.3/NEWS
(cherry picked from commit ead03f474a)
2024-05-27 02:03:54 +00:00
sternenseemann
92797acfb0 haskell.compiler.ghc9{6,8}: fix elfutils splicing
elfutils is used in the RTS (rts/Libdw.c), i.e. it will be used on the
target platform.

Tested via pkgsCross.gnu32.haskellPackages.ghc [1], though #304605 needs
to be cherry-picked for elfutils to build.

[1]: nix-shell -E 'with import ./. { crossSystem = "i686-linux"; };
       mkShell { nativeBuildInputs = [haskellPackages.ghc ]; }'

(cherry picked from commit b868aaab73)
2024-05-27 01:57:53 +02:00
OTABI Tomoya
d41199d0ff Merge pull request #314719 from NixOS/backport-312471-to-release-24.05
[Backport release-24.05] textlint: repackage with buildNpmPackage
2024-05-27 08:55:39 +09:00
Robert Scott
abcb661ced Merge pull request #314959 from NixOS/backport-314886-to-release-24.05
[Backport release-24.05] python312Packages.pyxnat: 1.6 -> 1.6.2
2024-05-27 00:46:40 +01:00
北雁 Cryolitia
7f86c8842a nixos/steam: add option fontPackages
fix #178121

(cherry picked from commit 164f66169a)
2024-05-26 23:36:29 +00:00
北雁 Cryolitia
6775ae8ed9 nixos/steam: add option extraPackages
(cherry picked from commit efef69a51d)
2024-05-26 23:36:29 +00:00
Robert Scott
c780432748 Merge pull request #314926 from NixOS/backport-314810-to-release-24.05
[Backport release-24.05] gnu-smalltalk: fix build
2024-05-27 00:02:52 +01:00
Ben Darwin
8f94fafe2d python312Packages.pyxnat: 1.6 -> 1.6.2
(cherry picked from commit 609f201988)
2024-05-26 22:29:39 +00:00
Andreas Zweili
9b92ac6e5d zipfile2: Mark as broken on Python 3.12
(cherry picked from commit d1828e7501)
2024-05-26 21:23:20 +00:00
K900
8026cc7433 python311Packages.pyside6: fix build with Qt 6.7.1
(Cherry-picked from 8402044163)

Fixes #313908
2024-05-26 21:18:28 +00:00
Maximilian Bosch
3f3c03a9b6 grafana: 10.4.2 -> 10.4.3
ChangeLog: https://github.com/grafana/grafana/releases/tag/v10.4.3
2024-05-26 23:05:17 +02:00
Connor Baker
baf5166949 Merge pull request #314895 from NixOS/backport-314709-to-release-24.05
[Backport release-24.05] python312Packages.accelerate: disable test_dynamo_extract_model
2024-05-26 16:35:43 -04:00
Connor Baker
2f048817b6 Merge pull request #314914 from NixOS/backport-314704-to-release-24.05
[Backport release-24.05] python3Packages.scikit-fmm: fix build on Python 3.12+
2024-05-26 16:35:11 -04:00
Robert Scott
1e8e25358e Merge pull request #314892 from NixOS/backport-314746-to-release-24.05
[Backport release-24.05] tetex: fix darwin build
2024-05-26 20:44:04 +01:00
Robert Scott
6d6eceb9cb Merge pull request #314866 from NixOS/backport-314721-to-release-24.05
[Backport release-24.05] python312Packages.foolscap: fix build
2024-05-26 20:42:39 +01:00
Giulio Cocconi
d50456ad28 gnu-smalltalk: Numbered the patch
(cherry picked from commit 7619c9693e)
2024-05-26 19:37:18 +00:00
Giulio Cocconi
9851bd8f4e gnu-smalltalk: fix-build
(cherry picked from commit 577e785181)
2024-05-26 19:37:18 +00:00
Sandro Jäckel
b21d3c8fd1 ledfx: 2.0.96 -> 2.0.99
(cherry picked from commit a6216de380)
2024-05-26 18:59:52 +00:00
Sandro Jäckel
d87ea2ce3c python3Packages.vnoise: init at 0.1.0
(cherry picked from commit a16d07db1d)
2024-05-26 18:59:52 +00:00
Sandro Jäckel
f1d7443aae python311Packages.pystray: 0.19.2 -> 0.19.5
(cherry picked from commit 53bbdc1a69)
2024-05-26 18:59:52 +00:00
Connor Baker
18900904a2 python3Packages.scikit-fmm: fix build on Python 3.12+
(cherry picked from commit dfb4af7f3e)
2024-05-26 18:44:20 +00:00
Artturin
0404741d97 Merge pull request #314897 from NixOS/backport-312720-to-release-24.05
[Backport release-24.05] pulsar: 1.114.0 -> 1.117.0
2024-05-26 20:24:52 +03:00
John Titor
f82bb581af pulsar: move to pkgs/by-name
(cherry picked from commit ae9df3abff)
2024-05-26 17:22:26 +00:00
John Titor
bdb82988e5 pulsar: 1.114.0 -> 1.117.0
cleanup

(cherry picked from commit 5aae3a45cb)
2024-05-26 17:22:26 +00:00
R. Ryantm
a3a3a2c388 pyradio: 0.9.3.6 -> 0.9.3.7
(cherry picked from commit 3358e97411)
2024-05-26 19:03:44 +02:00
Connor Baker
3ffd42482e python312Packages.accelerate: disable test_dynamo_extract_model
(cherry picked from commit b3e2432ca7)
2024-05-26 16:58:53 +00:00
John Garcia
96452a3d9b remnote: 1.16.4 -> 1.16.18
(cherry picked from commit 8577edcca8)
2024-05-26 16:56:42 +00:00
John Garcia
ba34f4e043 remnote: refactor code
(cherry picked from commit 4010f337cb)
2024-05-26 16:56:42 +00:00
paparodeo
85b86328ec tetex: fix darwin build
specify -std=gnu89 and -std=c++03 to fix the configure script and build.
the tarballs were last updated in 2006 and the package is no longer
maintain so use standards from the era.

(cherry picked from commit 61e89d1002)
2024-05-26 16:55:06 +00:00
Aleksana
b841269d85 Merge pull request #314558 from NixOS/backport-310893-to-release-24.05
[Backport release-24.05] cloudsmith-cli: Fix compatibility with urllib3 2.0
2024-05-26 23:59:37 +08:00
Aleksana
0b584ccdb0 Merge pull request #314571 from NixOS/backport-314475-to-release-24.05
[Backport release-24.05] evolution: 3.52.1 → 3.52.2
2024-05-26 23:58:06 +08:00
Aleksana
eca8d5fdbe Merge pull request #314813 from NixOS/backport-314101-to-release-24.05
[Backport release-24.05] python3Packages.mapclassify: init at 2.6.1
2024-05-26 23:57:53 +08:00
Maximilian Bosch
1c63eb563d Merge pull request #314782 from NixOS/backport-314096-to-release-24.05
[Backport release-24.05] nextcloud28: 28.0.5 -> 28.0.6, nextcloud29: 29.0.0 -> 29.0.1
2024-05-26 15:51:38 +00:00
Robert Scott
efd97682e4 Merge pull request #314830 from NixOS/backport-314705-to-release-24.05
[Backport release-24.05] python312Packages.pgmpy: patch assert in test suite for Python 3.12
2024-05-26 16:36:32 +01:00
Moraxyc
105f193844 python312Packages.foolscap: fix build
(cherry picked from commit 3a74cef93f)
2024-05-26 14:44:49 +00:00
Nick Cao
17e82d424c Merge pull request #314826 from NixOS/backport-313424-to-release-24.05
[Backport release-24.05] bcachefs-tools: 1.7.0 -> 1.7.0-unstable-2024-05-09
2024-05-26 10:31:28 -04:00
Nick Cao
d7e44cff15 Merge pull request #314790 from NixOS/backport-313223-to-release-24.05
[Backport release-24.05] webcord-vencord: fix runtime segfault
2024-05-26 10:22:31 -04:00
Nick Cao
f919f2978c Merge pull request #314793 from NixOS/backport-314361-to-release-24.05
[Backport release-24.05] bento4: fix build on darwin
2024-05-26 10:21:59 -04:00
Nick Cao
929d8b66fe Merge pull request #314805 from NixOS/backport-314135-to-release-24.05
[Backport release-24.05] dayon: 14.0.0 -> 14.0.1
2024-05-26 10:20:22 -04:00
DontEatOreo
f5c37d32f9 arc-browser: 1.43.1-50198 -> 1.44.2-50412
Changelog: https://arc.net/e/C56904FA-1C75-4D77-9A87-E7F1A52529CD
(cherry picked from commit 76ef308d2d)
2024-05-26 13:59:26 +00:00
Martin Weinelt
a9fc3b087f Merge pull request #314856 from NixOS/backport-314545-to-release-24.05
[Backport release-24.05] python312Packages.homeassistant-stubs: 2024.5.4 -> 2024.5.5
2024-05-26 15:57:45 +02:00
Nick Cao
a8443bd1a3 Merge pull request #314530 from NixOS/backport-314292-to-release-24.05
[Backport release-24.05] rnote: mark as broken on darwin
2024-05-26 09:45:21 -04:00
Nick Cao
6aadf6e084 Merge pull request #314531 from NixOS/backport-314448-to-release-24.05
[Backport release-24.05] nuclei: 3.2.7 -> 3.2.8
2024-05-26 09:45:01 -04:00
Martin Weinelt
4e6eae43a4 python312Packages.homeassistant-stubs: 2024.5.4 -> 2024.5.5
https://github.com/KapJI/homeassistant-stubs/releases/tag/2024.5.5
(cherry picked from commit fe41047e4c)
2024-05-26 13:44:50 +00:00
Nick Cao
75fef7bb88 Merge pull request #314537 from NixOS/backport-313112-to-release-24.05
[Backport release-24.05] firefly-iii: 6.1.15 -> 6.1.16
2024-05-26 09:44:41 -04:00
Nick Cao
f99f394249 Merge pull request #314567 from NixOS/backport-313925-to-release-24.05
[Backport release-24.05] openjdk11, openjfx11, corretto11: update
2024-05-26 09:43:10 -04:00
Nick Cao
cc5ae9c1e5 Merge pull request #314578 from justinas/backport-24-05-teleport-15-3-7
[24.05] teleport_15: 15.2.2 -> 15.3.7, teleport_14: 14.3.0 -> 14.3.20, teleport_13: 13.4.14 -> 13.4.26
2024-05-26 09:40:26 -04:00
OTABI Tomoya
d74a983e00 Merge pull request #314756 from NixOS/backport-314647-to-release-24.05
[Backport release-24.05] python312Packages.hyppo: unbreak
2024-05-26 22:27:01 +09:00
OTABI Tomoya
65c3e1cd07 Merge pull request #314762 from NixOS/backport-314731-to-release-24.05
[Backport release-24.05] python312Packages.python-fontconfig: fix build
2024-05-26 22:25:50 +09:00
Robert Scott
7c5dc0287e Merge pull request #314589 from NixOS/backport-313536-to-release-24.05
[Backport release-24.05] python311Packages.mne-python: 1.6.1 -> 1.7.0
2024-05-26 13:53:34 +01:00
R. Ryantm
33cc4250a1 shattered-pixel-dungeon: 2.4.0 -> 2.4.1
(cherry picked from commit 91213d3aad)
2024-05-26 12:49:40 +00:00
Connor Baker
f76b9e3f51 python3Packages.pgmpy: patch assert in test suite for Python 3.12
(cherry picked from commit dcf25f5f48)
2024-05-26 11:39:51 +00:00
John Titor
9f4c80f7a7 bcachefs-tools: replace -> replace-fail
(cherry picked from commit 4b7a2daf91)
2024-05-26 11:08:38 +00:00
John Titor
f79e28fb04 bcachefs-tools: 1.7.0 -> 1.7.0-unstable-2024-05-09
Moved temporarily to unstable to fix https://github.com/NixOS/nixpkgs/issues/313350

Also vendor the updated patch for https://github.com/NixOS/nixpkgs/issues/309388
from https://github.com/koverstreet/bcachefs-tools/pull/263

(cherry picked from commit 10378661e5)
2024-05-26 11:08:38 +00:00
John Titor
84bcce509d bcachefs-tools: move to pkgs/by-name
(cherry picked from commit d6043adf28)
2024-05-26 11:08:38 +00:00
Aleksana
4c827f2767 [Backport release-24.05] python3Packages.trainer: fix build
[Backport release-24.05] python3Packages.trainer: fix build
2024-05-26 18:56:49 +08:00
github-actions[bot]
cbf353fd83 luaPackages.toml-edit: unbreak on darwin (#314611)
* luaPackages.toml-edit: unbreak on darwin

(cherry picked from commit b0b63ae37c)

* use lua.pkgs.isLuaJIT

(cherry picked from commit a9bf74b3ad)

---------

Co-authored-by: Mathis Antony <sveitser@gmail.com>
2024-05-26 12:23:27 +02:00
Atemu
4b7560d97b nextcloudPackages.richdocuments: init
This is the "Nextcloud Office" app that offers Collabora CODE integration.

You still need Collabora CODE itself running somewhere but this is one step
towards https://github.com/NixOS/nixpkgs/issues/218878.

(cherry picked from commit 04445ac137)
2024-05-26 10:14:37 +00:00
Nikolay Korotkiy
94db9bb537 python3Packages.mapclassify: init at 2.6.1
(cherry picked from commit c01eae87e2)
2024-05-26 10:08:56 +00:00
Nikolay Korotkiy
3d81ae8a42 python3Packages.libpysal: init at 4.10
(cherry picked from commit 55f48eac29)
2024-05-26 10:08:56 +00:00
Nikolay Korotkiy
2d11dc2db1 python3Packages.geodatasets: init at 2023.12.0
(cherry picked from commit 535a575606)
2024-05-26 10:08:56 +00:00
Nikolay Korotkiy
e3ce7a99c5 python3Packages.pyogrio: init at 0.8.0
(cherry picked from commit 7b3f4fcdb2)
2024-05-26 10:08:56 +00:00
R. Ryantm
a92a5c3cb4 dayon: 14.0.0 -> 14.0.1
(cherry picked from commit cb2a42ed78)
2024-05-26 09:30:14 +00:00
Sandro
a515734c9b Merge pull request #314799 from NixOS/backport-314415-to-release-24.05
[Backport release-24.05] brave: 1.66.110 -> 1.66.115
2024-05-26 11:29:30 +02:00
Sean Buckley
0fb0eed01e brave: 1.66.110 -> 1.66.115
https://community.brave.com/t/release-channel-1-66-115/550022
(cherry picked from commit c15976a9a2)
2024-05-26 09:02:19 +00:00
Alex James
1b7457ee66 bento4: fix evaluation on darwin
CMakeLists.txt in v1.6.0-641 set `CMAKE_OSX_ARCHITECTURES`, which broke
evaluation on Darwin. Fix it by unsetting `CMAKE_OSX_ARCHITECTURES`.

(cherry picked from commit b7b04c42f8)
2024-05-26 08:04:07 +00:00
éclairevoyant
6913198c62 webcord-vencord: fix runtime segfault
(cherry picked from commit bfed80cb51)
2024-05-26 07:57:33 +00:00
Bas van Dijk
8df00c866a wasmtime: disable checks on all aarch64 platforms
(cherry picked from commit cbb848547a)
2024-05-26 07:56:00 +00:00
Bas van Dijk
29d3787cba wasmtime: fix build on aarch64-darwin
The check phase fails on aarch64-darwin because of:

```
$ nix-build -A wasmtime
...
buildPhase completed in 1 minutes 41 seconds
Running phase: checkPhase
Executing cargoCheckHook
++ cargo test -j 10 --profile release --target aarch64-apple-darwin --frozen -- --test-threads=10
...
       >   error: linker `rust-lld` not found
       >     |
       >     = note: No such file or directory (os error 2)
       >
       >   error: could not compile `wasi-preview1-component-adapter` (lib) due to 1 previous error
```

I tried to bring `lld` into scope and set `RUSTFLAGS = "-C linker=lld`
but I couldn't get the tests to build. So I just disabled them on aarch64-darwin.

(cherry picked from commit cca07f139d)
2024-05-26 07:56:00 +00:00
Aleksana
3d3a77714a Merge pull request #314761 from NixOS/backport-314736-to-release-24.05
[Backport release-24.05] python3Packages.python-twitter: fix
2024-05-26 15:51:59 +08:00
Connor Baker
33d76c13a9 python3Packages.trainer: fix Python 3.12+
(cherry picked from commit e54355ea20)
2024-05-26 07:42:27 +00:00
Robert Schütz
ad0eb7e0f3 nextcloud-notify_push: 0.6.10 -> 0.6.11
Diff: https://github.com/nextcloud/notify_push/compare/v0.6.10...v0.6.11

Changelog: https://github.com/nextcloud/notify_push/releases/tag/v0.6.11
(cherry picked from commit dd7a48b54f)
2024-05-26 07:40:30 +00:00
Robert Schütz
fbb6f191b4 nextcloudPackages: update
(cherry picked from commit ea23d5ac3d)
2024-05-26 07:40:30 +00:00
Robert Schütz
642d307f89 nextcloud29: 29.0.0 -> 29.0.1
Changelog: https://nextcloud.com/changelog/#29-0-1
(cherry picked from commit ff64ac2e17)
2024-05-26 07:40:30 +00:00
Robert Schütz
2ff5772672 nextcloud28: 28.0.5 -> 28.0.6
Changelog: https://nextcloud.com/changelog/#28-0-6
(cherry picked from commit 84c8e8af00)
2024-05-26 07:40:30 +00:00
Sandro Jäckel
65fc041173 nixos/no-x-libs: fix mpv build by disabling drmSupport, disable more GUI only relevant features
(cherry picked from commit b9ec2c14d8)
2024-05-26 05:57:15 +00:00
Sandro Jäckel
1ec9f0f58f nixos/no-x-libs: add libplacebo
(cherry picked from commit 2a8e5155c9)
2024-05-26 05:57:15 +00:00
Sandro Jäckel
1a9dbfb0da libplacebo: add vulkanSupport option
(cherry picked from commit e499cfa37b)
2024-05-26 05:57:15 +00:00
Sandro Jäckel
b3ea894889 rubberband: use headless jdk
This fixes the build with environment.noXlibs set to true

(cherry picked from commit 22df7fb99f)
2024-05-26 05:57:15 +00:00
Aleksana
c73138c590 Merge pull request #314495 from NixOS/backport-307571-to-release-24.05
[Backport release-24.05] insomnia: 8.6.1 -> 9.0.0
2024-05-26 13:44:39 +08:00
Aleksana
31de6674eb Merge pull request #314500 from NixOS/backport-309570-to-release-24.05
[Backport release-24.05] spicetify-cli: rename bin
2024-05-26 13:44:25 +08:00
Aleksana
5d569ccdec Merge pull request #314734 from NixOS/backport-314714-to-release-24.05
[Backport release-24.05] palemoon-bin: remove AndersonTorres from maintainers
2024-05-26 13:44:07 +08:00
Moraxyc
61eebf4471 python312Packages.python-fontconfig: fix build
(cherry picked from commit 66fd70a9fa)
2024-05-26 05:21:47 +00:00
Moraxyc
0e260e923d python3Packages.python-twitter: fix
(cherry picked from commit d3b9ef5962)
2024-05-26 05:20:16 +00:00
Ben Darwin
f623509cb2 python312Packages.hyppo: unbreak
Disabled doctests which seem not properly maintained/tested; disabled
test collection of non-source directories (e.g. 'tutorials' contains
some broken code, but no actual tests)

(cherry picked from commit 0eacecad36)
2024-05-26 05:15:19 +00:00
Anderson Torres
de6830cca5 palemoon-bin: remove AndersonTorres from maintainers
(cherry picked from commit 1d77540678)
2024-05-26 02:30:28 +00:00
natsukium
0baa634e8e textlint-rule-common-misspellings: repackage
There is no lock file in this package, but it is old and stable enough
so that we handle dependencies manually.

(cherry picked from commit 5f58c6a87d)
2024-05-26 00:24:19 +00:00
natsukium
edda1892d7 textlint-rule-no-start-duplicated-conjunction: repackage with fetchYarnDeps
(cherry picked from commit 950ff0df92)
2024-05-26 00:24:19 +00:00
natsukium
410be13e5c textlint-rule-abbr-within-parentheses: repackage with fetchYarnDeps
(cherry picked from commit 1e81326637)
2024-05-26 00:24:19 +00:00
natsukium
289d6c3751 textlint-rule-period-in-list-item: repackage with fetchYarnDeps
(cherry picked from commit e242a02edc)
2024-05-26 00:24:18 +00:00
natsukium
551d1d0dfb textlint-rule-unexpanded-acronym: repackage with fetchYarnDeps
(cherry picked from commit 2aaa9011e1)
2024-05-26 00:24:18 +00:00
natsukium
218d1791d0 textlint-rule-en-max-word-count: repackage with fetchYarnDeps
(cherry picked from commit 8fc1968cb2)
2024-05-26 00:24:18 +00:00
natsukium
b97023cd16 textlint-rule-terminology: repackage with buildNpmPackage
(cherry picked from commit 3109179f68)
2024-05-26 00:24:18 +00:00
natsukium
befdd4fcc9 textlint-plugin-latex: remove
(cherry picked from commit 9587d0c8f9)
2024-05-26 00:24:18 +00:00
natsukium
600786c8cd textlint-plugin-latex2e: init at 1.2.1-unstable-2024-02-05
(cherry picked from commit dc4a3ade28)
2024-05-26 00:24:18 +00:00
natsukium
9b0989a1a0 textlint-rule-stop-words: repackage with buildNpmPackage
(cherry picked from commit c4db484f14)
2024-05-26 00:24:18 +00:00
natsukium
6f2cd96b3d textlint-rule-diacritics: repackage with buildNpmPackage
(cherry picked from commit d47ef02451)
2024-05-26 00:24:18 +00:00
natsukium
d9bb9fd8db textlint-rule-write-good: repackage with fetchYarnDeps
(cherry picked from commit c28503fd79)
2024-05-26 00:24:18 +00:00
natsukium
0a9de878b9 textlint-rule-alex: repackage with buildNpmPackage
(cherry picked from commit e633e33303)
2024-05-26 00:24:18 +00:00
natsukium
a065c44013 textlint-rule-max-comma: repackage with fetchYarnDeps
(cherry picked from commit 95507da635)
2024-05-26 00:24:18 +00:00
natsukium
d666c6e82d textlint-rule-preset-ja-technical-writing: init at 10.0.1
(cherry picked from commit f26194c4f1)
2024-05-26 00:24:18 +00:00
natsukium
78b139ef58 textlint: add test utility
(cherry picked from commit 68c7f8e5ab)
2024-05-26 00:24:18 +00:00
natsukium
d25bcd6bda textlint: make textlint pluggable with passthru.withPackages
textlint isn't useful without rules and plugins.
This change will allow to provide a wrapper that can use them, using
`textlint.withPackages [ xxx ]` like the Python environment.

(cherry picked from commit cd59be301d)
2024-05-26 00:24:17 +00:00
natsukium
5d1ad25393 textlint: repackage with buildNpmPackage
(cherry picked from commit f1a746de73)
2024-05-26 00:24:17 +00:00
Nick Cao
7d850e3ae2 Merge pull request #314580 from NixOS/backport-314345-to-release-24.05
[Backport release-24.05] bearer: 1.43.5 -> 1.43.6
2024-05-25 17:52:55 -04:00
superherointj
145028d14f Merge pull request #314606 from NixOS/backport-314009-to-release-24.05
[Backport release-24.05] vscode-extensions.ms-vscode.cpptools: Use the bundled interpreter for cpptools*
2024-05-25 16:06:29 -03:00
Robert Scott
8219ecf351 Merge pull request #314563 from NixOS/backport-314340-to-release-24.05
[Backport release-24.05] pdfslicer: work around incompatibility with GCC 13
2024-05-25 17:54:57 +01:00
Robert Scott
f47514f5ac Merge pull request #314551 from NixOS/backport-314037-to-release-24.05
[Backport release-24.05] python3Packages.graph-tool: 2.45 -> 2.65
2024-05-25 17:53:33 +01:00
K900
58164045c0 Merge pull request #314641 from NixOS/backport-314630-to-release-24.05
[Backport release-24.05] Kernel updates for 2024-05-25
2024-05-25 19:37:14 +03:00
K900
6eeffe0fa7 linux_latest-libre: 19546 -> 19569
(cherry picked from commit fd29fa20c2)
2024-05-25 16:36:37 +00:00
K900
1b2108328e linux-rt_6_6: 6.6.30-rt30 -> 6.6.31-rt31
(cherry picked from commit 21493325b1)
2024-05-25 16:36:37 +00:00
K900
304c7d3859 linux-rt_6_1: 6.1.90-rt30 -> 6.1.91-rt31
(cherry picked from commit 6a79d74445)
2024-05-25 16:36:37 +00:00
K900
4f2aec5a5c linux_4_19: 4.19.314 -> 4.19.315
(cherry picked from commit 840294e13e)
2024-05-25 16:36:37 +00:00
K900
ebde1bca3b linux_5_4: 5.4.276 -> 5.4.277
(cherry picked from commit 38ec9aa6fc)
2024-05-25 16:36:37 +00:00
K900
e3de041c4f linux_5_10: 5.10.217 -> 5.10.218
(cherry picked from commit 8a6766a212)
2024-05-25 16:36:37 +00:00
K900
f54d7b4b49 linux_5_15: 5.15.159 -> 5.15.160
(cherry picked from commit 3b23ad31e1)
2024-05-25 16:36:37 +00:00
K900
349dc3fc79 linux_6_1: 6.1.91 -> 6.1.92
(cherry picked from commit cc0c6c244c)
2024-05-25 16:36:37 +00:00
K900
1430fe1d3f linux_6_6: 6.6.31 -> 6.6.32
(cherry picked from commit ff01ae0efc)
2024-05-25 16:36:37 +00:00
K900
3610e135af linux_6_8: 6.8.10 -> 6.8.11
(cherry picked from commit 3d7d6d517a)
2024-05-25 16:36:37 +00:00
K900
324166e974 linux_6_9: 6.9.1 -> 6.9.2
(cherry picked from commit ebbba195fb)
2024-05-25 16:36:37 +00:00
Markus Kowalewski
409f34af8e Merge pull request #314610 from NixOS/backport-314067-to-release-24.05
[Backport release-24.05] slurm: 23.11.6.1 -> 23.11.7.1
2024-05-25 16:07:04 +00:00
Nick Cao
4dab92a437 Merge pull request #314585 from NixOS/backport-314469-to-release-24.05
[Backport release-24.05] viceroy: 0.9.6 -> 0.9.7
2024-05-25 11:57:58 -04:00
Nick Cao
e2f1340d25 Merge pull request #314586 from NixOS/backport-314518-to-release-24.05
[Backport release-24.05] lightningcss: 1.25.0 -> 1.25.1
2024-05-25 11:57:34 -04:00
Ivan Mincik
84bd8e465b Merge pull request #314554 from NixOS/backport-314546-to-release-24.05
[Backport release-24.05] python3Packages.owslib: disable all online tests using marker
2024-05-25 14:58:30 +00:00
Markus Kowalewski
3f04d31161 slurm: 23.11.6.1 -> 23.11.7.1
(cherry picked from commit 958fbf7e62)
2024-05-25 14:14:33 +00:00
Jeremy Kolb
c7b7989e26 vscode-extensions.ms-vscode.cpptools: Use the bundled interpreter for binaries
Previously autoPatchelfHook would stomp on the interpreter for the bundled
cpptools* executables. Here we manually run the hook and then explicitly
patch the interpreter.

(cherry picked from commit 5b6363538b)
2024-05-25 14:04:51 +00:00
Jeremy Kolb
85def070eb vscode-extensions.ms-vscode-cpptools: Remove unused LLVM directory
Saves some bytes

(cherry picked from commit 437f15f5cd)
2024-05-25 14:04:50 +00:00
Robert Scott
39d47f377a Merge pull request #314572 from NixOS/backport-314543-to-release-24.05
[Backport release-24.05] foma: 0.10.0alpha -> 0.10.0alpha-unstable-03-13-2024; fix darwin
2024-05-25 15:02:43 +01:00
Nick Cao
17a2ffa91c Merge pull request #314544 from NixOS/backport-314524-to-release-24.05
[Backport release-24.05] python312Packages.msoffcrypto-tool: 5.4.0 -> 5.4.1
2024-05-25 09:26:32 -04:00
Nick Cao
3223077216 Merge pull request #314552 from NixOS/backport-314489-to-release-24.05
[Backport release-24.05] geoserver: 2.25.0 -> 2.25.1
2024-05-25 09:25:49 -04:00
Nick Cao
32822d5982 Merge pull request #314560 from NixOS/backport-314467-to-release-24.05
[Backport release-24.05] telegram-desktop: 5.0.1 -> 5.0.2
2024-05-25 09:24:11 -04:00
Ben Darwin
bfb4ea185d python311Packages.mne-python: 1.6.1 -> 1.7.0
Co-authored-by: nicoo <nicoo@debian.org>
(cherry picked from commit c952647769)
2024-05-25 13:20:53 +00:00
Nick Cao
ee404dcc1f Merge pull request #314499 from NixOS/backport-313938-to-release-24.05
[Backport release-24.05] f3d: unbreak on darwin
2024-05-25 09:18:13 -04:00
John Titor
bd99b64f32 lightningcss: 1.25.0 -> 1.25.1
cleanup

(cherry picked from commit 82bc7c5756)
2024-05-25 13:16:07 +00:00
Nick Cao
95006208e0 Merge pull request #314517 from NixOS/backport-314396-to-release-24.05
[Backport release-24.05] sqlfluff: 3.0.6 -> 3.0.7
2024-05-25 09:15:55 -04:00
Nick Cao
80ad008d22 Merge pull request #314519 from NixOS/backport-314394-to-release-24.05
[Backport release-24.05] vunnel: 0.23.0 -> 0.23.2
2024-05-25 09:15:05 -04:00
Nick Cao
9abbbbb674 Merge pull request #314520 from NixOS/backport-314393-to-release-24.05
[Backport release-24.05] trivy: 0.51.2 -> 0.51.4
2024-05-25 09:14:51 -04:00
R. Ryantm
ca7d2eeffd viceroy: 0.9.6 -> 0.9.7
(cherry picked from commit af8d330e9e)
2024-05-25 13:11:56 +00:00
Nick Cao
3a435d16ee Merge pull request #314432 from NixOS/backport-313965-to-release-24.05
[Backport release-24.05] fastfetch: 2.13.1 -> 2.13.2
2024-05-25 09:05:48 -04:00
Nick Cao
7874563e52 Merge pull request #314434 from NixOS/backport-314022-to-release-24.05
[Backport release-24.05] pdm: 2.15.2 -> 2.15.3
2024-05-25 09:05:33 -04:00
Nick Cao
64e9311e23 Merge pull request #314368 from NixOS/backport-314336-to-release-24.05
[Backport release-24.05] warp-terminal: 0.2024.05.14.08.01.stable_04 -> 0.2024.05.21.16.09.stable_02
2024-05-25 08:59:46 -04:00
Nick Cao
2fe67c9a64 Merge pull request #314417 from NixOS/backport-313748-to-release-24.05
[Backport release-24.05] ark-pixel-font: unbreak by suppressing debug logs, and remove extraneous builds
2024-05-25 08:57:27 -04:00
Nick Cao
361923778f Merge pull request #314342 from NixOS/backport-314306-to-release-24.05
[Backport release-24.05] codeberg-cli: fix darwin build
2024-05-25 08:49:16 -04:00
R. Ryantm
fb47060349 bearer: 1.43.5 -> 1.43.6
(cherry picked from commit 45437442ae)
2024-05-25 12:48:30 +00:00
Justinas Stankevicius
404c114982 teleport_13: 13.4.14 -> 13.4.26 2024-05-25 15:38:34 +03:00
Justinas Stankevicius
af3204c874 teleport_14: 14.3.0 -> 14.3.20 2024-05-25 15:38:29 +03:00
Justinas Stankevicius
7aeb0f9839 teleport_15: 15.2.2 -> 15.3.7 2024-05-25 15:38:23 +03:00
paparodeo
01a44ef32e foma: 0.10.0alpha -> 0.10.0alpha-unstable-03-13-2024
- 82f9acdef2...e0d8122bda
- build switched from make to cmake
- fixes darwin

(cherry picked from commit 57a2ace07e)
2024-05-25 12:19:13 +00:00
Bobby Rong
d81fe19156 evolution-ews: 3.52.1 → 3.52.2
https://gitlab.gnome.org/GNOME/evolution-ews/-/compare/3.52.1...3.52.2
(cherry picked from commit 088e0bee0b)
2024-05-25 12:16:59 +00:00
Bobby Rong
fc27b13e9a evolution-data-server: 3.52.1 → 3.52.2
https://gitlab.gnome.org/GNOME/evolution-data-server/-/compare/3.52.1...3.52.2
(cherry picked from commit 2688261096)
2024-05-25 12:16:59 +00:00
Bobby Rong
a7c6a9d1b5 evolution: 3.52.1 → 3.52.2
https://gitlab.gnome.org/GNOME/evolution/-/compare/3.52.1...3.52.2
(cherry picked from commit 628fa7954f)
2024-05-25 12:16:59 +00:00
Markus Kowalewski
6535911d16 Merge pull request #314369 from NixOS/backport-314078-to-release-24.05
[Backport release-24.05] nfs-ganesha: 5.7 -> 5.9
2024-05-25 12:16:38 +00:00
Infinidoge
b02f4c33cb corretto: 11.0.20.9.1 -> 11.0.23.9.1
(cherry picked from commit 9710ec0b8e)
2024-05-25 11:57:14 +00:00
Infinidoge
9699b1ed52 openjfx: 11.0.18+1 -> 11.0.20+1
(cherry picked from commit 6c26092a0e)
2024-05-25 11:57:13 +00:00
Infinidoge
43cd813da4 openjdk: 11.0.19+7 -> 11.0.23+9
(cherry picked from commit fd875d904c)
2024-05-25 11:57:13 +00:00
Andrew Kvalheim
dc24d15990 pdfslicer: work around incompatibility with GCC 13
GCC 13 introduced warning `-Wchanges-meaning`, resulting in build failure:

    /build/source/third-party/range-v3/include/meta/meta.hpp:3165:19: error: declaration of 'template<class Fn> template<class State, class A> using meta::detail::partition_<Fn>::invoke = meta::_t<meta::detail::partition_<Fn>::impl<State, A> >' changes meaning of 'invoke' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wchanges-meaning-Wchanges-meaning8;;]
     3165 |             using invoke = _t<impl<State, A>>;
          |                   ^~~~~~
    /build/source/third-party/range-v3/include/meta/meta.hpp:3160:34: note: used here to mean 'using meta::invoke = typename Fn::invoke<A>'
     3160 |                 using type = if_<invoke<Fn, A>, pair<list<Yes..., A>, list<No...>>,
          |                                  ^~~~~~~~~~~~~
    /build/source/third-party/range-v3/include/meta/meta.hpp:541:11: note: declared here
      541 |     using invoke = typename Fn::template invoke<Args...>;
          |           ^~~~~~

Upstream appears to be unmaintained, so for now just disable the warning.

(cherry picked from commit 99f6cff91d)
2024-05-25 11:33:03 +00:00
R. Ryantm
99cddd7c52 telegram-desktop: 5.0.1 -> 5.0.2
(cherry picked from commit 5b47599905)
2024-05-25 11:14:12 +00:00
Nick Cao
4f6c99a39a Merge pull request #314430 from NixOS/backport-314027-to-release-24.05
[Backport release-24.05] element-{desktop,web}: 1.11.66 -> 1.11.67
2024-05-25 07:13:18 -04:00
Jan Tojnar
e888827914 cloudsmith-cli: Fix compatibility with urllib3 2.0
This requires a patch but we cannot really apply those to a wheel,
so I had to switch to fetching the source from GitHub.
As a side benefit, we can now run tests.

(cherry picked from commit bd366372ed)
2024-05-25 11:08:51 +00:00
Jonas Meurer
ad0be8c555 python3Packages.shiboken6: restore backwards compatibility with 6.6
Pyside 6.7.0 (more specific 5d05065b57f5e37c2229ff6a2d98d936c5c7f2bb)
introduced a change which is partly backwards compatible. This patch
allows packages (e.g. Cutter), which depend on the backwards
compatibility, to build again.

(cherry picked from commit 36e236ef49)
2024-05-25 11:05:35 +00:00
Ivan Mincik
ddf4e77f66 python3Packages.owslib: disable all online tests using marker
(cherry picked from commit c72e77b4c0)
2024-05-25 11:00:28 +00:00
R. Ryantm
09ff27e8ca geoserver: 2.25.0 -> 2.25.1
(cherry picked from commit bdac6aac99)
2024-05-25 10:47:45 +00:00
Moraxyc
948ce11c64 python3Packages.graph-tool: broken on darwin
(cherry picked from commit cf4b55fb4a)
2024-05-25 10:46:46 +00:00
Moraxyc
b87a101019 pythonPackages.graph-tool: 2.45 -> 2.65
(cherry picked from commit f56901a097)
2024-05-25 10:46:46 +00:00
Marcus Ramberg
4f6d278e74 Merge pull request #314411 from NixOS/backport-314329-to-release-24.05 2024-05-25 12:45:10 +02:00
OTABI Tomoya
74509481c5 Merge pull request #314419 from NixOS/backport-314307-to-release-24.05
[Backport release-24.05] python311Packages.bambi: mark as broken
2024-05-25 19:39:07 +09:00
Aleksana
bfec08915e Merge pull request #314320 from NixOS/backport-313719-to-release-24.05
[Backport release-24.05] mrtg: add ipv6-required perl packages
2024-05-25 18:30:49 +08:00
Aleksana
e91515372c [Backport release-24.05] perlPackages.FinanceQuote: 1.61 -> 1.62
[Backport release-24.05] perlPackages.FinanceQuote: 1.61 -> 1.62
2024-05-25 18:30:05 +08:00
Fabian Affolter
fafc989107 python312Packages.msoffcrypto-tool: 5.4.0 -> 5.4.1
Diff: https://github.com/nolze/msoffcrypto-tool/compare/refs/tags/v5.4.0...v5.4.1

Changelog: https://github.com/nolze/msoffcrypto-tool/blob/v5.4.1/CHANGELOG.md
(cherry picked from commit e1b5d0d756)
2024-05-25 10:15:30 +00:00
Savyasachee Jha
e55238de2b nixos/firefly-iii: Changes to module and tests
Module has been fixed and now uses the maintenance service to cache
settings so as to not require environment files wherever possible.

The tests now test using mariadb and postgresql as well as sqlite to be
more complete. A test has been added for testing whether app.js has been
compiled successfully, as well as to check whether the cronjob fires
successfully.

(cherry picked from commit eee8b0bff3)
2024-05-25 08:42:10 +00:00
Savyasachee Jha
2c0da29b41 firefly-iii: 6.1.15 -> 6.1.16
(cherry picked from commit 7d516d945d)
2024-05-25 08:42:10 +00:00
Jon Seager
e62719f4d2 Merge pull request #314516 from NixOS/backport-314505-to-release-24.05 2024-05-25 09:34:34 +01:00
Misaka13514
00a911ffac nuclei: 3.2.7 -> 3.2.8
Diff: https://github.com/projectdiscovery/nuclei/compare/v3.2.7...v3.2.8

Changelog: https://github.com/projectdiscovery/nuclei/releases/tag/v3.2.8
(cherry picked from commit 61d8d4619d)
2024-05-25 07:57:20 +00:00
Gutyina Gergő
3b11560d23 rnote: mark as broken on darwin
(cherry picked from commit 3a560bface)
2024-05-25 07:56:37 +00:00
Mihai Fufezan
a12dac416c hyprland: 0.40.0-unstable-2024-05-12 -> 0.40.0-unstable-2024-05-05
(cherry picked from commit 7c60f015be)
2024-05-25 07:13:54 +00:00
Mihai Fufezan
4bf94f8ad8 hyprwayland-scanner: 0.3.8 -> 0.3.4
(cherry picked from commit 7185b47557)
2024-05-25 07:13:54 +00:00
Fabian Affolter
0b35b91d13 trivy: 0.51.2 -> 0.51.4
Diff: https://github.com/aquasecurity/trivy/compare/refs/tags/v0.51.2...v0.51.4

Changelog: https://github.com/aquasecurity/trivy/releases/tag/v0.51.4
(cherry picked from commit a4618e9a78)
2024-05-25 07:02:13 +00:00
Fabian Affolter
f277c9249f vunnel: 0.23.0 -> 0.23.2
Diff: https://github.com/anchore/vunnel/compare/refs/tags/v0.23.0...v0.23.2

Changelog: https://github.com/anchore/vunnel/releases/tag/v0.23.2
(cherry picked from commit 8205e70c89)
2024-05-25 07:01:56 +00:00
Fabian Affolter
e9e8e7aeca sqlfluff: 3.0.6 -> 3.0.7
Diff: https://github.com/sqlfluff/sqlfluff/compare/refs/tags/3.0.6...3.0.7

Changelog: https://github.com/sqlfluff/sqlfluff/blob/3.0.7/CHANGELOG.md
(cherry picked from commit bc960dc252)
2024-05-25 07:01:38 +00:00
Vladimír Čunát
e10170a344 Merge #314514: knot-resolver: add luaPackages.psl
...into release-24.05
2024-05-25 08:47:52 +02:00
Clemens Fruhwirth
095421837e google-chrome: 125.0.6422.76 -> 125.0.6422.112
(cherry picked from commit 57de378343)
2024-05-25 06:47:24 +00:00
Sandro Jäckel
c05f821f65 knot-resolver: add luaPackages.psl
(cherry picked from commit f358fe97ec)
2024-05-25 06:46:54 +00:00
Sandro Jäckel
b4b099c6e9 luaPackages.psl: init at 0.3
(cherry picked from commit 12a5234a61)
2024-05-25 06:46:54 +00:00
K900
101b166756 Merge pull request #314513 from NixOS/backport-314511-to-release-24.05
[Backport release-24.05] KDE Frameworks 6.2.x respins
2024-05-25 09:42:48 +03:00
K900
adf585abee kdePackages.kwidgetsaddons: 6.2.0 -> 6.2.2
(cherry picked from commit 452d4f9e49)
2024-05-25 06:42:10 +00:00
K900
3213e51674 kdePackages.kwallet: 6.2.0 -> 6.2.1
(cherry picked from commit 11ba5d3119)
2024-05-25 06:42:10 +00:00
Aleksana
8b4a540e6b Merge pull request #314269 from NixOS/backport-313685-to-release-24.05
[Backport release-24.05] raycast: 1.74.1 -> 1.75.1
2024-05-25 14:34:00 +08:00
uncenter
1b77b095d1 spicetify-cli: rename bin
(cherry picked from commit 35d05033a8)
2024-05-25 05:19:31 +00:00
Peder Bergebakken Sundt
650b3719f0 f3d: add withManual option, by default disabled on darwin
should fix darwin

(cherry picked from commit dc4209a00a)
2024-05-25 05:15:43 +00:00
Peder Bergebakken Sundt
918d095665 f3d: condition autoPatchelfHook on isElf
should fix darwin

(cherry picked from commit 67d4cea69d)
2024-05-25 05:15:43 +00:00
Aleksana
21f02582dc Merge pull request #313957 from NixOS/backport-312495-to-release-24.05
[Backport release-24.05] hedgedoc: fix executing scripts
2024-05-25 13:08:56 +08:00
Aleksana
a63cfb2fd9 Merge pull request #314201 from NixOS/backport-314041-to-release-24.05
[Backport release-24.05] python312Packages.fastparquet: 2024.2.0 -> 2024.5.0
2024-05-25 13:08:01 +08:00
Aleksana
a9658a8b61 Merge pull request #314207 from NixOS/backport-314146-to-release-24.05
[Backport release-24.05] kubestroyer: 0.2 -> 0.3.0
2024-05-25 13:07:46 +08:00
Aleksana
3a253a1a0d Merge pull request #314184 from NixOS/backport-313623-to-release-24.05
[Backport release-24.05] plattenalbum: 1.11.0 -> 2.1.0; renamed from mpdevil
2024-05-25 13:05:54 +08:00
Aleksana
16a95e83cd Merge pull request #314217 from NixOS/backport-303969-to-release-24.05
[Backport release-24.05] openttd: 13.4 -> 14.1
2024-05-25 13:05:33 +08:00
Aleksana
83aab5e19f Merge pull request #314255 from NixOS/backport-309418-to-release-24.05
[Backport release-24.05] boehmgc: disable tests on aarch64-linux
2024-05-25 13:05:16 +08:00
DataHearth
bdb0208651 insomnia: 8.6.1 -> 9.0.0
(cherry picked from commit aac727eef0)
2024-05-25 05:04:50 +00:00
DataHearth
cdab3c6b89 maintainers: update datahearth fingerprints
(cherry picked from commit be0cfacc2e)
2024-05-25 05:04:50 +00:00
Aleksana
a4b0dd4b08 Merge pull request #314220 from NixOS/backport-312190-to-release-24.05
[Backport release-24.05] rasm: 0.117 -> 2.2.3, change upstream source
2024-05-25 12:41:23 +08:00
Aleksana
26f67da15b Merge pull request #314227 from NixOS/backport-311317-to-release-24.05
[Backport release-24.05] edk2: cross-compilation fix
2024-05-25 12:41:04 +08:00
Bernardo Meurer
c172507685 Merge pull request #314426 from NixOS/backport-309887-to-release-24.05 2024-05-24 21:54:43 -04:00
Emily
a36984dfb2 Merge pull request #314407 from NixOS/backport-314367-to-release-24.05
[Backport release-24.05] ungoogled-chromium: 125.0.6422.76-1 -> 125.0.6422.112-1
2024-05-25 02:56:01 +02:00
Martin Weinelt
987c5aef15 Merge pull request #314435 from NixOS/backport-314375-to-release-24.05
[Backport release-24.05] home-assistant: 2024.5.4 -> 2024.5.5
2024-05-25 02:14:35 +02:00
Martin Weinelt
59cc582cf7 home-assistant: 2024.5.4 -> 2024.5.5
https://github.com/home-assistant/core/releases/tag/2024.5.5
(cherry picked from commit 835e459556)
2024-05-25 00:14:23 +00:00
natsukium
62e3e22a64 pdm: 2.15.2 -> 2.15.3
Changelog: https://github.com/pdm-project/pdm/releases/tag/2.15.3
(cherry picked from commit 7a15b02077)
2024-05-25 00:12:54 +00:00
Sandro Jäckel
0d79ed09a1 fastfetch: 2.13.1 -> 2.13.2
Diff: https://github.com/fastfetch-cli/fastfetch/compare/2.13.1...2.13.2
(cherry picked from commit be3292f22d)
2024-05-25 00:00:01 +00:00
Sandro Jäckel
99ab617332 element-{desktop,web}: 1.11.66 -> 1.11.67
Changelog: https://github.com/element-hq/element-web/releases/tag/v1.11.67
(cherry picked from commit 70a5dd01fe)
2024-05-24 23:53:02 +00:00
Rahul Butani
226df74ffa ncurses: fix linking with lld 17+
Another fix like #309884 for fallout from `lld` 17's
`--no-undefined-version` default + hard error.

For context:
  - 241dbd3105
  - https://reviews.llvm.org/D135402
  - https://github.com/llvm/llvm-project/issues/61208

Error (without this fix):

```console
ncurses> x86_64-unknown-linux-gnu-clang  -Qunused-arguments -Wno-error=implicit-function-declaration  -shared -Wl,--version-script,resulting.map -Wl,-soname,`basename ../lib/libncursesw.so.6.4 .6.4`.6,-stats,-lc -o ../lib/libncursesw.so.6.4 ../obj_s/hardscroll.o ../obj_s/hashmap.o ../obj_s/lib_addch.o ../obj_s/lib_addstr.o ../obj_s/lib_beep.o ../obj_s/lib_bkgd.o ../obj_s/lib_box.o ../obj_s/lib_chgat.o ../obj_s/lib_clear.o ../obj_s/lib_clearok.o ../obj_s/lib_clrbot.o ../obj_s/lib_clreol.o ../obj_s/lib_color.o ../obj_s/lib_colorset.o ../obj_s/lib_delch.o ../obj_s/lib_delwin.o ../obj_s/lib_echo.o ../obj_s/lib_endwin.o ../obj_s/lib_erase.o ../obj_s/lib_flash.o ../obj_s/lib_gen.o ../obj_s/lib_getch.o ../obj_s/lib_getstr.o ../obj_s/lib_hline.o ../obj_s/lib_immedok.o ../obj_s/lib_inchstr.o ../obj_s/lib_initscr.o ../obj_s/lib_insch.o ../obj_s/lib_insdel.o ../obj_s/lib_insnstr.o ../obj_s/lib_instr.o ../obj_s/lib_isendwin.o ../obj_s/lib_leaveok.o ../obj_s/lib_mouse.o ../obj_s/lib_move.o ../obj_s/lib_mvcur.o ../obj_s/lib_mvwin.o ../obj_s/lib_newterm.o ../obj_s/lib_newwin.o ../obj_s/lib_nl.o ../obj_s/lib_overlay.o ../obj_s/lib_pad.o ../obj_s/lib_printw.o ../obj_s/lib_redrawln.o ../obj_s/lib_refresh.o ../obj_s/lib_restart.o ../obj_s/lib_scanw.o ../obj_s/lib_screen.o ../obj_s/lib_scroll.o ../obj_s/lib_scrollok.o ../obj_s/lib_scrreg.o ../obj_s/lib_set_term.o ../obj_s/lib_slk.o ../obj_s/lib_slkatr_set.o ../obj_s/lib_slkatrof.o ../obj_s/lib_slkatron.o ../obj_s/lib_slkatrset.o ../obj_s/lib_slkattr.o ../obj_s/lib_slkclear.o ../obj_s/lib_slkcolor.o ../obj_s/lib_slkinit.o ../obj_s/lib_slklab.o ../obj_s/lib_slkrefr.o ../obj_s/lib_slkset.o ../obj_s/lib_slktouch.o ../obj_s/lib_touch.o ../obj_s/lib_tstp.o ../obj_s/lib_ungetch.o ../obj_s/lib_vidattr.o ../obj_s/lib_vline.o ../obj_s/lib_wattroff.o ../obj_s/lib_wattron.o ../obj_s/lib_winch.o ../obj_s/lib_window.o ../obj_s/nc_panel.o ../obj_s/safe_sprintf.o ../obj_s/tty_update.o ../obj_s/varargs.o ../obj_s/vsscanf.o ../obj_s/lib_freeall.o ../obj_s/charable.o ../obj_s/lib_add_wch.o ../obj_s/lib_box_set.o ../obj_s/lib_cchar.o ../obj_s/lib_erasewchar.o ../obj_s/lib_get_wch.o ../obj_s/lib_get_wstr.o ../obj_s/lib_hline_set.o ../obj_s/lib_in_wch.o ../obj_s/lib_in_wchnstr.o ../obj_s/lib_ins_wch.o ../obj_s/lib_inwstr.o ../obj_s/lib_key_name.o ../obj_s/lib_pecho_wchar.o ../obj_s/lib_slk_wset.o ../obj_s/lib_unget_wch.o ../obj_s/lib_vid_attr.o ../obj_s/lib_vline_set.o ../obj_s/lib_wacs.o ../obj_s/lib_wunctrl.o ../obj_s/expanded.o ../obj_s/legacy_coding.o ../obj_s/lib_dft_fgbg.o ../obj_s/lib_print.o ../obj_s/new_pair.o ../obj_s/resizeterm.o ../obj_s/use_screen.o ../obj_s/use_window.o ../obj_s/wresize.o ../obj_s/access.o ../obj_s/add_tries.o ../obj_s/alloc_ttype.o ../obj_s/codes.o ../obj_s/comp_captab.o ../obj_s/comp_error.o ../obj_s/comp_hash.o ../obj_s/comp_userdefs.o ../obj_s/db_iterator.o ../obj_s/doalloc.o ../obj_s/entries.o ../obj_s/fallback.o ../obj_s/free_ttype.o ../obj_s/getenv_num.o ../obj_s/home_terminfo.o ../obj_s/init_keytry.o ../obj_s/lib_acs.o ../obj_s/lib_baudrate.o ../obj_s/lib_cur_term.o ../obj_s/lib_data.o ../obj_s/lib_has_cap.o ../obj_s/lib_kernel.o ../obj_s/lib_keyname.o ../obj_s/lib_longname.o ../obj_s/lib_napms.o ../obj_s/lib_options.o ../obj_s/lib_raw.o ../obj_s/lib_setup.o ../obj_s/lib_termcap.o ../obj_s/lib_termname.o ../obj_s/lib_tgoto.o ../obj_s/lib_ti.o ../obj_s/lib_tparm.o ../obj_s/lib_tputs.o ../obj_s/lib_trace.o ../obj_s/lib_ttyflags.o ../obj_s/lib_twait.o ../obj_s/name_match.o ../obj_s/names.o ../obj_s/obsolete.o ../obj_s/read_entry.o ../obj_s/read_termcap.o ../obj_s/strings.o ../obj_s/tries.o ../obj_s/trim_sgr0.o ../obj_s/unctrl.o ../obj_s/visbuf.o ../obj_s/alloc_entry.o ../obj_s/captoinfo.o ../obj_s/comp_expand.o ../obj_s/comp_parse.o ../obj_s/comp_scan.o ../obj_s/parse_entry.o ../obj_s/write_entry.o ../obj_s/define_key.o ../obj_s/hashed_db.o ../obj_s/key_defined.o ../obj_s/keybound.o ../obj_s/keyok.o ../obj_s/version.o -L../lib
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'NCURSES6_TIC_5.0.19991023' to symbol '_nc_check_termtype' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'NCURSES6_TIC_5.0.19991023' to symbol '_nc_resolve_uses' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'NCURSES6_TIC_5.5.20051010' to symbol '_nc_alloc_entry_leaks' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'NCURSES6_TIC_5.5.20051010' to symbol '_nc_captoinfo_leaks' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'NCURSES6_TIC_5.5.20051010' to symbol '_nc_comp_scan_leaks' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'NCURSES6_TIC_5.7.20081102' to symbol '_nc_free_tic' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'local' to symbol '_nc_comp_captab_leaks' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'local' to symbol '_nc_leaks_tic' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'NCURSES6_TINFO_5.0.19991023' to symbol '_nc_info_hash_table' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'NCURSES6_TINFO_5.0.19991023' to symbol '_nc_trace_buf' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'NCURSES6_TINFO_5.0.19991023' to symbol '_tracechar' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'NCURSES6_TINFO_5.0.19991023' to symbol 'trace' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'local' to symbol '_nc_cap_hash_table' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'local' to symbol '_nc_capalias_table' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'local' to symbol '_nc_infoalias_table' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'local' to symbol '_nc_key_names' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'local' to symbol '_nc_read_termcap_entry' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'local' to symbol '_nc_trace_tries' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'local' to symbol '_nc_tracebits' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: version script assignment of 'NCURSES6_TINFO_5.1.20000708' to symbol '_nc_utf8_outch' failed: symbol not defined
ncurses> x86_64-unknown-linux-gnu-ld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
```

Co-authored-by: Bernardo Meurer <bernardo@meurer.org>
(cherry picked from commit 6080bfb6cb)
2024-05-24 23:46:19 +00:00
Robert Scott
913611aa46 Merge pull request #314388 from NixOS/backport-314352-to-release-24.05
[Backport release-24.05] lemmy-server: fix darwin build
2024-05-25 00:08:38 +01:00
Gaetan Lepage
f1735c9e7b python311Packages.bambi: mark as broken
(cherry picked from commit 02f2a4b372)
2024-05-24 22:51:59 +00:00
Leah Amelia Chen
35aa5e7bf8 ark-pixel-font: unbreak by suppressing debug logs, and remove extraneous builds
For some reason build.py builds a lot of stuff that is completely
unrelated to the fonts themselves. Let's remove that!

Also the script is generating so much debug output that Hydra refuses to
evaluate the package — my fix is to pipe the output through grep to
filter out any log message below INFO, but I wish the script has a
built-in way to set the log level so that I don't have to do this hack

(cherry picked from commit aa7ba46ebb)
2024-05-24 22:43:50 +00:00
a-kenji
1663add616 gh-dash: 3.14.0 -> 4.0.0
(cherry picked from commit e597be5687)
2024-05-24 22:26:17 +00:00
networkException
82d8ec34d5 ungoogled-chromium: 125.0.6422.76-1 -> 125.0.6422.112-1
https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop_23.html

This update includes 1 security fix. Google is aware that an exploit for
CVE-2024-5274 exists in the wild.

CVEs:
CVE-2024-5274

(cherry picked from commit 8d5bbaab45)
2024-05-24 22:07:35 +00:00
Robert Scott
03309929e1 Merge pull request #314373 from NixOS/backport-314282-to-release-24.05
[Backport release-24.05] python3Packages.tokenlib: 0.3.1 -> 2.0.0
2024-05-24 22:36:47 +01:00
github-actions[bot]
f651e7d4d8 [Backport release-24.05] nixos/frigate: drop BindPaths from systemd service (#314325)
* frigate: drop BindPaths from systemd service

Migrations have been working well even with misconfigured BindPaths => removing

(cherry picked from commit f45e2f7604)
2024-05-24 23:11:22 +02:00
Olivér Falvai
15f3844c0c lemmy-server: fix darwin build
(cherry picked from commit 0fc86c4a7a)
2024-05-24 21:08:48 +00:00
Moraxyc
5ea7c6dce5 python3Packages.tokenlib: 0.3.1 -> 2.0.0
(cherry picked from commit ccd107e02d)
2024-05-24 20:31:16 +00:00
Markus Kowalewski
9598492fa1 nfs-ganesha: 5.7 -> 5.9
(cherry picked from commit 78eff3ce1a)
2024-05-24 20:25:14 +00:00
Markus Kowalewski
bd578db421 ntirpc: 5.0 -> 5.8
(cherry picked from commit c9022ee263)
2024-05-24 20:25:13 +00:00
R. Ryantm
747a6dcbf5 warp-terminal: 0.2024.05.14.08.01.stable_04 -> 0.2024.05.21.16.09.stable_02
(cherry picked from commit 30fc5f18f4)
2024-05-24 20:22:43 +00:00
Emily
97abf11bba Merge pull request #314277 from NixOS/backport-314144-to-release-24.05
[Backport release-24.05] chromedriver,chromium: 125.0.6422.76 -> 125.0.6422.112
2024-05-24 20:52:29 +02:00
Olivér Falvai
f6e7ee7a93 codeberg-cli: fix darwin build
(cherry picked from commit 2198797b30)
2024-05-24 18:01:04 +00:00
Nick Cao
de03ca596f Merge pull request #314317 from NixOS/backport-314012-to-release-24.05
[Backport release-24.05] goimports-reviser: 3.6.4 -> 3.6.5
2024-05-24 13:25:59 -04:00
Marcel
64e0388bc2 mrtg: add ipv6-required perl packages
(cherry picked from commit c95f967105)
2024-05-24 16:02:59 +00:00
R. Ryantm
000d2fae43 goimports-reviser: 3.6.4 -> 3.6.5
(cherry picked from commit c48dd1b43a)
2024-05-24 15:43:11 +00:00
Aleksana
5f4f61d976 [Backport release-24.05] rexml: 3.2.6 -> 3.2.8 (#314064)
[Backport release-24.05] rexml: 3.2.6 -> 3.2.8
2024-05-24 23:05:00 +08:00
Maciej Krüger
f97b5c6d30 Merge pull request #314297 from NixOS/backport-314262-to-release-24.05
[Backport release-24.05] dbeaver-bin: fix aarch64 build, add update script
2024-05-24 16:30:41 +02:00
Gutyina Gergő
56a4f9ffc4 dbeaver-bin: fix aarch64 hash mismatch
(cherry picked from commit 237485a9db)
2024-05-24 14:21:08 +00:00
Gutyina Gergő
d143ed989a dbeaver-bin: add update script
(cherry picked from commit 07fd54a4a2)
2024-05-24 14:21:07 +00:00
Yongun Seong
f9302fb19d perlPackages.FinanceQuote: 1.61 -> 1.62
(cherry picked from commit c0dfedf8b4)
2024-05-24 13:10:53 +00:00
Nick Cao
18d5bee0a9 Merge pull request #314202 from NixOS/backport-314073-to-release-24.05
[Backport release-24.05] lse: init at 4.14nw
2024-05-24 09:10:35 -04:00
Nick Cao
b6e2d5e43a Merge pull request #314203 from NixOS/backport-314044-to-release-24.05
[Backport release-24.05] nuclei-templates: 9.8.6 -> 9.8.7
2024-05-24 09:10:20 -04:00
Nick Cao
0c4a1ac485 Merge pull request #314204 from NixOS/backport-311820-to-release-24.05
[Backport release-24.05] imagemagick: fix passthru.tests.pkg-config
2024-05-24 09:10:13 -04:00
Nick Cao
2be299f549 Merge pull request #314206 from NixOS/backport-314026-to-release-24.05
[Backport release-24.05] yaralyzer: 0.9.3 -> 0.9.4
2024-05-24 09:09:52 -04:00
Nick Cao
9c69d0f109 Merge pull request #314209 from NixOS/backport-312250-to-release-24.05
[Backport release-24.05] ablog: move to by-name, fix build and update
2024-05-24 09:09:38 -04:00
Ben Siraphob
01ee9535d4 Merge pull request #314205 from NixOS/backport-313894-to-release-24.05
[Backport release-24.05] s9fes: fix build on darwin
2024-05-24 20:04:53 +07:00
Nick Cao
6aab26af23 Merge pull request #314105 from NixOS/backport-313474-to-release-24.05
[Backport release-24.05] python312Packages.webssh: fix test case
2024-05-24 08:56:16 -04:00
Nick Cao
cc432a168e Merge pull request #314110 from NixOS/backport-313729-to-release-24.05
[Backport release-24.05] gobang: unbreak, modernize
2024-05-24 08:55:31 -04:00
Nick Cao
15dec6c8d1 Merge pull request #314048 from NixOS/backport-314039-to-release-24.05
[Backport release-24.05] govulncheck: 1.1.0 -> 1.1.1
2024-05-24 08:51:17 -04:00
emilylange
12897f9484 chromium: 125.0.6422.76 -> 125.0.6422.112
https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop_23.html

This update includes 1 security fix. Google is aware that an exploit for
CVE-2024-5274 exists in the wild.

CVEs:
CVE-2024-5274

(cherry picked from commit fc37fd1ae2)
2024-05-24 12:37:23 +00:00
emilylange
41dab08042 chromedriver: 125.0.6422.76 -> 125.0.6422.112
(cherry picked from commit 42ddc8213f)
2024-05-24 12:37:23 +00:00
Jonas Heinrich
9ad334d85d Merge pull request #314265 from NixOS/backport-313958-to-release-24.05
[Backport release-24.05] wordpressPackages.themes.proton: init at 1.0.1
2024-05-24 14:17:50 +02:00
DontEatOreo
38ce655e24 raycast: 1.74.1 -> 1.75.1
(cherry picked from commit 8e26ccbdb4)
2024-05-24 12:07:11 +00:00
DontEatOreo
4abd2a83ab raycast: format with nixfmt-rfc-style
(cherry picked from commit 1ba6d73dfd)
2024-05-24 12:07:11 +00:00
DontEatOreo
ab27532775 raycast: refactor license in meta
(cherry picked from commit a4a7de5eda)
2024-05-24 12:07:11 +00:00
DontEatOreo
8a44b62817 raycast: sort meta
(cherry picked from commit 6a1d6150b9)
2024-05-24 12:07:11 +00:00
DontEatOreo
6d707deddb raycast: remove with lib; from meta
(cherry picked from commit 4ac7983d2c)
2024-05-24 12:07:10 +00:00
Jonas Heinrich
9043a9df41 wordpressPackages.themes.proton: init at 1.0.1
(cherry picked from commit ef13f279d1)
2024-05-24 11:41:56 +00:00
ckie
7ec944d290 boehmgc: disable tests on aarch64-linux
double whammy!

(cherry picked from commit 14c3b26610)
2024-05-24 10:54:26 +00:00
Martin Weinelt
d12251ef6e Merge pull request #314229 from NixOS/backport-294274-to-release-24.05
[Backport release-24.05] python311Packages.weatherflow4py: init at 0.2.20
2024-05-24 11:25:32 +02:00
Fabian Affolter
1481f5b59b home-assistant: update component-packages
(cherry picked from commit a6340441a8)
2024-05-24 08:46:32 +00:00
Fabian Affolter
0ba44b389f python311Packages.weatherflow4py: init at 0.2.20
Module to interact with the WeatherFlow REST API

https://github.com/jeeftor/weatherflow4py
(cherry picked from commit 477f540b11)
2024-05-24 08:46:31 +00:00
Jörg Thalheim
cf8a414d2b edk2: fix cross-compilation by using an upstream patch
(cherry picked from commit 7e2c76bb84)
2024-05-24 08:38:47 +00:00
Jörg Thalheim
e9a44efc95 edk2: use patchShebangs for fixing up shell wrappers
(cherry picked from commit 474fe1a905)
2024-05-24 08:38:47 +00:00
Alexander V. Nikolaev
486d5c8558 edk2: Fix OVMF cross compilation
(cherry picked from commit da5ec6b0c3)
2024-05-24 08:38:47 +00:00
Alexander V. Nikolaev
b22f573197 edk2: building of antlr and dlg should be built with native architecture.
They should be built with native architecture

(cherry picked from commit 560957bae1)
2024-05-24 08:38:47 +00:00
Aleksana
3a90e87c0b Merge pull request #313960 from NixOS/backport-313096-to-release-24.05
[Backport release-24.05] nixos/tests/stalwart-mail: Add test for server version >= 0.7
2024-05-24 16:16:55 +08:00
Sigmanificient
ea6f9766de rasm: migrate to by-name
(cherry picked from commit a1c8fe355c)
2024-05-24 08:15:25 +00:00
Sigmanificient
84cbb6059e rasm: 0.117 -> 2.2.3, change upstream source
(cherry picked from commit 8dc6448187)
2024-05-24 08:15:25 +00:00
Weijia Wang
cefd03fa0c Merge pull request #314199 from NixOS/backport-313676-to-release-24.05
[Backport release-24.05] share-preview: init at 0.5.0
2024-05-24 10:07:47 +02:00
K900
64782199db Merge pull request #314218 from NixOS/backport-307766-to-release-24.05
[Backport release-24.05] nixos/oauth2_proxy_nginx: fix proxy_set_header
2024-05-24 10:54:24 +03:00
Sandro Jäckel
29be0e61f3 nixos/oauth2_proxy_nginx: fix proxy_set_header
(cherry picked from commit f221b4f5f5)
2024-05-24 07:48:32 +00:00
DamitusThyYeetus123
d9b49b1747 openttd: 14.0 -> 14.1
(cherry picked from commit 09864485c5)
2024-05-24 07:46:59 +00:00
DamitusThyYeetus123
93bb428f31 openttd: 13.4 -> 14.0
openttd: switch fetchurl to fetchzip

openttd: remove fetchurl from input args
(cherry picked from commit f81ed653e1)
2024-05-24 07:46:59 +00:00
Aleksana
716176466b Merge pull request #314174 from NixOS/backport-314001-to-release-24.05
[Backport release-24.05] coqPackages.graph-theory: 0.9.3 → 0.9.4
2024-05-24 15:43:46 +08:00
Aleksana
737efe68d7 Merge pull request #314189 from NixOS/backport-291853-to-release-24.05
[Backport release-24.05] grafanaPlugins.grafana-oncall-app: init at 1.5.1
2024-05-24 15:43:26 +08:00
Aleksana
2b3dcb873c Merge pull request #314198 from NixOS/backport-314024-to-release-24.05
[Backport release-24.05] python3Packages.scikits-samplerate: remove
2024-05-24 15:43:03 +08:00
Aleksana
fa8069ba7d Merge pull request #313961 from NixOS/backport-312723-to-release-24.05
[Backport release-24.05] nitrokey-app2: 2.2.2 -> 2.3.0, unpin pynitrokey
2024-05-24 15:15:27 +08:00
lucasew
ffb350f8dc ablog: 0.11.8 -> 0.11.10
Signed-off-by: lucasew <lucas59356@gmail.com>
(cherry picked from commit 1e1685f116)
2024-05-24 07:12:39 +00:00
lucasew
a598d2d150 ablog: move to by-name, fix build
Signed-off-by: lucasew <lucas59356@gmail.com>
(cherry picked from commit 4d6e011773)
2024-05-24 07:12:39 +00:00
R. Ryantm
d3f69706a4 kubestroyer: 0.2 -> 0.3.0
(cherry picked from commit ca514fead1)
2024-05-24 07:08:21 +00:00
Fabian Affolter
f0f1b3eec8 Merge pull request #314077 from NixOS/backport-313909-to-release-24.05
[Backport release-24.05] python312Packages.aioquic: 0.9.25 -> 1.0.0
2024-05-24 09:06:55 +02:00
Martin Joerg
9b8bd6b72e yaralyzer: 0.9.3 -> 0.9.4
https://github.com/michelcrypt4d4mus/yaralyzer/blob/v0.9.4/CHANGELOG.md
https://github.com/michelcrypt4d4mus/yaralyzer/compare/v0.9.3...v0.9.4
(cherry picked from commit d5a6ef09a8)
2024-05-24 07:06:22 +00:00
Ben Siraphob
5cb6818960 s9fes: fix build on darwin
(cherry picked from commit cbcb982a1d)
2024-05-24 07:03:47 +00:00
Robert Schütz
bb7972a340 imagemagick: fix passthru.tests.pkg-config
The version suffix starting with "-" is not present in the pkg-config
file.

(cherry picked from commit 7f301eab1b)
2024-05-24 07:02:37 +00:00
R. Ryantm
fa72b9074e nuclei-templates: 9.8.6 -> 9.8.7
(cherry picked from commit 14fdf50a3c)
2024-05-24 07:01:30 +00:00
Fabian Affolter
9075e154ad lse: init at 4.14nw
Linux enumeration tool with verbosity levels

https://github.com/diego-treitos/linux-smart-enumeration
(cherry picked from commit 42d21c6147)
2024-05-24 06:59:58 +00:00
Fabian Affolter
954c399398 python312Packages.intake-parquet: remove vendorized versioneer.py
(cherry picked from commit 576acc7331)
2024-05-24 06:59:24 +00:00
Fabian Affolter
95f30a8834 python312Packages.fastparquet: 2024.2.0 -> 2024.5.0
Diff: https://github.com/dask/fastparquet/compare/refs/tags/2024.2.0...2024.5.0

Changelog: https://github.com/dask/fastparquet/blob/2024.5.0/docs/source/releasenotes.rst
(cherry picked from commit 5799862064)
2024-05-24 06:59:24 +00:00
Fabian Affolter
cb0e3947ca Merge pull request #314076 from NixOS/backport-313944-to-release-24.05
[Backport release-24.05] python312Packages.aiosasl: fix broken tests on Python 3.12
2024-05-24 08:57:21 +02:00
Weijia Wang
109dff3b44 share-preview: fix build on darwin
(cherry picked from commit bc26aacc97)
2024-05-24 06:49:23 +00:00
aleksana
c00fe4bb53 share-preview: init at 0.5.0
(cherry picked from commit 7d2316c7c8)
2024-05-24 06:49:23 +00:00
Moraxyc
715b0459f1 python3Packages.scikits-samplerate: remove
(cherry picked from commit cb8e62b899)
2024-05-24 06:45:21 +00:00
Aleksana
6082554de3 Merge pull request #314056 from NixOS/backport-307499-to-release-24.05
[Backport release-24.05] nixos/bitwarden-directory-connector-cli: add dependsOn network-online…
2024-05-24 14:37:36 +08:00
Aleksana
755ea87a94 Merge pull request #313976 from NixOS/backport-312497-to-release-24.05
[Backport release-24.05] python311Packages.python-ironicclient: fix dependencies after #310075
2024-05-24 14:37:17 +08:00
Aleksana
a5692ca5f3 Merge pull request #314124 from NixOS/backport-314099-to-release-24.05
[Backport release-24.05] nixos/snapper, nixos/borgbackup: Fix module doc typo
2024-05-24 14:37:02 +08:00
Aleksana
44574bde54 Merge pull request #313953 from NixOS/backport-313656-to-release-24.05
[Backport release-24.05] castxml: fix build on darwin
2024-05-24 14:34:08 +08:00
Greaka
81366e6c91 grafanaPlugins.grafana-oncall-app: init at 1.5.1
(cherry picked from commit 254dbdcc62)
2024-05-24 05:25:16 +00:00
Greaka
21c744b445 maintainers/team-list: add fslabs
(cherry picked from commit 0e5f44658e)
2024-05-24 05:25:16 +00:00
Greaka
8ab3d77d28 maintainers: add lpostula
(cherry picked from commit 8d6f8c9ed7)
2024-05-24 05:25:16 +00:00
Greaka
b847f3078a maintainers: add greaka
(cherry picked from commit 7bda925dac)
2024-05-24 05:25:16 +00:00
aleksana
3a4df78f4a plattenalbum: 1.11.0 -> 2.1.0; renamed from mpdevil
(cherry picked from commit 457fb33869)
2024-05-24 05:01:30 +00:00
Vincent Laporte
09f3028054 coqPackages.graph-theory: 0.9.3 → 0.9.4
(cherry picked from commit 9e274ea2cd)
2024-05-24 04:10:19 +00:00
OTABI Tomoya
f9b3e1d917 Merge pull request #314023 from NixOS/backport-313303-to-release-24.05
[Backport release-24.05] python311Packages.amazon-kclpy: mark as broken
2024-05-24 12:06:24 +09:00
Emily
5581031cba Merge pull request #314131 from NixOS/backport-314109-to-release-24.05
[Backport release-24.05] githooks.tests: fix eval
2024-05-24 03:13:18 +02:00
Nick Cao
5f72890a1a Merge pull request #314049 from NixOS/backport-313875-to-release-24.05
[Backport release-24.05] swego: 1.0 -> 1.1
2024-05-23 20:47:51 -04:00
Sergei Trofimovich
277c62dc58 githooks.tests: fix eval
Without the change the eval fails as:

    $ nix build --no-link -f. githooks.tests
    error:
           … while evaluating the 'name' attribute of a derivation

           … while evaluating a branch condition
             at lib/strings.nix:1194:3:
             1193|   # First detect the common case of already valid strings, to speed those up
             1194|   if stringLength string <= 207 && okRegex string != null
                 |   ^
             1195|   then unsafeDiscardStringContext string

           … in the left operand of the AND (&&) operator
             at lib/strings.nix:1194:33:
             1193|   # First detect the common case of already valid strings, to speed those up
             1194|   if stringLength string <= 207 && okRegex string != null
                 |                                 ^
             1195|   then unsafeDiscardStringContext string

           (stack trace truncated; use '--show-trace' to show the full, detailed trace)

           error: expected a set but found a string: "githooks-cli"

(cherry picked from commit 44744fc83f)
2024-05-24 00:06:30 +00:00
Matt Kline
6f85ce210b nixos/snapper, nixos/borgbackup: Fix module doc typo
The persistentTimer argument sets the _Persistent_ field in
systemd.timer(5).

Pointed out in #312549

(cherry picked from commit 234f4db797)
2024-05-23 23:15:48 +00:00
Nick Cao
c39b5a177c Merge pull request #314070 from NixOS/backport-314038-to-release-24.05
[Backport release-24.05] nixos/hydra: fix typo in hydra init script
2024-05-23 18:12:04 -04:00
Leona Maroni
bc089ca18a Merge pull request #314098 from NixOS/backport-314036-to-release-24.05
[Backport release-24.05] stalwart-mail: 0.8.0 -> 0.8.1
2024-05-24 00:03:41 +02:00
Leah Amelia Chen
0995bee381 gobang: unbreak, modernize
(cherry picked from commit a1090bebdc)
2024-05-23 22:02:34 +00:00
Jan van Esdonk
4f9fdc6b9d python312Packages.webssh: fix test case
(cherry picked from commit 78ef0a386e)
2024-05-23 21:44:09 +00:00
Robert Scott
12f830e496 Merge pull request #314088 from NixOS/backport-313856-to-release-24.05
[Backport release-24.05] python312Packages.ds4drv: fix build
2024-05-23 22:42:46 +01:00
Lin Jian
5fc645efae Merge pull request #314057 from NixOS/backport-313822-to-release-24.05
[Backport release-24.05] nixos/kanata: add a configFile option
2024-05-24 05:28:22 +08:00
Jonas Heinrich
c5a8c98598 stalwart-mail: 0.8.0 -> 0.8.1
(cherry picked from commit 72d5d19b57)
2024-05-23 21:12:33 +00:00
Robert Scott
93301b0b31 Merge pull request #314084 from NixOS/backport-313855-to-release-24.05
[Backport release-24.05] python312Packages.datashape: fix
2024-05-23 21:47:26 +01:00
Moraxyc
71e680a250 python312Packages.ds4drv: fix build
(cherry picked from commit e8553da1b1)
2024-05-23 20:27:24 +00:00
kirillrdy
5ebb852e0d Merge pull request #313899 from NixOS/backport-312426-to-release-24.05
[Backport release-24.05] stackql: init at 0.5.643
2024-05-24 06:24:53 +10:00
Moraxyc
e0d198225d python312Packages.datashape: fix build
(cherry picked from commit 7721a54cc1)
2024-05-23 20:20:59 +00:00
Fabian Affolter
2751c362e3 python312Packages.strawberry-graphql: 0.219.2 -> 0.230.0
Diff: https://github.com/strawberry-graphql/strawberry/compare/refs/tags/0.219.2...0.230.0

Changelog: https://github.com/strawberry-graphql/strawberry/blob/0.230.0/CHANGELOG.md
(cherry picked from commit 15a381be44)
2024-05-23 19:45:55 +00:00
Fabian Affolter
b4c2e9e329 python312Packages.strawberry-graphql: refactor
(cherry picked from commit e05e1737b3)
2024-05-23 19:45:55 +00:00
Fabian Affolter
95cbd461c6 wapiti: format with nixfmt
(cherry picked from commit aa7a7a91ed)
2024-05-23 19:45:55 +00:00
Fabian Affolter
21b06c04d3 wapiti: refactor
(cherry picked from commit 6abca390a1)
2024-05-23 19:45:55 +00:00
Fabian Affolter
90791b1d9b python312Packages.aiocache: disable performance tests
(cherry picked from commit 3107278806)
2024-05-23 19:45:55 +00:00
Fabian Affolter
1258ede199 dyndnsc: format with nixfmt
(cherry picked from commit a3b6962889)
2024-05-23 19:45:55 +00:00
Fabian Affolter
cd679902b2 dyndnsc: refactor
(cherry picked from commit ed907ddac8)
2024-05-23 19:45:55 +00:00
Fabian Affolter
a63e3cdac2 python312Packages.aioquic: 0.9.25 -> 1.0.0
(cherry picked from commit 1349027dbc)
2024-05-23 19:45:55 +00:00
Fabian Affolter
3054c6c492 Merge pull request #314072 from NixOS/backport-313947-to-release-24.05
[Backport release-24.05] metasploit: 6.4.9 -> 6.4.10
2024-05-23 21:44:04 +02:00
Fabian Affolter
72e74d62f7 python312Packages.aioxmpp: disable failing tests on Python 3.12
Upstream is archived

(cherry picked from commit 79cba4fa19)
2024-05-23 19:43:24 +00:00
Fabian Affolter
b0b8c61ee8 python311Packages.aioxmpp: refactor
(cherry picked from commit c4bfea54ca)
2024-05-23 19:43:24 +00:00
Fabian Affolter
cc8b4c4f28 python312Packages.aiosasl: fix broken tests on Python 3.12
https://github.com/horazont/aiosasl/issues/28
(cherry picked from commit f1dfd96632)
2024-05-23 19:43:24 +00:00
Fabian Affolter
618c5be39f Merge pull request #314075 from NixOS/backport-314008-to-release-24.05
[Backport release-24.05] python312Packages.faraday-agent-parameters-types: 1.5.1 -> 1.6.0, python312Packages.faraday-plugins: 1.17.0 -> 1.18.0
2024-05-23 21:43:22 +02:00
Fabian Affolter
54774dbef0 python312Packages.faraday-plugins: refactor
(cherry picked from commit 1c64a2fb11)
2024-05-23 19:42:23 +00:00
Fabian Affolter
e068e355eb python312Packages.faraday-plugins: 1.17.0 -> 1.18.0
Diff: https://github.com/infobyte/faraday_plugins/compare/refs/tags/1.17.0...1.18.0

Changelog: https://github.com/infobyte/faraday_plugins/releases/tag/1.18.0
(cherry picked from commit 2864759231)
2024-05-23 19:42:23 +00:00
Fabian Affolter
7b9798346d python312Packages.faraday-agent-parameters-types: refactor
(cherry picked from commit f3b254dae2)
2024-05-23 19:42:23 +00:00
Fabian Affolter
9630582ae3 python312Packages.faraday-agent-parameters-types: 1.5.1 -> 1.6.0
Changelog: https://github.com/infobyte/faraday_agent_parameters_types/blob/1.6.0/CHANGELOG.md
(cherry picked from commit cd71793bb2)
2024-05-23 19:42:23 +00:00
Fabian Affolter
40c4890eae metasploit: 6.4.9 -> 6.4.10
(cherry picked from commit 7c2e833237)
2024-05-23 19:38:56 +00:00
Jon Seager
a459b32b86 Merge pull request #314069 from NixOS/backport-314033-to-release-24.05
[Backport release-24.05] google-chrome: 125.0.6422.60 -> 125.0.6422.76
2024-05-23 20:34:27 +01:00
Robin Appelman
d31a12dcc8 nixos/hydra: fix typo in hydra init script
(cherry picked from commit c64e560c86)
2024-05-23 19:30:53 +00:00
Sandro
cc746d0cf8 Merge pull request #314046 from NixOS/backport-304893-to-release-24.05
[Backport release-24.05] nixos/portunus: add note about allowed characters to id
2024-05-23 21:29:22 +02:00
Jon Seager
cb1a819abd google-chrome: 125.0.6422.60 -> 125.0.6422.76
(cherry picked from commit cddbd42767)
2024-05-23 19:27:53 +00:00
Joé Dupuis
5936c60b2d rexml: 3.2.6 -> 3.2.8
(cherry picked from commit 0062a1d330)
2024-05-23 19:12:08 +00:00
Lin Jian
882082a411 nixos/kanata: add a configFile option
This brings two benefits.  For one thing, it exposes the generated
config file which users can build separately to validate it.  For
another, it allows users to provide their own config file.

(cherry picked from commit d679ddfcab)
2024-05-23 18:54:05 +00:00
Sandro Jäckel
6cb0be5b1e nixos/bitwarden-directory-connector-cli: add wants network-online.target
This fixes the following warning:

trace: warning: bitwarden-directory-connector-cli.timer is ordered after 'network-online.target' but doesn't depend on it
(cherry picked from commit e4de1c0b19)
2024-05-23 18:47:30 +00:00
Adam C. Stephens
47658d6cda Merge pull request #313999 from NixOS/backport-313757-to-release-24.05
[Backport release-24.05] forgejo: 7.0.2 -> 7.0.3
2024-05-23 14:22:40 -04:00
Fabian Affolter
c094663047 swego: format with nixfmt
(cherry picked from commit 51c39ac7ac)
2024-05-23 18:14:36 +00:00
Fabian Affolter
eb10990297 swego: refactor
(cherry picked from commit dc0118692a)
2024-05-23 18:14:36 +00:00
R. Ryantm
a98830b04c swego: 1.0 -> 1.1
(cherry picked from commit a7094f7697)
2024-05-23 18:14:36 +00:00
R. Ryantm
2c3541003c govulncheck: 1.1.0 -> 1.1.1
(cherry picked from commit 7ebf5ff345)
2024-05-23 18:13:21 +00:00
Sandro Jäckel
e2b73005ce nixos/portunus: add note about allowed characters to id
(cherry picked from commit 8c3a2b0a10)
2024-05-23 18:11:19 +00:00
natsukium
40d5481096 python311Packages.amazon-kclpy: mark as broken
amazon-kclpy requires download of jar files at build time, but we don't
know how to handle that

(cherry picked from commit 3260679a3e)
2024-05-23 15:43:10 +00:00
natsukium
2f5f46ea97 python311Packages.amazon-kclpy: 2.1.3 -> 2.1.4
Diff:
https://github.com/awslabs/amazon-kinesis-client-python/compare/refs/tags/v2.1.3...v2.1.4
(cherry picked from commit b5b9716c08)
2024-05-23 15:43:10 +00:00
Leona Maroni
3450eed3a2 Merge pull request #313943 from NixOS/backport-313800-to-release-24.05
[Backport release-24.05] pleroma: 2.6.2 -> 2.6.3
2024-05-23 17:01:37 +02:00
emilylange
25959fddfe CODEOWNERS: add adamcstephens to forgejo
(cherry picked from commit 8279d13a62)
2024-05-23 14:11:01 +00:00
emilylange
cc8d3f8be3 CODEOWNERS: fix forgejo package path
This slipped through the pkgs/by-name move in
3b4dad9b00.

(cherry picked from commit b8d9848dcb)
2024-05-23 14:11:01 +00:00
emilylange
8573a53394 forgejo: 7.0.2 -> 7.0.3
https://codeberg.org/forgejo/forgejo/releases/tag/v7.0.3

https://codeberg.org/forgejo/forgejo/src/branch/forgejo/RELEASE-NOTES.md#7-0-3

diff: https://codeberg.org/forgejo/forgejo/compare/v7.0.2...v7.0.3
(cherry picked from commit c9fe76d1f9)
2024-05-23 14:11:01 +00:00
Franz Pletz
f414ae2672 Merge pull request #313992 from NixOS/backport-313398-to-release-24.05 2024-05-23 15:58:32 +02:00
Franz Pletz
1da5513cfc Merge pull request #313988 from NixOS/backport-313267-to-release-24.05 2024-05-23 15:58:08 +02:00
R. Ryantm
da7ad2361f fluent-bit: 3.0.3 -> 3.0.4
(cherry picked from commit e8bf617348)
2024-05-23 13:51:12 +00:00
R. Ryantm
f0a25a1544 shotman: 0.4.5 -> 0.4.6
(cherry picked from commit 3c670621db)
2024-05-23 13:41:44 +00:00
Sandro Jäckel
af49c243b2 python311Packages.python-ironicclient: fix dependencies after #310075
(cherry picked from commit fd374e94e9)
2024-05-23 12:44:29 +00:00
Weijia Wang
69b8ae783b Merge pull request #313954 from NixOS/backport-313170-to-release-24.05
[Backport release-24.05] nekoray: add qtwayland to buildInputs
2024-05-23 14:15:29 +02:00
Nicolas Benes
dffe958775 nitrokey-app2: 2.2.2 -> 2.3.0, unpin pynitrokey
https://github.com/Nitrokey/nitrokey-app2/releases/tag/v2.3.0
(cherry picked from commit 4488f0a15c)
2024-05-23 11:57:09 +00:00
Jonas Heinrich
61f5ee69f5 nixos/stalwart-mail: use publicsuffix-list package
Co-authored-by: shawn8901 <shawn8901@googlemail.com>
(cherry picked from commit 2c4128ea01)
2024-05-23 11:55:05 +00:00
Jonas Heinrich
d4b0f03904 nixos/tests/stalwart-mail: Add test for server version >= 0.7
(cherry picked from commit 4c626c52b7)
2024-05-23 11:55:05 +00:00
Sandro Jäckel
aa465c1950 hedgedoc: fix executing scripts, delete unused setup script
(cherry picked from commit 10cadef027)
2024-05-23 11:06:54 +00:00
TomaSajt
a941b68182 nekoray: add qtwayland to buildInputs
(cherry picked from commit 20b978ef0a)
2024-05-23 10:58:18 +00:00
Weijia Wang
6999242e0a castxml: fix build on darwin
(cherry picked from commit 94490fd531)
2024-05-23 10:54:27 +00:00
Yaya
555d4451fc pleroma: 2.6.2 -> 2.6.3
https://pleroma.social/announcements/2024/05/22/pleroma-security-release-2.6.3/
(cherry picked from commit 8028253b54)
2024-05-23 09:45:07 +00:00
Weijia Wang
f750e84bf1 Merge pull request #313887 from NixOS/backport-313097-to-release-24.05
[Backport release-24.05] qgis+qgis-ltr: update qgis to 3.36.3 and qgis-ltr to 3.34.7
2024-05-23 11:37:06 +02:00
Weijia Wang
949de71e4c Merge pull request #313865 from NixOS/backport-313009-to-release-24.05
[Backport release-24.05] jellyfin-web: 10.9.1 -> 10.9.2
2024-05-23 11:16:18 +02:00
K900
99d0d12434 Merge pull request #313935 from NixOS/backport-313916-to-release-24.05
[Backport release-24.05] calamares-nixos-extensions: 0.3.15 -> 0.3.16
2024-05-23 12:10:01 +03:00
K900
ea2dca2e33 calamares-nixos-extensions: 0.3.15 -> 0.3.16
Diff: https://github.com/NixOS/calamares-nixos-extensions/compare/0.3.15...0.3.16
(cherry picked from commit 5085728341)
2024-05-23 09:08:48 +00:00
Martin Weinelt
db4350a1f7 Merge pull request #313930 from NixOS/backport-313926-to-release-24.05
[Backport release-24.05] nixos/wyoming*: depend on network-online.target
2024-05-23 10:49:43 +02:00
Martin Weinelt
4573e06799 nixos/wyoming*: depend on network-online.target
Ordering it after network-online.target only makes sense, if it actually
gets requested.

(cherry picked from commit aee13d3d9a)
2024-05-23 08:48:39 +00:00
Martin Weinelt
b0db6df90b Merge pull request #313922 from NixOS/backport-313919-to-release-24.05
[Backport release-24.05] nixos/kea: make ctrl-agent want network-online.target
2024-05-23 10:38:09 +02:00
Martin Weinelt
e5e351f224 nixos/kea: make ctrl-agent want network-online.target
If it wants to run after it, it needs to want it for it to be there.

(cherry picked from commit 5d515c373e)
2024-05-23 08:37:56 +00:00
Martin Weinelt
440ffcf90d Merge pull request #313903 from NixOS/backport-313178-to-release-24.05
[Backport release-24.05] python311Packages.marimo: 0.6.0 -> 0.6.2
2024-05-23 09:55:17 +02:00
dylan madisetti
30cb12959f python311Packages.marimo: 0.6.0 -> 0.6.2
(cherry picked from commit 36074c9462)
2024-05-23 07:40:19 +00:00
Jono Chang
04a88c13b7 stackql: init at 0.5.643
(cherry picked from commit af9c962bec)
2024-05-23 07:22:37 +00:00
Jono Chang
cb78e5f7b8 maintainers: add jonochang
(cherry picked from commit 7415f9eccf)
2024-05-23 07:22:37 +00:00
Ivan Mincik
09c5aea8de qgis-ltr: 3.34.6 -> 3.34.7
(cherry picked from commit b2803be044)
2024-05-23 06:38:01 +00:00
Ivan Mincik
5a265e7504 qgis: 3.36.2 -> 3.36.3
(cherry picked from commit 0a86610c1f)
2024-05-23 06:38:01 +00:00
Weijia Wang
1c531e721f Merge pull request #313873 from NixOS/backport-313790-to-release-24.05
[Backport release-24.05] python311Packages.dask-expr: fix src hash
2024-05-23 08:32:23 +02:00
Jan van Esdonk
afe7dabb9c python311Packages.dask-expr: fix src hash
(cherry picked from commit 8212628254)
2024-05-23 06:08:23 +00:00
Weijia Wang
d64432f953 Merge pull request #313872 from NixOS/backport-313692-to-release-24.05
[Backport release-24.05] python312Packages.circus: disable failing tests
2024-05-23 07:59:06 +02:00
Weijia Wang
7c20d4237e Merge pull request #313871 from NixOS/backport-313690-to-release-24.05
[Backport release-24.05] python312Packages.ics: disable failing test
2024-05-23 07:58:48 +02:00
Weijia Wang
3f37545348 Merge pull request #313869 from NixOS/backport-313687-to-release-24.05
[Backport release-24.05] python312Packages.mutag: refactor
2024-05-23 07:58:33 +02:00
Weijia Wang
c9dc290324 Merge pull request #313868 from NixOS/backport-313688-to-release-24.05
[Backport release-24.05]  python311Packages.pyannote-metrics: refactor
2024-05-23 07:58:15 +02:00
Fabian Affolter
2c855eeeb3 python312Packages.circus: disable failing tests
- refactor

(cherry picked from commit 78988dc6ed)
2024-05-23 05:58:08 +00:00
Weijia Wang
af0f8bfebf Merge pull request #313867 from NixOS/backport-313665-to-release-24.05
[Backport release-24.05] python312Packages.chromadb: limit platform support
2024-05-23 07:58:01 +02:00
Fabian Affolter
63956efd80 python312Packages.ics: disable failing test
(cherry picked from commit 17f73d6f9a)
2024-05-23 05:56:57 +00:00
Fabian Affolter
b24b9f58fa python312Packages.mutag: refactor
(cherry picked from commit 354f023b61)
2024-05-23 05:56:21 +00:00
Fabian Affolter
fd0db1af67 python311Packages.pyannote-metrics: refactor
- remove vendorized versioneer.py
- update build-system
- disable on unsupported Python releases

(cherry picked from commit 09756613cc)
2024-05-23 05:56:05 +00:00
Fabian Affolter
39db2efce9 python312Packages.chromadb: limit platform support
(cherry picked from commit b3f2b745c4)
2024-05-23 05:54:55 +00:00
R. Ryantm
7b46ae0078 jellyfin-web: 10.9.1 -> 10.9.2
(cherry picked from commit 10813396d3)
2024-05-23 05:45:18 +00:00
Weijia Wang
bcedd17714 Merge pull request #313837 from NixOS/backport-309880-to-release-24.05
[Backport release-24.05] cbmc: 5.91.0 -> 5.95.1
2024-05-23 07:27:32 +02:00
Weijia Wang
b1336424b8 Merge pull request #313839 from NixOS/backport-313770-to-release-24.05
[Backport release-24.05] python311Packages.gmpy2: disable failing test on Darwin
2024-05-23 07:27:05 +02:00
Weijia Wang
afa2f2fed2 Merge pull request #313840 from NixOS/backport-313765-to-release-24.05
[Backport release-24.05] csvlens: 0.9.0 -> 0.9.1
2024-05-23 07:26:32 +02:00
Weijia Wang
636e944a34 Merge pull request #313862 from NixOS/backport-313605-to-release-24.05
[Backport release-24.05] turtle: init at 0.8
2024-05-23 07:26:03 +02:00
Weijia Wang
63fb9c828e Merge pull request #313861 from NixOS/backport-313834-to-release-24.05
[Backport release-24.05] marge-bot: unbreak by disabling erroring test
2024-05-23 07:25:44 +02:00
aleksana
df9c49c7cd turtle: init at 0.8
(cherry picked from commit 05de507a98)
2024-05-23 05:11:43 +00:00
Ben Darwin
3651d112fe marge-bot: unbreak by disabling erroring test
(cherry picked from commit cdd08e0692)
2024-05-23 05:00:35 +00:00
Weijia Wang
505b8355eb Merge pull request #313860 from NixOS/backport-313166-to-release-24.05
[Backport release-24.05] python3Packages.ppscore: fix build with pandas 2
2024-05-23 06:25:32 +02:00
Sefa Eyeoglu
f8beb6a042 python3Packages.ppscore: fix build with pandas 2
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
(cherry picked from commit b745fcc7dd)
2024-05-23 04:24:57 +00:00
Weijia Wang
a57e7411bb Merge pull request #313795 from NixOS/backport-313739-to-release-24.05
[Backport release-24.05] mods: unbreak, modernize
2024-05-23 06:08:34 +02:00
Weijia Wang
2bc58f776e Merge pull request #313737 from NixOS/backport-313658-to-release-24.05
[Backport release-24.05] python311Packages.mitmproxy-macos: mark as broken
2024-05-23 06:08:19 +02:00
Weijia Wang
4689f3215a Merge pull request #313796 from NixOS/backport-313648-to-release-24.05
[Backport release-24.05] python3Packages.boltztrap2: fix build
2024-05-23 06:07:58 +02:00
github-actions[bot]
b64f8cbe95 doc/release-notes: more release note edits (#313858)
* Move watchdogd to correct section

(cherry picked from commit d5d3750270)

* Move FileSender to correct position

(cherry picked from commit 4ae89257e9)

* Reword

(cherry picked from commit 03f144fbd3)

* Add TODO querying meaning of dwarf-fortress note

(cherry picked from commit 8798e735be)

* Remove comments suggesting random item placement

(cherry picked from commit a4e51402e0)

* Add comments asking to maintain alphabetical order

(cherry picked from commit 07489ceed1)

---------

Co-authored-by: Jacek Generowicz <jacg@my-post-office.net>
2024-05-23 06:06:02 +02:00
Nick Cao
340699390a Merge pull request #313779 from NixOS/backport-313751-to-release-24.05
[Backport release-24.05] python312Packages.tableaudocumentapi: fix build
2024-05-22 21:10:02 -04:00
Martin Weinelt
7620f016f1 Merge pull request #313842 from NixOS/backport-313831-to-release-24.05
[Backport release-24.05] python312Packages.pyrympro: init at 0.0.8
2024-05-23 02:50:53 +02:00
Fabian Affolter
5fa1f992fe home-assistant: update component-packages
(cherry picked from commit 74ae274897)
2024-05-23 00:44:35 +00:00
Fabian Affolter
35d69f8ac5 python312Packages.pyrympro: init at 0.0.8
Module to interact with Read Your Meter Pro

https://github.com/OnFreund/pyrympro
(cherry picked from commit c8842e4222)
2024-05-23 00:44:35 +00:00
R. Ryantm
8f15388c16 csvlens: 0.9.0 -> 0.9.1
(cherry picked from commit fde85503c5)
2024-05-23 00:31:30 +00:00
TomaSajt
67048ed9ba python311Packages.gmpy2: disable failing test on Darwin
(cherry picked from commit b2ab986512)
2024-05-23 00:23:58 +00:00
Jiajie Chen
24ab15ce48 cbmc: 5.91.0 -> 5.95.1
(cherry picked from commit 6d35a341f8)
2024-05-23 00:14:22 +00:00
Moraxyc
95e1ba304d python3Packages.boltztrap2: fix build
(cherry picked from commit 57762ff36a)
2024-05-22 21:57:04 +00:00
Leah Amelia Chen
e258e5a92f mods: unbreak, modernize
There were two tests that required internet access, and so we just skip
them. Also moved to `pkgs/by-name` and reformatted with
`nixfmt-rfc-style`.

(cherry picked from commit caf25eb523)
2024-05-22 21:55:36 +00:00
Moraxyc
55639616c1 python312Packages.tableaudocumentapi: fix build
(cherry picked from commit 01b734834e)
2024-05-22 20:34:01 +00:00
Vladimír Čunát
1a7abfa62e Merge #313771: furmark: fix version to pass release checks
...into release-24.05
2024-05-22 22:09:47 +02:00
éclairevoyant
b7edf93455 furmark: fix version to pass release checks
(cherry picked from commit 1cf46c7e17)
2024-05-22 20:08:09 +00:00
Emily
271973a5c7 Merge pull request #313724 from NixOS/backport-313694-to-release-24.05
[Backport release-24.05] ungoogled-chromium: 125.0.6422.60-1 -> 125.0.6422.76-1
2024-05-22 22:06:57 +02:00
Weijia Wang
1a106c853a python311Packages.mitmproxy-macos: mark as broken
(cherry picked from commit 670d8681af)
2024-05-22 17:10:26 +00:00
networkException
380c172183 ungoogled-chromium: 125.0.6422.60-1 -> 125.0.6422.76-1
https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop_21.html

This update includes 6 security fixes.

CVEs:
CVE-2024-5157 CVE-2024-5158 CVE-2024-5159 CVE-2024-5160

(cherry picked from commit c24ddc2c7c)
2024-05-22 16:31:53 +00:00
Weijia Wang
3c80acabe4 24.05 beta release 2024-05-22 18:11:14 +02:00
19870 changed files with 316784 additions and 495309 deletions

View File

@@ -109,10 +109,6 @@ fb0e5be84331188a69b3edd31679ca6576edb75a
# postgresql: move packages.nix to ext/default.nix
719034f6f6749d624faa28dff259309fc0e3e730
# php ecosystem: reformat with nixfmt-rfc-style
75ae7621330ff8db944ce4dff4374e182d5d151f
c759efa5e7f825913f9a69ef20f025f50f56dc4d
# pkgs/os-specific/bsd: Reformat with nixfmt-rfc-style 2024-03-01
3fe3b055adfc020e6a923c466b6bcd978a13069a
@@ -121,38 +117,3 @@ c759efa5e7f825913f9a69ef20f025f50f56dc4d
# python3Packages: format with nixfmt
59b1aef59071cae6e87859dc65de973d2cc595c0
# treewide description changes (#317959)
bf995e3641950f4183c1dd9010349263dfa0123b
755b915a158c9d588f08e9b08da9f7f3422070cc
f8c4a98e8e138e21353a2c33b90db3359f539b37
# vscode-extensions.*: format with nixfmt (RFC 166)
7bf9febfa6271012b1ef86647a3a06f06875fdcf
# remove uses of mdDoc (#303841)
1a24330f792c8625746d07d842290e6fd95ae6f9
acd0e3898feb321cb9a71a0fd376f1157d0f4553
1b28414d2886c57343864326dbb745a634d3e37d
6afb255d976f85f3359e4929abd6f5149c323a02
# azure-cli: move to by-name, nixfmt #325950
96cd538b68bd1d0a0a37979356d669abbba32ebc
# poptracker: format with nixfmt-rfc-style (#326697)
ff5c8f6cc3d1f2e017e86d50965c14b71f00567b
# mangal: format with nixfmt-rfc-style #328284
3bb5e993cac3a6e1c3056d2bc9bf43eb2c7a5951
# pico-sdk: switch to finalAttrs (#329438)
8946018b0391ae594d167f1e58497b18de068968
# ollama: format with nixfmt-rfc-style (#329353)
bdfde18037f8d9f9b641a4016c8ada4dc4cbf856
# nixos/ollama: format with nixfmt-rfc-style (#329561)
246d1ee533810ac1946d863bbd9de9b525818d56
# nixos/nvidia: apply nixfmt-rfc-style (#313440)
fbdcdde04a7caa007e825a8b822c75fab9adb2d6

86
.github/CODEOWNERS vendored
View File

@@ -11,14 +11,11 @@
# This also holds true for GitHub teams. Since almost none of our teams have write
# permissions, you need to list all members of the team with commit access individually.
# CI
# GitHub actions
/.github/workflows @NixOS/Security @Mic92 @zowoq
/.github/workflows/check-nix-format.yml @infinisil
/ci @infinisil @NixOS/Security
# Develompent support
# EditorConfig
/.editorconfig @Mic92 @zowoq
/shell.nix @infinisil @NixOS/Security
# Libraries
/lib @infinisil
@@ -53,7 +50,7 @@
/pkgs/build-support/setup-hooks/auto-patchelf.py @layus
/pkgs/pkgs-lib @infinisil
## Format generators/serializers
/pkgs/pkgs-lib/formats/libconfig @h7x4
/pkgs/pkgs-lib/formats/libconfig @ckiee @h7x4
/pkgs/pkgs-lib/formats/hocon @h7x4
# pkgs/by-name
@@ -70,11 +67,8 @@
/nixos/lib/make-disk-image.nix @raitobezarius
# Nix, the package manager
# @raitobezarius is not "code owner", but is listed here to be notified of changes
# pertaining to the Nix package manager.
# i.e. no authority over those files.
pkgs/tools/package-management/nix/ @raitobezarius
nixos/modules/installer/tools/nix-fallback-paths.nix @raitobezarius
pkgs/tools/package-management/nix/ @raitobezarius @ma27
nixos/modules/installer/tools/nix-fallback-paths.nix @raitobezarius @ma27
# Nixpkgs documentation
/maintainers/scripts/db-to-md.sh @jtojnar @ryantm
@@ -99,6 +93,7 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @raitobezarius
/nixos/default.nix @infinisil
/nixos/lib/from-env.nix @infinisil
/nixos/lib/eval-config.nix @infinisil
/nixos/modules/system @dasJ
/nixos/modules/system/activation/bootspec.nix @grahamc @cole-h @raitobezarius
/nixos/modules/system/activation/bootspec.cue @grahamc @cole-h @raitobezarius
@@ -108,9 +103,6 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @raitobezarius
# NixOS QEMU virtualisation
/nixos/virtualisation/qemu-vm.nix @raitobezarius
# ACME
/nixos/modules/security/acme @arianvp @flokli @aanderse # no merge permission: @m1cr0man @emilazy
# Systemd
/nixos/modules/system/boot/systemd.nix @NixOS/systemd
/nixos/modules/system/boot/systemd @NixOS/systemd
@@ -121,8 +113,8 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @raitobezarius
/nixos/modules/system/boot/loader/systemd-boot @JulienMalka
# Images and installer media
/nixos/modules/installer/cd-dvd/
/nixos/modules/installer/sd-card/
/nixos/modules/installer/cd-dvd/ @samueldr
/nixos/modules/installer/sd-card/ @samueldr
# Updaters
## update.nix
@@ -132,11 +124,8 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @raitobezarius
/pkgs/common-updater/scripts/update-source-version @jtojnar
# Python-related code and docs
/doc/languages-frameworks/python.section.md @mweinelt @natsukium
/maintainers/scripts/update-python-libraries @natsukium
/pkgs/development/interpreters/python @natsukium
/pkgs/top-level/python-packages.nix @natsukium
/pkgs/top-level/release-python.nix @natsukium
/doc/languages-frameworks/python.section.md @mweinelt
/pkgs/development/interpreters/python/hooks @jonringer
# Haskell
/doc/languages-frameworks/haskell.section.md @sternenseemann @maralorn @ncfavier
@@ -148,9 +137,9 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @raitobezarius
/pkgs/top-level/haskell-packages.nix @sternenseemann @maralorn @ncfavier
# Perl
/pkgs/development/interpreters/perl @stigtsp @zakame @marcusramberg
/pkgs/top-level/perl-packages.nix @stigtsp @zakame @marcusramberg
/pkgs/development/perl-modules @stigtsp @zakame @marcusramberg
/pkgs/development/interpreters/perl @stigtsp @zakame @dasJ @marcusramberg
/pkgs/top-level/perl-packages.nix @stigtsp @zakame @dasJ @marcusramberg
/pkgs/development/perl-modules @stigtsp @zakame @dasJ @marcusramberg
# R
/pkgs/applications/science/math/R @jbedo
@@ -163,7 +152,6 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @raitobezarius
# C compilers
/pkgs/development/compilers/gcc
/pkgs/development/compilers/llvm @RossComputerGuy
/pkgs/development/compilers/emscripten @raitobezarius
/doc/languages-frameworks/emscripten.section.md @raitobezarius
@@ -231,15 +219,18 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/nixos/modules/services/networking/ntp @thoughtpolice
# Network
/pkgs/tools/networking/octodns @Janik-Haag
/pkgs/tools/networking/kea/default.nix @mweinelt
/pkgs/tools/networking/babeld/default.nix @mweinelt
/nixos/modules/services/networking/babeld.nix @mweinelt
/nixos/modules/services/networking/kea.nix @mweinelt
/nixos/modules/services/networking/knot.nix @mweinelt
nixos/modules/services/networking/networkmanager.nix @Janik-Haag
/nixos/modules/services/monitoring/prometheus/exporters/kea.nix @mweinelt
/nixos/tests/babeld.nix @mweinelt
/nixos/tests/kea.nix @mweinelt
/nixos/tests/knot.nix @mweinelt
/nixos/tests/networking/* @Janik-Haag
# Web servers
/doc/packages/nginx.section.md @raitobezarius
@@ -268,13 +259,13 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/pkgs/top-level/emacs-packages.nix @adisbladis
# Neovim
/pkgs/applications/editors/neovim @figsoda @teto
/pkgs/applications/editors/neovim @figsoda @jonringer @teto
# VimPlugins
/pkgs/applications/editors/vim/plugins @figsoda
/pkgs/applications/editors/vim/plugins @figsoda @jonringer
# VsCode Extensions
/pkgs/applications/editors/vscode/extensions
/pkgs/applications/editors/vscode/extensions @jonringer
# PHP interpreter, packages, extensions, tests and documentation
/doc/languages-frameworks/php.section.md @aanderse @drupol @globin @ma27 @talyz
@@ -294,9 +285,9 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/pkgs/applications/blockchains @mmahut @RaghavSood
# Go
/doc/languages-frameworks/go.section.md @kalbasit @katexochen @Mic92 @zowoq
/pkgs/build-support/go @kalbasit @katexochen @Mic92 @zowoq
/pkgs/development/compilers/go @kalbasit @katexochen @Mic92 @zowoq
/doc/languages-frameworks/go.section.md @kalbasit @Mic92 @zowoq
/pkgs/build-support/go @kalbasit @Mic92 @zowoq
/pkgs/development/compilers/go @kalbasit @Mic92 @zowoq
# GNOME
/pkgs/desktops/gnome @jtojnar
@@ -304,11 +295,7 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/pkgs/build-support/make-hardcode-gsettings-patch @jtojnar
# Cinnamon
/pkgs/by-name/ci/cinnamon-* @mkg20001
/pkgs/by-name/cj/cjs @mkg20001
/pkgs/by-name/mu/muffin @mkg20001
/pkgs/by-name/ne/nemo @mkg20001
/pkgs/by-name/ne/nemo-* @mkg20001
/pkgs/desktops/cinnamon @mkg20001
# nim
/pkgs/development/compilers/nim @ehmry
@@ -323,15 +310,15 @@ nixos/modules/services/misc/forgejo.nix @adamcstephens @bendlas @emilylange
pkgs/by-name/fo/forgejo/package.nix @adamcstephens @bendlas @emilylange
# Dotnet
/pkgs/build-support/dotnet @corngood
/pkgs/development/compilers/dotnet @corngood
/pkgs/test/dotnet @corngood
/doc/languages-frameworks/dotnet.section.md @corngood
/pkgs/build-support/dotnet @IvarWithoutBones
/pkgs/development/compilers/dotnet @IvarWithoutBones
/pkgs/test/dotnet @IvarWithoutBones
/doc/languages-frameworks/dotnet.section.md @IvarWithoutBones
# Node.js
/pkgs/build-support/node/build-npm-package @winterqt
/pkgs/build-support/node/fetch-npm-deps @winterqt
/doc/languages-frameworks/javascript.section.md @winterqt
/pkgs/build-support/node/build-npm-package @lilyinstarlight @winterqt
/pkgs/build-support/node/fetch-npm-deps @lilyinstarlight @winterqt
/doc/languages-frameworks/javascript.section.md @lilyinstarlight @winterqt
# environment.noXlibs option aka NoX
/nixos/modules/config/no-x-libs.nix @SuperSandro2000
@@ -374,16 +361,5 @@ nixos/tests/lxd/ @adamcstephens
pkgs/by-name/in/incus/ @adamcstephens
pkgs/by-name/lx/lxc* @adamcstephens
pkgs/by-name/lx/lxd* @adamcstephens
pkgs/os-specific/linux/lxc/ @adamcstephens
# ExpidusOS, Flutter
/pkgs/development/compilers/flutter @RossComputerGuy
/pkgs/desktops/expidus @RossComputerGuy
# GNU Tar & Zip
/pkgs/tools/archivers/gnutar @RossComputerGuy
/pkgs/tools/archivers/zip @RossComputerGuy
# SELinux
/pkgs/os-specific/linux/checkpolicy @RossComputerGuy
/pkgs/os-specific/linux/libselinux @RossComputerGuy
/pkgs/os-specific/linux/libsepol @RossComputerGuy

View File

@@ -24,7 +24,7 @@ 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/`)
- [24.11 Release Notes](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2411.section.md) (or backporting [23.11](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2311.section.md) and [24.05](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2405.section.md) Release notes)
- [24.05 Release Notes](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2405.section.md) (or backporting [23.05](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2305.section.md) and [23.11](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2311.section.md) Release notes)
- [ ] (Package updates) Added a release notes entry if the change is major or breaking
- [ ] (Module updates) Added a release notes entry if the change is significant
- [ ] (Module addition) Added a release notes entry if adding a new NixOS module

35
.github/labeler.yml vendored
View File

@@ -12,25 +12,9 @@
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/desktops/cinnamon/**/*
- nixos/modules/services/x11/desktop-managers/cinnamon.nix
- nixos/tests/cinnamon.nix
- nixos/tests/cinnamon-wayland.nix
- pkgs/by-name/ci/cinnamon-*/**/*
- pkgs/by-name/cj/cjs/**/*
- pkgs/by-name/mu/muffin/**/*
- pkgs/by-name/ne/nemo/**/*
- pkgs/by-name/ne/nemo-*/**/*
"6.topic: dotnet":
- any:
- changed-files:
- any-glob-to-any-file:
- doc/languages-frameworks/dotnet.section.md
- maintainers/scripts/update-dotnet-lockfiles.nix
- pkgs/build-support/dotnet/**/*
- pkgs/development/compilers/dotnet/**/*
- pkgs/test/dotnet/**/*
- pkgs/top-level/dotnet-packages.nix
"6.topic: emacs":
- any:
@@ -39,9 +23,9 @@
- nixos/modules/services/editors/emacs.nix
- nixos/modules/services/editors/emacs.xml
- nixos/tests/emacs-daemon.nix
- pkgs/applications/editors/emacs/build-support/**/*
- pkgs/applications/editors/emacs/elisp-packages/**/*
- pkgs/applications/editors/emacs/**/*
- pkgs/build-support/emacs/**/*
- pkgs/top-level/emacs-packages.nix
"6.topic: Enlightenment DE":
@@ -79,13 +63,6 @@
- lib/systems/flake-systems.nix
- nixos/modules/config/nix-flakes.nix
"6.topic: flutter":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/build-support/flutter/*.nix
- pkgs/development/compilers/flutter/**/*.nix
"6.topic: GNOME":
- any:
- changed-files:
@@ -157,12 +134,6 @@
- any-glob-to-any-file:
- lib/**
"6.topic: llvm/clang":
- any:
- changed-files:
- any-glob-to-any-file:
- pkgs/development/compilers/llvm/**/*
"6.topic: lua":
- any:
- changed-files:
@@ -230,7 +201,6 @@
- pkgs/development/node-packages/**/*
- pkgs/development/tools/yarn/*
- pkgs/development/tools/yarn2nix-moretea/**/*
- pkgs/development/tools/pnpm/**/*
- pkgs/development/web/nodejs/*
"6.topic: ocaml":
@@ -350,7 +320,6 @@
# *developed in this repo*;
# - not individual tests
# - not packages for test frameworks
- pkgs/build-support/testers/**
- nixos/lib/testing/**
- nixos/lib/test-driver/**
- nixos/tests/nixos-test-driver/**

View File

@@ -20,11 +20,11 @@ jobs:
if: github.repository_owner == 'NixOS' && github.event.pull_request.merged == true && (github.event_name != 'labeled' || startsWith('backport', github.event.label.name))
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Create backport PRs
uses: korthout/backport-action@bd410d37cdcae80be6d969823ff5a225fe5c833f # v3.0.2
uses: korthout/backport-action@ef20d86abccbac3ee3a73cb2efbdc06344c390e5 # v2.5.0
with:
# Config README: https://github.com/korthout/backport-action#backport-action
copy_labels_pattern: 'severity:\ssecurity'

View File

@@ -18,9 +18,9 @@ jobs:
runs-on: ubuntu-latest
# we don't limit this action to only NixOS repo since the checks are cheap and useful developer feedback
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
- uses: cachix/cachix-action@ad2ddac53f961de1989924296a1f236fcfbaa4fc # v15
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
- uses: cachix/cachix-action@18cf96c7c98e048e10a83abd92116114cd8504be # v14
with:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
name: nixpkgs-ci

View File

@@ -14,16 +14,16 @@ on:
# While `edited` is also triggered when the PR title/body is changed,
# this PR action is fairly quick, and PR's don't get edited that often,
# so it shouldn't be a problem
# There is a feature request for adding a `base_changed` event:
# https://github.com/orgs/community/discussions/35058
types: [opened, synchronize, reopened, edited]
permissions: {}
# We don't use a concurrency group here, because the action is triggered quite often (due to the PR edit
# trigger), and contributers would get notified on any canceled run.
# There is a feature request for supressing notifications on concurrency-canceled runs:
# https://github.com/orgs/community/discussions/13015
# Create a check-by-name concurrency group based on the pull request number. if
# an event triggers a run on the same PR while a previous run is still in
# progress, the previous run will be canceled and the new one will start.
concurrency:
group: check-by-name-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
check:
@@ -58,7 +58,7 @@ jobs:
if [[ "$mergeable" == "null" ]]; then
if (( retryCount == 0 )); then
echo "Not retrying anymore. It's likely that GitHub is having internal issues: check https://www.githubstatus.com/"
echo "Not retrying anymore, probably GitHub is having internal issues"
exit 1
else
(( retryCount -= 1 )) || true
@@ -81,7 +81,7 @@ jobs:
else
echo "The PR cannot be merged, it has a merge conflict, skipping the rest.."
fi
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
if: env.mergedSha
with:
# pull_request_target checks out the base branch by default
@@ -94,7 +94,7 @@ jobs:
base=$(mktemp -d)
git worktree add "$base" "$(git rev-parse HEAD^1)"
echo "base=$base" >> "$GITHUB_ENV"
- uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
- uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
if: env.mergedSha
- name: Fetching the pinned tool
if: env.mergedSha

View File

@@ -4,7 +4,6 @@ on:
branches:
- 'release-**'
- 'staging-**'
- '!staging-next'
permissions: {}
@@ -13,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS'
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
with:
fetch-depth: 0
filter: blob:none

View File

@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS'
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
@@ -20,7 +20,7 @@ jobs:
sparse-checkout: |
lib
maintainers
- uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
- uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true

View File

@@ -7,82 +7,56 @@ name: Check that Nix files are formatted
on:
pull_request_target:
# See the comment at the same location in ./check-by-name.yml
types: [opened, synchronize, reopened, edited]
permissions:
contents: read
jobs:
nixos:
runs-on: ubuntu-latest
if: "!contains(github.event.pull_request.title, '[skip treewide]')"
if: github.repository_owner == 'NixOS'
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
# Fetches the merge commit and its parents
fetch-depth: 2
- name: Checking out base branch
run: |
base=$(mktemp -d)
baseRev=$(git rev-parse HEAD^1)
git worktree add "$base" "$baseRev"
echo "baseRev=$baseRev" >> "$GITHUB_ENV"
echo "base=$base" >> "$GITHUB_ENV"
- name: Get Nixpkgs revision for nixfmt
run: |
# pin to a commit from nixpkgs-unstable to avoid e.g. building nixfmt
# from staging
# This should not be a URL, because it would allow PRs to run arbitrary code in CI!
rev=$(jq -r .rev ci/pinned-nixpkgs.json)
echo "url=https://github.com/NixOS/nixpkgs/archive/$rev.tar.gz" >> "$GITHUB_ENV"
- uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
- uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true
nix_path: nixpkgs=${{ env.url }}
# fix a commit from nixpkgs-unstable to avoid e.g. building nixfmt
# from staging
nix_path: nixpkgs=https://github.com/NixOS/nixpkgs/archive/4b455dc2048f73a79eb3713f342369ff58f93e0b.tar.gz
- name: Install nixfmt
run: "nix-env -f '<nixpkgs>' -iAP nixfmt-rfc-style"
- name: Check that Nix files are formatted according to the RFC style
# Each environment variable beginning with NIX_FMT_PATHS_ is a list of
# paths to check with nixfmt.
env:
NIX_FMT_PATHS_BSD: pkgs/os-specific/bsd
NIX_FMT_PATHS_MPVSCRIPTS: pkgs/applications/video/mpv/scripts
# Format paths related to the Nixpkgs CUDA ecosystem.
NIX_FMT_PATHS_CUDA: |
pkgs/development/cuda-modules
pkgs/test/cuda
pkgs/top-level/cuda-packages.nix
NIX_FMT_PATHS_K3S: |
nixos/modules/services/cluster/k3s
nixos/tests/k3s
pkgs/applications/networking/cluster/k3s
NIX_FMT_PATHS_VSCODE_EXTS: pkgs/applications/editors/vscode/extensions
NIX_FMT_PATHS_PHP_PACKAGES: pkgs/development/php-packages
NIX_FMT_PATHS_BUILD_SUPPORT_PHP: pkgs/build-support/php
# Iterate over all environment variables beginning with NIX_FMT_PATHS_.
run: |
unformattedFiles=()
# TODO: Make this more parallel
# Loop through all Nix files touched by the PR
while readarray -d '' -n 2 entry && (( ${#entry[@]} != 0 )); do
type=${entry[0]}
file=${entry[1]}
case $type in
A*)
source=""
dest=$file
;;
M*)
source=$file
dest=$file
;;
C*|R*)
source=$file
read -r -d '' dest
;;
*)
echo "Ignoring file $file with type $type"
continue
esac
# Ignore files that weren't already formatted
if [[ -n "$source" ]] && ! nixfmt --check ${{ env.base }}/"$source" 2>/dev/null; then
echo "Ignoring file $file because it's not formatted in the base commit"
elif ! nixfmt --check "$dest"; then
unformattedFiles+=("$dest")
for env_var in "${!NIX_FMT_PATHS_@}"; do
readarray -t paths <<< "${!env_var}"
if [[ "${paths[*]}" == "" ]]; then
echo "Error: $env_var is empty."
exit 1
fi
done < <(git diff -z --name-status ${{ env.baseRev }} -- '*.nix')
if (( "${#unformattedFiles[@]}" > 0 )); then
echo "Some new/changed Nix files are not properly formatted"
echo "Please run the following in \`nix-shell\`:"
echo "nixfmt ${unformattedFiles[*]@Q}"
exit 1
fi
echo "Checking paths: ${paths[@]}"
if ! nixfmt --check "${paths[@]}"; then
echo "Error: nixfmt failed."
exit 1
fi
done

View File

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

View File

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

View File

@@ -24,11 +24,11 @@ jobs:
- name: print list of changed files
run: |
cat "$HOME/changed_files"
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
- uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
with:
# nixpkgs commit is pinned so that it doesn't break
# editorconfig-checker 2.4.0

View File

@@ -14,15 +14,15 @@ jobs:
runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS'
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
- uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true
- uses: cachix/cachix-action@ad2ddac53f961de1989924296a1f236fcfbaa4fc # v15
- uses: cachix/cachix-action@18cf96c7c98e048e10a83abd92116114cd8504be # v14
with:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
name: nixpkgs-ci

View File

@@ -16,15 +16,15 @@ jobs:
runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS'
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
- uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true
- uses: cachix/cachix-action@ad2ddac53f961de1989924296a1f236fcfbaa4fc # v15
- uses: cachix/cachix-action@18cf96c7c98e048e10a83abd92116114cd8504be # v14
with:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
name: nixpkgs-ci

View File

@@ -24,12 +24,12 @@ jobs:
if [[ -s "$HOME/changed_files" ]]; then
echo "CHANGED_FILES=$HOME/changed_files" > "$GITHUB_ENV"
fi
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
if: ${{ env.CHANGED_FILES && env.CHANGED_FILES != '' }}
- uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
- uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
with:
nix_path: nixpkgs=channel:nixpkgs-unstable
- name: Parse all changed or added nix files

View File

@@ -35,13 +35,13 @@ jobs:
pairs:
- from: master
into: haskell-updates
- from: release-24.05
into: staging-next-24.05
- from: staging-next-24.05
into: staging-24.05
- from: release-23.11
into: staging-next-23.11
- from: staging-next-23.11
into: staging-23.11
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
uses: devmasx/merge-branch@854d3ac71ed1e9deb668e0074781b81fdd6e771f # 1.4.0

View File

@@ -39,7 +39,7 @@ jobs:
into: staging
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
uses: devmasx/merge-branch@854d3ac71ed1e9deb668e0074781b81fdd6e771f # 1.4.0

View File

@@ -16,8 +16,8 @@ jobs:
if: github.repository_owner == 'NixOS' && github.ref == 'refs/heads/master' # ensure workflow_dispatch only runs on master
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
with:
nix_path: nixpkgs=channel:nixpkgs-unstable
- name: setup
@@ -46,7 +46,7 @@ jobs:
run: |
git clean -f
- name: create PR
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6.1.0
uses: peter-evans/create-pull-request@9153d834b60caba6d51c9b9510b087acf9f33f83 # v6.0.4
with:
body: |
Automatic update by [update-terraform-providers](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/update-terraform-providers.yml) action.

3
.gitignore vendored
View File

@@ -7,7 +7,6 @@
.idea/
.nixos-test-history
.vscode/
.helix/
outputs/
result-*
result
@@ -20,8 +19,6 @@ tags
/doc/manual.pdf
/source/
.version-suffix
.direnv
.envrc
.DS_Store
.mypy_cache

View File

@@ -10,7 +10,6 @@ Robert Hensing <robert@roberthensing.nl> <roberth@users.noreply.github.com>
Sandro Jäckel <sandro.jaeckel@gmail.com>
Sandro Jäckel <sandro.jaeckel@gmail.com> <sandro.jaeckel@sap.com>
superherointj <5861043+superherointj@users.noreply.github.com>
Tomodachi94 <tomodachi94@protonmail.com> Tomo <68489118+Tomodachi94@users.noreply.github.com>
Vladimír Čunát <v@cunat.cz> <vcunat@gmail.com>
Vladimír Čunát <v@cunat.cz> <vladimir.cunat@nic.cz>
Yifei Sun <ysun@hey.com> StepBroBD <Hi@StepBroBD.com>

View File

@@ -330,14 +330,7 @@ Container system, boot system and library changes are some examples of the pull
## How to merge pull requests
[pr-merge]: #how-to-merge-pull-requests
To streamline automated updates, leverage the nixpkgs-merge-bot by simply commenting `@NixOS/nixpkgs-merge-bot merge`. The bot will verify if the following conditions are met, refusing to merge otherwise:
- the commenter that issued the command should be among the package maintainers;
- the package should reside in `pkgs/by-name`.
Further, nixpkgs-merge-bot will ensure all ofBorg checks (except the Darwin-related ones) are successfully completed before merging the pull request. Should the checks still be underway, the bot patiently waits for ofBorg to finish before attempting the merge again.
For other pull requests, the *Nixpkgs committers* are people who have been given
The *Nixpkgs committers* are people who have been given
permission to merge.
It is possible for community members that have enough knowledge and experience on a special topic to contribute by merging pull requests.
@@ -366,7 +359,7 @@ See [Nix Channel Status](https://status.nixos.org/) for the current channels and
Here's a brief overview of the main Git branches and what channels they're used for:
- `master`: The main branch, used for the unstable channels such as `nixpkgs-unstable`, `nixos-unstable` and `nixos-unstable-small`.
- `release-YY.MM` (e.g. `release-24.05`): The NixOS release branches, used for the stable channels such as `nixos-24.05`, `nixos-24.05-small` and `nixpkgs-24.05-darwin`.
- `release-YY.MM` (e.g. `release-23.11`): The NixOS release branches, used for the stable channels such as `nixos-23.11`, `nixos-23.11-small` and `nixpkgs-23.11-darwin`.
When a channel is updated, a corresponding Git branch is also updated to point to the corresponding commit.
So e.g. the [`nixpkgs-unstable` branch](https://github.com/nixos/nixpkgs/tree/nixpkgs-unstable) corresponds to the Git commit from the [`nixpkgs-unstable` channel](https://channels.nixos.org/nixpkgs-unstable).
@@ -379,12 +372,10 @@ See [this section][branch] to know when to use the release branches.
[staging]: #staging
The staging workflow exists to batch Hydra builds of many packages together.
It is coordinated in the [Staging room](https://matrix.to/#/#staging:nixos.org) on Matrix.
It works by directing commits that cause [mass rebuilds][mass-rebuild] to a separate `staging` branch that isn't directly built by Hydra.
Regularly, the `staging` branch is _manually_ merged into a `staging-next` branch to be built by Hydra using the [`nixpkgs:staging-next` jobset](https://hydra.nixos.org/jobset/nixpkgs/staging-next).
The `staging-next` branch should then only receive changes that fix Hydra builds;
**for anything else, ask the [Staging room](https://matrix.to/#/#staging:nixos.org) first**.
The `staging-next` branch should then only receive direct commits in order to fix Hydra builds.
Once it is verified that there are no major regressions, it is merged into `master` using [a pull request](https://github.com/NixOS/nixpkgs/pulls?q=head%3Astaging-next).
This is done manually in order to ensure it's a good use of Hydra's computing resources.
By keeping the `staging-next` branch separate from `staging`, this batching does not block developers from merging changes into `staging`.
@@ -557,11 +548,138 @@ Names of files and directories should be in lowercase, with dashes between words
### Syntax
- Set up [editorconfig](https://editorconfig.org/) for your editor, such that [the settings](./.editorconfig) are automatically applied.
- Use 2 spaces of indentation per indentation level in Nix expressions, 4 spaces in shell scripts.
- Do not use tab characters, i.e. configure your editor to use soft tabs. For instance, use `(setq-default indent-tabs-mode nil)` in Emacs. Everybody has different tab settings so its asking for trouble.
- Use `lowerCamelCase` for variable names, not `UpperCamelCase`. Note, this rule does not apply to package attribute names, which instead follow the rules in [package naming](./pkgs/README.md#package-naming).
- New files must be formatted by entering the `nix-shell` from the repository root and running `nixfmt`.
- Function calls with attribute set arguments are written as
```nix
foo {
arg = <...>;
}
```
not
```nix
foo
{
arg = <...>;
}
```
Also fine is
```nix
foo { arg = <...>; }
```
if it's a short call.
- In attribute sets or lists that span multiple lines, the attribute names or list elements should be aligned:
```nix
{
# A long list.
list = [
elem1
elem2
elem3
];
# A long attribute set.
attrs = {
attr1 = short_expr;
attr2 =
if true then big_expr else big_expr;
};
# Combined
listOfAttrs = [
{
attr1 = 3;
attr2 = "fff";
}
{
attr1 = 5;
attr2 = "ggg";
}
];
}
```
- Short lists or attribute sets can be written on one line:
```nix
{
# A short list.
list = [ elem1 elem2 elem3 ];
# A short set.
attrs = { x = 1280; y = 1024; };
}
```
- Breaking in the middle of a function argument can give hard-to-read code, like
```nix
someFunction { x = 1280;
y = 1024; } otherArg
yetAnotherArg
```
(especially if the argument is very large, spanning multiple lines).
Better:
```nix
someFunction
{ x = 1280; y = 1024; }
otherArg
yetAnotherArg
```
or
```nix
let res = { x = 1280; y = 1024; };
in someFunction res otherArg yetAnotherArg
```
- The bodies of functions, asserts, and withs are not indented to prevent a lot of superfluous indentation levels, i.e.
```nix
{ arg1, arg2 }:
assert system == "i686-linux";
stdenv.mkDerivation { /* ... */ }
```
not
```nix
{ arg1, arg2 }:
assert system == "i686-linux";
stdenv.mkDerivation { /* ... */ }
```
- Function formal arguments are written as:
```nix
{ arg1, arg2, arg3 }: { /* ... */ }
```
but if they don't fit on one line they're written as:
```nix
{ arg1, arg2, arg3
, arg4
# Some comment...
, argN
}: { }
```
- Functions should list their expected arguments as precisely as possible. That is, write

View File

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

View File

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

View File

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

View File

@@ -293,7 +293,7 @@ Though this is not shown in the rendered documentation on nixos.org.
#### Figures
To define a referenceable figure use the following fencing:
To define a referencable figure use the following fencing:
```markdown
::: {.figure #nixos-logo}

View File

@@ -20,7 +20,6 @@ There is no uniform interface for build helpers.
build-helpers/fetchers.chapter.md
build-helpers/trivial-build-helpers.chapter.md
build-helpers/testers.chapter.md
build-helpers/dev-shell-tools.chapter.md
build-helpers/special.md
build-helpers/images.md
hooks/index.md

View File

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

View File

@@ -365,8 +365,8 @@ If `pname` and `version` are specified, `fetchurl` will use those values and wil
_Default value:_ `{}`.
`passthru` (Attribute Set; _optional_)
: Specifies any extra [`passthru`](#chap-passthru) attributes for the derivation returned by `fetchurl`.
Note that `fetchurl` defines [`passthru` attributes of its own](#ssec-pkgs-fetchers-fetchurl-passthru-outputs).
: Specifies any extra [passthru](#var-stdenv-passthru) attributes for the derivation returned by `fetchurl`.
Note that `fetchurl` defines [passthru attributes of its own](#ssec-pkgs-fetchers-fetchurl-passthru-outputs).
Attributes specified in `passthru` can override the default attributes returned by `fetchurl`.
_Default value:_ `{}`.
@@ -387,7 +387,7 @@ If `pname` and `version` are specified, `fetchurl` will use those values and wil
### Passthru outputs {#ssec-pkgs-fetchers-fetchurl-passthru-outputs}
`fetchurl` also defines its own [`passthru`](#chap-passthru) attributes:
`fetchurl` also defines its own [`passthru`](#var-stdenv-passthru) attributes:
`url` (String)
@@ -869,7 +869,7 @@ It produces packages that cannot be built automatically.
fetchtorrent {
config = { peer-limit-global = 100; };
url = "magnet:?xt=urn:btih:dd8255ecdc7ca55fb0bbf81323d87062db1f6d1c";
hash = "";
sha256 = "";
}
```

View File

@@ -185,26 +185,13 @@ Similarly, if you encounter errors similar to `Error_Protocol ("certificate has
_Default value:_ `"gz"`.\
_Possible values:_ `"none"`, `"gz"`, `"zstd"`.
`includeNixDB` (Boolean; _optional_)
: Populate the nix database in the image with the dependencies of `copyToRoot`.
The main purpose is to be able to use nix commands in the container.
:::{.caution}
Be careful since this doesn't work well in combination with `fromImage`. In particular, in a multi-layered image, only the Nix paths from the lower image will be in the database.
This also neglects to register the store paths that are pulled into the image as a dependency of one of the other values, but aren't a dependency of `copyToRoot`.
:::
_Default value:_ `false`.
`contents` **DEPRECATED**
: This attribute is deprecated, and users are encouraged to use `copyToRoot` instead.
### Passthru outputs {#ssec-pkgs-dockerTools-buildImage-passthru-outputs}
`buildImage` defines a few [`passthru`](#chap-passthru) attributes:
`buildImage` defines a few [`passthru`](#var-stdenv-passthru) attributes:
`buildArgs` (Attribute Set)
@@ -587,28 +574,15 @@ This allows the function to produce reproducible images.
_Default value:_ `true`
`includeNixDB` (Boolean; _optional_)
: Populate the nix database in the image with the dependencies of `copyToRoot`.
The main purpose is to be able to use nix commands in the container.
:::{.caution}
Be careful since this doesn't work well in combination with `fromImage`. In particular, in a multi-layered image, only the Nix paths from the lower image will be in the database.
This also neglects to register the store paths that are pulled into the image as a dependency of one of the other values, but aren't a dependency of `copyToRoot`.
:::
_Default value:_ `false`.
`passthru` (Attribute Set; _optional_)
: Use this to pass any attributes as [`passthru`](#chap-passthru) for the resulting derivation.
: Use this to pass any attributes as [passthru](#var-stdenv-passthru) for the resulting derivation.
_Default value:_ `{}`
### Passthru outputs {#ssec-pkgs-dockerTools-streamLayeredImage-passthru-outputs}
`streamLayeredImage` also defines its own [`passthru`](#chap-passthru) attributes:
`streamLayeredImage` also defines its own [`passthru`](#var-stdenv-passthru) attributes:
`imageTag` (String)

View File

@@ -85,14 +85,14 @@ let
in
make-disk-image {
inherit pkgs lib;
inherit (evalConfig {
config = evalConfig {
modules = [
{
fileSystems."/" = { device = "/dev/vda"; fsType = "ext4"; autoFormat = true; };
boot.grub.device = "/dev/vda";
}
];
}) config;
};
format = "qcow2";
onlyNixStore = false;
partitionTableType = "legacy+gpt";
@@ -104,3 +104,5 @@ in
memSize = 2048; # Qemu VM memory size in megabytes. Defaults to 1024M.
}
```

View File

@@ -9,40 +9,22 @@ pkgs.makeSetupHook {
name = "something-hook";
propagatedBuildInputs = [ pkgs.commandsomething ];
depsTargetTargetPropagated = [ pkgs.libsomething ];
} ./script.sh;
} ./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
{
pkgs.makeSetupHook {
name = "run-hello-hook";
# Put dependencies here if they have hooks or necessary dependencies propagated
# otherwise prefer direct paths to executables.
propagatedBuildInputs = [
pkgs.hello
pkgs.cowsay
];
substitutions = {
shell = "${pkgs.bash}/bin/bash";
cowsay = "${pkgs.cowsay}/bin/cowsay";
};
}
(
writeScript "run-hello-hook.sh" ''
#!@shell@
# the direct path to the executable has to be here because
# this will be run when the file is sourced
# at which point '$PATH' has not yet been populated with inputs
@cowsay@ cow
_printHelloHook() {
hello
}
preConfigureHooks+=(_printHelloHook)
''
);
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}

View File

@@ -116,63 +116,13 @@ It has two modes:
: The `lychee` package to use.
## `shellcheck` {#tester-shellcheck}
Runs files through `shellcheck`, a static analysis tool for shell scripts.
:::{.example #ex-shellcheck}
# Run `testers.shellcheck`
A single script
```nix
testers.shellcheck {
name = "shellcheck";
src = ./script.sh;
}
```
Multiple files
```nix
let
inherit (lib) fileset;
in
testers.shellcheck {
name = "shellcheck";
src = fileset.toSource {
root = ./.;
fileset = fileset.unions [
./lib.sh
./nixbsd-activate
];
};
}
```
:::
### Inputs {#tester-shellcheck-inputs}
[`src` (path or string)]{#tester-shellcheck-param-src}
: The path to the shell script(s) to check.
This can be a single file or a directory containing shell files.
All files in `src` will be checked, so you may want to provide `fileset`-based source instead of a whole directory.
### Return value {#tester-shellcheck-return}
A derivation that runs `shellcheck` on the given script(s).
The build will fail if `shellcheck` finds any issues.
## `testVersion` {#tester-testVersion}
Checks that the output from running a command contains the specified version string in it as a whole word.
NOTE: In most cases, [`versionCheckHook`](#versioncheckhook) should be preferred, but this function is provided and documented here anyway. The motivation for adding either tests would be:
- Catch dynamic linking errors and such and missing environment variables that should be added by wrapping.
- Probable protection against accidentally building the wrong version, for example when using an "old" hash in a fixed-output derivation.
Although simplistic, this test assures that the main program can run.
While there's no substitute for a real test case, it does catch dynamic linking errors and such.
It also provides some protection against accidentally building the wrong version, for example when using an "old" hash in a fixed-output derivation.
By default, the command to be run will be inferred from the given `package` attribute:
it will check `meta.mainProgram` first, and fall back to `pname` or `name`.

View File

@@ -241,7 +241,7 @@ Write a text file to the Nix store.
`allowSubstitutes` (Bool, _optional_)
: Whether to allow substituting from a binary cache.
Passed through to [`allowSubstitutes`](https://nixos.org/manual/nix/stable/language/advanced-attributes#adv-attr-allowSubstitutes) of the underlying call to `builtins.derivation`.
Passed through to [`allowSubsitutes`](https://nixos.org/manual/nix/stable/language/advanced-attributes#adv-attr-allowSubstitutes) of the underlying call to `builtins.derivation`.
It defaults to `false`, as running the derivation's simple `builder` executable locally is assumed to be faster than network operations.
Set it to true if the `checkPhase` step is expensive.
@@ -453,7 +453,7 @@ writeTextFile {
### `writeScriptBin` {#trivial-builder-writeScriptBin}
Write a script within a `bin` subdirectory of a directory in the Nix store.
Write a script within a `bin` subirectory of a directory in the Nix store.
This is for consistency with the convention of software packages placing executables under `bin`.
`writeScriptBin` takes the following arguments:
@@ -468,7 +468,7 @@ This is for consistency with the convention of software packages placing executa
The created file is marked as executable.
The file's contents will be put into `/nix/store/<store path>/bin/<name>`.
The store path will include the name, and it will be a directory.
The store path will include the the name, and it will be a directory.
::: {.example #ex-writeScriptBin}
# Usage of `writeScriptBin`

4
doc/common.nix Normal file
View File

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

View File

@@ -1,6 +1,176 @@
{
pkgs ? (import ./.. { }),
nixpkgs ? { },
}:
{ pkgs ? (import ./.. { }), nixpkgs ? { }}:
let
inherit (pkgs) lib;
inherit (lib) hasPrefix removePrefix;
pkgs.nixpkgs-manual.override { inherit nixpkgs; }
common = import ./common.nix;
lib-docs = import ./doc-support/lib-function-docs.nix {
inherit pkgs nixpkgs;
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 = "fixedPoints"; baseName = "fixed-points"; description = "explicit recursion 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 = "fileset"; description = "file set functions"; }
{ name = "sources"; description = "source filtering functions"; }
{ name = "cli"; description = "command-line serialization functions"; }
{ name = "gvariant"; description = "GVariant formatted string serialization functions"; }
{ name = "customisation"; description = "Functions to customise (derivation-related) functions, derivatons, or attribute sets"; }
{ name = "meta"; description = "functions for derivation metadata"; }
{ name = "derivations"; description = "miscellaneous derivation-specific functions"; }
];
};
epub = pkgs.runCommand "manual.epub" {
nativeBuildInputs = with pkgs; [ libxslt zip ];
epub = ''
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
xml:id="nixpkgs-manual">
<info>
<title>Nixpkgs Manual</title>
<subtitle>Version ${pkgs.lib.version}</subtitle>
</info>
<chapter>
<title>Temporarily unavailable</title>
<para>
The Nixpkgs manual is currently not available in EPUB format,
please use the <link xlink:href="https://nixos.org/nixpkgs/manual">HTML manual</link>
instead.
</para>
<para>
If you've used the EPUB manual in the past and it has been useful to you, please
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/237234">let us know</link>.
</para>
</chapter>
</book>
'';
passAsFile = [ "epub" ];
} ''
mkdir scratch
xsltproc \
--param chapter.autolabel 0 \
--nonet \
--output scratch/ \
${pkgs.docbook_xsl_ns}/xml/xsl/docbook/epub/docbook.xsl \
$epubPath
echo "application/epub+zip" > mimetype
zip -0Xq "$out" mimetype
cd scratch && zip -Xr9D "$out" *
'';
# NB: This file describes the Nixpkgs manual, which happens to use module
# docs infra originally developed for NixOS.
optionsDoc = pkgs.nixosOptionsDoc {
inherit (pkgs.lib.evalModules {
modules = [ ../pkgs/top-level/config.nix ];
class = "nixpkgsConfig";
}) 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.stdenv.mkDerivation {
name = "nixpkgs-manual";
nativeBuildInputs = with pkgs; [
nixos-render-docs
];
src = ./.;
postPatch = ''
ln -s ${optionsDoc.optionsJSON}/share/doc/nixos/options.json ./config-options.json
'';
buildPhase = ''
cat \
./functions/library.md.in \
${lib-docs}/index.md \
> ./functions/library.md
substitute ./manual.md.in ./manual.md \
--replace-fail '@MANUAL_VERSION@' '${pkgs.lib.version}'
mkdir -p out/media
mkdir -p out/highlightjs
cp -t out/highlightjs \
${pkgs.documentation-highlighter}/highlight.pack.js \
${pkgs.documentation-highlighter}/LICENSE \
${pkgs.documentation-highlighter}/mono-blue.css \
${pkgs.documentation-highlighter}/loader.js
cp -t out ./style.css ./anchor.min.js ./anchor-use.js
nixos-render-docs manual html \
--manpage-urls ./manpage-urls.json \
--revision ${pkgs.lib.trivial.revisionWithDefault (pkgs.rev or "master")} \
--stylesheet style.css \
--stylesheet highlightjs/mono-blue.css \
--script ./highlightjs/highlight.pack.js \
--script ./highlightjs/loader.js \
--script ./anchor.min.js \
--script ./anchor-use.js \
--toc-depth 1 \
--section-toc-depth 1 \
manual.md \
out/index.html
'';
installPhase = ''
dest="$out/${common.outputPath}"
mkdir -p "$(dirname "$dest")"
mv out "$dest"
mv "$dest/index.html" "$dest/${common.indexPath}"
cp ${epub} "$dest/nixpkgs-manual.epub"
mkdir -p $out/nix-support/
echo "doc manual $dest ${common.indexPath}" >> $out/nix-support/hydra-build-products
echo "doc manual $dest nixpkgs-manual.epub" >> $out/nix-support/hydra-build-products
'';
passthru.tests.manpage-urls = with pkgs; testers.invalidateFetcherByDrvHash
({ name ? "manual_check-manpage-urls"
, script
, urlsFile
}: runCommand name {
nativeBuildInputs = [
cacert
(python3.withPackages (p: with p; [
aiohttp
rich
structlog
]))
];
outputHash = "sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU="; # Empty output
} ''
python3 ${script} ${urlsFile}
touch $out
'') {
script = ./tests/manpage-urls.py;
urlsFile = ./manpage-urls.json;
};
}

View File

@@ -1,54 +0,0 @@
# To build this derivation, run `nix-build -A nixpkgs-manual.epub`
{
lib,
runCommand,
docbook_xsl_ns,
libxslt,
zip,
}:
runCommand "manual.epub"
{
nativeBuildInputs = [
libxslt
zip
];
epub = ''
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
xml:id="nixpkgs-manual">
<info>
<title>Nixpkgs Manual</title>
<subtitle>Version ${lib.version}</subtitle>
</info>
<chapter>
<title>Temporarily unavailable</title>
<para>
The Nixpkgs manual is currently not available in EPUB format,
please use the <link xlink:href="https://nixos.org/nixpkgs/manual">HTML manual</link>
instead.
</para>
<para>
If you've used the EPUB manual in the past and it has been useful to you, please
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/237234">let us know</link>.
</para>
</chapter>
</book>
'';
passAsFile = [ "epub" ];
}
''
mkdir scratch
xsltproc \
--param chapter.autolabel 0 \
--nonet \
--output scratch/ \
${docbook_xsl_ns}/xml/xsl/docbook/epub/docbook.xsl \
$epubPath
echo "application/epub+zip" > mimetype
zip -0Xq -b "$TMPDIR" "$out" mimetype
cd scratch && zip -Xr9D -b "$TMPDIR" "$out" *
''

View File

@@ -1,122 +1,27 @@
# Generates the documentation for library functions via nixdoc.
# To build this derivation, run `nix-build -A nixpkgs-manual.lib-docs`
{
lib,
stdenvNoCC,
nixdoc,
nix,
nixpkgs ? { },
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 = "fixedPoints";
baseName = "fixed-points";
description = "explicit recursion 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 = "fileset";
description = "file set functions";
}
{
name = "sources";
description = "source filtering functions";
}
{
name = "cli";
description = "command-line serialization functions";
}
{
name = "generators";
description = "functions that create file formats from nix data structures";
}
{
name = "gvariant";
description = "GVariant formatted string serialization functions";
}
{
name = "customisation";
description = "Functions to customise (derivation-related) functions, derivatons, or attribute sets";
}
{
name = "meta";
description = "functions for derivation metadata";
}
{
name = "derivations";
description = "miscellaneous derivation-specific functions";
}
],
}:
stdenvNoCC.mkDerivation {
{ pkgs, nixpkgs, libsets }:
with pkgs;
let
locationsJSON = import ./lib-function-locations.nix { inherit pkgs nixpkgs libsets; };
in
stdenv.mkDerivation {
name = "nixpkgs-lib-docs";
src = ../../lib;
src = lib.fileset.toSource {
root = ../..;
fileset = ../../lib;
};
buildInputs = [
nixdoc
nix
];
buildInputs = [ nixdoc ];
installPhase = ''
export NIX_STATE_DIR=$(mktemp -d)
nix-instantiate --eval --strict --json ${./lib-function-locations.nix} \
--arg nixpkgsPath "./." \
--argstr revision ${nixpkgs.rev or "master"} \
--argstr libsetsJSON ${lib.escapeShellArg (builtins.toJSON libsets)} \
> locations.json
function docgen {
name=$1
baseName=$2
description=$3
# TODO: wrap lib.$name in <literal>, make nixdoc not escape it
if [[ -e "lib/$baseName.nix" ]]; then
nixdoc -c "$name" -d "lib.$name: $description" -l locations.json -f "lib/$baseName.nix" > "$out/$name.md"
if [[ -e "../lib/$baseName.nix" ]]; then
nixdoc -c "$name" -d "lib.$name: $description" -l ${locationsJSON} -f "$baseName.nix" > "$out/$name.md"
else
nixdoc -c "$name" -d "lib.$name: $description" -l locations.json -f "lib/$baseName/default.nix" > "$out/$name.md"
nixdoc -c "$name" -d "lib.$name: $description" -l ${locationsJSON} -f "$baseName/default.nix" > "$out/$name.md"
fi
echo "$out/$name.md" >> "$out/index.md"
}
@@ -127,16 +32,9 @@ stdenvNoCC.mkDerivation {
```{=include=} sections auto-id-prefix=auto-generated
EOF
${lib.concatMapStrings (
{
name,
baseName ? name,
description,
}:
''
docgen ${name} ${baseName} ${lib.escapeShellArg description}
''
) libsets}
${lib.concatMapStrings ({ name, baseName ? name, description }: ''
docgen ${name} ${baseName} ${lib.escapeShellArg description}
'') libsets}
echo '```' >> "$out/index.md"
'';

View File

@@ -1,14 +1,13 @@
{ nixpkgsPath, revision, libsetsJSON }:
{ pkgs, nixpkgs ? { }, libsets }:
let
lib = import (nixpkgsPath + "/lib");
libsets = builtins.fromJSON libsetsJSON;
revision = pkgs.lib.trivial.revisionWithDefault (nixpkgs.rev or "master");
libDefPos = prefix: set:
builtins.concatMap
(name: [{
name = builtins.concatStringsSep "." (prefix ++ [name]);
location = builtins.unsafeGetAttrPos name set;
}] ++ lib.optionals
}] ++ nixpkgsLib.optionals
(builtins.length prefix == 0 && builtins.isAttrs set.${name})
(libDefPos (prefix ++ [name]) set.${name})
) (builtins.attrNames set);
@@ -21,6 +20,8 @@ let
})
(builtins.map (x: x.name) libsets);
nixpkgsLib = pkgs.lib;
flattenedLibSubset = { subsetname, functions }:
builtins.map
(fn: {
@@ -37,13 +38,13 @@ let
substr = builtins.substring prefixLen filenameLen filename;
in substr;
removeNixpkgs = removeFilenamePrefix (builtins.toString nixpkgsPath);
removeNixpkgs = removeFilenamePrefix (builtins.toString pkgs.path);
liblocations =
builtins.filter
(elem: elem.value != null)
(lib.lists.flatten
(locatedlibsets lib));
(nixpkgsLib.lists.flatten
(locatedlibsets nixpkgsLib));
fnLocationRelative = { name, value }:
{
@@ -71,4 +72,4 @@ let
relativeLocs);
in
jsonLocs
pkgs.writeText "locations.json" (builtins.toJSON jsonLocs)

View File

@@ -1,28 +0,0 @@
# To build this derivation, run `nix-build -A nixpkgs-manual.optionsDoc`
{ lib, nixosOptionsDoc }:
let
modules = lib.evalModules {
modules = [ ../../pkgs/top-level/config.nix ];
class = "nixpkgsConfig";
};
root = toString ../..;
transformDeclaration =
decl:
let
declStr = toString decl;
subpath = lib.removePrefix "/" (lib.removePrefix root declStr);
in
assert lib.hasPrefix root declStr;
{
url = "https://github.com/NixOS/nixpkgs/blob/master/${subpath}";
name = subpath;
};
in
nixosOptionsDoc {
inherit (modules) options;
documentType = "none";
transformOptions = opt: opt // { declarations = map transformDeclaration opt.declarations; };
}

View File

@@ -1,106 +0,0 @@
# This file describes the Nixpkgs manual, which happens to use module docs infra originally
# developed for NixOS. To build this derivation, run `nix-build -A nixpkgs-manual`.
#
{
lib,
stdenvNoCC,
callPackage,
documentation-highlighter,
nixos-render-docs,
nixpkgs ? { },
}:
stdenvNoCC.mkDerivation (
finalAttrs:
let
inherit (finalAttrs.finalPackage.optionsDoc) optionsJSON;
inherit (finalAttrs.finalPackage) epub lib-docs pythonInterpreterTable;
in
{
name = "nixpkgs-manual";
nativeBuildInputs = [ nixos-render-docs ];
src = lib.fileset.toSource {
root = ../.;
fileset = lib.fileset.unions [
(lib.fileset.fileFilter (file: file.hasExt "md" || file.hasExt "md.in") ../.)
../style.css
../anchor-use.js
../anchor.min.js
../manpage-urls.json
];
};
postPatch = ''
ln -s ${optionsJSON}/share/doc/nixos/options.json ./config-options.json
'';
buildPhase = ''
substituteInPlace ./languages-frameworks/python.section.md \
--subst-var-by python-interpreter-table "$(<"${pythonInterpreterTable}")"
cat \
./functions/library.md.in \
${lib-docs}/index.md \
> ./functions/library.md
substitute ./manual.md.in ./manual.md \
--replace-fail '@MANUAL_VERSION@' '${lib.version}'
mkdir -p out/media
mkdir -p out/highlightjs
cp -t out/highlightjs \
${documentation-highlighter}/highlight.pack.js \
${documentation-highlighter}/LICENSE \
${documentation-highlighter}/mono-blue.css \
${documentation-highlighter}/loader.js
cp -t out ./style.css ./anchor.min.js ./anchor-use.js
nixos-render-docs manual html \
--manpage-urls ./manpage-urls.json \
--revision ${lib.trivial.revisionWithDefault (nixpkgs.rev or "master")} \
--stylesheet style.css \
--stylesheet highlightjs/mono-blue.css \
--script ./highlightjs/highlight.pack.js \
--script ./highlightjs/loader.js \
--script ./anchor.min.js \
--script ./anchor-use.js \
--toc-depth 1 \
--section-toc-depth 1 \
manual.md \
out/index.html
'';
installPhase = ''
dest="$out/share/doc/nixpkgs"
mkdir -p "$(dirname "$dest")"
mv out "$dest"
mv "$dest/index.html" "$dest/manual.html"
cp ${epub} "$dest/nixpkgs-manual.epub"
mkdir -p $out/nix-support/
echo "doc manual $dest manual.html" >> $out/nix-support/hydra-build-products
echo "doc manual $dest nixpkgs-manual.epub" >> $out/nix-support/hydra-build-products
'';
passthru = {
lib-docs = callPackage ./lib-function-docs.nix { inherit nixpkgs; };
epub = callPackage ./epub.nix { };
optionsDoc = callPackage ./options-doc.nix { };
pythonInterpreterTable = callPackage ./python-interpreter-table.nix { };
shell = callPackage ../../pkgs/tools/nix/web-devmode.nix {
buildArgs = "./.";
open = "/share/doc/nixpkgs/manual.html";
};
tests.manpage-urls = callPackage ../tests/manpage-urls.nix { };
};
}
)

View File

@@ -1,64 +0,0 @@
# To build this derivation, run `nix-build -A nixpkgs-manual.pythonInterpreterTable`
{
lib,
writeText,
pkgs,
pythonInterpreters,
}:
let
isPythonInterpreter =
name:
/*
NB: Package names that don't follow the regular expression:
- `python-cosmopolitan` is not part of `pkgs.pythonInterpreters`.
- `_prebuilt` interpreters are used for bootstrapping internally.
- `python3Minimal` contains python packages, left behind conservatively.
- `rustpython` lacks `pythonVersion` and `implementation`.
*/
(lib.strings.match "(pypy|python)([[:digit:]]*)" name) != null;
interpreterName =
pname:
let
cuteName = {
cpython = "CPython";
pypy = "PyPy";
};
interpreter = pkgs.${pname};
in
"${cuteName.${interpreter.implementation}} ${interpreter.pythonVersion}";
interpreters = lib.reverseList (
lib.naturalSort (lib.filter isPythonInterpreter (lib.attrNames pythonInterpreters))
);
aliases =
pname:
lib.attrNames (
lib.filterAttrs (
name: value:
isPythonInterpreter name && name != pname && interpreterName name == interpreterName pname
) pkgs
);
result = map (pname: {
inherit pname;
aliases = aliases pname;
interpreter = interpreterName pname;
}) interpreters;
toMarkdown =
data:
let
line = package: ''
| ${package.pname} | ${lib.concatStringsSep ", " package.aliases or [ ]} | ${package.interpreter} |
'';
in
lib.concatStringsSep "" (map line data);
in
writeText "python-interpreter-table.md" ''
| Package | Aliases | Interpeter |
|---------|---------|------------|
${toMarkdown result}
''

View File

@@ -54,4 +54,4 @@ merge:"diff3"
Nix store paths can be converted to strings by enclosing a derivation attribute like so: `"${drv}"`.
:::
Detailed documentation for each generator can be found [here](#sec-functions-library-generators)
Detailed documentation for each generator can be found in `lib/generators.nix`.

View File

@@ -29,7 +29,6 @@ scons.section.md
tetex-tex-live.section.md
unzip.section.md
validatePkgConfig.section.md
versionCheckHook.section.md
waf.section.md
zig.section.md
xcbuild.section.md

View File

@@ -4,7 +4,7 @@ This hook helps with installing manpages and shell completion files. It exposes
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 `share/man/man<section>/` directory, in [`outputMan`](#outputman).
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 `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
{
@@ -17,18 +17,6 @@ The `installShellCompletion` function takes one or more paths to shell completio
installShellCompletion --zsh --name _foobar share/completions.zsh
# implicit behavior
installShellCompletion share/completions/foobar.{bash,fish,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 (see below).
If the destination shell completion file is not actually present or consists of zero bytes after calling `installShellCompletion` this is treated as a build failure. In particular, if completion files are not vendored but are generated by running an executable, this is likely to fail in cross compilation scenarios. The result will be a zero byte completion file and hence a build failure. To prevent this, guard the completion commands against this, e.g.
```nix
{
nativeBuildInputs = [ installShellFiles ];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
# using named fd
installShellCompletion --cmd foobar \
--bash <($out/bin/foobar --bash-completion) \

View File

@@ -1,35 +0,0 @@
# versionCheckHook {#versioncheckhook}
This hook adds a `versionCheckPhase` to the [`preInstallCheckHooks`](#ssec-installCheck-phase) that runs the main program of the derivation with a `--help` or `--version` argument, and checks that the `${version}` string is found in that output. You use it like this:
```nix
{
lib,
stdenv,
versionCheckHook,
# ...
}:
stdenv.mkDerivation (finalAttrs: {
# ...
nativeInstallCheckInputs = [
versionCheckHook
];
doInstallCheck = true;
# ...
})
```
Note that for [`buildPythonPackage`](#buildpythonpackage-function) and [`buildPythonApplication`](#buildpythonapplication-function), `doInstallCheck` is enabled by default.
It does so in a clean environment (using `env --ignore-environment`), and it checks for the `${version}` string in both the `stdout` and the `stderr` of the command. It will report to you in the build log the output it received and it will fail the build if it failed to find `${version}`.
The variables that this phase control are:
- `dontVersionCheck`: Disable adding this hook to the [`preDistPhases`](#var-stdenv-preDist). Useful if you do want to load the bash functions of the hook, but run them differently.
- `versionCheckProgram`: The full path to the program that should print the `${version}` string. Defaults roughly to `${placeholder "out"}/bin/${pname}`. Using `$out` in the value of this variable won't work, as environment variables from this variable are not expanded by the hook. Hence using `placeholder` is unavoidable.
- `versionCheckProgramArg`: The argument that needs to be passed to `versionCheckProgram`. If undefined the hook tries first `--help` and then `--version`. Examples: `version`, `-V`, `-v`.
- `preVersionCheck`: A hook to run before the check is done.
- `postVersionCheck`: A hook to run after the check is done.

View File

@@ -20,6 +20,10 @@ If `wafPath` doesn't exist, then `wafHook` will copy the `waf` provided from Nix
Controls the flags passed to waf tool during build and install phases. For settings specific to build or install phases, use `wafBuildFlags` or `wafInstallFlags` respectively.
#### `dontAddWafCrossFlags` {#dont-add-waf-cross-flags}
When set to `true`, don't add cross compilation flags during configure phase.
#### `dontUseWafConfigure` {#dont-use-waf-configure}
When set to true, don't use the predefined `wafConfigurePhase`.

View File

@@ -1,5 +0,0 @@
# Interoperability Standards {#part-interoperability}
```{=include=} chapters
interoperability/cyclonedx.md
```

View File

@@ -1,79 +0,0 @@
# CycloneDX {#chap-interop-cyclonedx}
[OWASP](https://owasp.org/) [CycloneDX](https://cyclonedx.org/) is a Software [Bill of Materials](https://en.wikipedia.org/wiki/Bill_of_materials) (SBOM) standard.
The standards described here are for including Nix specific information within SBOMs in a way that is interoperable with external SBOM tooling.
## `nix` Namespace Property Taxonomy {#sec-interop.cylonedx-nix}
The following tables describe namespaces for [properties](https://cyclonedx.org/docs/1.6/json/#components_items_properties) that may be attached to components within SBOMs.
Component properties are lists of name-value-pairs where values must be strings.
Properties with the same name may appear more than once.
Names and values are case-sensitive.
| Property | Description |
|------------------|-------------|
| `nix:store_path` | A Nix store path for the given component. This property should be contextualized by additional properties that describe the production of the store path, such as those from the `nix:narinfo:` and `nix:fod` namespaces. |
| Namespace | Description |
|---------------|-------------|
| [`nix:narinfo`](#sec-interop.cylonedx-narinfo) | Namespace for properties that are specific to how a component is stored as a [Nix archive](https://nixos.org/manual/nix/stable/glossary#gloss-nar) (NAR) in a [binary cache](https://nixos.org/manual/nix/stable/glossary#gloss-binary-cache). |
| [`nix:fod`](#sec-interop.cylonedx-fod) | Namespace for properties that describe a [fixed-output derivation](https://nixos.org/manual/nix/stable/glossary#gloss-fixed-output-derivation). |
### `nix:narinfo` {#sec-interop.cylonedx-narinfo}
Narinfo properties describe component archives that may be available from binary caches.
The `nix:narinfo` properties should be accompanied by a `nix:store_path` property within the same property list.
| Property | Description |
|---------------------------|-------------|
| `nix:narinfo:store_path` | Store path for the given store component. |
| `nix:narinfo:url` | URL path component. |
| `nix:narinfo:nar_hash` | Hash of the file system object part of the component when serialized as a Nix Archive. |
| `nix:narinfo:nar_size` | Size of the component when serialized as a Nix Archive. |
| `nix:narinfo:compression` | The compression format that component archive is in. |
| `nix:narinfo:file_hash` | A digest for the compressed component archive itself, as opposed to the data contained within. |
| `nix:narinfo:file_size` | The size of the compressed component archive itself. |
| `nix:narinfo:deriver` | The path to the derivation from which this component is produced. |
| `nix:narinfo:system` | The hardware and software platform on which this component is produced. |
| `nix:narinfo:sig` | Signatures claiming that this component is what it claims to be. |
| `nix:narinfo:ca` | Content address of this store object's file system object, used to compute its store path. |
| `nix:narinfo:references` | A whitespace separated array of store paths that this component references. |
### `nix:fod` {#sec-interop.cylonedx-fod}
FOD properties describe a [fixed-output derivation](https://nixos.org/manual/nix/stable/glossary#gloss-fixed-output-derivation).
The `nix:fod:method` property is required and must be accompanied by a `nix:store_path` property within the same property list.
All other properties in this namespace are method-specific.
To reproduce the build of a component the `nix:fod:method` value is resolved to an [appropriate function](#chap-pkgs-fetchers) within Nixpkgs whose arguments intersect with the given properties.
When generating `nix:fod` properties the method selected should be a stable function with a minimal number arguments.
For example, the `fetchFromGitHub` is commonly used within Nixpkgs but should be reduced to a call to the function by which it is implemented, `fetchzip`.
| Property | Description |
|------------------|-------------|
| `nix:fod:method` | Nixpkg function that produces this FOD. Required. Examples: `"fetchzip"`, `"fetchgit"` |
| `nix:fod:name` | Derivation name, present when method is `"fetchzip"` |
| `nix:fod:ref` | [Git ref](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefrefaref), present when method is `"fetchgit"` |
| `nix:fod:rev` | [Git rev](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefrevisionarevision), present when method is `"fetchgit"` |
| `nix:fod:sha256` | FOD hash |
| `nix:fod:url` | URL to fetch |
`nix:fod` properties may be extracted and evaluated to a derivation using code similar to the following, assuming a fictitious function `filterPropertiesToAttrs`:
```nix
{ pkgs, filterPropertiesToAttrs, properties }:
let
fodProps = filterPropertiesToAttrs "nix:fod:" properties;
methods = {
fetchzip =
{ name, url, sha256, ... }:
pkgs.fetchzip {
inherit name url sha256;
};
};
in methods.${fodProps.method} fodProps
```

View File

@@ -3,36 +3,10 @@
The Android build environment provides three major features and a number of
supporting features.
## Using androidenv with Android Studio {#using-androidenv-with-android-studio}
Use the `android-studio-full` attribute for a very complete Android SDK, including system images:
```nix
buildInputs = [ android-studio-full ];
```
This is identical to:
```nix
buildInputs = [ androidStudioPackages.stable.full ];
```
Alternatively, you can pass composeAndroidPackages to the `withSdk` passthru:
```nix
buildInputs = [
(android-studio.withSdk (androidenv.composeAndroidPackages {
includeNDK = true;
}).androidsdk)
];
```
These will export ANDROID_SDK_ROOT and ANDROID_NDK_ROOT to the SDK and NDK directories
in the specified Android build environment.
## Deploying an Android SDK installation with plugins {#deploying-an-android-sdk-installation-with-plugins}
Alternatively, you can deploy the SDK separately with a desired set of plugins, or subsets of an SDK.
The first use case is deploying the SDK with a desired set of plugins or subsets
of an SDK.
```nix
with import <nixpkgs> {};
@@ -171,14 +145,16 @@ androidComposition.platform-tools
## Using predefined Android package compositions {#using-predefined-android-package-compositions}
In addition to composing an Android package set manually, it is also possible
to use a predefined composition that contains a fairly complete set of Android packages:
to use a predefined composition that contains all basic packages for a specific
Android version, such as version 9.0 (API-level 28).
The following Nix expression can be used to deploy the entire SDK:
The following Nix expression can be used to deploy the entire SDK with all basic
plugins:
```nix
with import <nixpkgs> {};
androidenv.androidPkgs.androidsdk
androidenv.androidPkgs_9_0.androidsdk
```
It is also possible to use one plugin only:
@@ -186,9 +162,50 @@ It is also possible to use one plugin only:
```nix
with import <nixpkgs> {};
androidenv.androidPkgs.platform-tools
androidenv.androidPkgs_9_0.platform-tools
```
## Building an Android application {#building-an-android-application}
In addition to the SDK, it is also possible to build an Ant-based Android
project and automatically deploy all the Android plugins that a project
requires.
```nix
with import <nixpkgs> {};
androidenv.buildApp {
name = "MyAndroidApp";
src = ./myappsources;
release = true;
# If release is set to true, you need to specify the following parameters
keyStore = ./keystore;
keyAlias = "myfirstapp";
keyStorePassword = "mykeystore";
keyAliasPassword = "myfirstapp";
# Any Android SDK parameters that install all the relevant plugins that a
# build requires
platformVersions = [ "24" ];
# When we include the NDK, then ndk-build is invoked before Ant gets invoked
includeNDK = true;
}
```
Aside from the app-specific build parameters (`name`, `src`, `release` and
keystore parameters), the `buildApp {}` function supports all the function
parameters that the SDK composition function (the function shown in the
previous section) supports.
This build function is particularly useful when it is desired to use
[Hydra](https://nixos.org/hydra): the Nix-based continuous integration solution
to build Android apps. An Android APK gets exposed as a build product and can be
installed on any Android device with a web browser by navigating to the build
result page.
## Spawning emulator instances {#spawning-emulator-instances}
For testing purposes, it can also be quite convenient to automatically generate
@@ -232,11 +249,11 @@ In addition to prebuilt APKs, you can also bind the APK parameter to a
## Notes on environment variables in Android projects {#notes-on-environment-variables-in-android-projects}
* `ANDROID_HOME` should point to the Android SDK. In your Nix expressions, this should be
`${androidComposition.androidsdk}/libexec/android-sdk`. Note that `ANDROID_SDK_ROOT` is deprecated,
* `ANDROID_SDK_ROOT` should point to the Android SDK. In your Nix expressions, this should be
`${androidComposition.androidsdk}/libexec/android-sdk`. Note that `ANDROID_HOME` is deprecated,
but if you rely on tools that need it, you can export it too.
* `ANDROID_NDK_ROOT` should point to the Android NDK, if you're doing NDK development.
In your Nix expressions, this should be `${ANDROID_HOME}/ndk-bundle`.
In your Nix expressions, this should be `${ANDROID_SDK_ROOT}/ndk-bundle`.
If you are running the Android Gradle plugin, you need to export GRADLE_OPTS to override aapt2
to point to the aapt2 binary in the Nix store as well, or use a FHS environment so the packaged
@@ -250,11 +267,11 @@ let
androidComposition = <...>;
in
pkgs.mkShell rec {
ANDROID_HOME = "${androidComposition.androidsdk}/libexec/android-sdk";
ANDROID_NDK_ROOT = "${ANDROID_HOME}/ndk-bundle";
ANDROID_SDK_ROOT = "${androidComposition.androidsdk}/libexec/android-sdk";
ANDROID_NDK_ROOT = "${ANDROID_SDK_ROOT}/ndk-bundle";
# Use the same buildToolsVersion here
GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${ANDROID_HOME}/build-tools/${buildToolsVersion}/aapt2";
GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${ANDROID_SDK_ROOT}/build-tools/${buildToolsVersion}/aapt2";
}
```
@@ -270,18 +287,18 @@ let
androidComposition = <...>;
in
pkgs.mkShell rec {
ANDROID_HOME = "${androidComposition.androidsdk}/libexec/android-sdk";
ANDROID_NDK_ROOT = "${ANDROID_HOME}/ndk-bundle";
ANDROID_SDK_ROOT = "${androidComposition.androidsdk}/libexec/android-sdk";
ANDROID_NDK_ROOT = "${ANDROID_SDK_ROOT}/ndk-bundle";
# Use the same cmakeVersion here
shellHook = ''
export PATH="$(echo "$ANDROID_HOME/cmake/${cmakeVersion}".*/bin):$PATH"
export PATH="$(echo "$ANDROID_SDK_ROOT/cmake/${cmakeVersion}".*/bin):$PATH"
'';
}
```
Note that running Android Studio with ANDROID_HOME set will automatically write a
`local.properties` file with `sdk.dir` set to $ANDROID_HOME if one does not already
Note that running Android Studio with ANDROID_SDK_ROOT set will automatically write a
`local.properties` file with `sdk.dir` set to $ANDROID_SDK_ROOT if one does not already
exist. If you are using the NDK as well, you may have to add `ndk.dir` to this file.
An example shell.nix that does all this for you is provided in examples/shell.nix.
@@ -332,44 +349,3 @@ To update the expressions run the `generate.sh` script that is stored in the
```bash
./generate.sh
```
## Building an Android application with Ant {#building-an-android-application-with-ant}
In addition to the SDK, it is also possible to build an Ant-based Android
project and automatically deploy all the Android plugins that a project
requires. Most newer Android projects use Gradle, and this is included for historical
purposes.
```nix
with import <nixpkgs> {};
androidenv.buildApp {
name = "MyAndroidApp";
src = ./myappsources;
release = true;
# If release is set to true, you need to specify the following parameters
keyStore = ./keystore;
keyAlias = "myfirstapp";
keyStorePassword = "mykeystore";
keyAliasPassword = "myfirstapp";
# Any Android SDK parameters that install all the relevant plugins that a
# build requires
platformVersions = [ "24" ];
# When we include the NDK, then ndk-build is invoked before Ant gets invoked
includeNDK = true;
}
```
Aside from the app-specific build parameters (`name`, `src`, `release` and
keystore parameters), the `buildApp {}` function supports all the function
parameters that the SDK composition function (the function shown in the
previous section) supports.
This build function is particularly useful when it is desired to use
[Hydra](https://nixos.org/hydra): the Nix-based continuous integration solution
to build Android apps. An Android APK gets exposed as a build product and can be
installed on any Android device with a web browser by navigating to the build
result page.

View File

@@ -84,7 +84,7 @@ mkCoqDerivation {
[ mathcomp.ssreflect mathcomp.algebra mathcomp-finmap mathcomp-bigenough ];
meta = {
description = "Coq/SSReflect Library for Monoidal Rings and Multinomials";
description = "A Coq/SSReflect Library for Monoidal Rings and Multinomials";
license = lib.licenses.cecill-c;
};
}

View File

@@ -98,12 +98,10 @@ The function `buildFlutterApplication` builds Flutter applications.
See the [Dart documentation](#ssec-dart-applications) for more details on required files and arguments.
`flutter` in Nixpkgs always points to `flutterPackages.stable`, which is the latest packaged version. To avoid unforeseen breakage during upgrade, packages in Nixpkgs should use a specific flutter version, such as `flutter319` and `flutter322`, instead of using `flutter` directly.
```nix
{ flutter322, fetchFromGitHub }:
{ flutter, fetchFromGitHub }:
flutter322.buildFlutterApplication {
flutter.buildFlutterApplication {
pname = "firmware-updater";
version = "0-unstable-2023-04-30";
@@ -114,7 +112,7 @@ flutter322.buildFlutterApplication {
owner = "canonical";
repo = "firmware-updater";
rev = "6e7dbdb64e344633ea62874b54ff3990bd3b8440";
hash = "sha256-s5mwtr5MSPqLMN+k851+pFIFFPa0N1hqz97ys050tFA=";
sha256 = "sha256-s5mwtr5MSPqLMN+k851+pFIFFPa0N1hqz97ys050tFA=";
fetchSubmodules = true;
};

View File

@@ -117,6 +117,7 @@ For more detail about managing the `deps.nix` file, see [Generating and updating
* `useDotnetFromEnv` will change the binary wrapper so that it uses the .NET from the environment. The runtime specified by `dotnet-runtime` is given as a fallback in case no .NET is installed in the user's environment. This is most useful for .NET global tools and LSP servers, which often extend the .NET CLI and their runtime should match the users' .NET runtime.
* `dotnet-sdk` is useful in cases where you need to change what dotnet SDK is being used. You can also set this to the result of `dotnetSdkPackages.combinePackages`, if the project uses multiple SDKs to build.
* `dotnet-runtime` is useful in cases where you need to change what dotnet runtime is being used. This can be either a regular dotnet runtime, or an aspnetcore.
* `dotnet-test-sdk` is useful in cases where unit tests expect a different dotnet SDK. By default, this is set to the `dotnet-sdk` attribute.
* `testProjectFile` is useful in cases where the regular project file does not contain the unit tests. It gets restored and build, but not installed. You may need to regenerate your nuget lockfile after setting this. Note that if set, only tests from this project are executed.
* `disabledTests` is used to disable running specific unit tests. This gets passed as: `dotnet test --filter "FullyQualifiedName!={}"`, to ensure compatibility with all unit test frameworks.
* `dotnetRestoreFlags` can be used to pass flags to `dotnet restore`.
@@ -141,7 +142,9 @@ in buildDotnetModule rec {
src = ./.;
projectFile = "src/project.sln";
nugetDeps = ./deps.nix; # see "Generating and updating NuGet dependencies" section for details
# File generated with `nix-build -A package.passthru.fetch-deps`.
# To run fetch-deps when this file does not yet exist, set nugetDeps to null
nugetDeps = ./deps.nix;
projectReferences = [ referencedProject ]; # `referencedProject` must contain `nupkg` in the folder structure.
@@ -194,7 +197,7 @@ This helper has the same arguments as `buildDotnetModule`, with a few difference
* `pname` and `version` are required, and will be used to find the NuGet package of the tool
* `nugetName` can be used to override the NuGet package name that will be downloaded, if it's different from `pname`
* `nugetHash` is the hash of the fetched NuGet package. `nugetSha256` is also supported, but not recommended. Set this to `lib.fakeHash` for the first build, and it will error out, giving you the proper hash. Also remember to update it during version updates (it will not error out if you just change the version while having a fetched package in `/nix/store`)
* `nugetSha256` is the hash of the fetched NuGet package. Set this to `lib.fakeHash256` for the first build, and it will error out, giving you the proper hash. Also remember to update it during version updates (it will not error out if you just change the version while having a fetched package in `/nix/store`)
* `dotnet-runtime` is set to `dotnet-sdk` by default. When changing this, remember that .NET tools fetched from NuGet require an SDK.
Here is an example of packaging `pbm`, an unfree binary without source available:
@@ -205,7 +208,7 @@ buildDotnetGlobalTool {
pname = "pbm";
version = "1.3.1";
nugetHash = "sha256-ZG2HFyKYhVNVYd2kRlkbAjZJq88OADe3yjxmLuxXDUo=";
nugetSha256 = "sha256-ZG2HFyKYhVNVYd2kRlkbAjZJq88OADe3yjxmLuxXDUo=";
meta = {
homepage = "https://cmd.petabridge.com/index.html";
@@ -217,12 +220,6 @@ buildDotnetGlobalTool {
```
## Generating and updating NuGet dependencies {#generating-and-updating-nuget-dependencies}
When writing a new expression, you can use the generated `fetch-deps` script to initialise the lockfile.
After creating a blank `deps.nix` and pointing `nugetDeps` to it,
build the script with `nix-build -A package.fetch-deps` and then run the result.
(When the root attr is your package, it's simply `nix-build -A fetch-deps`.)
There is also a manual method:
First, restore the packages to the `out` directory, ensure you have cloned
the upstream repository and you are inside it.
@@ -241,15 +238,15 @@ $ nuget-to-nix out > deps.nix
Which `nuget-to-nix` will generate an output similar to below
```nix
{ fetchNuGet }: [
(fetchNuGet { pname = "FosterFramework"; version = "0.1.15-alpha"; hash = "sha256-lM6eYgOGjl1fx6WFD7rnRi/YAQieM0mx60h0p5dr+l8="; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "8.0.1"; hash = "sha256-QbUQXjCzr8j8u/5X0af9jE++EugdoxMhT08F49MZX74="; })
(fetchNuGet { pname = "Microsoft.NET.ILLink.Tasks"; version = "8.0.1"; hash = "sha256-SopZpGaZ48/8dpUwDFDM3ix+g1rP4Yqs1PGuzRp+K7c="; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "8.0.1"; hash = "sha256-jajBI5GqG2IIcsIMgxTHfXbMapoXrZGl/EEhShwYq7w="; })
(fetchNuGet { pname = "SharpGLTF.Core"; version = "1.0.0-alpha0031"; hash = "sha256-Bs4baD5wNIH6wAbGK4Xaem0i3luQkOQs37izBWdFx1I="; })
(fetchNuGet { pname = "SharpGLTF.Runtime"; version = "1.0.0-alpha0031"; hash = "sha256-TwJO6b8ubmwBQh6NyHha8+JT5zHDJ4dROBbsEbUaa1M="; })
(fetchNuGet { pname = "Sledge.Formats"; version = "1.2.2"; hash = "sha256-0Ddhuwpu3wwIzA4NuPaEVdMkx6tUukh8uKD6nKoxFPg="; })
(fetchNuGet { pname = "Sledge.Formats.Map"; version = "1.1.5"; hash = "sha256-hkYJ2iWIz7vhPWlDOw2fvTenlh+4/D/37Z71tCEwnK8="; })
(fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; })
(fetchNuGet { pname = "FosterFramework"; version = "0.1.15-alpha"; sha256 = "0pzsdfbsfx28xfqljcwy100xhbs6wyx0z1d5qxgmv3l60di9xkll"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "8.0.1"; sha256 = "1gjz379y61ag9whi78qxx09bwkwcznkx2mzypgycibxk61g11da1"; })
(fetchNuGet { pname = "Microsoft.NET.ILLink.Tasks"; version = "8.0.1"; sha256 = "1drbgqdcvbpisjn8mqfgba1pwb6yri80qc4mfvyczqwrcsj5k2ja"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "8.0.1"; sha256 = "1g5b30f4l8a1zjjr3b8pk9mcqxkxqwa86362f84646xaj4iw3a4d"; })
(fetchNuGet { pname = "SharpGLTF.Core"; version = "1.0.0-alpha0031"; sha256 = "0ln78mkhbcxqvwnf944hbgg24vbsva2jpih6q3x82d3h7rl1pkh6"; })
(fetchNuGet { pname = "SharpGLTF.Runtime"; version = "1.0.0-alpha0031"; sha256 = "0lvb3asi3v0n718qf9y367km7qpkb9wci38y880nqvifpzllw0jg"; })
(fetchNuGet { pname = "Sledge.Formats"; version = "1.2.2"; sha256 = "1y0l66m9rym0p1y4ifjlmg3j9lsmhkvbh38frh40rpvf1axn2dyh"; })
(fetchNuGet { pname = "Sledge.Formats.Map"; version = "1.1.5"; sha256 = "1bww60hv9xcyxpvkzz5q3ybafdxxkw6knhv97phvpkw84pd0jil6"; })
(fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; })
]
```
@@ -258,5 +255,6 @@ Finally, you move the `deps.nix` file to the appropriate location to be used by
If you ever need to update the dependencies of a package, you instead do
* `nix-build -A package.fetch-deps` to generate the update script for `package`
* Run `./result` to regenerate the lockfile to the path passed for `nugetDeps` (keep in mind if it can't be resolved to a local path, the script will write to `$1` or a temporary path instead)
* Finally, ensure the correct file was written and the derivation can be built.
* Run `./result deps.nix` to regenerate the lockfile to `deps.nix`, keep in mind if a location isn't provided, it will write to a temporary path instead
* Finally, move the file where needed and look at its contents to confirm it has updated the dependencies.

View File

@@ -143,7 +143,7 @@ You can also pass additional arguments to `makeWrapper` using `gappsWrapperArgs`
## Updating GNOME packages {#ssec-gnome-updating}
Most GNOME package offer [`updateScript`](#var-passthru-updateScript), it is therefore possible to update to latest source tarball by running `nix-shell maintainers/scripts/update.nix --argstr package nautilus` or even en masse with `nix-shell maintainers/scripts/update.nix --argstr path gnome`. Read the packages `NEWS` file to see what changed.
Most GNOME package offer [`updateScript`](#var-passthru-updateScript), it is therefore possible to update to latest source tarball by running `nix-shell maintainers/scripts/update.nix --argstr package gnome.nautilus` or even en masse with `nix-shell maintainers/scripts/update.nix --argstr path gnome`. Read the packages `NEWS` file to see what changed.
## Frequently encountered issues {#ssec-gnome-common-issues}

View File

@@ -66,25 +66,6 @@ The following is an example expression using `buildGoModule`:
The function `buildGoPackage` builds legacy Go programs, not supporting Go modules.
::: {.warning}
`buildGoPackage` is deprecated and will be removed for the 25.05 release.
:::
### Migrating from `buildGoPackage` to `buildGoModule` {#buildGoPackage-migration}
Go modules, released 6y ago, are now widely adopted in the ecosystem.
Most upstream projects are using Go modules, and the tooling previously used for dependency management in Go is mostly deprecated, archived or at least unmaintained at this point.
In case a project doesn't have external dependencies or dependencies are vendored in a way understood by `go mod init`, migration can be done with a few changes in the package.
- Switch the builder from `buildGoPackage` to `buildGoModule`
- Remove `goPackagePath` and other attributes specific to `buildGoPackage`
- Set `vendorHash = null;`
- Run `go mod init <module name>` in `postPatch`
In case the package has external dependencies that aren't vendored or the build setup is more complex the upstream source might need to be patched.
Examples for the migration can be found in the [issue tracking migration withing nixpkgs](https://github.com/NixOS/nixpkgs/issues/318069).
### Example for `buildGoPackage` {#example-for-buildgopackage}
In the following is an example expression using `buildGoPackage`, the following arguments are of special significance to the function:

View File

@@ -1,189 +0,0 @@
# Gradle {#gradle}
Gradle is a popular build tool for Java/Kotlin. Gradle itself doesn't
currently provide tools to make dependency resolution reproducible, so
nixpkgs has a proxy designed for intercepting Gradle web requests to
record dependencies so they can be restored in a reproducible fashion.
## Building a Gradle package {#building-a-gradle-package}
Here's how a typical derivation will look like:
```nix
stdenv.mkDerivation (finalAttrs: {
pname = "pdftk";
version = "3.3.3";
src = fetchFromGitLab {
owner = "pdftk-java";
repo = "pdftk";
rev = "v${finalAttrs.version}";
hash = "sha256-ciKotTHSEcITfQYKFZ6sY2LZnXGChBJy0+eno8B3YHY=";
};
nativeBuildInputs = [ gradle ];
# if the package has dependencies, mitmCache must be set
mitmCache = gradle.fetchDeps {
inherit (finalAttrs) pname;
data = ./deps.json;
};
# this is required for using mitm-cache on Darwin
__darwinAllowLocalNetworking = true;
gradleFlags = [ "-Dfile.encoding=utf-8" ];
# defaults to "assemble"
gradleBuildTask = "shadowJar";
# will run the gradleCheckTask (defaults to "test")
doCheck = true;
installPhase = ''
mkdir -p $out/{bin,share/pdftk}
cp build/libs/pdftk-all.jar $out/share/pdftk
makeWrapper ${jre}/bin/java $out/bin/pdftk \
--add-flags "-jar $out/share/pdftk/pdftk-all.jar"
cp ${finalAttrs.src}/pdftk.1 $out/share/man/man1
'';
meta.sourceProvenance = with lib.sourceTypes; [
fromSource
binaryBytecode # mitm cache
];
})
```
To update (or initialize) dependencies, run the update script via
something like `$(nix-build -A <pname>.mitmCache.updateScript)`
(`nix-build` builds the `updateScript`, `$(...)` runs the script at the
path printed by `nix-build`).
If your package can't be evaluated using a simple `pkgs.<pname>`
expression (for example, if your package isn't located in nixpkgs, or if
you want to override some of its attributes), you will usually have to
pass `pkg` instead of `pname` to `gradle.fetchDeps`. There are two ways
of doing it.
The first is to add the derivation arguments required for getting the
package. Using the pdftk example above:
```nix
{ lib
, stdenv
# ...
, pdftk
}:
stdenv.mkDerivation (finalAttrs: {
# ...
mitmCache = gradle.fetchDeps {
pkg = pdftk;
data = ./deps.json;
};
})
```
This allows you to `override` any arguments of the `pkg` used for
the update script (for example, `pkg = pdftk.override { enableSomeFlag =
true };`), so this is the preferred way.
The second is to create a `let` binding for the package, like this:
```nix
let self = stdenv.mkDerivation {
# ...
mitmCache = gradle.fetchDeps {
pkg = self;
data = ./deps.json;
};
}; in self
```
This is useful if you can't easily pass the derivation as its own
argument, or if your `mkDerivation` call is responsible for building
multiple packages.
In the former case, the update script will stay the same even if the
derivation is called with different arguments. In the latter case, the
update script will change depending on the derivation arguments. It's up
to you to decide which one would work best for your derivation.
## Update Script {#gradle-update-script}
The update script does the following:
- Build the derivation's source via `pkgs.srcOnly`
- Enter a `nix-shell` for the derivation in a `bwrap` sandbox (the
sandbox is only used on Linux)
- Set the `IN_GRADLE_UPDATE_DEPS` environment variable to `1`
- Run the derivation's `unpackPhase`, `patchPhase`, `configurePhase`
- Run the derivation's `gradleUpdateScript` (the Gradle setup hook sets
a default value for it, which runs `preBuild`, `preGradleUpdate`
hooks, fetches the dependencies using `gradleUpdateTask`, and finally
runs the `postGradleUpdate` hook)
- Finally, store all of the fetched files' hashes in the lockfile. They
may be `.jar`/`.pom` files from Maven repositories, or they may be
files otherwise used for building the package.
`fetchDeps` takes the following arguments:
- `attrPath` - the path to the package in nixpkgs (for example,
`"javaPackages.openjfx22"`). Used for update script metadata.
- `pname` - an alias for `attrPath` for convenience. This is what you
will generally use instead of `pkg` or `attrPath`.
- `pkg` - the package to be used for fetching the dependencies. Defaults
to `getAttrFromPath (splitString "." attrPath) pkgs`.
- `bwrapFlags` - allows you to override bwrap flags (only relevant for
downstream, non-nixpkgs projects)
- `data` - path to the dependencies lockfile (can be relative to the
package, can be absolute). In nixpkgs, it's discouraged to have the
lockfiles be named anything other `deps.json`, consider creating
subdirectories if your package requires multiple `deps.json` files.
## Environment {#gradle-environment}
The Gradle setup hook accepts the following environment variables:
- `mitmCache` - the MITM proxy cache imported using `gradle.fetchDeps`
- `gradleFlags` - command-line flags to be used for every Gradle
invocation (this simply registers a function that uses the necessary
flags).
- You can't use `gradleFlags` for flags that contain spaces, in that
case you must add `gradleFlagsArray+=("-flag with spaces")` to the
derivation's bash code instead.
- If you want to build the package using a specific Java version, you
can pass `"-Dorg.gradle.java.home=${jdk}"` as one of the flags.
- `gradleBuildTask` - the Gradle task (or tasks) to be used for building
the package. Defaults to `assemble`.
- `gradleCheckTask` - the Gradle task (or tasks) to be used for checking
the package if `doCheck` is set to `true`. Defaults to `test`.
- `gradleUpdateTask` - the Gradle task (or tasks) to be used for
fetching all of the package's dependencies in
`mitmCache.updateScript`. Defaults to `nixDownloadDeps`.
- `gradleUpdateScript` - the code to run for fetching all of the
package's dependencies in `mitmCache.updateScript`. Defaults to
running the `preBuild` and `preGradleUpdate` hooks, running the
`gradleUpdateTask`, and finally running the `postGradleUpdate` hook.
- `gradleInitScript` - path to the `--init-script` to pass to Gradle. By
default, a simple init script that enables reproducible archive
creation is used.
- Note that reproducible archives might break some builds. One example
of an error caused by it is `Could not create task ':jar'. Replacing
an existing task that may have already been used by other plugins is
not supported`. If you get such an error, the easiest "fix" is
disabling reproducible archives altogether by setting
`gradleInitScript` to something like `writeText
"empty-init-script.gradle" ""`
- `enableParallelBuilding` / `enableParallelChecking` /
`enableParallelUpdating` - pass `--parallel` to Gradle in the
build/check phase or in the update script. Defaults to true. If the
build fails for mysterious reasons, consider setting this to false.
- `dontUseGradleConfigure` / `dontUseGradleBuild` / `dontUseGradleCheck`
\- force disable the Gradle setup hook for certain phases.
- Note that if you disable the configure hook, you may face issues
such as `Failed to load native library 'libnative-platform.so'`,
because the configure hook is responsible for initializing Gradle.

View File

@@ -1,53 +0,0 @@
# Hare {#sec-language-hare}
## Building Hare programs with `hareHook` {#ssec-language-hare}
The `hareHook` package sets up the environment for building Hare programs by
doing the following:
1. Setting the `HARECACHE`, `HAREPATH` and `NIX_HAREFLAGS` environment variables;
1. Propagating `harec`, `qbe` and two wrapper scripts for the hare binary.
It is not a function as is the case for some other languages --- *e. g.*, Go or
Rust ---, but a package to be added to `nativeBuildInputs`.
## Attributes of `hareHook` {#hareHook-attributes}
The following attributes are accepted by `hareHook`:
1. `hareBuildType`: Either `release` (default) or `debug`. It controls if the
`-R` flag is added to `NIX_HAREFLAGS`.
## Example for `hareHook` {#ex-hareHook}
```nix
{
hareHook,
lib,
stdenv,
}: stdenv.mkDerivation {
pname = "<name>";
version = "<version>";
src = "<src>";
nativeBuildInputs = [ hareHook ];
meta = {
description = "<description>";
inherit (hareHook) badPlatforms platforms;
};
}
```
## Cross Compilation {#hareHook-cross-compilation}
`hareHook` should handle cross compilation out of the box. This is the main
purpose of `NIX_HAREFLAGS`: In it, the `-a` flag is passed with the architecture
of the `hostPlatform`.
However, manual intervention may be needed when a binary compiled by the build
process must be run for the build to complete --- *e. g.*, when using Hare's
`hare` module for code generation.
In those cases, `hareHook` provides the `hare-native` script, which is a wrapper
around the hare binary for using the native (`buildPlatform`) toolchain.

View File

@@ -21,14 +21,25 @@ Many “normal” user facing packages written in Haskell, like `niv` or `cachix
are also exposed at the top level, and there is nothing Haskell specific to
installing and using them.
All of these packages are originally defined in the `haskellPackages` package set.
The same packages are re-exposed with a reduced dependency closure for convenience (see `justStaticExecutables` or `separateBinOutput` below).
All of these packages are originally defined in the `haskellPackages` package
set and are re-exposed with a reduced dependency closure for convenience.
(see `justStaticExecutables` or `separateBinOutput` below)
:::{.note}
See [](#chap-language-support) for techniques to explore package sets.
:::
The `haskellPackages` set includes at least one version of every package from
Hackage as well as some manually injected packages. This amounts to a lot of
packages, so it is hidden from `nix-env -qa` by default for performance reasons.
You can still list all packages in the set like this:
The `haskellPackages` set includes at least one version of every package from [Hackage](https://hackage.haskell.org/) as well as some manually injected packages.
```console
$ nix-env -f '<nixpkgs>' -qaP -A haskellPackages
haskellPackages.a50 a50-0.5
haskellPackages.AAI AAI-0.2.0.1
haskellPackages.aasam aasam-0.2.0.0
haskellPackages.abacate abacate-0.0.0.0
haskellPackages.abc-puzzle abc-puzzle-0.2.1
```
Also, the `haskellPackages` set is included on [search.nixos.org].
The attribute names in `haskellPackages` always correspond with their name on
Hackage. Since Hackage allows names that are not valid Nix without escaping,
@@ -38,7 +49,8 @@ For packages that are part of [Stackage] (a curated set of known to be
compatible packages), we use the version prescribed by a Stackage snapshot
(usually the current LTS one) as the default version. For all other packages we
use the latest version from [Hackage](https://hackage.org) (the repository of
basically all open source Haskell packages). See [below](#haskell-available-versions) for a few more details on this.
basically all open source Haskell packages). See [below](#haskell-available-
versions) for a few more details on this.
Roughly half of the 16K packages contained in `haskellPackages` dont actually
build and are [marked as broken semi-automatically](https://github.com/NixOS/nixpkgs/blob/haskell-updates/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml).
@@ -51,15 +63,68 @@ How you can help with that is
described in [Fixing a broken package](#haskell-fixing-a-broken-package).
-->
`haskellPackages` is built with our default compiler, but we also provide other releases of GHC and package sets built with them.
Available compilers are collected under `haskell.compiler`.
`haskellPackages` is built with our default compiler, but we also provide other
releases of GHC and package sets built with them. You can list all available
compilers like this:
Each of those compiler versions has a corresponding attribute set `packages` built with
```console
$ nix-env -f '<nixpkgs>' -qaP -A haskell.compiler
haskell.compiler.ghc810 ghc-8.10.7
haskell.compiler.ghc90 ghc-9.0.2
haskell.compiler.ghc925 ghc-9.2.5
haskell.compiler.ghc926 ghc-9.2.6
haskell.compiler.ghc927 ghc-9.2.7
haskell.compiler.ghc92 ghc-9.2.8
haskell.compiler.ghc945 ghc-9.4.5
haskell.compiler.ghc946 ghc-9.4.6
haskell.compiler.ghc947 ghc-9.4.7
haskell.compiler.ghc94 ghc-9.4.8
haskell.compiler.ghc963 ghc-9.6.3
haskell.compiler.ghc96 ghc-9.6.4
haskell.compiler.ghc98 ghc-9.8.1
haskell.compiler.ghcHEAD ghc-9.9.20231121
haskell.compiler.ghc8107Binary ghc-binary-8.10.7
haskell.compiler.ghc865Binary ghc-binary-8.6.5
haskell.compiler.ghc924Binary ghc-binary-9.2.4
haskell.compiler.integer-simple.ghc8107 ghc-integer-simple-8.10.7
haskell.compiler.integer-simple.ghc810 ghc-integer-simple-8.10.7
haskell.compiler.native-bignum.ghc90 ghc-native-bignum-9.0.2
haskell.compiler.native-bignum.ghc902 ghc-native-bignum-9.0.2
haskell.compiler.native-bignum.ghc925 ghc-native-bignum-9.2.5
haskell.compiler.native-bignum.ghc926 ghc-native-bignum-9.2.6
haskell.compiler.native-bignum.ghc927 ghc-native-bignum-9.2.7
haskell.compiler.native-bignum.ghc92 ghc-native-bignum-9.2.8
haskell.compiler.native-bignum.ghc928 ghc-native-bignum-9.2.8
haskell.compiler.native-bignum.ghc945 ghc-native-bignum-9.4.5
haskell.compiler.native-bignum.ghc946 ghc-native-bignum-9.4.6
haskell.compiler.native-bignum.ghc947 ghc-native-bignum-9.4.7
haskell.compiler.native-bignum.ghc94 ghc-native-bignum-9.4.8
haskell.compiler.native-bignum.ghc948 ghc-native-bignum-9.4.8
haskell.compiler.native-bignum.ghc963 ghc-native-bignum-9.6.3
haskell.compiler.native-bignum.ghc96 ghc-native-bignum-9.6.4
haskell.compiler.native-bignum.ghc964 ghc-native-bignum-9.6.4
haskell.compiler.native-bignum.ghc98 ghc-native-bignum-9.8.1
haskell.compiler.native-bignum.ghc981 ghc-native-bignum-9.8.1
haskell.compiler.native-bignum.ghcHEAD ghc-native-bignum-9.9.20231121
haskell.compiler.ghcjs ghcjs-8.10.7
```
Each of those compiler versions has a corresponding attribute set built using
it. However, the non-standard package sets are not tested regularly and, as a
result, contain fewer working packages. The corresponding package set for GHC
9.4.5 is `haskell.packages.ghc945`. In fact `haskellPackages` is just an alias
for `haskell.packages.ghc964`:
```console
$ nix-env -f '<nixpkgs>' -qaP -A haskell.packages.ghc927
haskell.packages.ghc927.a50 a50-0.5
haskell.packages.ghc927.AAI AAI-0.2.0.1
haskell.packages.ghc927.aasam aasam-0.2.0.0
haskell.packages.ghc927.abacate abacate-0.0.0.0
haskell.packages.ghc927.abc-puzzle abc-puzzle-0.2.1
```
Every package set also re-exposes the GHC used to build its packages as `haskell.packages.*.ghc`.
### Available package versions {#haskell-available-versions}
@@ -858,61 +923,14 @@ for this to work.
`justStaticExecutables drv`
: Only build and install the executables produced by `drv`, removing everything
that may refer to other Haskell packages' store paths (like libraries and
documentation). This dramatically reduces the closure size of the resulting
derivation. Note that the executables are only statically linked against their
Haskell dependencies, but will still link dynamically against libc, GMP and
other system library dependencies.
If a library or its dependencies use their Cabal-generated
`Paths_*` module, this may not work as well if GHC's dead code elimination is
unable to remove the references to the dependency's store path that module
contains.
As a consequence, an unused reference may be created from the static binary to such a _library_ store path.
(See [nixpkgs#164630][164630] for more information.)
Importing the `Paths_*` module may cause builds to fail with this message:
```
error: output '/nix/store/64k8iw0ryz76qpijsnl9v87fb26v28z8-my-haskell-package-1.0.0.0' is not allowed to refer to the following paths:
/nix/store/5q5s4a07gaz50h04zpfbda8xjs8wrnhg-ghc-9.6.3
```
If that happens, first disable the check for GHC references and rebuild the
derivation:
```nix
pkgs.haskell.lib.overrideCabal
(pkgs.haskell.lib.justStaticExecutables my-haskell-package)
(drv: {
disallowGhcReference = false;
})
```
Then use `strings` to determine which libraries are responsible:
```
$ nix-build ...
$ strings result/bin/my-haskell-binary | grep /nix/store/
...
/nix/store/n7ciwdlg8yyxdhbrgd6yc2d8ypnwpmgq-hs-opentelemetry-sdk-0.0.3.6/bin
...
```
Finally, use `remove-references-to` to delete those store paths from the produced output:
```nix
pkgs.haskell.lib.overrideCabal
(pkgs.haskell.lib.justStaticExecutables my-haskell-package)
(drv: {
postInstall = ''
${drv.postInstall or ""}
remove-references-to -t ${pkgs.haskellPackages.hs-opentelemetry-sdk}
'';
})
```
[164630]: https://github.com/NixOS/nixpkgs/issues/164630
that may refer to other Haskell packages' store paths (like libraries and
documentation). This dramatically reduces the closure size of the resulting
derivation. Note that the executables are only statically linked against their
Haskell dependencies, but will still link dynamically against libc, GMP and
other system library dependencies. If dependencies use their Cabal-generated
`Paths_*` module, this may not work as well if GHC's dead code elimination
is unable to remove the references to the dependency's store path that module
contains.
`enableSeparateBinOutput drv`
: Install executables produced by `drv` to a separate `bin` output. This

View File

@@ -19,7 +19,7 @@ let lspLibPkg = idris2Packages.buildIdris {
};
idrisLibraries = [ ];
};
in lspLibPkg.library { withSource = true; }
in lspLibPkg.library
```
The above results in a derivation with the installed library results (with sourcecode).
@@ -30,7 +30,6 @@ A slightly more involved example of a fully packaged executable would be the [`i
# Assuming the previous example lives in `lsp-lib.nix`:
let lspLib = callPackage ./lsp-lib.nix { };
inherit (idris2Packages) idris2Api;
lspPkg = idris2Packages.buildIdris {
ipkgName = "idris2-lsp";
src = fetchFromGitHub {
@@ -39,9 +38,10 @@ let lspLib = callPackage ./lsp-lib.nix { };
rev = "main";
hash = "sha256-vQTzEltkx7uelDtXOHc6QRWZ4cSlhhm5ziOqWA+aujk=";
};
idrisLibraries = [idris2Api lspLib];
idrisLibraries = [(idris2Packages.idris2Api { }) (lspLib { })];
};
in lspPkg.executable
```
The above uses the default value of `withSource = false` for the `idris2Api` but could be modified to include that library's source by passing `(idris2Api { withSource = true; })` to `idrisLibraries` instead. `idris2Api` in the above derivation comes built in with `idris2Packages`. This library exposes many of the otherwise internal APIs of the Idris2 compiler.
The above uses the default value of `withSource = false` for both of the two required Idris libraries that the `idris2-lsp` executable depends on. `idris2Api` in the above derivation comes built in with `idris2Packages`. This library exposes many of the otherwise internal APIs of the Idris2 compiler.

View File

@@ -2,54 +2,6 @@
The [standard build environment](#chap-stdenv) makes it easy to build typical Autotools-based packages with very little code. Any other kind of package can be accommodated by overriding the appropriate phases of `stdenv`. However, there are specialised functions in Nixpkgs to easily build packages for other programming languages, such as Perl or Haskell. These are described in this chapter.
Each supported language or software ecosystem has its own package set named `<language or ecosystem>Packages`, which can be explored in various ways:
- Search on [search.nixos.org](https://search.nixos.org/packages)
For example, search for [`haskellPackages`](https://search.nixos.org/packages?query=haskellPackages) or [`rubyPackages`](https://search.nixos.org/packages?query=rubyPackages).
- Navigate attribute sets with [`nix repl`](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-repl).
This technique is generally useful to inspect Nix language data structures.
:::{.example #example-navigte-nix-repl}
# Navigate Java compiler variants in `javaPackages` with `nix repl`
```shell-session
$ nix repl '<nixpkgs>' -I nixpkgs=channel:nixpkgs-unstable
nix-repl> javaPackages.<tab>
javaPackages.compiler javaPackages.openjfx15 javaPackages.openjfx21 javaPackages.recurseForDerivations
javaPackages.jogl_2_4_0 javaPackages.openjfx17 javaPackages.openjfx22
javaPackages.mavenfod javaPackages.openjfx19 javaPackages.override
javaPackages.openjfx11 javaPackages.openjfx20 javaPackages.overrideDerivation
```
:::
- List all derivations on the command line with [`nix-env --query`](https://nixos.org/manual/nix/stable/command-ref/nix-env/query).
`nix-env` is the only convenient way to do that, as it will skip attributes that fail [assertions](https://nixos.org/manual/nix/stable/language/constructs#assertions), such as when a package is [marked as broken](#var-meta-broken), rather than failing the entire evaluation.
:::{.example #example-list-haskellPackages}
# List all Python packages in Nixpkgs
The following command lists all [derivations names](https://nixos.org/manual/nix/stable/language/derivations#attr-name) with their attribute path from the latest Nixpkgs rolling release (`nixpkgs-unstable`).
```shell-session
$ nix-env -qaP -f '<nixpkgs>' -A pythonPackages -I nixpkgs=channel:nixpkgs-unstable
```
```console
pythonPackages.avahi avahi-0.8
pythonPackages.boost boost-1.81.0
pythonPackages.caffe caffe-1.0
pythonPackages.caffeWithCuda caffe-1.0
pythonPackages.cbeams cbeams-1.0.3
```
:::
```{=include=} sections
agda.section.md
android.section.md
@@ -67,7 +19,6 @@ dotnet.section.md
emscripten.section.md
gnome.section.md
go.section.md
hare.section.md
haskell.section.md
hy.section.md
idris.section.md
@@ -90,7 +41,6 @@ qt.section.md
r.section.md
ruby.section.md
rust.section.md
scheme.section.md
swift.section.md
texlive.section.md
titanium.section.md

View File

@@ -206,7 +206,7 @@ buildNpmPackage rec {
NODE_OPTIONS = "--openssl-legacy-provider";
meta = {
description = "Modern web UI for various torrent clients with a Node.js backend and React frontend";
description = "A modern web UI for various torrent clients with a Node.js backend and React frontend";
homepage = "https://flood.js.org";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ winter ];
@@ -233,7 +233,7 @@ If these are not defined, `npm pack` may miss some files, and no binaries will b
* `npmPruneFlags`: Flags to pass to `npm prune`. Defaults to the value of `npmInstallFlags`.
* `makeWrapperArgs`: Flags to pass to `makeWrapper`, added to executable calling the generated `.js` with `node` as an interpreter. These scripts are defined in `package.json`.
* `nodejs`: The `nodejs` package to build against, using the corresponding `npm` shipped with that version of `node`. Defaults to `pkgs.nodejs`.
* `npmDeps`: The dependencies used to build the npm package. Especially useful to not have to recompute workspace dependencies.
* `npmDeps`: The dependencies used to build the npm package. Especially useful to not have to recompute workspace depedencies.
#### prefetch-npm-deps {#javascript-buildNpmPackage-prefetch-npm-deps}
@@ -310,139 +310,8 @@ See `node2nix` [docs](https://github.com/svanderburg/node2nix) for more info.
- `node2nix` has some [bugs](https://github.com/svanderburg/node2nix/issues/238) related to working with lock files from npm distributed with `nodejs_16`.
- `node2nix` does not like missing packages from npm. If you see something like `Cannot resolve version: vue-loader-v16@undefined` then you might want to try another tool. The package might have been pulled off of npm.
### pnpm {#javascript-pnpm}
Pnpm is available as the top-level package `pnpm`. Additionally, there are variants pinned to certain major versions, like `pnpm_8` and `pnpm_9`, which support different sets of lock file versions.
When packaging an application that includes a `pnpm-lock.yaml`, you need to fetch the pnpm store for that project using a fixed-output-derivation. The functions `pnpm_8.fetchDeps` and `pnpm_9.fetchDeps` can create this pnpm store derivation. In conjunction, the setup hooks `pnpm_8.configHook` and `pnpm_9.configHook` will prepare the build environment to install the prefetched dependencies store. Here is an example for a package that contains a `package.json` and a `pnpm-lock.yaml` files using the above `pnpm_` attributes:
```nix
{
stdenv,
nodejs,
# This is pinned as { pnpm = pnpm_9; }
pnpm
}:
stdenv.mkDerivation (finalAttrs: {
pname = "foo";
version = "0-unstable-1980-01-01";
src = ...;
nativeBuildInputs = [
nodejs
pnpm.configHook
];
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "...";
};
})
```
NOTE: It is highly recommended to use a pinned version of pnpm (i.e. `pnpm_8` or `pnpm_9`), to increase future reproducibility. It might also be required to use an older version, if the package needs support for a certain lock file version.
In case you are patching `package.json` or `pnpm-lock.yaml`, make sure to pass `finalAttrs.patches` to the function as well (i.e. `inherit (finalAttrs) patches`.
#### Dealing with `sourceRoot` {#javascript-pnpm-sourceRoot}
NOTE: Nixpkgs pnpm tooling doesn't support building projects with a `pnpm-workspace.yaml`, or building monorepos. It maybe possible to use `pnpm.fetchDeps` for these projects, but it may be hard or impossible to produce a binary from such projects ([an example attempt](https://github.com/NixOS/nixpkgs/pull/290715#issuecomment-2144543728)).
If the pnpm project is in a subdirectory, you can just define `sourceRoot` or `setSourceRoot` for `fetchDeps`. Note, that projects using `pnpm-workspace.yaml` are currently not supported, and will probably not work using this approach.
If `sourceRoot` is different between the parent derivation and `fetchDeps`, you will have to set `pnpmRoot` to effectively be the same location as it is in `fetchDeps`.
Assuming the following directory structure, we can define `sourceRoot` and `pnpmRoot` as follows:
```
.
├── frontend
│   ├── ...
│   ├── package.json
│   └── pnpm-lock.yaml
└── ...
```
```nix
...
pnpmDeps = pnpm.fetchDeps {
...
sourceRoot = "${finalAttrs.src.name}/frontend";
};
# by default the working directory is the extracted source
pnpmRoot = "frontend";
```
### Yarn {#javascript-yarn}
Yarn based projects use a `yarn.lock` file instead of a `package-lock.json` to pin dependencies. Nixpkgs provides the Nix function `fetchYarnDeps` which fetches an offline cache suitable for running `yarn install` before building the project. In addition, Nixpkgs provides the hooks:
- `yarnConfigHook`: Fetches the dependencies from the offline cache and installs them into `node_modules`.
- `yarnBuildHook`: Runs `yarn build` or a specified `yarn` command that builds the project.
An example usage of the above attributes is:
```nix
{
lib,
stdenv,
fetchFromGitHub,
fetchYarnDeps,
yarnConfigHook,
yarnBuildHook,
nodejs,
npmHooks,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "...";
version = "...";
src = fetchFromGitHub {
owner = "...";
repo = "...";
rev = "v${finalAttrs.version}";
hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
};
yarnOfflineCache = fetchYarnDeps {
yarnLock = finalAttrs.src + "/yarn.lock";
hash = "sha256-mo8urQaWIHu33+r0Y7mL9mJ/aSe/5CihuIetTeDHEUQ=";
};
nativeBuildInputs = [
yarnConfigHook
yarnBuildHook
# Needed for executing package.json scripts
nodejs
npmHooks.npmInstallHook
];
meta = {
# ...
};
})
```
Note that there is no setup hook for installing yarn based packages - `npmHooks.npmInstallHook` should fit most cases, but sometimes you may need to override the `installPhase` completely.
#### `yarnConfigHook` arguments {#javascript-yarnconfighook}
By default, `yarnConfigHook` relies upon the attribute `${yarnOfflineCache}` (or `${offlineCache}` if the former is not set) to find the location of the offline cache produced by `fetchYarnDeps`. To disable this phase, you can set `dontYarnInstallDeps = true` or override the `configurePhase`.
#### `yarnBuildHook` arguments {#javascript-yarnbuildhook}
This script by default runs `yarn --offline build`, and it relies upon the project's dependencies installed at `node_modules`. Below is a list of additional `mkDerivation` arguments read by this hook:
- `yarnBuildScript`: Sets a different `yarn --offline` subcommand (defaults to `build`).
- `yarnBuildFlags`: Single string list of additional flags to pass the above command, or a Nix list of such additional flags.
### yarn2nix {#javascript-yarn2nix}
WARNING: The `yarn2nix` functions have been deprecated in favor of the new `yarnConfigHook` and `yarnBuildHook`. Documentation for them still appears here for the sake of the packages that still use them. See also a tracking issue [#324246](https://github.com/NixOS/nixpkgs/issues/324246).
#### Preparation {#javascript-yarn2nix-preparation}
You will need at least a `yarn.lock` file. If upstream does not have one you need to generate it and reference it in your package definition.

View File

@@ -7,7 +7,7 @@ The following example shows a Nim program that depends only on Nim libraries:
```nix
{ lib, buildNimPackage, fetchFromGitHub }:
buildNimPackage (finalAttrs: {
buildNimPackage { } (finalAttrs: {
pname = "ttop";
version = "1.2.7";
@@ -80,6 +80,7 @@ For example, to propagate a dependency on SDL2 for lockfiles that select the Nim
/* */
sdl2 =
lockAttrs:
finalAttrs:
{ buildInputs ? [ ], ... }:
{
buildInputs = buildInputs ++ [ SDL2 ];
@@ -88,8 +89,9 @@ For example, to propagate a dependency on SDL2 for lockfiles that select the Nim
}
```
The annotations in the `nim-overrides.nix` set are functions that take two arguments and return a new attrset to be overlaid on the package being built.
The annotations in the `nim-overrides.nix` set are functions that take three arguments and return a new attrset to be overlayed on the package being built.
- lockAttrs: the attrset for this library from within a lockfile. This can be used to implement library version constraints, such as marking libraries as broken or insecure.
- finalAttrs: the final attrset passed by `buildNimPackage` to `stdenv.mkDerivation`.
- prevAttrs: the attrset produced by initial arguments to `buildNimPackage` and any preceding lockfile overlays.
### Overriding an Nim library override {#nim-lock-overrides-overrides}

View File

@@ -113,13 +113,21 @@ buildDunePackage rec {
meta = {
homepage = "https://github.com/flowtype/ocaml-wtf8";
description = "WTF-8 is a superset of UTF-8 that allows unpaired surrogates";
description = "WTF-8 is a superset of UTF-8 that allows unpaired surrogates.";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.eqyiel ];
};
}
```
Note about `minimalOCamlVersion`. A deprecated version of this argument was
spelled `minimumOCamlVersion`; setting the old attribute wrongly modifies the
derivation hash and is therefore inappropriate. As a technical dept, currently
packaged libraries may still use the old spelling: maintainers are invited to
fix this when updating packages. Massive renaming is strongly discouraged as it
would be challenging to review, difficult to test, and will cause unnecessary
rebuild.
The build will automatically fail if two distinct versions of the same library
are added to `buildInputs` (which usually happens transitively because of
`propagatedBuildInputs`). Set `dontDetectOcamlConflicts` to true to disable this

View File

@@ -158,7 +158,7 @@ $ nix-generate-from-cpan XML::Simple
};
propagatedBuildInputs = [ XMLNamespaceSupport XMLSAX XMLSAXExpat ];
meta = {
description = "API for simple XML files";
description = "An API for simple XML files";
license = with lib.licenses; [ artistic1 gpl1Plus ];
};
};

View File

@@ -283,10 +283,7 @@ in {
];
composerRepository = php.mkComposerRepository {
inherit (finalAttrs) pname version src;
composerNoDev = true;
composerNoPlugins = true;
composerNoScripts = true;
inherit (finalAttrs) src;
# Specifying a custom composer.lock since it is not present in the sources.
composerLock = ./composer.lock;
# The composer vendor hash

View File

@@ -4,7 +4,16 @@
### Interpreters {#interpreters}
@python-interpreter-table@
| Package | Aliases | Interpreter |
|------------|-----------------|-------------|
| python27 | python2, python | CPython 2.7 |
| python39 | | CPython 3.9 |
| python310 | | CPython 3.10 |
| python311 | python3 | CPython 3.11 |
| python312 | | CPython 3.12 |
| python313 | | CPython 3.13 |
| pypy27 | pypy2, pypy | PyPy2.7 |
| pypy39 | pypy3 | PyPy 3.9 |
The Nix expressions for the interpreters can be found in
`pkgs/development/interpreters/python`.
@@ -31,8 +40,8 @@ Each interpreter has the following attributes:
### Building packages and applications {#building-packages-and-applications}
Python libraries and applications that use tools to follow PEP 517 (e.g. `setuptools` or `hatchling`, etc.) or
previous tools such as `distutils` are typically built with respectively the [`buildPythonPackage`](#buildpythonpackage-function) and
Python libraries and applications that use `setuptools` or
`distutils` are typically built with respectively the [`buildPythonPackage`](#buildpythonpackage-function) and
[`buildPythonApplication`](#buildpythonapplication-function) functions. These two functions also support installing a `wheel`.
All Python packages reside in `pkgs/top-level/python-packages.nix` and all
@@ -78,7 +87,6 @@ The following is an example:
, fetchPypi
# build-system
, setuptools
, setuptools-scm
# dependencies
@@ -108,7 +116,6 @@ buildPythonPackage rec {
'';
build-system = [
setuptools
setuptools-scm
];
@@ -136,13 +143,13 @@ buildPythonPackage rec {
The `buildPythonPackage` mainly does four things:
* In the [`buildPhase`](#build-phase), it calls `${python.pythonOnBuildForHost.interpreter} -m build --wheel` to
* In the [`buildPhase`](#build-phase), it calls `${python.pythonOnBuildForHost.interpreter} setup.py bdist_wheel` to
build a wheel binary zipfile.
* In the [`installPhase`](#ssec-install-phase), it installs the wheel file using `${python.pythonOnBuildForHost.interpreter} -m installer *.whl`.
* In the [`installPhase`](#ssec-install-phase), it installs the wheel file using `pip install *.whl`.
* In the [`postFixup`](#var-stdenv-postFixup) phase, the `wrapPythonPrograms` bash function is called to
wrap all programs in the `$out/bin/*` directory to include `$PATH`
environment variable and add dependent libraries to script's `sys.path`.
* In the [`installCheck`](#ssec-installCheck-phase) phase, `${python.interpreter} -m pytest` is run.
* In the [`installCheck`](#ssec-installCheck-phase) phase, `${python.interpreter} setup.py test` is run.
By default tests are run because [`doCheck = true`](#var-stdenv-doCheck). Test dependencies, like
e.g. the test runner, should be added to [`nativeCheckInputs`](#var-stdenv-nativeCheckInputs).
@@ -179,6 +186,10 @@ following are specific to `buildPythonPackage`:
`makeWrapperArgs = ["--set FOO BAR" "--set BAZ QUX"]`.
* `namePrefix`: Prepends text to `${name}` parameter. In case of libraries, this
defaults to `"python3.8-"` for Python 3.8, etc., and in case of applications to `""`.
* `pipInstallFlags ? []`: A list of strings. Arguments to be passed to `pip
install`. To pass options to `python setup.py install`, use
`--install-option`. E.g., `pipInstallFlags=["--install-option='--cpp_implementation'"]`.
* `pipBuildFlags ? []`: A list of strings. Arguments to be passed to `pip wheel`.
* `pypaBuildFlags ? []`: A list of strings. Arguments to be passed to `python -m build --wheel`.
* `pythonPath ? []`: List of packages to be added into `$PYTHONPATH`. Packages
in `pythonPath` are not propagated (contrary to [`propagatedBuildInputs`](#var-stdenv-propagatedBuildInputs)).
@@ -296,6 +307,7 @@ python3Packages.buildPythonApplication rec {
build-system = with python3Packages; [
setuptools
wheel
];
dependencies = with python3Packages; [
@@ -462,11 +474,13 @@ are used in [`buildPythonPackage`](#buildpythonpackage-function).
with the `eggInstallHook`
- `eggBuildHook` to skip building for eggs.
- `eggInstallHook` to install eggs.
- `pipBuildHook` to build a wheel using `pip` and PEP 517. Note a build system
(e.g. `setuptools` or `flit`) should still be added as `build-system`.
- `pypaBuildHook` to build a wheel using
[`pypa/build`](https://pypa-build.readthedocs.io/en/latest/index.html) and
PEP 517/518. Note a build system (e.g. `setuptools` or `flit`) should still
be added as `build-system`.
- `pypaInstallHook` to install wheels.
- `pipInstallHook` to install wheels.
- `pytestCheckHook` to run tests with `pytest`. See [example usage](#using-pytestcheckhook).
- `pythonCatchConflictsHook` to fail if the package depends on two different versions of the same dependency.
- `pythonImportsCheckHook` to check whether importing the listed modules works.
@@ -604,8 +618,7 @@ that sets up an interpreter pointing to them. This matters much more for "big"
modules like `pytorch` or `tensorflow`.
Module names usually match their names on [pypi.org](https://pypi.org/), but
normalized according to PEP 503/508. (e.g. Foo__Bar.baz -> foo-bar-baz)
You can use the [Nixpkgs search website](https://nixos.org/nixos/packages.html)
you can use the [Nixpkgs search website](https://nixos.org/nixos/packages.html)
to find them as well (along with non-python packages).
At this point we can create throwaway experimental Python environments with
@@ -833,6 +846,7 @@ building Python libraries is [`buildPythonPackage`](#buildpythonpackage-function
, buildPythonPackage
, fetchPypi
, setuptools
, wheel
}:
buildPythonPackage rec {
@@ -847,6 +861,7 @@ buildPythonPackage rec {
build-system = [
setuptools
wheel
];
# has no tests
@@ -870,7 +885,7 @@ buildPythonPackage rec {
What happens here? The function [`buildPythonPackage`](#buildpythonpackage-function) is called and as argument
it accepts a set. In this case the set is a recursive set, `rec`. One of the
arguments is the name of the package, which consists of a basename (generally
following the name on PyPI) and a version. Another argument, `src` specifies the
following the name on PyPi) and a version. Another argument, `src` specifies the
source, which in this case is fetched from PyPI using the helper function
`fetchPypi`. The argument `doCheck` is used to set whether tests should be run
when building the package. Since there are no tests, we rely on [`pythonImportsCheck`](#using-pythonimportscheck)
@@ -905,6 +920,7 @@ with import <nixpkgs> {};
build-system = [
python311.pkgs.setuptools
python311.pkgs.wheel
];
# has no tests
@@ -957,13 +973,13 @@ order to build [`datashape`](https://github.com/blaze/datashape).
, fetchPypi
# build dependencies
, setuptools
, setuptools, wheel
# dependencies
, numpy, multipledispatch, python-dateutil
# tests
, pytestCheckHook
, pytest
}:
buildPythonPackage rec {
@@ -978,6 +994,7 @@ buildPythonPackage rec {
build-system = [
setuptools
wheel
];
dependencies = [
@@ -987,21 +1004,21 @@ buildPythonPackage rec {
];
nativeCheckInputs = [
pytestCheckHook
pytest
];
meta = {
changelog = "https://github.com/blaze/datashape/releases/tag/${version}";
homepage = "https://github.com/ContinuumIO/datashape";
description = "Data description language";
description = "A data description language";
license = lib.licenses.bsd2;
};
}
```
We can see several runtime dependencies, `numpy`, `multipledispatch`, and
`python-dateutil`. Furthermore, we have [`nativeCheckInputs`](#var-stdenv-nativeCheckInputs) with `pytestCheckHook`.
`pytestCheckHook` is a test runner hook and is only used during the [`checkPhase`](#ssec-check-phase) and is
`python-dateutil`. Furthermore, we have [`nativeCheckInputs`](#var-stdenv-nativeCheckInputs) with `pytest`.
`pytest` is a test runner and is only used during the [`checkPhase`](#ssec-check-phase) and is
therefore not added to `dependencies`.
In the previous case we had only dependencies on other Python packages to consider.
@@ -1014,6 +1031,7 @@ when building the bindings and are therefore added as [`buildInputs`](#var-stden
, buildPythonPackage
, fetchPypi
, setuptools
, wheel
, libxml2
, libxslt
}:
@@ -1030,6 +1048,7 @@ buildPythonPackage rec {
build-system = [
setuptools
wheel
];
buildInputs = [
@@ -1037,14 +1056,6 @@ buildPythonPackage rec {
libxslt
];
# tests are meant to be ran "in-place" in the same directory as src
doCheck = false;
pythonImportsCheck = [
"lxml"
"lxml.etree"
];
meta = {
changelog = "https://github.com/lxml/lxml/releases/tag/lxml-${version}";
description = "Pythonic binding for the libxml2 and libxslt libraries";
@@ -1072,6 +1083,7 @@ therefore we have to set `LDFLAGS` and `CFLAGS`.
# build dependencies
, setuptools
, wheel
# dependencies
, fftw
@@ -1082,7 +1094,7 @@ therefore we have to set `LDFLAGS` and `CFLAGS`.
}:
buildPythonPackage rec {
pname = "pyfftw";
pname = "pyFFTW";
version = "0.9.2";
pyproject = true;
@@ -1093,6 +1105,7 @@ buildPythonPackage rec {
build-system = [
setuptools
wheel
];
buildInputs = [
@@ -1114,11 +1127,9 @@ buildPythonPackage rec {
# Tests cannot import pyfftw. pyfftw works fine though.
doCheck = false;
pythonImportsCheck = [ "pyfftw" ];
meta = {
changelog = "https://github.com/pyFFTW/pyFFTW/releases/tag/v${version}";
description = "Pythonic wrapper around FFTW, the FFT library, presenting a unified interface for all the supported transforms";
description = "A pythonic wrapper around FFTW, the FFT library, presenting a unified interface for all the supported transforms";
homepage = "http://hgomersall.github.com/pyFFTW";
license = with lib.licenses; [ bsd2 bsd3 ];
};
@@ -1131,8 +1142,10 @@ Note also the line [`doCheck = false;`](#var-stdenv-doCheck), we explicitly disa
It is highly encouraged to have testing as part of the package build. This
helps to avoid situations where the package was able to build and install,
but is not usable at runtime.
Your package should provide its own [`checkPhase`](#ssec-check-phase).
but is not usable at runtime. Currently, all packages will use the `test`
command provided by the setup.py (i.e. `python setup.py test`). However,
this is currently deprecated https://github.com/pypa/setuptools/pull/1878
and your package should provide its own [`checkPhase`](#ssec-check-phase).
::: {.note}
The [`checkPhase`](#ssec-check-phase) for python maps to the `installCheckPhase` on a
@@ -1203,11 +1216,9 @@ been removed, in this case, it's recommended to use `pytestCheckHook`.
#### Using pytestCheckHook {#using-pytestcheckhook}
`pytestCheckHook` is a convenient hook which will set up (or configure)
a [`checkPhase`](#ssec-check-phase) to run `pytest`. This is also beneficial
`pytestCheckHook` is a convenient hook which will substitute the setuptools
`test` command for a [`checkPhase`](#ssec-check-phase) which runs `pytest`. This is also beneficial
when a package may need many items disabled to run the test suite.
Most packages use `pytest` or `unittest`, which is compatible with `pytest`,
so you will most likely use `pytestCheckHook`.
Using the example above, the analogous `pytestCheckHook` usage would be:
@@ -1315,6 +1326,9 @@ we can do:
```nix
{
nativeBuildInputs = [
pythonRelaxDepsHook
];
pythonRelaxDeps = [
"pkg1"
"pkg3"
@@ -1337,6 +1351,7 @@ example:
```nix
{
nativeBuildInputs = [ pythonRelaxDepsHook ];
pythonRelaxDeps = true;
}
```
@@ -1359,14 +1374,9 @@ Keep in mind that while the examples above are done with `requirements.txt`,
`pythonRelaxDepsHook` works by modifying the resulting wheel file, so it should
work with any of the [existing hooks](#setup-hooks).
The `pythonRelaxDepsHook` has no effect on build time dependencies, such as
those specified in `build-system`. If a package requires incompatible build
time dependencies, they should be removed in `postPatch` through
`substituteInPlace` or similar.
#### Using unittestCheckHook {#using-unittestcheckhook}
`unittestCheckHook` is a hook which will set up (or configure) a [`checkPhase`](#ssec-check-phase) to run `python -m unittest discover`:
`unittestCheckHook` is a hook which will substitute the setuptools `test` command for a [`checkPhase`](#ssec-check-phase) which runs `python -m unittest discover`:
```nix
{
@@ -1380,8 +1390,6 @@ time dependencies, they should be removed in `postPatch` through
}
```
`pytest` is compatible with `unittest`, so in most cases you can use `pytestCheckHook` instead.
#### Using sphinxHook {#using-sphinxhook}
The `sphinxHook` is a helpful tool to build documentation and manpages
@@ -1460,6 +1468,7 @@ We first create a function that builds `toolz` in `~/path/to/toolz/release.nix`
, buildPythonPackage
, fetchPypi
, setuptools
, wheel
}:
buildPythonPackage rec {
@@ -1474,6 +1483,7 @@ buildPythonPackage rec {
build-system = [
setuptools
wheel
];
meta = {
@@ -1493,9 +1503,10 @@ with import <nixpkgs> {};
( let
toolz = callPackage /path/to/toolz/release.nix {
buildPythonPackage = python3Packages.buildPythonPackage;
buildPythonPackage = python310
Packages.buildPythonPackage;
};
in python3.withPackages (ps: [
in python310.withPackages (ps: [
ps.numpy
toolz
])
@@ -1916,8 +1927,6 @@ because we can only provide security support for non-vendored dependencies.
We recommend [nix-init](https://github.com/nix-community/nix-init) for creating new python packages within nixpkgs,
as it already prefetches the source, parses dependencies for common formats and prefills most things in `meta`.
See also [contributing section](#contributing).
### Are Python interpreters built deterministically? {#deterministic-builds}
The Python interpreters are now built deterministically. Minor modifications had
@@ -1935,15 +1944,16 @@ Both are also exported in `nix-shell`.
It is recommended to test packages as part of the build process.
Source distributions (`sdist`) often include test files, but not always.
The best practice today is to pass a test hook (e.g. pytestCheckHook, unittestCheckHook) into nativeCheckInputs.
This will reconfigure the checkPhase to make use of that particular test framework.
Occasionally packages don't make use of a common test framework, which may then require a custom checkPhase.
By default the command `python setup.py test` is run as part of the
[`checkPhase`](#ssec-check-phase), but often it is necessary to pass a custom [`checkPhase`](#ssec-check-phase). An
example of such a situation is when `py.test` is used.
#### Common issues {#common-issues}
* Non-working tests can often be deselected. Most Python modules
do follow the standard test protocol where the pytest runner can be used.
`pytest` supports the `-k` and `--ignore` parameters to ignore test
* Non-working tests can often be deselected. By default [`buildPythonPackage`](#buildpythonpackage-function)
runs `python setup.py test`. which is deprecated. Most Python modules however
do follow the standard test protocol where the pytest runner can be used
instead. `pytest` supports the `-k` and `--ignore` parameters to ignore test
methods or classes as well as whole files. For `pytestCheckHook` these are
conveniently exposed as `disabledTests` and `disabledTestPaths` respectively.
@@ -1984,25 +1994,14 @@ The following rules are desired to be respected:
* Python applications live outside of `python-packages.nix` and are packaged
with [`buildPythonApplication`](#buildpythonapplication-function).
* Make sure libraries build for all Python interpreters.
If it fails to build on some Python versions, consider disabling them by setting `disable = pythonAtLeast "3.x"` along with a comment.
* The two parameters, `pyproject` and `build-system` are set to avoid the legacy setuptools/distutils build.
* Only unversioned attributes (e.g. `pydantic`, but not `pypdantic_1`) can be included in `dependencies`,
since due to `PYTHONPATH` limitations we can only ever support a single version for libraries
without running into duplicate module name conflicts.
* The version restrictions of `dependencies` can be relaxed by [`pythonRelaxDepsHook`](#using-pythonrelaxdepshook).
* Make sure the tests are enabled using for example [`pytestCheckHook`](#using-pytestcheckhook) and, in the case of
* By default we enable tests. Make sure the tests are found and, in the case of
libraries, are passing for all interpreters. If certain tests fail they can be
disabled individually. Try to avoid disabling the tests altogether. In any
case, when you disable tests, leave a comment explaining why.
* `pythonImportsCheck` is set. This is still a good smoke test even if `pytestCheckHook` is set.
* `meta.platforms` takes the default value in many cases.
It does not need to be set explicitly unless the package requires a specific platform.
* The file is formatted with `nixfmt-rfc-style`.
* Commit names of Python libraries should reflect that they are Python
libraries, so write for example `python311Packages.numpy: 1.11 -> 1.12`.
It is highly recommended to specify the current default version to enable
automatic build by ofborg.
Note that `pythonPackages` is an alias for `python27Packages`.
* Attribute names in `python-packages.nix` as well as `pname`s should match the
library's name on PyPI, but be normalized according to [PEP
0503](https://www.python.org/dev/peps/pep-0503/#normalized-names). This means
@@ -2016,8 +2015,6 @@ The following rules are desired to be respected:
* Attribute names in `python-packages.nix` should be sorted alphanumerically to
avoid merge conflicts and ease locating attributes.
This list is useful for reviewers as well as for self-checking when submitting packages.
## Package set maintenance {#python-package-set-maintenance}
The whole Python package set has a lot of packages that do not see regular

View File

@@ -38,7 +38,7 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-jtBw4ahSl88L0iuCXxQgZVm1EcboWRJMNtjxLVTtzts=";
meta = {
description = "Fast line-oriented regex search tool, similar to ag and ack";
description = "A fast line-oriented regex search tool, similar to ag and ack";
homepage = "https://github.com/BurntSushi/ripgrep";
license = lib.licenses.unlicense;
maintainers = [];
@@ -46,16 +46,11 @@ rustPlatform.buildRustPackage rec {
}
```
`buildRustPackage` requires a `cargoHash` attribute, computed over all crate sources of this package.
::: {.warning}
`cargoSha256` is already deprecated, and is subject to removal in favor of
`cargoHash` which supports [SRI](https://www.w3.org/TR/SRI/) hashes.
If you are still using `cargoSha256`, you can simply replace it with
`cargoHash` and recompute the hash, or convert the original sha256 to SRI
hash using `nix-hash --to-sri --type sha256 "<original sha256>"`.
:::
`buildRustPackage` requires either a `cargoHash` (preferred) or a
`cargoSha256` attribute, computed over all crate sources of this package.
`cargoHash` supports [SRI](https://www.w3.org/TR/SRI/) hashes and should be
preferred over `cargoSha256` which was used for traditional Nix SHA-256 hashes.
For example:
```nix
{
@@ -63,7 +58,7 @@ hash using `nix-hash --to-sri --type sha256 "<original sha256>"`.
}
```
Exception: If the application has cargo `git` dependencies, the `cargoHash`
Exception: If the application has cargo `git` dependencies, the `cargoHash`/`cargoSha256`
approach will not work, and you will need to copy the `Cargo.lock` file of the application
to nixpkgs and continue with the next section for specifying the options of the `cargoLock`
section.
@@ -81,6 +76,14 @@ then be taken from the failed build. A fake hash can be used for
}
```
For `cargoSha256` you can use:
```nix
{
cargoSha256 = lib.fakeSha256;
}
```
Per the instructions in the [Cargo Book](https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html)
best practices guide, Rust applications should always commit the `Cargo.lock`
file in git to ensure a reproducible build. However, a few packages do not, and
@@ -95,7 +98,7 @@ directory into a tar.gz archive.
The tarball with vendored dependencies contains a directory with the
package's `name`, which is normally composed of `pname` and
`version`. This means that the vendored dependencies hash
(`cargoHash`) is dependent on the package name and
(`cargoHash`/`cargoSha256`) is dependent on the package name and
version. The `cargoDepsName` attribute can be used to use another name
for the directory of vendored dependencies. For example, the hash can
be made invariant to the version by setting `cargoDepsName` to
@@ -120,7 +123,7 @@ rustPlatform.buildRustPackage rec {
### Importing a `Cargo.lock` file {#importing-a-cargo.lock-file}
Using a vendored hash (`cargoHash`) is tedious when using
Using a vendored hash (`cargoHash`/`cargoSha256`) is tedious when using
`buildRustPackage` within a project, since it requires that the hash
is updated after every change to `Cargo.lock`. Therefore,
`buildRustPackage` also supports vendoring dependencies directly from
@@ -251,7 +254,7 @@ By default, it takes the `stdenv.hostPlatform.config` and replaces components
where they are known to differ. But there are ways to customize the argument:
- To choose a different target by name, define
`stdenv.hostPlatform.rust.rustcTarget` as that name (a string), and that
`stdenv.hostPlatform.rustc.config` as that name (a string), and that
name will be used instead.
For example:
@@ -259,7 +262,7 @@ where they are known to differ. But there are ways to customize the argument:
```nix
import <nixpkgs> {
crossSystem = (import <nixpkgs/lib>).systems.examples.armhf-embedded // {
rust.rustcTarget = "thumbv7em-none-eabi";
rustc.config = "thumbv7em-none-eabi";
};
}
```
@@ -271,10 +274,10 @@ where they are known to differ. But there are ways to customize the argument:
```
- To pass a completely custom target, define
`stdenv.hostPlatform.rust.rustcTarget` with its name, and
`stdenv.hostPlatform.rust.platform` with the value. The value will be
`stdenv.hostPlatform.rustc.config` with its name, and
`stdenv.hostPlatform.rustc.platform` with the value. The value will be
serialized to JSON in a file called
`${stdenv.hostPlatform.rust.rustcTarget}.json`, and the path of that file
`${stdenv.hostPlatform.rustc.config}.json`, and the path of that file
will be used instead.
For example:
@@ -282,8 +285,8 @@ where they are known to differ. But there are ways to customize the argument:
```nix
import <nixpkgs> {
crossSystem = (import <nixpkgs/lib>).systems.examples.armhf-embedded // {
rust.rustcTarget = "thumb-crazy";
rust.platform = { foo = ""; bar = ""; };
rustc.config = "thumb-crazy";
rustc.platform = { foo = ""; bar = ""; };
};
}
```
@@ -997,7 +1000,7 @@ rustPlatform.buildRustPackage rec {
doCheck = false;
meta = {
description = "Fast line-oriented regex search tool, similar to ag and ack";
description = "A fast line-oriented regex search tool, similar to ag and ack";
homepage = "https://github.com/BurntSushi/ripgrep";
license = with lib.licenses; [ mit unlicense ];
maintainers = with lib.maintainers; [];

View File

@@ -1,35 +0,0 @@
# Scheme {#sec-scheme}
## Package Management {#sec-scheme-package-management}
### Akku {#sec-scheme-package-management-akku}
About two hundred R6RS & R7RS libraries from [Akku](https://akkuscm.org/)
(which also mirrors [snow-fort](https://snow-fort.org/pkg))
are available inside the `akkuPackages` attrset, and the Akku executable
itself is at the top level as `akku`. The packages could be used
in a derivation's `buildInputs`, work inside of `nix-shell`, and
are tested using [Chez](https://www.scheme.com/) &
[Chibi](https://synthcode.com/wiki/chibi-scheme)
Scheme during build time.
Including a package as a build input is done in the typical Nix fashion.
For example, to include
[a bunch of SRFIs](https://akkuscm.org/packages/chez-srfi/)
primarily for Chez Scheme in a derivation, one might write:
```nix
{
buildInputs = [
chez
akkuPackages.chez-srfi
];
}
```
The package index is located in `pkgs/tools/package-management/akku`
as `deps.toml`, and should be updated occasionally by running `./update.sh`
in the directory. Doing so will pull the source URLs for new packages and
more recent versions, then write them to the TOML.

View File

@@ -83,13 +83,12 @@ Release 23.11 ships with a new interface that will eventually replace `texlive.c
```nix
stdenvNoCC.mkDerivation rec {
src = texlive.pkgs.iwona;
dontUnpack = true;
inherit (src) pname version;
installPhase = ''
runHook preInstall
install -Dm644 $src/fonts/opentype/nowacki/iwona/*.otf -t $out/share/fonts/opentype
install -Dm644 fonts/opentype/nowacki/iwona/*.otf -t $out/share/fonts/opentype
runHook postInstall
'';
}
@@ -183,7 +182,7 @@ let
'';
meta = {
description = "LaTeX2e class for overhead transparencies";
description = "A LaTeX2e class for overhead transparencies";
license = lib.licenses.unfreeRedistributable;
maintainers = with lib.maintainers; [ veprbl ];
platforms = lib.platforms.all;

View File

@@ -214,7 +214,7 @@ Note: this is not possible anymore for Neovim.
Nix expressions for Vim plugins are stored in [pkgs/applications/editors/vim/plugins](https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/editors/vim/plugins). For the vast majority of plugins, Nix expressions are automatically generated by running [`nix-shell -p vimPluginsUpdater --run vim-plugins-updater`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/updater.nix). This creates a [generated.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/generated.nix) file based on the plugins listed in [vim-plugin-names](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/vim-plugin-names).
When the vim updater detects an nvim-treesitter update, it also runs [`nvim-treesitter/update.py $(nix-build -A vimPlugins.nvim-treesitter)`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/update.py) to update the tree sitter grammars for `nvim-treesitter`.
After running the updater, if nvim-treesitter received an update, also run [`nvim-treesitter/update.py`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/update.py) to update the tree sitter grammars for `nvim-treesitter`.
Some plugins require overrides in order to function properly. Overrides are placed in [overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/overrides.nix). Overrides are most often required when a plugin requires some dependencies, or extra steps are required during the build process. For example `deoplete-fish` requires both `deoplete-nvim` and `vim-fish`, and so the following override was added:
@@ -226,18 +226,18 @@ Some plugins require overrides in order to function properly. Overrides are plac
}
```
Sometimes plugins require an override that must be changed when the plugin is updated. This can cause issues when Vim plugins are auto-updated but the associated override isn't updated. For these plugins, the override should be written so that it specifies all information required to install the plugin, and running `nix-shell -p vimPluginsUpdater --run vim-plugins-updater` doesn't change the derivation for the plugin. Manually updating the override is required to update these types of plugins. An example of such a plugin is `LanguageClient-neovim`.
Sometimes plugins require an override that must be changed when the plugin is updated. This can cause issues when Vim plugins are auto-updated but the associated override isn't updated. For these plugins, the override should be written so that it specifies all information required to install the plugin, and running `./update.py` doesn't change the derivation for the plugin. Manually updating the override is required to update these types of plugins. An example of such a plugin is `LanguageClient-neovim`.
To add a new plugin, run `nix-shell -p vimPluginsUpdater --run 'vim-plugins-updater add "[owner]/[name]"'`. **NOTE**: This script automatically commits to your git repository. Be sure to check out a fresh branch before running.
To add a new plugin, run `./update.py add "[owner]/[name]"`. **NOTE**: This script automatically commits to your git repository. Be sure to check out a fresh branch before running.
Finally, there are some plugins that are also packaged in nodePackages because they have Javascript-related build steps, such as running webpack. Those plugins are not listed in `vim-plugin-names` or managed by `vimPluginsUpdater` at all, and are included separately in `overrides.nix`. Currently, all these plugins are related to the `coc.nvim` ecosystem of the Language Server Protocol integration with Vim/Neovim.
Finally, there are some plugins that are also packaged in nodePackages because they have Javascript-related build steps, such as running webpack. Those plugins are not listed in `vim-plugin-names` or managed by `update.py` at all, and are included separately in `overrides.nix`. Currently, all these plugins are related to the `coc.nvim` ecosystem of the Language Server Protocol integration with Vim/Neovim.
## Updating plugins in nixpkgs {#updating-plugins-in-nixpkgs}
Run the update script with a GitHub API token that has at least `public_repo` access. Running the script without the token is likely to result in rate-limiting (429 errors). For steps on creating an API token, please refer to [GitHub's token documentation](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token).
```sh
nix-shell -p vimPluginsUpdater --run 'vim-plugins-updater --github-token=mytoken' # or set GITHUB_API_TOKEN environment variable
GITHUB_API_TOKEN=my_token ./pkgs/applications/editors/vim/plugins/update.py
```
Alternatively, set the number of processes to a lower count to avoid rate-limiting.

View File

@@ -12,5 +12,4 @@ stdenv.md
build-helpers.md
development.md
contributing.md
interoperability.md
```

View File

@@ -11,8 +11,7 @@ On NixOS, you need to explicitly enable `ibus` with given engines before customi
```nix
{ pkgs, ... }: {
i18n.inputMethod = {
enable = true;
type = "ibus";
enabled = "ibus";
ibus.engines = with pkgs.ibus-engines; [ typing-booster ];
};
}

View File

@@ -24,7 +24,6 @@ shell-helpers.section.md
steam.section.md
cataclysm-dda.section.md
urxvt.section.md
vcpkg.section.md
weechat.section.md
xorg.section.md
```

View File

@@ -40,29 +40,31 @@ pkgs.linux_latest.override {
## Manual kernel configuration {#sec-manual-kernel-configuration}
Sometimes it may not be desirable to use kernels built with `pkgs.buildLinux`, especially if most of the common configuration has to be altered or disabled to achieve a kernel as expected by the target use case.
An example of this is building a kernel for use in a VM or micro VM. You can use `pkgs.linuxPackages_custom` in these cases. It requires the `src`, `version`, and `configfile` attributes to be specified.
An example of this is building a kernel for use in a VM or micro VM. You can use `pkgs.linuxManualConfig` in these cases. It requires the `src`, `version`, and `configfile` attributes to be specified.
:::{.example #ex-using-linux-manual-config}
# Using `pkgs.linuxPackages_custom` with a specific source, version, and config file
# Using `pkgs.linuxManualConfig` with a specific source, version, and config file
```nix
{ pkgs, ... }:
pkgs.linuxPackages_custom {
{ pkgs, ... }: {
version = "6.1.55";
src = pkgs.fetchurl {
url = "https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-${version}.tar.xz";
hash = "sha256:1h0mzx52q9pvdv7rhnvb8g68i7bnlc9rf8gy9qn4alsxq4g28zm8";
};
configfile = ./path_to_config_file;
linux = pkgs.linuxManualConfig {
inherit version src configfile;
allowImportFromDerivation = true;
};
}
```
If necessary, the version string can be slightly modified to explicitly mark it as a custom version. If you do so, ensure the `modDirVersion` attribute matches the source's version, otherwise the build will fail.
```nix
{ pkgs, ... }:
pkgs.linuxPackages_custom {
{ pkgs, ... }: {
version = "6.1.55-custom";
modDirVersion = "6.1.55";
src = pkgs.fetchurl {
@@ -70,12 +72,16 @@ pkgs.linuxPackages_custom {
hash = "sha256:1h0mzx52q9pvdv7rhnvb8g68i7bnlc9rf8gy9qn4alsxq4g28zm8";
};
configfile = ./path_to_config_file;
linux = pkgs.linuxManualConfig {
inherit version modDirVersion src configfile;
allowImportFromDerivation = true;
};
}
```
:::
Additional attributes can be used with `linuxManualConfig` for further customisation instead of `linuxPackages_custom`. You're encouraged to read [the `pkgs.linuxManualConfig` source code](https://github.com/NixOS/nixpkgs/blob/d77bda728d5041c1294a68fb25c79e2d161f62b9/pkgs/os-specific/linux/kernel/manual-config.nix) to understand how to use them.
Additional attributes can be used with `linuxManualConfig` for further customisation. You're encouraged to read [the `pkgs.linuxManualConfig` source code](https://github.com/NixOS/nixpkgs/blob/d77bda728d5041c1294a68fb25c79e2d161f62b9/pkgs/os-specific/linux/kernel/manual-config.nix) to understand how to use them.
To edit the `.config` file for Linux X.Y from within Nix, proceed as follows:

View File

@@ -40,6 +40,20 @@ Use `programs.steam.enable = true;` if you want to add steam to `systemPackages`
have a look at [this pull request](https://github.com/NixOS/nixpkgs/pull/20269).
- **Java**
1. There is no java in steam chrootenv by default. If you get a message like:
```
/home/foo/.local/share/Steam/SteamApps/common/towns/towns.sh: line 1: java: command not found
```
you need to add:
```nix
steam.override { withJava = true; }
```
## steam-run {#sec-steam-run}
The FHS-compatible chroot used for Steam can also be used to run other Linux games that expect a FHS environment. To use it, install the `steam-run` package and run the game with:

View File

@@ -1,24 +0,0 @@
# VCPKG {#sec-vcpkg}
The `vcpkg-tool` package has a wrapper around the `vcpkg` executable to avoid writing to the nix store.
The wrapper will also be present in `vcpkg`, unless you specify `vcpkg.override { vcpkg-tool = vcpkg-tool-unwrapped; }`
The wrapper has been made in a way so that it will provide default cli arguments, but tries not to interfere if the user provides the same arguments.
The arguments also have corresponding environment variables that can be used as an alternative way of overriding these paths.
Run the wrapper with the environment variable `NIX_VCPKG_DEBUG_PRINT_ENVVARS=true` to get a full list of corresponding environment variables.
## Nix specific environment variables {#sec-vcpkg-nix-envvars}
The wrapper also provides some new nix-specific environment variables that lets you control some of the wrapper functionality.
- `NIX_VCPKG_WRITABLE_PATH = <path>`
Set this environment variable to specify the path where `vcpkg` will store buildtime artifacts.
This will become the base path for all of the other paths.
- `NIX_VCPKG_DEBUG_PRINT_ENVVARS = true | false`
Set this to `true` for the wrapper to print the corresponding environment variables for the arguments that will be provided to the unwrapped executable.
The list of variables will be printed right before invoking `vcpkg`.
This can be useful if you suspect that the wrapper for some reason was unable to prioritize user-provided cli args over its default ones, or for fixing other issues like typos or unexpanded environment variables.

View File

@@ -1,7 +1,20 @@
let
pkgs = import ../. {
config = { };
overlays = [ ];
config = {};
overlays = [];
};
common = import ./common.nix;
inherit (common) outputPath indexPath;
web-devmode = import ../pkgs/tools/nix/web-devmode.nix {
inherit pkgs;
buildArgs = "./.";
open = "/${outputPath}/${indexPath}";
};
in
pkgs.nixpkgs-manual.shell
pkgs.mkShell {
packages = [
web-devmode
];
}

View File

@@ -3,7 +3,6 @@
```{=include=} chapters
stdenv/stdenv.chapter.md
stdenv/meta.chapter.md
stdenv/passthru.chapter.md
stdenv/multiple-output.chapter.md
stdenv/cross-compilation.chapter.md
stdenv/platform-notes.chapter.md

View File

@@ -5,7 +5,7 @@ Nix packages can declare *meta-attributes* that contain information about a pack
```nix
{
meta = {
description = "Program that produces a familiar, friendly greeting";
description = "A program that produces a familiar, friendly greeting";
longDescription = ''
GNU Hello is a program that prints "Hello, world!" when you run it.
It is fully customizable.
@@ -22,10 +22,6 @@ Meta-attributes are not passed to the builder of the package. Thus, a change to
## Standard meta-attributes {#sec-standard-meta-attributes}
If the package is to be submitted to Nixpkgs, please check out the
[requirements for meta attributes](https://github.com/NixOS/nixpkgs/tree/master/pkgs#meta-attributes)
in the contributing documentation.
It is expected that each meta-attribute is one of the following:
### `description` {#var-meta-description}
@@ -33,21 +29,11 @@ It is expected that each meta-attribute is one of the following:
A short (one-line) description of the package.
This is displayed on [search.nixos.org](https://search.nixos.org/packages).
The general requirements of a description are:
- Be short, just one sentence.
- Be capitalized.
- Not start with definite ("The") or indefinite ("A"/"An") article.
- 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).
- Provide factual information.
- Avoid subjective language.
Dont include a period at the end. Dont include newline characters. Capitalise the first character. For brevity, dont repeat the name of package --- just describe what it does.
Wrong: `"libpng is a library that allows you to decode PNG images."`
Right: `"Library for decoding PNG images"`
Right: `"A library for decoding PNG images"`
### `longDescription` {#var-meta-longDescription}
@@ -81,12 +67,6 @@ The license, or licenses, for the package. One from the attribute set defined in
For details, see [Licenses](#sec-meta-license).
### `sourceProvenance` {#var-meta-sourceProvenance}
A list containing the type or types of source inputs from which the package is built, e.g. original source code, pre-built binaries, etc.
For details, see [Source provenance](#sec-meta-sourceProvenance).
### `maintainers` {#var-meta-maintainers}
A list of the maintainers of this Nix expression. Maintainers are defined in [`nixpkgs/maintainers/maintainer-list.nix`](https://github.com/NixOS/nixpkgs/blob/master/maintainers/maintainer-list.nix). There is no restriction to becoming a maintainer, just add yourself to that list in a separate commit titled “maintainers: add alice” in the same pull request, and reference maintainers with `maintainers = with lib.maintainers; [ alice bob ]`.
@@ -130,6 +110,83 @@ Some packages use this to automatically detect the maximum set of features with
For example, `systemd` [requires dynamic linking](https://github.com/systemd/systemd/issues/20600#issuecomment-912338965), and [has a `meta.badPlatforms` setting](https://github.com/NixOS/nixpkgs/blob/b03ac42b0734da3e7be9bf8d94433a5195734b19/pkgs/os-specific/linux/systemd/default.nix#L752) similar to the one above.
Packages which can be built with or without `systemd` support will use `lib.meta.availableOn` to detect whether or not `systemd` is available on the [`hostPlatform`](#ssec-cross-platform-parameters) for which they are being built; if it is not available (e.g. due to a statically-linked host platform like `pkgsStatic`) this support will be disabled by default.
### `tests` {#var-meta-tests}
::: {.warning}
This attribute is special in that it is not actually under the `meta` attribute set but rather under the `passthru` attribute set. This is due to how `meta` attributes work, and the fact that they are supposed to contain only metadata, not derivations.
:::
An attribute set with tests as values. A test is a derivation that builds when the test passes and fails to build otherwise.
You can run these tests with:
```ShellSession
$ cd path/to/nixpkgs
$ nix-build -A your-package.tests
```
#### Package tests {#var-meta-tests-packages}
Tests that are part of the source package are often executed in the `installCheckPhase`.
Prefer `passthru.tests` for tests that are introduced in nixpkgs because:
* `passthru.tests` tests the 'real' package, independently from the environment in which it was built
* we can run `passthru.tests` independently
* `installCheckPhase` adds overhead to each build
For more on how to write and run package tests, see [](#sec-package-tests).
#### NixOS tests {#var-meta-tests-nixos}
The NixOS tests are available as `nixosTests` in parameters of derivations. For instance, the OpenSMTPD derivation includes lines similar to:
```nix
{ /* ... , */ nixosTests }:
{
# ...
passthru.tests = {
basic-functionality-and-dovecot-integration = nixosTests.opensmtpd;
};
}
```
NixOS tests run in a VM, so they are slower than regular package tests. For more information see [NixOS module tests](https://nixos.org/manual/nixos/stable/#sec-nixos-tests).
Alternatively, you can specify other derivations as tests. You can make use of
the optional parameter to inject the correct package without
relying on non-local definitions, even in the presence of `overrideAttrs`.
Here that's `finalAttrs.finalPackage`, but you could choose a different name if
`finalAttrs` already exists in your scope.
`(mypkg.overrideAttrs f).passthru.tests` will be as expected, as long as the
definition of `tests` does not rely on the original `mypkg` or overrides it in
all places.
```nix
# my-package/default.nix
{ stdenv, callPackage }:
stdenv.mkDerivation (finalAttrs: {
# ...
passthru.tests.example = callPackage ./example.nix { my-package = finalAttrs.finalPackage; };
})
```
```nix
# my-package/example.nix
{ runCommand, lib, my-package, ... }:
runCommand "my-package-test" {
nativeBuildInputs = [ my-package ];
src = lib.sources.sourcesByRegex ./. [ ".*.in" ".*.expected" ];
} ''
my-package --help
my-package <example.in >example.actual
diff -U3 --color=auto example.expected example.actual
mkdir $out
''
```
### `timeout` {#var-meta-timeout}
A timeout (in seconds) for building the derivation. If the derivation takes longer than this time to build, Hydra will fail it due to breaking the timeout. However, all computers do not have the same computing power, hence some builders may decide to apply a multiplicative factor to this value. When filling this value in, try to keep it approximately consistent with other values already present in `nixpkgs`.

View File

@@ -1,134 +0,0 @@
# Passthru-attributes {#chap-passthru}
[]{#var-stdenv-passthru} []{#special-variables} <!-- legacy anchors -->
As opposed to most other `mkDerivation` input attributes, `passthru` is not passed to the derivation's [`builder` executable](https://nixos.org/manual/nix/stable/expressions/derivations.html#attr-builder).
Changing it will not trigger a rebuild it is "passed through".
Its value can be accessed as if it was set inside a derivation.
::: {.note}
`passthru` attributes follow no particular schema, but there are a few [conventional patterns](#sec-common-passthru-attributes).
:::
:::{.example #ex-accessing-passthru}
## Setting and accessing `passthru` attributes
```nix
{ stdenv, fetchGit }:
let
hello = stdenv.mkDerivation {
pname = "hello";
src = fetchGit { /* ... */ };
passthru = {
foo = "bar";
baz = {
value1 = 4;
value2 = 5;
};
};
};
in
hello.baz.value1
```
```
4
```
:::
## Common `passthru`-attributes {#sec-common-passthru-attributes}
Many `passthru` attributes are situational, so this section only lists recurring patterns.
They fall in one of these categories:
- Global conventions, which are applied almost universally in Nixpkgs.
Generally these don't entail any special support built into the derivation they belong to.
Common examples of this type are [`passthru.tests`](#var-passthru-tests) and [`passthru.updateScript`](#var-passthru-updateScript).
- Conventions for adding extra functionality to a derivation.
These tend to entail support from the derivation or the `passthru` attribute in question.
Common examples of this type are `passthru.optional-dependencies`, `passthru.withPlugins`, and `passthru.withPackages`.
All of those allow associating the package with a set of components built for that specific package, such as when building Python runtime environments using (`python.withPackages`)[#python.withpackages-function].
Attributes that apply only to particular [build helpers](#part-builders) or [language ecosystems](#chap-language-support) are documented there.
### `passthru.tests` {#var-passthru-tests}
[]{#var-meta-tests} <!-- legacy anchor -->
An attribute set with tests as values.
A test is a derivation that builds when the test passes and fails to build otherwise.
Run these tests with:
```ShellSession
$ cd path/to/nixpkgs
$ nix-build -A your-package.tests
```
:::{.note}
The Nixpkgs systems for continuous integration [Hydra](https://hydra.nixos.org/) and [`nixpkgs-review`](https://github.com/Mic92/nixpkgs-review) don't build these derivations by default, and ([`@ofborg`](https://github.com/NixOS/ofborg)) only builds them when evaluating pull requests for that particular package, or when manually instructed.
:::
#### Package tests {#var-passthru-tests-packages}
[]{#var-meta-tests-packages} <!-- legacy anchor -->
Besides tests provided by upstream, that you run in the [`checkPhase`](#ssec-check-phase), you may want to define tests derivations in the `passthru.tests` attribute, which won't change the build. `passthru.tests` have several advantages over running tests during any of the [standard phases](#sec-stdenv-phases):
- They access the package as consumers would, independently from the environment in which it was built
- They can be run and debugged without rebuilding the package, which is useful if that takes a long time
- They don't add overhead to each build, as opposed checks added to the [`distPhase`](#ssec-distribution-phase), such as [`versionCheckHook`](#versioncheckhook).
It is also possible to use `passthru.tests` to test the version with [`testVersion`](#tester-testVersion), but since that is pretty trivial and recommended thing to do, we recommend using [`versionCheckHook`](#versioncheckhook) for that, which has the following advantages over `passthru.tests`:
- If the `versionCheckPhase` (the phase defined by [`versionCheckHook`](#versioncheckhook)) fails, it triggers a failure which can't be ignored if you use the package, or if you find out about it in a [`nixpkgs-review`](https://github.com/Mic92/nixpkgs-review) report.
- Sometimes packages become silently broken - meaning they fail to launch but their build passes because they don't perform any tests in the `checkPhase`. If you use this tool infrequently, such a silent breakage may rot in your system / profile configuration, and you will not notice the failure until you will want to use this package. Testing such basic functionality ensures you have to deal with the failure when you update your system / profile.
- When you open a PR, [ofborg](https://github.com/NixOS/ofborg)'s CI _will_ run `passthru.tests` of [packages that are directly changed by your PR (according to your commits' messages)](https://github.com/NixOS/ofborg?tab=readme-ov-file#automatic-building), but if you'd want to use the [`@ofborg build`](https://github.com/NixOS/ofborg?tab=readme-ov-file#build) command for dependent packages, you won't have to specify in addition the `.tests` attribute of the packages you want to build, and no body will be able to avoid these tests.
<!-- NOTE(@fricklerhandwerk): one may argue whether that testing guide should rather be in the user's manual -->
For more on how to write and run package tests for Nixpkgs, see the [testing section in the package contributor guide](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#package-tests).
#### NixOS tests {#var-passthru-tests-nixos}
[]{#var-meta-tests-nixos} <!-- legacy anchor -->
Tests written for NixOS are available as the `nixosTests` argument to package recipes.
For instance, the [OpenSMTPD derivation](https://search.nixos.org/packages?show=opensmtpd) includes lines similar to:
```nix
{ nixosTests, ... }:
{
# ...
passthru.tests = {
basic-functionality-and-dovecot-integration = nixosTests.opensmtpd;
};
}
```
NixOS tests run in a virtual machine (VM), so they are slower than regular package tests.
For more information see the NixOS manual on [NixOS module tests](https://nixos.org/manual/nixos/stable/#sec-nixos-tests).
### `passthru.updateScript` {#var-passthru-updateScript}
<!-- legacy anchors -->
[]{#var-passthru-updateScript-command}
[]{#var-passthru-updateScript-set-command}
[]{#var-passthru-updateScript-set-attrPath}
[]{#var-passthru-updateScript-set-supportedFeatures}
[]{#var-passthru-updateScript-env-UPDATE_NIX_NAME}
[]{#var-passthru-updateScript-env-UPDATE_NIX_PNAME}
[]{#var-passthru-updateScript-env-UPDATE_NIX_OLD_VERSION}
[]{#var-passthru-updateScript-env-UPDATE_NIX_ATTR_PATH}
[]{#var-passthru-updateScript-execution}
[]{#var-passthru-updateScript-supported-features}
[]{#var-passthru-updateScript-commit}
[]{#var-passthru-updateScript-commit-attrPath}
[]{#var-passthru-updateScript-commit-oldVersion}
[]{#var-passthru-updateScript-commit-newVersion}
[]{#var-passthru-updateScript-commit-files}
[]{#var-passthru-updateScript-commit-commitBody}
[]{#var-passthru-updateScript-commit-commitMessage}
[]{#var-passthru-updateScript-example-commit}
Nixpkgs tries to automatically update all packages that have an `passthru.updateScript` attribute.
See the [section on automatic package updates in the package contributor guide](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#automatic-package-updates) for details.

View File

@@ -442,6 +442,145 @@ If set to `true`, `stdenv` will pass specific flags to `make` and other build to
Unless set to `false`, some build systems with good support for parallel building including `cmake`, `meson`, and `qmake` will set it to `true`.
### Special variables {#special-variables}
#### `passthru` {#var-stdenv-passthru}
This is an attribute set which can be filled with arbitrary values. For example:
```nix
{
passthru = {
foo = "bar";
baz = {
value1 = 4;
value2 = 5;
};
};
}
```
Values inside it are not passed to the builder, so you can change them without triggering a rebuild. However, they can be accessed outside of a derivation directly, as if they were set inside a derivation itself, e.g. `hello.baz.value1`. We dont specify any usage or schema of `passthru` - it is meant for values that would be useful outside the derivation in other parts of a Nix expression (e.g. in other derivations). An example would be to convey some specific dependency of your derivation which contains a program with plugins support. Later, others who make derivations with plugins can use passed-through dependency to ensure that their plugin would be binary-compatible with built program.
#### `passthru.updateScript` {#var-passthru-updateScript}
A script to be run by `maintainers/scripts/update.nix` when the package is matched. The attribute can contain one of the following:
- []{#var-passthru-updateScript-command} an executable file, either on the file system:
```nix
{
passthru.updateScript = ./update.sh;
}
```
or inside the expression itself:
```nix
{
passthru.updateScript = writeScript "update-zoom-us" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl pcre2 common-updater-scripts
set -eu -o pipefail
version="$(curl -sI https://zoom.us/client/latest/zoom_x86_64.tar.xz | grep -Fi 'Location:' | pcre2grep -o1 '/(([0-9]\.?)+)/')"
update-source-version zoom-us "$version"
'';
}
```
- a list, a script followed by arguments to be passed to it:
```nix
{
passthru.updateScript = [ ../../update.sh pname "--requested-release=unstable" ];
}
```
- an attribute set containing:
- [`command`]{#var-passthru-updateScript-set-command} a string or list in the [format expected by `passthru.updateScript`](#var-passthru-updateScript-command).
- [`attrPath`]{#var-passthru-updateScript-set-attrPath} (optional) a string containing the canonical attribute path for the package. If present, it will be passed to the update script instead of the attribute path on which the package was discovered during Nixpkgs traversal.
- [`supportedFeatures`]{#var-passthru-updateScript-set-supportedFeatures} (optional) a list of the [extra features](#var-passthru-updateScript-supported-features) the script supports.
```nix
{
passthru.updateScript = {
command = [ ../../update.sh pname ];
attrPath = pname;
supportedFeatures = [ /* ... */ ];
};
}
```
::: {.tip}
A common pattern is to use the [`nix-update-script`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/common-updater/nix-update.nix) attribute provided in Nixpkgs, which runs [`nix-update`](https://github.com/Mic92/nix-update):
```nix
{
passthru.updateScript = nix-update-script { };
}
```
For simple packages, this is often enough, and will ensure that the package is updated automatically by [`nixpkgs-update`](https://ryantm.github.io/nixpkgs-update) when a new version is released. The [update bot](https://nix-community.org/update-bot) runs periodically to attempt to automatically update packages, and will run `passthru.updateScript` if set. While not strictly necessary if the project is listed on [Repology](https://repology.org), using `nix-update-script` allows the package to update via many more sources (e.g. GitHub releases).
:::
##### How update scripts are executed? {#var-passthru-updateScript-execution}
Update scripts are to be invoked by `maintainers/scripts/update.nix` script. You can run `nix-shell maintainers/scripts/update.nix` in the root of Nixpkgs repository for information on how to use it. `update.nix` offers several modes for selecting packages to update (e.g. select by attribute path, traverse Nixpkgs and filter by maintainer, etc.), and it will execute update scripts for all matched packages that have an `updateScript` attribute.
Each update script will be passed the following environment variables:
- [`UPDATE_NIX_NAME`]{#var-passthru-updateScript-env-UPDATE_NIX_NAME} content of the `name` attribute of the updated package.
- [`UPDATE_NIX_PNAME`]{#var-passthru-updateScript-env-UPDATE_NIX_PNAME} content of the `pname` attribute of the updated package.
- [`UPDATE_NIX_OLD_VERSION`]{#var-passthru-updateScript-env-UPDATE_NIX_OLD_VERSION} content of the `version` attribute of the updated package.
- [`UPDATE_NIX_ATTR_PATH`]{#var-passthru-updateScript-env-UPDATE_NIX_ATTR_PATH} attribute path the `update.nix` discovered the package on (or the [canonical `attrPath`](#var-passthru-updateScript-set-attrPath) when available). Example: `pantheon.elementary-terminal`
::: {.note}
An update script will be usually run from the root of the Nixpkgs repository but you should not rely on that. Also note that `update.nix` executes update scripts in parallel by default so you should avoid running `git commit` or any other commands that cannot handle that.
:::
::: {.tip}
While update scripts should not create commits themselves, `maintainers/scripts/update.nix` supports automatically creating commits when running it with `--argstr commit true`. If you need to customize commit message, you can have the update script implement [`commit`](#var-passthru-updateScript-commit) feature.
:::
##### Supported features {#var-passthru-updateScript-supported-features}
###### `commit` {#var-passthru-updateScript-commit}
This feature allows update scripts to *ask* `update.nix` to create Git commits.
When support of this feature is declared, whenever the update script exits with `0` return status, it is expected to print a JSON list containing an object described below for each updated attribute to standard output.
When `update.nix` is run with `--argstr commit true` arguments, it will create a separate commit for each of the objects. An empty list can be returned when the script did not update any files, for example, when the package is already at the latest version.
The commit object contains the following values:
- [`attrPath`]{#var-passthru-updateScript-commit-attrPath} a string containing attribute path.
- [`oldVersion`]{#var-passthru-updateScript-commit-oldVersion} a string containing old version.
- [`newVersion`]{#var-passthru-updateScript-commit-newVersion} a string containing new version.
- [`files`]{#var-passthru-updateScript-commit-files} a non-empty list of file paths (as strings) to add to the commit.
- [`commitBody`]{#var-passthru-updateScript-commit-commitBody} (optional) a string with extra content to be appended to the default commit message (useful for adding changelog links).
- [`commitMessage`]{#var-passthru-updateScript-commit-commitMessage} (optional) a string to use instead of the default commit message.
If the returned array contains exactly one object (e.g. `[{}]`), all values are optional and will be determined automatically.
::: {.example #var-passthru-updateScript-example-commit}
# Standard output of an update script using commit feature
```json
[
{
"attrPath": "volume_key",
"oldVersion": "0.3.11",
"newVersion": "0.3.12",
"files": [
"/path/to/nixpkgs/pkgs/development/libraries/volume-key/default.nix"
]
}
]
```
:::
### Fixed-point arguments of `mkDerivation` {#mkderivation-recursive-attributes}
If you pass a function to `mkDerivation`, it will receive as its argument the final arguments, including the overrides when reinvoked via `overrideAttrs`. For example:
@@ -494,7 +633,7 @@ in pkg
Unlike the `pkg` binding in the above example, the `finalAttrs` parameter always references the final attributes. For instance `(pkg.overrideAttrs(x)).finalAttrs.finalPackage` is identical to `pkg.overrideAttrs(x)`, whereas `(pkg.overrideAttrs(x)).original` is the same as the original `pkg`.
See also the section about [`passthru.tests`](#var-passthru-tests).
See also the section about [`passthru.tests`](#var-meta-tests).
## Phases {#sec-stdenv-phases}
@@ -762,8 +901,6 @@ Before and after running `make`, the hooks `preBuild` and `postBuild` are called
The check phase checks whether the package was built correctly by running its test suite. The default `checkPhase` calls `make $checkTarget`, but only if the [`doCheck` variable](#var-stdenv-doCheck) is enabled.
It is highly recommended, for packages' sources that are not distributed with any tests, to at least use [`versionCheckHook`](#versioncheckhook) to test that the resulting executable is basically functional.
#### Variables controlling the check phase {#variables-controlling-the-check-phase}
##### `doCheck` {#var-stdenv-doCheck}
@@ -1008,7 +1145,7 @@ This setup works as follows:
The installCheck phase checks whether the package was installed correctly by running its test suite against the installed directories. The default `installCheck` calls `make installcheck`.
It is often better to add tests that are not part of the source distribution to `passthru.tests` (see
[](#var-passthru-tests)). This avoids adding overhead to every build and enables us to run them independently.
[](#var-meta-tests)). This avoids adding overhead to every build and enables us to run them independently.
#### Variables controlling the installCheck phase {#variables-controlling-the-installcheck-phase}
@@ -1421,8 +1558,6 @@ Both parameters take a list of flags as strings. The special `"all"` flag can be
For more in-depth information on these hardening flags and hardening in general, refer to the [Debian Wiki](https://wiki.debian.org/Hardening), [Ubuntu Wiki](https://wiki.ubuntu.com/Security/Features), [Gentoo Wiki](https://wiki.gentoo.org/wiki/Project:Hardened), and the [Arch Wiki](https://wiki.archlinux.org/title/Security).
Note that support for some hardening flags varies by compiler, CPU architecture, target OS and libc. Combinations of these that don't support a particular hardening flag will silently ignore attempts to enable it. To see exactly which hardening flags are being employed in any invocation, the `NIX_DEBUG` environment variable can be used.
### Hardening flags enabled by default {#sec-hardening-flags-enabled-by-default}
The following flags are enabled by default and might require disabling with `hardeningDisable` if the program to package is incompatible.
@@ -1472,16 +1607,6 @@ installwatch.c:3751:5: error: conflicting types for '__open_2'
fcntl2.h:50:4: error: call to '__open_missing_mode' declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments
```
Disabling `fortify` implies disablement of `fortify3`
#### `fortify3` {#fortify3}
Adds the `-O2 -D_FORTIFY_SOURCE=3` compiler options. This expands the cases that can be protected by fortify-checks to include some situations with dynamic-length buffers whose length can be inferred at runtime using compiler hints.
Enabling this flag implies enablement of `fortify`. Disabling this flag does not imply disablement of `fortify`.
This flag can sometimes conflict with a build-system's own attempts at enabling fortify support and result in errors complaining about `redefinition of _FORTIFY_SOURCE`.
#### `pic` {#pic}
Adds the `-fPIC` compiler options. This options adds support for position independent code in shared libraries and thus making ASLR possible.
@@ -1517,43 +1642,19 @@ This flag can break dynamic shared object loading. For instance, the module syst
intel_drv.so: undefined symbol: vgaHWFreeHWRec
```
#### `zerocallusedregs` {#zerocallusedregs}
Adds the `-fzero-call-used-regs=used-gpr` compiler option. This causes the general-purpose registers that an architecture's calling convention considers "call-used" to be zeroed on return from the function. This can make it harder for attackers to construct useful ROP gadgets and also reduces the chance of data leakage from a function call.
### Hardening flags disabled by default {#sec-hardening-flags-disabled-by-default}
The following flags are disabled by default and should be enabled with `hardeningEnable` for packages that take untrusted input like network services.
#### `pie` {#pie}
This flag is disabled by default for normal `glibc` based NixOS package builds, but enabled by default for
- `musl`-based package builds, except on Aarch64 and Aarch32, where there are issues.
- Statically-linked for OpenBSD builds, where it appears to be required to get a working binary.
This flag is disabled by default for normal `glibc` based NixOS package builds, but enabled by default for `musl` based package builds.
Adds the `-fPIE` compiler and `-pie` linker options. Position Independent Executables are needed to take advantage of Address Space Layout Randomization, supported by modern kernel versions. While ASLR can already be enforced for data areas in the stack and heap (brk and mmap), the code areas must be compiled as position-independent. Shared libraries already do this with the `pic` flag, so they gain ASLR automatically, but binary .text regions need to be build with `pie` to gain ASLR. When this happens, ROP attacks are much harder since there are no static locations to bounce off of during a memory corruption attack.
Static libraries need to be compiled with `-fPIE` so that executables can link them in with the `-pie` linker option.
If the libraries lack `-fPIE`, you will get the error `recompile with -fPIE`.
#### `trivialautovarinit` {#trivialautovarinit}
Adds the `-ftrivial-auto-var-init=pattern` compiler option. This causes "trivially-initializable" uninitialized stack variables to be forcibly initialized with a nonzero value that is likely to cause a crash (and therefore be noticed). Uninitialized variables generally take on their values based on fragments of previous program state, and attackers can carefully manipulate that state to craft malicious initial values for these variables.
Use of this flag is controversial as it can prevent tools that detect uninitialized variable use (such as valgrind) from operating correctly.
This should be turned off or fixed for build errors such as:
```
sorry, unimplemented: __builtin_clear_padding not supported for variable length aggregates
```
#### `stackclashprotection` {#stackclashprotection}
This flag adds the `-fstack-clash-protection` compiler option, which causes growth of a program's stack to access each successive page in order. This should force the guard page to be accessed and cause an attempt to "jump over" this guard page to crash.
[^footnote-stdenv-ignored-build-platform]: The build platform is ignored because it is a mere implementation detail of the package satisfying the dependency: As a general programming principle, dependencies are always *specified* as interfaces, not concrete implementation.
[^footnote-stdenv-native-dependencies-in-path]: Currently, this means for native builds all dependencies are put on the `PATH`. But in the future that may not be the case for sake of matching cross: the platforms would be assumed to be unique for native and cross builds alike, so only the `depsBuild*` and `nativeBuildInputs` would be added to the `PATH`.
[^footnote-stdenv-propagated-dependencies]: Nix itself already takes a packages transitive dependencies into account, but this propagation ensures nixpkgs-specific infrastructure like [setup hooks](#ssec-setup-hooks) also are run as if it were a propagated dependency.

View File

@@ -431,11 +431,6 @@ div.appendix .informaltable td {
padding: 0.5rem;
}
div.book .variablelist .term,
div.appendix .variablelist .term {
font-weight: 500;
}
/*
This relies on highlight.js applying certain classes on the prompts.
For more details, see https://highlightjs.readthedocs.io/en/latest/css-classes-reference.html#stylable-scopes

View File

@@ -1,32 +0,0 @@
# To build this derivation, run `nix-build -A nixpkgs-manual.tests.manpage-urls`
{
lib,
runCommand,
invalidateFetcherByDrvHash,
cacert,
python3,
}:
invalidateFetcherByDrvHash (
{
name ? "manual_check-manpage-urls",
script ? ./manpage-urls.py,
urlsFile ? ../manpage-urls.json,
}:
runCommand name
{
nativeBuildInputs = [
cacert
(python3.withPackages (p: [
p.aiohttp
p.rich
p.structlog
]))
];
outputHash = "sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU="; # Empty output
}
''
python3 ${script} ${urlsFile}
touch $out
''
) { }

View File

@@ -5,15 +5,14 @@
outputs = { self }:
let
jobs = import ./pkgs/top-level/release.nix {
nixpkgs = self;
};
libVersionInfoOverlay = import ./lib/flake-version-info.nix self;
lib = (import ./lib).extend libVersionInfoOverlay;
forAllSystems = lib.genAttrs lib.systems.flakeExposed;
jobs = forAllSystems (system: import ./pkgs/top-level/release.nix {
nixpkgs = self;
inherit system;
});
in
{
lib = lib.extend (final: prev: {
@@ -44,15 +43,12 @@
);
});
checks = forAllSystems (system: {
tarball = jobs.${system}.tarball;
# Exclude power64 due to "libressl is not available on the requested hostPlatform" with hostPlatform being power64
} // lib.optionalAttrs (self.legacyPackages.${system}.stdenv.isLinux && !self.legacyPackages.${system}.targetPlatform.isPower64) {
checks.x86_64-linux = {
tarball = jobs.tarball;
# Test that ensures that the nixosSystem function can accept a lib argument
# Note: prefer not to extend or modify `lib`, especially if you want to share reusable modules
# alternatives include: `import` a file, or put a custom library in an option or in `_module.args.<libname>`
nixosSystemAcceptsLib = (self.lib.nixosSystem {
pkgs = self.legacyPackages.${system};
lib = self.lib.extend (final: prev: {
ifThisFunctionIsMissingTheTestFails = final.id;
});
@@ -68,13 +64,13 @@
})
];
}).config.system.build.toplevel;
});
};
htmlDocs = {
nixpkgsManual = builtins.mapAttrs (_: jobSet: jobSet.manual) jobs;
nixpkgsManual = jobs.manual;
nixosManual = (import ./nixos/release-small.nix {
nixpkgs = self;
}).nixos.manual;
}).nixos.manual.x86_64-linux;
};
# The "legacy" in `legacyPackages` doesn't imply that the packages exposed

View File

@@ -1 +1 @@
24.11
24.05

View File

@@ -11,7 +11,7 @@ let
in
rec {
inherit (builtins) attrNames listToAttrs hasAttr isAttrs getAttr removeAttrs intersectAttrs;
inherit (builtins) attrNames listToAttrs hasAttr isAttrs getAttr removeAttrs;
/**
@@ -1764,7 +1764,6 @@ rec {
/**
Get a package output.
If no output is found, fallback to `.out` and then to the default.
The function is idempotent: `getOutput "b" (getOutput "a" p) == getOutput "a" p`.
# Inputs
@@ -1780,7 +1779,7 @@ rec {
# Type
```
getOutput :: String -> :: Derivation -> Derivation
getOutput :: String -> Derivation -> String
```
# Examples
@@ -1788,7 +1787,7 @@ rec {
## `lib.attrsets.getOutput` usage example
```nix
"${getOutput "dev" pkgs.openssl}"
getOutput "dev" pkgs.openssl
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev"
```
@@ -1799,49 +1798,6 @@ rec {
then pkg.${output} or pkg.out or pkg
else pkg;
/**
Get the first of the `outputs` provided by the package, or the default.
This function is alligned with `_overrideFirst()` from the `multiple-outputs.sh` setup hook.
Like `getOutput`, the function is idempotent.
# Inputs
`outputs`
: 1\. Function argument
`pkg`
: 2\. Function argument
# Type
```
getFirstOutput :: [String] -> Derivation -> Derivation
```
# Examples
:::{.example}
## `lib.attrsets.getFirstOutput` usage example
```nix
"${getFirstOutput [ "include" "dev" ] pkgs.openssl}"
=> "/nix/store/00000000000000000000000000000000-openssl-1.0.1r-dev"
```
:::
*/
getFirstOutput =
candidates: pkg:
let
outputs = builtins.filter (name: hasAttr name pkg) candidates;
output = builtins.head outputs;
in
if pkg.outputSpecified or false || outputs == [ ] then
pkg
else
pkg.${output};
/**
Get a package's `bin` output.
If the output does not exist, fallback to `.out` and then to the default.
@@ -1855,7 +1811,7 @@ rec {
# Type
```
getBin :: Derivation -> Derivation
getBin :: Derivation -> String
```
# Examples
@@ -1863,8 +1819,8 @@ rec {
## `lib.attrsets.getBin` usage example
```nix
"${getBin pkgs.openssl}"
=> "/nix/store/00000000000000000000000000000000-openssl-1.0.1r"
getBin pkgs.openssl
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r"
```
:::
@@ -1885,7 +1841,7 @@ rec {
# Type
```
getLib :: Derivation -> Derivation
getLib :: Derivation -> String
```
# Examples
@@ -1893,7 +1849,7 @@ rec {
## `lib.attrsets.getLib` usage example
```nix
"${getLib pkgs.openssl}"
getLib pkgs.openssl
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-lib"
```
@@ -1901,35 +1857,6 @@ rec {
*/
getLib = getOutput "lib";
/**
Get a package's `static` output.
If the output does not exist, fallback to `.lib`, then to `.out`, and then to the default.
# Inputs
`pkg`
: The package whose `static` output will be retrieved.
# Type
```
getStatic :: Derivation -> Derivation
```
# Examples
:::{.example}
## `lib.attrsets.getStatic` usage example
```nix
"${lib.getStatic pkgs.glibc}"
=> "/nix/store/00000000000000000000000000000000-glibc-2.39-52-static"
```
:::
*/
getStatic = getFirstOutput [ "static" "lib" "out" ];
/**
Get a package's `dev` output.
@@ -1944,7 +1871,7 @@ rec {
# Type
```
getDev :: Derivation -> Derivation
getDev :: Derivation -> String
```
# Examples
@@ -1952,7 +1879,7 @@ rec {
## `lib.attrsets.getDev` usage example
```nix
"${getDev pkgs.openssl}"
getDev pkgs.openssl
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev"
```
@@ -1960,35 +1887,6 @@ rec {
*/
getDev = getOutput "dev";
/**
Get a package's `include` output.
If the output does not exist, fallback to `.dev`, then to `.out`, and then to the default.
# Inputs
`pkg`
: The package whose `include` output will be retrieved.
# Type
```
getInclude :: Derivation -> Derivation
```
# Examples
:::{.example}
## `lib.attrsets.getInclude` usage example
```nix
"${getInclude pkgs.openssl}"
=> "/nix/store/00000000000000000000000000000000-openssl-1.0.1r-dev"
```
:::
*/
getInclude = getFirstOutput [ "include" "dev" "out" ];
/**
Get a package's `man` output.
@@ -2003,7 +1901,7 @@ rec {
# Type
```
getMan :: Derivation -> Derivation
getMan :: Derivation -> String
```
# Examples
@@ -2011,7 +1909,7 @@ rec {
## `lib.attrsets.getMan` usage example
```nix
"${getMan pkgs.openssl}"
getMan pkgs.openssl
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-man"
```
@@ -2031,7 +1929,7 @@ rec {
# Type
```
chooseDevOutputs :: [Derivation] -> [Derivation]
chooseDevOutputs :: [Derivation] -> [String]
```
*/
chooseDevOutputs = builtins.map getDev;

View File

@@ -7,6 +7,8 @@ rec {
This helps protect against malformed command lines and also to reduce
boilerplate related to command-line construction for simple use cases.
`toGNUCommandLine` returns a list of nix strings.
`toGNUCommandLineShell` returns an escaped shell string.
@@ -14,86 +16,17 @@ rec {
`options`
: How to format the arguments, see `toGNUCommandLine`
: 1\. Function argument
`attrs`
: The attributes to transform into arguments.
: 2\. Function argument
# Examples
:::{.example}
## `lib.cli.toGNUCommandLineShell` usage example
```nix
cli.toGNUCommandLineShell {} {
data = builtins.toJSON { id = 0; };
X = "PUT";
retry = 3;
retry-delay = null;
url = [ "https://example.com/foo" "https://example.com/bar" ];
silent = false;
verbose = true;
}
=> "'-X' 'PUT' '--data' '{\"id\":0}' '--retry' '3' '--url' 'https://example.com/foo' '--url' 'https://example.com/bar' '--verbose'";
```
:::
*/
toGNUCommandLineShell =
options: attrs: lib.escapeShellArgs (toGNUCommandLine options attrs);
/**
Automatically convert an attribute set to a list of command-line options.
`toGNUCommandLine` returns a list of string arguments.
# Inputs
`options`
: How to format the arguments, see below.
`attrs`
: The attributes to transform into arguments.
# Options
`mkOptionName`
: How to string-format the option name;
By default one character is a short option (`-`), more than one characters a long option (`--`).
`mkBool`
: How to format a boolean value to a command list;
By default its a flag option (only the option name if true, left out completely if false).
`mkList`
: How to format a list value to a command list;
By default the option name is repeated for each value and `mkOption` is applied to the values themselves.
`mkOption`
: How to format any remaining value to a command list;
On the toplevel, booleans and lists are handled by `mkBool` and `mkList`, though they can still appear as values of a list.
By default, everything is printed verbatim and complex types are forbidden (lists, attrsets, functions). `null` values are omitted.
`optionValueSeparator`
: How to separate an option from its flag;
By default, there is no separator, so option `-c` and value `5` would become ["-c" "5"].
This is useful if the command requires equals, for example, `-c=5`.
# Examples
:::{.example}
## `lib.cli.toGNUCommandLine` usage example
```nix
cli.toGNUCommandLine {} {
data = builtins.toJSON { id = 0; };
@@ -112,29 +45,52 @@ rec {
"--url" "https://example.com/bar"
"--verbose"
]
cli.toGNUCommandLineShell {} {
data = builtins.toJSON { id = 0; };
X = "PUT";
retry = 3;
retry-delay = null;
url = [ "https://example.com/foo" "https://example.com/bar" ];
silent = false;
verbose = true;
}
=> "'-X' 'PUT' '--data' '{\"id\":0}' '--retry' '3' '--url' 'https://example.com/foo' '--url' 'https://example.com/bar' '--verbose'";
```
:::
*/
toGNUCommandLineShell =
options: attrs: lib.escapeShellArgs (toGNUCommandLine options attrs);
toGNUCommandLine = {
# how to string-format the option name;
# by default one character is a short option (`-`),
# more than one characters a long option (`--`).
mkOptionName ?
k: if builtins.stringLength k == 1
then "-${k}"
else "--${k}",
# how to format a boolean value to a command list;
# by default its a flag option
# (only the option name if true, left out completely if false).
mkBool ? k: v: lib.optional v (mkOptionName k),
# how to format a list value to a command list;
# by default the option name is repeated for each value
# and `mkOption` is applied to the values themselves.
mkList ? k: v: lib.concatMap (mkOption k) v,
# how to format any remaining value to a command list;
# on the toplevel, booleans and lists are handled by `mkBool` and `mkList`,
# though they can still appear as values of a list.
# By default, everything is printed verbatim and complex types
# are forbidden (lists, attrsets, functions). `null` values are omitted.
mkOption ?
k: v: if v == null
then []
else if optionValueSeparator == null then
[ (mkOptionName k) (lib.generators.mkValueStringDefault {} v) ]
else
[ "${mkOptionName k}${optionValueSeparator}${lib.generators.mkValueStringDefault {} v}" ],
optionValueSeparator ? null
else [ (mkOptionName k) (lib.generators.mkValueStringDefault {} v) ]
}:
options:
let

View File

@@ -64,52 +64,48 @@ let
# linux kernel configuration
kernel = callLibs ./kernel.nix;
# network
network = callLibs ./network;
# TODO: For consistency, all builtins should also be available from a sub-library;
# these are the only ones that are currently not
inherit (builtins) addErrorContext isPath trace typeOf unsafeGetAttrPos;
inherit (builtins) add addErrorContext attrNames concatLists
deepSeq elem elemAt filter genericClosure genList getAttr
hasAttr head isAttrs isBool isInt isList isPath isString length
lessThan listToAttrs pathExists readFile replaceStrings seq
stringLength sub substring tail trace;
inherit (self.trivial) id const pipe concat or and xor bitAnd bitOr bitXor
bitNot boolToString mergeAttrs flip mapNullable inNixShell isFloat min max
importJSON importTOML warn warnIf warnIfNot throwIf throwIfNot checkListOfEnum
info showWarnings nixpkgsVersion version isInOldestRelease
mod compare splitByAndCompare seq deepSeq lessThan add sub
mod compare splitByAndCompare
functionArgs setFunctionArgs isFunction toFunction mirrorFunctionArgs
fromHexString toHexString toBaseDigits inPureEvalMode isBool isInt pathExists
genericClosure readFile;
toHexString toBaseDigits inPureEvalMode;
inherit (self.fixedPoints) fix fix' converge extends composeExtensions
composeManyExtensions makeExtensible makeExtensibleWithCustomName;
inherit (self.attrsets) attrByPath hasAttrByPath setAttrByPath
getAttrFromPath attrVals attrNames attrValues getAttrs catAttrs filterAttrs
getAttrFromPath attrVals attrValues getAttrs catAttrs filterAttrs
filterAttrsRecursive foldlAttrs foldAttrs collect nameValuePair mapAttrs
mapAttrs' mapAttrsToList attrsToList concatMapAttrs mapAttrsRecursive
mapAttrsRecursiveCond genAttrs isDerivation toDerivation optionalAttrs
zipAttrsWithNames zipAttrsWith zipAttrs recursiveUpdateUntil
recursiveUpdate matchAttrs mergeAttrsList overrideExisting showAttrPath getOutput getFirstOutput
getBin getLib getStatic getDev getInclude getMan chooseDevOutputs zipWithNames zip
recursiveUpdate matchAttrs mergeAttrsList overrideExisting showAttrPath getOutput
getBin getLib getDev getMan chooseDevOutputs zipWithNames zip
recurseIntoAttrs dontRecurseIntoAttrs cartesianProduct cartesianProductOfSets
mapCartesianProduct updateManyAttrsByPath listToAttrs hasAttr getAttr isAttrs intersectAttrs removeAttrs;
inherit (self.lists) singleton forEach map foldr fold foldl foldl' imap0 imap1
filter ifilter0 concatMap flatten remove findSingle findFirst any all count
mapCartesianProduct updateManyAttrsByPath;
inherit (self.lists) singleton forEach foldr fold foldl foldl' imap0 imap1
ifilter0 concatMap flatten remove findSingle findFirst any all count
optional optionals toList range replicate partition zipListsWith zipLists
reverseList listDfs toposort sort sortOn naturalSort compareLists take
drop sublist last init crossLists unique allUnique intersectLists
subtractLists mutuallyExclusive groupBy groupBy' concatLists genList
length head tail elem elemAt isList;
subtractLists mutuallyExclusive groupBy groupBy';
inherit (self.strings) concatStrings concatMapStrings concatImapStrings
stringLength substring isString replaceStrings
intersperse concatStringsSep concatMapStringsSep
concatImapStringsSep concatLines makeSearchPath makeSearchPathOutput
makeLibraryPath makeIncludePath makeBinPath optionalString
hasInfix hasPrefix hasSuffix stringToCharacters stringAsChars escape
escapeShellArg escapeShellArgs
isStorePath isStringLike
isValidPosixName toShellVar toShellVars trim trimWith
isValidPosixName toShellVar toShellVars
escapeRegex escapeURL escapeXML replaceChars lowerChars
upperChars toLower toUpper addContextFrom splitString
removePrefix removeSuffix versionOlder versionAtLeast
getName getVersion match split
getName getVersion
cmakeOptionType cmakeBool cmakeFeature
mesonOption mesonBool mesonEnable
nameFromURL enableFeature enableFeatureAs withFeature
@@ -123,7 +119,7 @@ let
inherit (self.derivations) lazyDerivation optionalDrvAttr;
inherit (self.meta) addMetaAttrs dontDistribute setName updateName
appendToName mapDerivationAttrset setPrio lowPrio lowPrioSet hiPrio
hiPrioSet getLicenseFromSpdxId getLicenseFromSpdxIdOr getExe getExe';
hiPrioSet getLicenseFromSpdxId getExe getExe';
inherit (self.filesystem) pathType pathIsDirectory pathIsRegularFile
packagesFromDirectoryRecursive;
inherit (self.sources) cleanSourceFilter

View File

@@ -29,10 +29,9 @@ let
nameValuePair
tail
toList
warn
;
inherit (lib.attrsets) removeAttrs mapAttrsToList;
inherit (lib.attrsets) removeAttrs;
# returns default if env var is not set
maybeEnv = name: default:
@@ -213,7 +212,7 @@ let
else closePropagationSlow;
# calls a function (f attr value ) for each record item. returns a list
mapAttrsFlatten = warn "lib.misc.mapAttrsFlatten is deprecated, please use lib.attrsets.mapAttrsToList instead." mapAttrsToList;
mapAttrsFlatten = f: r: map (attr: f attr r.${attr}) (attrNames r);
# attribute set containing one attribute
nvs = name: value: listToAttrs [ (nameValuePair name value) ];

View File

@@ -17,7 +17,7 @@ let
else "";
in
{
/**
/*
Restrict a derivation to a predictable set of attribute names, so
that the returned attrset is not strict in the actual derivation,
saving a lot of computation when the derivation is non-trivial.
@@ -62,36 +62,25 @@ in
(lazyDerivation { inherit derivation }).pythonPath
# Inputs
Takes an attribute set with the following attributes
`derivation`
: The derivation to be wrapped.
`meta`
: Optional meta attribute.
While this function is primarily about derivations, it can improve
the `meta` package attribute, which is usually specified through
`mkDerivation`.
`passthru`
: Optional extra values to add to the returned attrset.
This can be used for adding package attributes, such as `tests`.
`outputs`
: Optional list of assumed outputs. Default: ["out"]
This must match the set of outputs that the returned derivation has.
You must use this when the derivation has multiple outputs.
*/
lazyDerivation =
args@{
derivation,
meta ? null,
passthru ? { },
# The derivation to be wrapped.
derivation
, # Optional meta attribute.
#
# While this function is primarily about derivations, it can improve
# the `meta` package attribute, which is usually specified through
# `mkDerivation`.
meta ? null
, # Optional extra values to add to the returned attrset.
#
# This can be used for adding package attributes, such as `tests`.
passthru ? { }
, # Optional list of assumed outputs. Default: ["out"]
#
# This must match the set of outputs that the returned derivation has.
# You must use this when the derivation has multiple outputs.
outputs ? [ "out" ]
}:
let
@@ -160,50 +149,29 @@ in
// genAttrs outputs (outputName: checked.${outputName})
// passthru;
/**
Conditionally set a derivation attribute.
/* Conditionally set a derivation attribute.
Because `mkDerivation` sets `__ignoreNulls = true`, a derivation
attribute set to `null` will not impact the derivation output hash.
Thus, this function passes through its `value` argument if the `cond`
is `true`, but returns `null` if not.
Because `mkDerivation` sets `__ignoreNulls = true`, a derivation
attribute set to `null` will not impact the derivation output hash.
Thus, this function passes through its `value` argument if the `cond`
is `true`, but returns `null` if not.
Type: optionalDrvAttr :: Bool -> a -> a | Null
# Inputs
`cond`
: Condition
`value`
: Attribute value
# Type
```
optionalDrvAttr :: Bool -> a -> a | Null
```
# Examples
:::{.example}
## `lib.derivations.optionalDrvAttr` usage example
```nix
(stdenv.mkDerivation {
name = "foo";
x = optionalDrvAttr true 1;
y = optionalDrvAttr false 1;
}).drvPath == (stdenv.mkDerivation {
name = "foo";
x = 1;
}).drvPath
=> true
```
:::
Example:
(stdenv.mkDerivation {
name = "foo";
x = optionalDrvAttr true 1;
y = optionalDrvAttr false 1;
}).drvPath == (stdenv.mkDerivation {
name = "foo";
x = 1;
}).drvPath
=> true
*/
optionalDrvAttr =
# Condition
cond:
# Attribute value
value: if cond then value else null;
}

View File

@@ -236,7 +236,7 @@ File sets cannot add single files to the store, they can only import files under
Arguments:
- (+) There's no point in using this library for a single file, since you can't do anything other than add it to the store or not.
And it would be unclear how the library should behave if the one file wouldn't be added to the store:
`toSource { root = ./file.nix; fileset = <empty>; }` has no reasonable result because returning an empty store path wouldn't match the file type, and there's no way to have an empty file store path, whatever that would mean.
`toSource { root = ./file.nix; fileset = <empty>; }` has no reasonable result because returing an empty store path wouldn't match the file type, and there's no way to have an empty file store path, whatever that would mean.
### `fileFilter` takes a path

View File

@@ -1,4 +1,4 @@
/**
/*
Functions for querying information about the filesystem
without copying any files to the Nix store.
*/
@@ -29,35 +29,19 @@ in
{
/**
/*
The type of a path. The path needs to exist and be accessible.
The result is either "directory" for a directory, "regular" for a regular file, "symlink" for a symlink, or "unknown" for anything else.
# Inputs
Type:
pathType :: Path -> String
path
Example:
pathType /.
=> "directory"
: The path to query
# Type
```
pathType :: Path -> String
```
# Examples
:::{.example}
## `lib.filesystem.pathType` usage example
```nix
pathType /.
=> "directory"
pathType /some/file.nix
=> "regular"
```
:::
pathType /some/file.nix
=> "regular"
*/
pathType =
builtins.readFileType or
@@ -75,97 +59,53 @@ in
else (readDir (dirOf path)).${baseNameOf path}
);
/**
/*
Whether a path exists and is a directory.
Type:
pathIsDirectory :: Path -> Bool
# Inputs
Example:
pathIsDirectory /.
=> true
`path`
pathIsDirectory /this/does/not/exist
=> false
: 1\. Function argument
# Type
```
pathIsDirectory :: Path -> Bool
```
# Examples
:::{.example}
## `lib.filesystem.pathIsDirectory` usage example
```nix
pathIsDirectory /.
=> true
pathIsDirectory /this/does/not/exist
=> false
pathIsDirectory /some/file.nix
=> false
```
:::
pathIsDirectory /some/file.nix
=> false
*/
pathIsDirectory = path:
pathExists path && pathType path == "directory";
/**
/*
Whether a path exists and is a regular file, meaning not a symlink or any other special file type.
Type:
pathIsRegularFile :: Path -> Bool
# Inputs
Example:
pathIsRegularFile /.
=> false
`path`
pathIsRegularFile /this/does/not/exist
=> false
: 1\. Function argument
# Type
```
pathIsRegularFile :: Path -> Bool
```
# Examples
:::{.example}
## `lib.filesystem.pathIsRegularFile` usage example
```nix
pathIsRegularFile /.
=> false
pathIsRegularFile /this/does/not/exist
=> false
pathIsRegularFile /some/file.nix
=> true
```
:::
pathIsRegularFile /some/file.nix
=> true
*/
pathIsRegularFile = path:
pathExists path && pathType path == "regular";
/**
/*
A map of all haskell packages defined in the given path,
identified by having a cabal file with the same name as the
directory itself.
# Inputs
`root`
: The directory within to search
# Type
```
Path -> Map String Path
```
Type: Path -> Map String Path
*/
haskellPathsInDir =
# The directory within to search
root:
let # Files in the root
root-files = builtins.attrNames (builtins.readDir root);
@@ -180,30 +120,17 @@ in
builtins.pathExists (value + "/${name}.cabal")
) root-files-with-paths;
in builtins.listToAttrs cabal-subdirs;
/**
/*
Find the first directory containing a file matching 'pattern'
upward from a given 'file'.
Returns 'null' if no directories contain a file matching 'pattern'.
# Inputs
`pattern`
: The pattern to search for
`file`
: The file to start searching upward from
# Type
```
RegExp -> Path -> Nullable { path : Path; matches : [ MatchResults ]; }
```
Type: RegExp -> Path -> Nullable { path : Path; matches : [ MatchResults ]; }
*/
locateDominatingFile =
# The pattern to search for
pattern:
# The file to start searching upward from
file:
let go = path:
let files = builtins.attrNames (builtins.readDir path);
@@ -223,23 +150,13 @@ in
in go (if isDir then file else parent);
/**
/*
Given a directory, return a flattened list of all files within it recursively.
# Inputs
`dir`
: The path to recursively list
# Type
```
Path -> [ Path ]
```
Type: Path -> [ Path ]
*/
listFilesRecursive =
# The path to recursively list
dir:
lib.flatten (lib.mapAttrsToList (name: type:
if type == "directory" then
@@ -248,7 +165,7 @@ in
dir + "/${name}"
) (builtins.readDir dir));
/**
/*
Transform a directory tree containing package files suitable for
`callPackage` into a matching nested attribute set of derivations.
@@ -306,57 +223,40 @@ in
As a result, directories with no `.nix` files (including empty
directories) will be transformed into empty attribute sets.
# Inputs
Structured function argument
: Attribute set containing the following attributes.
Additional attributes are ignored.
`callPackage`
: `pkgs.callPackage`
Type: `Path -> AttrSet -> a`
`directory`
: The directory to read package files from
Type: `Path`
# Type
```
packagesFromDirectoryRecursive :: AttrSet -> AttrSet
```
# Examples
:::{.example}
## `lib.filesystem.packagesFromDirectoryRecursive` usage example
```nix
packagesFromDirectoryRecursive {
inherit (pkgs) callPackage;
directory = ./my-packages;
}
=> { ... }
lib.makeScope pkgs.newScope (
self: packagesFromDirectoryRecursive {
callPackage = self.callPackage;
Example:
packagesFromDirectoryRecursive {
inherit (pkgs) callPackage;
directory = ./my-packages;
}
)
=> { ... }
```
=> { ... }
:::
lib.makeScope pkgs.newScope (
self: packagesFromDirectoryRecursive {
callPackage = self.callPackage;
directory = ./my-packages;
}
)
=> { ... }
Type:
packagesFromDirectoryRecursive :: AttrSet -> AttrSet
*/
packagesFromDirectoryRecursive =
# Options.
{
/*
`pkgs.callPackage`
Type:
Path -> AttrSet -> a
*/
callPackage,
/*
The directory to read package files from
Type:
Path
*/
directory,
...
}:

View File

@@ -1,6 +1,6 @@
{ lib, ... }:
rec {
/**
/*
`fix f` computes the fixed point of the given function `f`. In other words, the return value is `x` in `x = f x`.
`f` must be a lazy function.
@@ -63,52 +63,27 @@ rec {
See [`extends`](#function-library-lib.fixedPoints.extends) for an example use case.
There `self` is also often called `final`.
Type: fix :: (a -> a) -> a
# Inputs
Example:
fix (self: { foo = "foo"; bar = "bar"; foobar = self.foo + self.bar; })
=> { bar = "bar"; foo = "foo"; foobar = "foobar"; }
`f`
: 1\. Function argument
# Type
```
fix :: (a -> a) -> a
```
# Examples
:::{.example}
## `lib.fixedPoints.fix` usage example
```nix
fix (self: { foo = "foo"; bar = "bar"; foobar = self.foo + self.bar; })
=> { bar = "bar"; foo = "foo"; foobar = "foobar"; }
fix (self: [ 1 2 (elemAt self 0 + elemAt self 1) ])
=> [ 1 2 3 ]
```
:::
fix (self: [ 1 2 (elemAt self 0 + elemAt self 1) ])
=> [ 1 2 3 ]
*/
fix = f: let x = f x; in x;
/**
/*
A variant of `fix` that records the original recursive attribute set in the
result, in an attribute named `__unfix__`.
This is useful in combination with the `extends` function to
implement deep overriding.
# Inputs
`f`
: 1\. Function argument
*/
fix' = f: let x = f x // { __unfix__ = f; }; in x;
/**
/*
Return the fixpoint that `f` converges to when called iteratively, starting
with the input `x`.
@@ -117,22 +92,7 @@ rec {
0
```
# Inputs
`f`
: 1\. Function argument
`x`
: 2\. Function argument
# Type
```
(a -> a) -> a -> a
```
Type: (a -> a) -> a -> a
*/
converge = f: x:
let
@@ -142,7 +102,7 @@ rec {
then x
else converge f x';
/**
/*
Extend a function using an overlay.
Overlays allow modifying and extending fixed-point functions, specifically ones returning attribute sets.
@@ -257,50 +217,32 @@ rec {
```
:::
Type:
extends :: (Attrs -> Attrs -> Attrs) # The overlay to apply to the fixed-point function
-> (Attrs -> Attrs) # A fixed-point function
-> (Attrs -> Attrs) # The resulting fixed-point function
# Inputs
Example:
f = final: { a = 1; b = final.a + 2; }
`overlay`
fix f
=> { a = 1; b = 3; }
: The overlay to apply to the fixed-point function
fix (extends (final: prev: { a = prev.a + 10; }) f)
=> { a = 11; b = 13; }
`f`
fix (extends (final: prev: { b = final.a + 5; }) f)
=> { a = 1; b = 6; }
: The fixed-point function
# Type
```
extends :: (Attrs -> Attrs -> Attrs) # The overlay to apply to the fixed-point function
-> (Attrs -> Attrs) # A fixed-point function
-> (Attrs -> Attrs) # The resulting fixed-point function
```
# Examples
:::{.example}
## `lib.fixedPoints.extends` usage example
```nix
f = final: { a = 1; b = final.a + 2; }
fix f
=> { a = 1; b = 3; }
fix (extends (final: prev: { a = prev.a + 10; }) f)
=> { a = 11; b = 13; }
fix (extends (final: prev: { b = final.a + 5; }) f)
=> { a = 1; b = 6; }
fix (extends (final: prev: { c = final.a + final.b; }) f)
=> { a = 1; b = 3; c = 4; }
```
:::
fix (extends (final: prev: { c = final.a + final.b; }) f)
=> { a = 1; b = 3; c = 4; }
*/
extends =
# The overlay to apply to the fixed-point function
overlay:
# The fixed-point function
f:
# Wrap with parenthesis to prevent nixdoc from rendering the `final` argument in the documentation
# The result should be thought of as a function, the argument of that function is not an argument to `extends` itself
(
final:
@@ -310,29 +252,10 @@ rec {
prev // overlay final prev
);
/**
/*
Compose two extending functions of the type expected by 'extends'
into one where changes made in the first are available in the
'super' of the second
# Inputs
`f`
: 1\. Function argument
`g`
: 2\. Function argument
`final`
: 3\. Function argument
`prev`
: 4\. Function argument
*/
composeExtensions =
f: g: final: prev:
@@ -340,7 +263,7 @@ rec {
prev' = prev // fApplied;
in fApplied // g final prev';
/**
/*
Compose several extending functions of the type expected by 'extends' into
one where changes made in preceding functions are made available to
subsequent ones.
@@ -353,7 +276,7 @@ rec {
composeManyExtensions =
lib.foldr (x: y: composeExtensions x y) (final: prev: {});
/**
/*
Create an overridable, recursive attribute set. For example:
```
@@ -375,20 +298,9 @@ rec {
*/
makeExtensible = makeExtensibleWithCustomName "extend";
/**
/*
Same as `makeExtensible` but the name of the extending attribute is
customized.
# Inputs
`extenderName`
: 1\. Function argument
`rattrs`
: 2\. Function argument
*/
makeExtensibleWithCustomName = extenderName: rattrs:
fix' (self: (rattrs self) // {

View File

@@ -1,23 +1,18 @@
/**
Functions that generate widespread file
formats from nix data structures.
They all follow a similar interface:
```nix
generator { config-attrs } data
```
`config-attrs` are holes in the generators
with sensible default implementations that
can be overwritten. The default implementations
are mostly generators themselves, called with
their respective default values; they can be reused.
Tests can be found in ./tests/misc.nix
Further Documentation can be found [here](#sec-generators).
*/
/* Functions that generate widespread file
* formats from nix data structures.
*
* They all follow a similar interface:
* generator { config-attrs } data
*
* `config-attrs` are holes in the generators
* with sensible default implementations that
* can be overwritten. The default implementations
* are mostly generators themselves, called with
* their respective default values; they can be reused.
*
* Tests can be found in ./tests/misc.nix
* Documentation in the manual, #sec-generators
*/
{ lib }:
let
@@ -73,20 +68,11 @@ let
;
## -- HELPER FUNCTIONS & DEFAULTS --
in rec {
/**
Convert a value to a sensible default string representation.
The builtin `toString` function has some strange defaults,
suitable for bash scripts but not much else.
# Inputs
Options
: Empty set, there may be configuration options in the future
`v`
: 2\. Function argument
*/
/* Convert a value to a sensible default string representation.
* The builtin `toString` function has some strange defaults,
* suitable for bash scripts but not much else.
*/
mkValueStringDefault = {}: v:
let err = t: v: abort
("generators.mkValueStringDefault: " +
@@ -114,36 +100,15 @@ in rec {
else err "this value is" (toString v);
/**
Generate a line of key k and value v, separated by
character sep. If sep appears in k, it is escaped.
Helper for synaxes with different separators.
mkValueString specifies how values should be formatted.
```nix
mkKeyValueDefault {} ":" "f:oo" "bar"
> "f\:oo:bar"
```
# Inputs
Structured function argument
: mkValueString (optional, default: `mkValueStringDefault {}`)
: Function to convert values to strings
`sep`
: 2\. Function argument
`k`
: 3\. Function argument
`v`
: 4\. Function argument
*/
/* Generate a line of key k and value v, separated by
* character sep. If sep appears in k, it is escaped.
* Helper for synaxes with different separators.
*
* mkValueString specifies how values should be formatted.
*
* mkKeyValueDefault {} ":" "f:oo" "bar"
* > "f\:oo:bar"
*/
mkKeyValueDefault = {
mkValueString ? mkValueStringDefault {}
}: sep: k: v:
@@ -153,23 +118,10 @@ in rec {
## -- FILE FORMAT GENERATORS --
/**
Generate a key-value-style config file from an attrset.
# Inputs
Structured function argument
: mkKeyValue (optional, default: `mkKeyValueDefault {} "="`)
: format a setting line from key and value
: listsAsDuplicateKeys (optional, default: `false`)
: allow lists as values for duplicate keys
: indent (optional, default: `""`)
: Initial indentation level
*/
/* Generate a key-value-style config file from an attrset.
*
* mkKeyValue is the same as in toINI.
*/
toKeyValue = {
mkKeyValue ? mkKeyValueDefault {} "=",
listsAsDuplicateKeys ? false,
@@ -182,51 +134,32 @@ in rec {
in attrs: concatStrings (concatLists (mapAttrsToList mkLines attrs));
/**
Generate an INI-style config file from an
attrset of sections to an attrset of key-value pairs.
# Inputs
Structured function argument
: mkSectionName (optional, default: `(name: escape [ "[" "]" ] name)`)
: apply transformations (e.g. escapes) to section names
: mkKeyValue (optional, default: `{} "="`)
: format a setting line from key and value
: listsAsDuplicateKeys (optional, default: `false`)
: allow lists as values for duplicate keys
# Examples
:::{.example}
## `lib.generators.toINI` usage example
```nix
generators.toINI {} {
foo = { hi = "${pkgs.hello}"; ciao = "bar"; };
baz = { "also, integers" = 42; };
}
> [baz]
> also, integers=42
>
> [foo]
> ciao=bar
> hi=/nix/store/y93qql1p5ggfnaqjjqhxcw0vqw95rlz0-hello-2.10
```
The mk* configuration attributes can generically change
the way sections and key-value strings are generated.
For more examples see the test cases in ./tests/misc.nix.
:::
*/
/* Generate an INI-style config file from an
* attrset of sections to an attrset of key-value pairs.
*
* generators.toINI {} {
* foo = { hi = "${pkgs.hello}"; ciao = "bar"; };
* baz = { "also, integers" = 42; };
* }
*
*> [baz]
*> also, integers=42
*>
*> [foo]
*> ciao=bar
*> hi=/nix/store/y93qql1p5ggfnaqjjqhxcw0vqw95rlz0-hello-2.10
*
* The mk* configuration attributes can generically change
* the way sections and key-value strings are generated.
*
* For more examples see the test cases in ./tests/misc.nix.
*/
toINI = {
# apply transformations (e.g. escapes) to section names
mkSectionName ? (name: escape [ "[" "]" ] name),
# format a setting line from key and value
mkKeyValue ? mkKeyValueDefault {} "=",
# allow lists as values for duplicate keys
listsAsDuplicateKeys ? false
}: attrsOfAttrs:
let
@@ -241,70 +174,43 @@ in rec {
# map input to ini sections
mapAttrsToStringsSep "\n" mkSection attrsOfAttrs;
/**
Generate an INI-style config file from an attrset
specifying the global section (no header), and an
attrset of sections to an attrset of key-value pairs.
# Inputs
1\. Structured function argument
: mkSectionName (optional, default: `(name: escape [ "[" "]" ] name)`)
: apply transformations (e.g. escapes) to section names
: mkKeyValue (optional, default: `{} "="`)
: format a setting line from key and value
: listsAsDuplicateKeys (optional, default: `false`)
: allow lists as values for duplicate keys
2\. Structured function argument
: globalSection (required)
: global section key-value pairs
: sections (optional, default: `{}`)
: attrset of sections to key-value pairs
# Examples
:::{.example}
## `lib.generators.toINIWithGlobalSection` usage example
```nix
generators.toINIWithGlobalSection {} {
globalSection = {
someGlobalKey = "hi";
};
sections = {
foo = { hi = "${pkgs.hello}"; ciao = "bar"; };
baz = { "also, integers" = 42; };
}
> someGlobalKey=hi
>
> [baz]
> also, integers=42
>
> [foo]
> ciao=bar
> hi=/nix/store/y93qql1p5ggfnaqjjqhxcw0vqw95rlz0-hello-2.10
```
The mk* configuration attributes can generically change
the way sections and key-value strings are generated.
For more examples see the test cases in ./tests/misc.nix.
:::
If you dont need a global section, you can also use
`generators.toINI` directly, which only takes
the part in `sections`.
*/
/* Generate an INI-style config file from an attrset
* specifying the global section (no header), and an
* attrset of sections to an attrset of key-value pairs.
*
* generators.toINIWithGlobalSection {} {
* globalSection = {
* someGlobalKey = "hi";
* };
* sections = {
* foo = { hi = "${pkgs.hello}"; ciao = "bar"; };
* baz = { "also, integers" = 42; };
* }
*
*> someGlobalKey=hi
*>
*> [baz]
*> also, integers=42
*>
*> [foo]
*> ciao=bar
*> hi=/nix/store/y93qql1p5ggfnaqjjqhxcw0vqw95rlz0-hello-2.10
*
* The mk* configuration attributes can generically change
* the way sections and key-value strings are generated.
*
* For more examples see the test cases in ./tests/misc.nix.
*
* If you dont need a global section, you can also use
* `generators.toINI` directly, which only takes
* the part in `sections`.
*/
toINIWithGlobalSection = {
# apply transformations (e.g. escapes) to section names
mkSectionName ? (name: escape [ "[" "]" ] name),
# format a setting line from key and value
mkKeyValue ? mkKeyValueDefault {} "=",
# allow lists as values for duplicate keys
listsAsDuplicateKeys ? false
}: { globalSection, sections ? {} }:
( if globalSection == {}
@@ -313,43 +219,24 @@ in rec {
+ "\n")
+ (toINI { inherit mkSectionName mkKeyValue listsAsDuplicateKeys; } sections);
/**
Generate a git-config file from an attrset.
It has two major differences from the regular INI format:
1. values are indented with tabs
2. sections can have sub-sections
Further: https://git-scm.com/docs/git-config#EXAMPLES
# Examples
:::{.example}
## `lib.generators.toGitINI` usage example
```nix
generators.toGitINI {
url."ssh://git@github.com/".insteadOf = "https://github.com";
user.name = "edolstra";
}
> [url "ssh://git@github.com/"]
> insteadOf = "https://github.com"
>
> [user]
> name = "edolstra"
```
:::
# Inputs
`attrs`
: Key-value pairs to be converted to a git-config file.
See: https://git-scm.com/docs/git-config#_variables for possible values.
*/
/* Generate a git-config file from an attrset.
*
* It has two major differences from the regular INI format:
*
* 1. values are indented with tabs
* 2. sections can have sub-sections
*
* generators.toGitINI {
* url."ssh://git@github.com/".insteadOf = "https://github.com";
* user.name = "edolstra";
* }
*
*> [url "ssh://git@github.com/"]
*> insteadOf = "https://github.com"
*>
*> [user]
*> name = "edolstra"
*/
toGitINI = attrs:
let
mkSectionName = name:
@@ -393,40 +280,20 @@ in rec {
in
toINI_ (gitFlattenAttrs attrs);
/**
mkKeyValueDefault wrapper that handles dconf INI quirks.
The main differences of the format is that it requires strings to be quoted.
*/
# mkKeyValueDefault wrapper that handles dconf INI quirks.
# The main differences of the format is that it requires strings to be quoted.
mkDconfKeyValue = mkKeyValueDefault { mkValueString = v: toString (gvariant.mkValue v); } "=";
/**
Generates INI in dconf keyfile style. See https://help.gnome.org/admin/system-admin-guide/stable/dconf-keyfiles.html.en
for details.
*/
# Generates INI in dconf keyfile style. See https://help.gnome.org/admin/system-admin-guide/stable/dconf-keyfiles.html.en
# for details.
toDconfINI = toINI { mkKeyValue = mkDconfKeyValue; };
/**
Recurses through a `Value` limited to a certain depth. (`depthLimit`)
If the depth is exceeded, an error is thrown, unless `throwOnDepthLimit` is set to `false`.
# Inputs
Structured function argument
: depthLimit (required)
: If this option is not null, the given value will stop evaluating at a certain depth
: throwOnDepthLimit (optional, default: `true`)
: If this option is true, an error will be thrown, if a certain given depth is exceeded
Value
: The value to be evaluated recursively
*/
withRecursion =
{
depthLimit,
throwOnDepthLimit ? true
/* If this option is not null, the given value will stop evaluating at a certain depth */
depthLimit
/* If this option is true, an error will be thrown, if a certain given depth is exceeded */
, throwOnDepthLimit ? true
}:
assert isInt depthLimit;
let
@@ -456,33 +323,20 @@ in rec {
in
mapAny 0;
/**
Pretty print a value, akin to `builtins.trace`.
Should probably be a builtin as well.
The pretty-printed string should be suitable for rendering default values
in the NixOS manual. In particular, it should be as close to a valid Nix expression
as possible.
# Inputs
Structured function argument
: allowPrettyValues
: If this option is true, attrsets like { __pretty = fn; val = ; }
will use fn to convert val to a pretty printed representation.
(This means fn is type Val -> String.)
: multiline
: If this option is true, the output is indented with newlines for attribute sets and lists
: indent
: Initial indentation level
Value
: The value to be pretty printed
*/
/* Pretty print a value, akin to `builtins.trace`.
* Should probably be a builtin as well.
* The pretty-printed string should be suitable for rendering default values
* in the NixOS manual. In particular, it should be as close to a valid Nix expression
* as possible.
*/
toPretty = {
/* If this option is true, attrsets like { __pretty = fn; val = ; }
will use fn to convert val to a pretty printed representation.
(This means fn is type Val -> String.) */
allowPrettyValues ? false,
/* If this option is true, the output is indented with newlines for attribute sets and lists */
multiline ? true,
/* Initial indentation level */
indent ? ""
}:
let
@@ -543,17 +397,7 @@ in rec {
else abort "generators.toPretty: should never happen (v = ${v})";
in go indent;
/**
Translate a simple Nix expression to [Plist notation](https://en.wikipedia.org/wiki/Property_list).
# Inputs
Options
: Empty set, there may be configuration options in the future
Value
: The value to be converted to Plist
*/
# PLIST handling
toPlist = {}: v: let
expr = ind: x:
if x == null then "" else
@@ -603,21 +447,9 @@ in rec {
${expr "" v}
</plist>'';
/**
Translate a simple Nix expression to Dhall notation.
Note that integers are translated to Integer and never
the Natural type.
# Inputs
Options
: Empty set, there may be configuration options in the future
Value
: The value to be converted to Dhall
/* Translate a simple Nix expression to Dhall notation.
* Note that integers are translated to Integer and never
* the Natural type.
*/
toDhall = { }@args: v:
let concatItems = concatStringsSep ", ";
@@ -639,71 +471,46 @@ ${expr "" v}
else
toJSON v;
/**
Translate a simple Nix expression to Lua representation with occasional
Lua-inlines that can be constructed by mkLuaInline function.
/*
Translate a simple Nix expression to Lua representation with occasional
Lua-inlines that can be constructed by mkLuaInline function.
Configuration:
Configuration:
* multiline - by default is true which results in indented block-like view.
* indent - initial indent.
* asBindings - by default generate single value, but with this use attrset to set global vars.
* multiline - by default is true which results in indented block-like view.
* indent - initial indent.
* asBindings - by default generate single value, but with this use attrset to set global vars.
Attention:
Regardless of multiline parameter there is no trailing newline.
Attention:
Regardless of multiline parameter there is no trailing newline.
# Inputs
Structured function argument
: multiline (optional, default: `true`)
: If this option is true, the output is indented with newlines for attribute sets and lists
: indent (optional, default: `""`)
: Initial indentation level
: asBindings (optional, default: `false`)
: Interpret as variable bindings
Value
: The value to be converted to Lua
# Type
```
toLua :: AttrSet -> Any -> String
```
# Examples
:::{.example}
## `lib.generators.toLua` usage example
```nix
generators.toLua {}
{
cmd = [ "typescript-language-server" "--stdio" ];
settings.workspace.library = mkLuaInline ''vim.api.nvim_get_runtime_file("", true)'';
}
->
{
["cmd"] = {
"typescript-language-server",
"--stdio"
},
["settings"] = {
["workspace"] = {
["library"] = (vim.api.nvim_get_runtime_file("", true))
}
Example:
generators.toLua {}
{
cmd = [ "typescript-language-server" "--stdio" ];
settings.workspace.library = mkLuaInline ''vim.api.nvim_get_runtime_file("", true)'';
}
}
```
->
{
["cmd"] = {
"typescript-language-server",
"--stdio"
},
["settings"] = {
["workspace"] = {
["library"] = (vim.api.nvim_get_runtime_file("", true))
}
}
}
:::
Type:
toLua :: AttrSet -> Any -> String
*/
toLua = {
/* If this option is true, the output is indented with newlines for attribute sets and lists */
multiline ? true,
/* Initial indentation level */
indent ? "",
/* Interpret as variable bindings */
asBindings ? false,
}@args: v:
let
@@ -752,55 +559,44 @@ ${expr "" v}
else
abort "generators.toLua: type ${typeOf v} is unsupported";
/**
Mark string as Lua expression to be inlined when processed by toLua.
/*
Mark string as Lua expression to be inlined when processed by toLua.
# Inputs
`expr`
: 1\. Function argument
# Type
```
mkLuaInline :: String -> AttrSet
```
Type:
mkLuaInline :: String -> AttrSet
*/
mkLuaInline = expr: { _type = "lua-inline"; inherit expr; };
} // {
/**
Generates JSON from an arbitrary (non-function) value.
For more information see the documentation of the builtin.
# Inputs
in
Options
# Everything in this attrset is the public interface of the file.
{
inherit
mkDconfKeyValue
mkKeyValueDefault
mkLuaInline
mkValueStringDefault
toDconfINI
toDhall
toGitINI
toINI
toINIWithGlobalSection
toKeyValue
toLua
toPlist
toPretty
withRecursion
;
: Empty set, there may be configuration options in the future
/* Generates JSON from an arbitrary (non-function) value.
* For more information see the documentation of the builtin.
*/
toJSON = {}: toJSON;
Value
: The value to be converted to JSON
*/
toJSON = {}: lib.strings.toJSON;
/**
YAML has been a strict superset of JSON since 1.2, so we
use toJSON. Before it only had a few differences referring
to implicit typing rules, so it should work with older
parsers as well.
# Inputs
Options
: Empty set, there may be configuration options in the future
Value
: The value to be converted to YAML
*/
toYAML = {}: lib.strings.toJSON;
/* YAML has been a strict superset of JSON since 1.2, so we
* use toJSON. Before it only had a few differences referring
* to implicit typing rules, so it should work with older
* parsers as well.
*/
toYAML = {}: toJSON;
}

View File

@@ -1,4 +1,4 @@
/**
/*
A partial and basic implementation of GVariant formatted strings.
See [GVariant Format Strings](https://docs.gtk.org/glib/gvariant-format-strings.html) for details.
@@ -41,28 +41,17 @@ let
variant = "v";
};
/* Check if a value is a GVariant value
Type:
isGVariant :: Any -> Bool
*/
isGVariant = v: v._type or "" == "gvariant";
in
rec {
inherit type;
/**
Check if a value is a GVariant value
# Inputs
`v`
: value to check
# Type
```
isGVariant :: Any -> Bool
```
*/
isGVariant = v: v._type or "" == "gvariant";
inherit type isGVariant;
intConstructors = [
{
@@ -111,22 +100,11 @@ rec {
}
];
/**
Returns the GVariant value that most closely matches the given Nix value.
If no GVariant value can be found unambiguously then error is thrown.
/* Returns the GVariant value that most closely matches the given Nix value.
If no GVariant value can be found unambiguously then error is thrown.
# Inputs
`v`
: 1\. Function argument
# Type
```
mkValue :: Any -> gvariant
```
Type:
mkValue :: Any -> gvariant
*/
mkValue = v:
if builtins.isBool v then
@@ -154,32 +132,14 @@ rec {
else
throw "The GVariant type of ${builtins.typeOf v} can't be inferred.";
/**
Returns the GVariant array from the given type of the elements and a Nix list.
/* Returns the GVariant array from the given type of the elements and a Nix list.
Type:
mkArray :: [Any] -> gvariant
# Inputs
`elems`
: 1\. Function argument
# Type
```
mkArray :: [Any] -> gvariant
```
# Examples
:::{.example}
## `lib.gvariant.mkArray` usage example
```nix
# Creating a string array
lib.gvariant.mkArray [ "a" "b" "c" ]
```
:::
Example:
# Creating a string array
lib.gvariant.mkArray [ "a" "b" "c" ]
*/
mkArray = elems:
let
@@ -193,67 +153,31 @@ rec {
"@${self.type} [${concatMapStringsSep "," toString self.value}]";
};
/**
Returns the GVariant array from the given empty Nix list.
/* Returns the GVariant array from the given empty Nix list.
Type:
mkEmptyArray :: gvariant.type -> gvariant
# Inputs
`elemType`
: 1\. Function argument
# Type
```
mkEmptyArray :: gvariant.type -> gvariant
```
# Examples
:::{.example}
## `lib.gvariant.mkEmptyArray` usage example
```nix
# Creating an empty string array
lib.gvariant.mkEmptyArray (lib.gvariant.type.string)
```
:::
Example:
# Creating an empty string array
lib.gvariant.mkEmptyArray (lib.gvariant.type.string)
*/
mkEmptyArray = elemType: mkPrimitive (type.arrayOf elemType) [ ] // {
__toString = self: "@${self.type} []";
};
/**
Returns the GVariant variant from the given Nix value. Variants are containers
of different GVariant type.
/* Returns the GVariant variant from the given Nix value. Variants are containers
of different GVariant type.
Type:
mkVariant :: Any -> gvariant
# Inputs
`elem`
: 1\. Function argument
# Type
```
mkVariant :: Any -> gvariant
```
# Examples
:::{.example}
## `lib.gvariant.mkVariant` usage example
```nix
lib.gvariant.mkArray [
(lib.gvariant.mkVariant "a string")
(lib.gvariant.mkVariant (lib.gvariant.mkInt32 1))
]
```
:::
Example:
lib.gvariant.mkArray [
(lib.gvariant.mkVariant "a string")
(lib.gvariant.mkVariant (lib.gvariant.mkInt32 1))
]
*/
mkVariant = elem:
let gvarElem = mkValue elem;
@@ -261,43 +185,23 @@ rec {
__toString = self: "<${toString self.value}>";
};
/**
Returns the GVariant dictionary entry from the given key and value.
/* Returns the GVariant dictionary entry from the given key and value.
Type:
mkDictionaryEntry :: String -> Any -> gvariant
# Inputs
`name`
: The key of the entry
`value`
: The value of the entry
# Type
```
mkDictionaryEntry :: String -> Any -> gvariant
```
# Examples
:::{.example}
## `lib.gvariant.mkDictionaryEntry` usage example
```nix
# A dictionary describing an Epiphanys search provider
[
(lib.gvariant.mkDictionaryEntry "url" (lib.gvariant.mkVariant "https://duckduckgo.com/?q=%s&t=epiphany"))
(lib.gvariant.mkDictionaryEntry "bang" (lib.gvariant.mkVariant "!d"))
(lib.gvariant.mkDictionaryEntry "name" (lib.gvariant.mkVariant "DuckDuckGo"))
]
```
:::
Example:
# A dictionary describing an Epiphanys search provider
[
(lib.gvariant.mkDictionaryEntry "url" (lib.gvariant.mkVariant "https://duckduckgo.com/?q=%s&t=epiphany"))
(lib.gvariant.mkDictionaryEntry "bang" (lib.gvariant.mkVariant "!d"))
(lib.gvariant.mkDictionaryEntry "name" (lib.gvariant.mkVariant "DuckDuckGo"))
]
*/
mkDictionaryEntry =
# The key of the entry
name:
# The value of the entry
value:
let
name' = mkValue name;
@@ -308,25 +212,10 @@ rec {
__toString = self: "@${self.type} {${name'},${value'}}";
};
/**
Returns the GVariant maybe from the given element type.
/* Returns the GVariant maybe from the given element type.
# Inputs
`elemType`
: 1\. Function argument
`elem`
: 2\. Function argument
# Type
```
mkMaybe :: gvariant.type -> Any -> gvariant
```
Type:
mkMaybe :: gvariant.type -> Any -> gvariant
*/
mkMaybe = elemType: elem:
mkPrimitive (type.maybeOf elemType) elem // {
@@ -337,57 +226,24 @@ rec {
"just ${toString self.value}";
};
/**
Returns the GVariant nothing from the given element type.
/* Returns the GVariant nothing from the given element type.
# Inputs
`elemType`
: 1\. Function argument
# Type
```
mkNothing :: gvariant.type -> gvariant
```
Type:
mkNothing :: gvariant.type -> gvariant
*/
mkNothing = elemType: mkMaybe elemType null;
/**
Returns the GVariant just from the given Nix value.
/* Returns the GVariant just from the given Nix value.
# Inputs
`elem`
: 1\. Function argument
# Type
```
mkJust :: Any -> gvariant
```
Type:
mkJust :: Any -> gvariant
*/
mkJust = elem: let gvarElem = mkValue elem; in mkMaybe gvarElem.type gvarElem;
/**
Returns the GVariant tuple from the given Nix list.
/* Returns the GVariant tuple from the given Nix list.
# Inputs
`elems`
: 1\. Function argument
# Type
```
mkTuple :: [Any] -> gvariant
```
Type:
mkTuple :: [Any] -> gvariant
*/
mkTuple = elems:
let
@@ -399,42 +255,20 @@ rec {
"@${self.type} (${concatMapStringsSep "," toString self.value})";
};
/**
Returns the GVariant boolean from the given Nix bool value.
/* Returns the GVariant boolean from the given Nix bool value.
# Inputs
`v`
: 1\. Function argument
# Type
```
mkBoolean :: Bool -> gvariant
```
Type:
mkBoolean :: Bool -> gvariant
*/
mkBoolean = v:
mkPrimitive type.boolean v // {
__toString = self: if self.value then "true" else "false";
};
/**
Returns the GVariant string from the given Nix string value.
/* Returns the GVariant string from the given Nix string value.
# Inputs
`v`
: 1\. Function argument
# Type
```
mkString :: String -> gvariant
```
Type:
mkString :: String -> gvariant
*/
mkString = v:
let sanitize = s: replaceStrings [ "\n" ] [ "\\n" ] (escape [ "'" "\\" ] s);
@@ -442,129 +276,72 @@ rec {
__toString = self: "'${sanitize self.value}'";
};
/**
Returns the GVariant object path from the given Nix string value.
/* Returns the GVariant object path from the given Nix string value.
# Inputs
`v`
: 1\. Function argument
# Type
```
mkObjectpath :: String -> gvariant
```
Type:
mkObjectpath :: String -> gvariant
*/
mkObjectpath = v:
mkPrimitive type.string v // {
__toString = self: "objectpath '${escape [ "'" ] self.value}'";
};
/**
Returns the GVariant uchar from the given Nix int value.
/* Returns the GVariant uchar from the given Nix int value.
# Type
```
mkUchar :: Int -> gvariant
```
Type:
mkUchar :: Int -> gvariant
*/
mkUchar = mkPrimitive type.uchar;
/**
Returns the GVariant int16 from the given Nix int value.
/* Returns the GVariant int16 from the given Nix int value.
# Type
```
mkInt16 :: Int -> gvariant
```
Type:
mkInt16 :: Int -> gvariant
*/
mkInt16 = mkPrimitive type.int16;
/**
Returns the GVariant uint16 from the given Nix int value.
/* Returns the GVariant uint16 from the given Nix int value.
# Type
```
mkUint16 :: Int -> gvariant
```
Type:
mkUint16 :: Int -> gvariant
*/
mkUint16 = mkPrimitive type.uint16;
/**
Returns the GVariant int32 from the given Nix int value.
/* Returns the GVariant int32 from the given Nix int value.
# Inputs
`v`
: 1\. Function argument
# Type
```
mkInt32 :: Int -> gvariant
```
Type:
mkInt32 :: Int -> gvariant
*/
mkInt32 = v:
mkPrimitive type.int32 v // {
__toString = self: toString self.value;
};
/**
Returns the GVariant uint32 from the given Nix int value.
/* Returns the GVariant uint32 from the given Nix int value.
# Type
```
mkUint32 :: Int -> gvariant
```
Type:
mkUint32 :: Int -> gvariant
*/
mkUint32 = mkPrimitive type.uint32;
/**
Returns the GVariant int64 from the given Nix int value.
/* Returns the GVariant int64 from the given Nix int value.
# Type
```
mkInt64 :: Int -> gvariant
```
Type:
mkInt64 :: Int -> gvariant
*/
mkInt64 = mkPrimitive type.int64;
/**
Returns the GVariant uint64 from the given Nix int value.
/* Returns the GVariant uint64 from the given Nix int value.
# Type
```
mkUint64 :: Int -> gvariant
```
Type:
mkUint64 :: Int -> gvariant
*/
mkUint64 = mkPrimitive type.uint64;
/**
Returns the GVariant double from the given Nix float value.
/* Returns the GVariant double from the given Nix float value.
# Inputs
`v`
: 1\. Function argument
# Type
```
mkDouble :: Float -> gvariant
```
Type:
mkDouble :: Float -> gvariant
*/
mkDouble = v:
mkPrimitive type.double v // {

View File

@@ -1,29 +1,25 @@
{ lib }:
let
inherit (lib) optionalAttrs;
mkLicense = lname: {
shortName ? lname,
# Most of our licenses are Free, explicitly declare unfree additions as such!
free ? true,
deprecated ? false,
spdxId ? null,
url ? null,
fullName ? null,
redistributable ? free
}@attrs: {
inherit shortName free deprecated redistributable;
} // optionalAttrs (attrs ? spdxId) {
inherit spdxId;
url = "https://spdx.org/licenses/${spdxId}.html";
} // optionalAttrs (attrs ? url) {
inherit url;
} // optionalAttrs (attrs ? fullName) {
inherit fullName;
lib.mapAttrs (lname: lset: let
defaultLicense = {
shortName = lname;
free = true; # Most of our licenses are Free, explicitly declare unfree additions as such!
deprecated = false;
};
in
lib.mapAttrs mkLicense ({
mkLicense = licenseDeclaration: let
applyDefaults = license: defaultLicense // license;
applySpdx = license:
if license ? spdxId
then license // { url = "https://spdx.org/licenses/${license.spdxId}.html"; }
else license;
applyRedistributable = license: { redistributable = license.free; } // license;
in lib.pipe licenseDeclaration [
applyDefaults
applySpdx
applyRedistributable
];
in mkLicense lset) ({
/* License identifiers from spdx.org where possible.
* If you cannot find your license here, then look for a similar license or
* add it to this list. The URL mentioned above is a good source for inspiration.
@@ -321,12 +317,6 @@ lib.mapAttrs mkLicense ({
free = false;
};
cc-by-nd-40 = {
spdxId = "CC-BY-ND-4.0";
fullName = "Creative Commons Attribution-No Derivative Works v4.0";
free = false;
};
cc-by-sa-10 = {
spdxId = "CC-BY-SA-1.0";
fullName = "Creative Commons Attribution Share Alike 1.0";
@@ -372,12 +362,6 @@ lib.mapAttrs mkLicense ({
fullName = "Creative Commons Attribution Share Alike 4.0";
};
cc-sa-10 = {
shortName = "CC-SA-1.0";
fullName = "Creative Commons Share Alike 1.0";
url = "https://creativecommons.org/licenses/sa/1.0";
};
cddl = {
spdxId = "CDDL-1.0";
fullName = "Common Development and Distribution License 1.0";
@@ -540,13 +524,6 @@ lib.mapAttrs mkLicense ({
fullName = "Unspecified free software license";
};
fsl11Mit = {
fullName = "Functional Source License, Version 1.1, MIT Future License";
url = "https://fsl.software/FSL-1.1-MIT.template.md";
free = false;
redistributable = true;
};
ftl = {
spdxId = "FTL";
fullName = "Freetype Project License";
@@ -927,7 +904,7 @@ lib.mapAttrs mkLicense ({
ncbiPd = {
spdxId = "NCBI-PD";
fullName = "NCBI Public Domain Notice";
fullname = "NCBI Public Domain Notice";
# Due to United States copyright law, anything with this "license" does not have a copyright in the
# jurisdiction of the United States. However, other jurisdictions may assign the United States
# government copyright to the work, and the license explicitly states that in such a case, no license
@@ -1171,7 +1148,7 @@ lib.mapAttrs mkLicense ({
shortName = "TSL";
fullName = "Timescale License Agreegment";
url = "https://github.com/timescale/timescaledb/blob/main/tsl/LICENSE-TIMESCALE";
free = false;
unfree = true;
};
tcltk = {
@@ -1295,21 +1272,11 @@ lib.mapAttrs mkLicense ({
fullName = "xinetd License";
};
xskat = {
spdxId = "XSkat";
fullName = "XSkat License";
};
zlib = {
spdxId = "Zlib";
fullName = "zlib License";
};
zsh = {
url = "https://github.com/zsh-users/zsh/blob/master/LICENCE";
fullName = "Zsh License";
};
zpl20 = {
spdxId = "ZPL-2.0";
fullName = "Zope Public License 2.0";
@@ -1320,6 +1287,10 @@ lib.mapAttrs mkLicense ({
fullName = "Zope Public License 2.1";
};
xskat = {
spdxId = "XSkat";
fullName = "XSkat License";
};
} // {
# TODO: remove legacy aliases
apsl10 = {

View File

@@ -1,7 +1,5 @@
/**
Some functions for manipulating meta attributes, as well as the
name attribute.
*/
/* Some functions for manipulating meta attributes, as well as the
name attribute. */
{ lib }:
@@ -13,225 +11,86 @@ in
rec {
/**
Add to or override the meta attributes of the given
derivation.
/* Add to or override the meta attributes of the given
derivation.
# Inputs
`newAttrs`
: 1\. Function argument
`drv`
: 2\. Function argument
# Examples
:::{.example}
## `lib.meta.addMetaAttrs` usage example
```nix
addMetaAttrs {description = "Bla blah";} somePkg
```
:::
Example:
addMetaAttrs {description = "Bla blah";} somePkg
*/
addMetaAttrs = newAttrs: drv:
drv // { meta = (drv.meta or {}) // newAttrs; };
/**
Disable Hydra builds of given derivation.
# Inputs
`drv`
: 1\. Function argument
/* Disable Hydra builds of given derivation.
*/
dontDistribute = drv: addMetaAttrs { hydraPlatforms = []; } drv;
/**
Change the [symbolic name of a derivation](https://nixos.org/manual/nix/stable/language/derivations.html#attr-name).
:::{.warning}
Dependent derivations will be rebuilt when the symbolic name is changed.
:::
# Inputs
`name`
: 1\. Function argument
`drv`
: 2\. Function argument
/* Change the symbolic name of a package for presentation purposes
(i.e., so that nix-env users can tell them apart).
*/
setName = name: drv: drv // {inherit name;};
/**
Like `setName`, but takes the previous name as an argument.
/* Like `setName`, but takes the previous name as an argument.
# Inputs
`updater`
: 1\. Function argument
`drv`
: 2\. Function argument
# Examples
:::{.example}
## `lib.meta.updateName` usage example
```nix
updateName (oldName: oldName + "-experimental") somePkg
```
:::
Example:
updateName (oldName: oldName + "-experimental") somePkg
*/
updateName = updater: drv: drv // {name = updater (drv.name);};
/**
Append a suffix to the name of a package (before the version
part).
# Inputs
`suffix`
: 1\. Function argument
*/
/* Append a suffix to the name of a package (before the version
part). */
appendToName = suffix: updateName (name:
let x = builtins.parseDrvName name; in "${x.name}-${suffix}-${x.version}");
/**
Apply a function to each derivation and only to derivations in an attrset.
# Inputs
`f`
: 1\. Function argument
`set`
: 2\. Function argument
/* Apply a function to each derivation and only to derivations in an attrset.
*/
mapDerivationAttrset = f: set: lib.mapAttrs (name: pkg: if lib.isDerivation pkg then (f pkg) else pkg) set;
/**
Set the nix-env priority of the package.
# Inputs
`priority`
: 1\. Function argument
`drv`
: 2\. Function argument
/* Set the nix-env priority of the package.
*/
setPrio = priority: addMetaAttrs { inherit priority; };
/**
Decrease the nix-env priority of the package, i.e., other
versions/variants of the package will be preferred.
# Inputs
`drv`
: 1\. Function argument
/* Decrease the nix-env priority of the package, i.e., other
versions/variants of the package will be preferred.
*/
lowPrio = setPrio 10;
/**
Apply lowPrio to an attrset with derivations
# Inputs
`set`
: 1\. Function argument
/* Apply lowPrio to an attrset with derivations
*/
lowPrioSet = set: mapDerivationAttrset lowPrio set;
/**
Increase the nix-env priority of the package, i.e., this
version/variant of the package will be preferred.
# Inputs
`drv`
: 1\. Function argument
/* Increase the nix-env priority of the package, i.e., this
version/variant of the package will be preferred.
*/
hiPrio = setPrio (-10);
/**
Apply hiPrio to an attrset with derivations
# Inputs
`set`
: 1\. Function argument
/* Apply hiPrio to an attrset with derivations
*/
hiPrioSet = set: mapDerivationAttrset hiPrio set;
/**
Check to see if a platform is matched by the given `meta.platforms`
element.
/* Check to see if a platform is matched by the given `meta.platforms`
element.
A `meta.platform` pattern is either
A `meta.platform` pattern is either
1. (legacy) a system string.
1. (legacy) a system string.
2. (modern) a pattern for the entire platform structure (see `lib.systems.inspect.platformPatterns`).
2. (modern) a pattern for the entire platform structure (see `lib.systems.inspect.platformPatterns`).
3. (modern) a pattern for the platform `parsed` field (see `lib.systems.inspect.patterns`).
3. (modern) a pattern for the platform `parsed` field (see `lib.systems.inspect.patterns`).
We can inject these into a pattern for the whole of a structured platform,
and then match that.
We can inject these into a pattern for the whole of a structured platform,
and then match that.
# Inputs
`platform`
: 1\. Function argument
`elem`
: 2\. Function argument
# Examples
:::{.example}
## `lib.meta.platformMatch` usage example
```nix
lib.meta.platformMatch { system = "aarch64-darwin"; } "aarch64-darwin"
=> true
```
:::
Example:
lib.meta.platformMatch { system = "aarch64-darwin"; } "aarch64-darwin"
=> true
*/
platformMatch = platform: elem: (
# Check with simple string comparison if elem was a string.
@@ -249,151 +108,59 @@ rec {
) platform
);
/**
Check if a package is available on a given platform.
/* Check if a package is available on a given platform.
A package is available on a platform if both
A package is available on a platform if both
1. One of `meta.platforms` pattern matches the given
platform, or `meta.platforms` is not present.
1. One of `meta.platforms` pattern matches the given
platform, or `meta.platforms` is not present.
2. None of `meta.badPlatforms` pattern matches the given platform.
2. None of `meta.badPlatforms` pattern matches the given platform.
# Inputs
`platform`
: 1\. Function argument
`pkg`
: 2\. Function argument
# Examples
:::{.example}
## `lib.meta.availableOn` usage example
```nix
lib.meta.availableOn { system = "aarch64-darwin"; } pkg.zsh
=> true
```
:::
Example:
lib.meta.availableOn { system = "aarch64-darwin"; } pkg.zsh
=> true
*/
availableOn = platform: pkg:
((!pkg?meta.platforms) || any (platformMatch platform) pkg.meta.platforms) &&
all (elem: !platformMatch platform elem) (pkg.meta.badPlatforms or []);
/**
Get the corresponding attribute in lib.licenses from the SPDX ID
or warn and fallback to `{ shortName = <license string>; }`.
/* Get the corresponding attribute in lib.licenses
from the SPDX ID.
For SPDX IDs, see
https://spdx.org/licenses
For SPDX IDs, see https://spdx.org/licenses
Type:
getLicenseFromSpdxId :: str -> AttrSet
# Type
```
getLicenseFromSpdxId :: str -> AttrSet
```
# Examples
:::{.example}
## `lib.meta.getLicenseFromSpdxId` usage example
```nix
lib.getLicenseFromSpdxId "MIT" == lib.licenses.mit
=> true
lib.getLicenseFromSpdxId "mIt" == lib.licenses.mit
=> true
lib.getLicenseFromSpdxId "MY LICENSE"
=> trace: warning: getLicenseFromSpdxId: No license matches the given SPDX ID: MY LICENSE
=> { shortName = "MY LICENSE"; }
```
:::
Example:
lib.getLicenseFromSpdxId "MIT" == lib.licenses.mit
=> true
lib.getLicenseFromSpdxId "mIt" == lib.licenses.mit
=> true
lib.getLicenseFromSpdxId "MY LICENSE"
=> trace: warning: getLicenseFromSpdxId: No license matches the given SPDX ID: MY LICENSE
=> { shortName = "MY LICENSE"; }
*/
getLicenseFromSpdxId =
licstr:
getLicenseFromSpdxIdOr licstr (
let
spdxLicenses = lib.mapAttrs (id: ls: assert lib.length ls == 1; builtins.head ls)
(lib.groupBy (l: lib.toLower l.spdxId) (lib.filter (l: l ? spdxId) (lib.attrValues lib.licenses)));
in licstr:
spdxLicenses.${ lib.toLower licstr } or (
lib.warn "getLicenseFromSpdxId: No license matches the given SPDX ID: ${licstr}"
{ shortName = licstr; }
);
/**
Get the corresponding attribute in lib.licenses from the SPDX ID
or fallback to the given default value.
/* Get the path to the main program of a package based on meta.mainProgram
For SPDX IDs, see https://spdx.org/licenses
Type: getExe :: package -> string
# Inputs
`licstr`
: 1\. SPDX ID string to find a matching license
`default`
: 2\. Fallback value when a match is not found
# Type
```
getLicenseFromSpdxIdOr :: str -> Any -> Any
```
# Examples
:::{.example}
## `lib.meta.getLicenseFromSpdxIdOr` usage example
```nix
lib.getLicenseFromSpdxIdOr "MIT" null == lib.licenses.mit
=> true
lib.getLicenseFromSpdxId "mIt" null == lib.licenses.mit
=> true
lib.getLicenseFromSpdxIdOr "MY LICENSE" lib.licenses.free == lib.licenses.free
=> true
lib.getLicenseFromSpdxIdOr "MY LICENSE" null
=> null
lib.getLicenseFromSpdxIdOr "MY LICENSE" (builtins.throw "No SPDX ID matches MY LICENSE")
=> error: No SPDX ID matches MY LICENSE
```
:::
*/
getLicenseFromSpdxIdOr =
let
spdxLicenses = lib.mapAttrs (id: ls: assert lib.length ls == 1; builtins.head ls)
(lib.groupBy (l: lib.toLower l.spdxId) (lib.filter (l: l ? spdxId) (lib.attrValues lib.licenses)));
in licstr: default:
spdxLicenses.${ lib.toLower licstr } or default;
/**
Get the path to the main program of a package based on meta.mainProgram
# Inputs
`x`
: 1\. Function argument
# Type
```
getExe :: package -> string
```
# Examples
:::{.example}
## `lib.meta.getExe` usage example
```nix
getExe pkgs.hello
=> "/nix/store/g124820p9hlv4lj8qplzxw1c44dxaw1k-hello-2.12/bin/hello"
getExe pkgs.mustache-go
=> "/nix/store/am9ml4f4ywvivxnkiaqwr0hyxka1xjsf-mustache-go-1.3.0/bin/mustache"
```
:::
Example:
getExe pkgs.hello
=> "/nix/store/g124820p9hlv4lj8qplzxw1c44dxaw1k-hello-2.12/bin/hello"
getExe pkgs.mustache-go
=> "/nix/store/am9ml4f4ywvivxnkiaqwr0hyxka1xjsf-mustache-go-1.3.0/bin/mustache"
*/
getExe = x: getExe' x (x.meta.mainProgram or (
# This could be turned into an error when 23.05 is at end of life
@@ -402,38 +169,14 @@ rec {
x
));
/**
Get the path of a program of a derivation.
/* Get the path of a program of a derivation.
# Inputs
`x`
: 1\. Function argument
`y`
: 2\. Function argument
# Type
```
getExe' :: derivation -> string -> string
```
# Examples
:::{.example}
## `lib.meta.getExe'` usage example
```nix
getExe' pkgs.hello "hello"
=> "/nix/store/g124820p9hlv4lj8qplzxw1c44dxaw1k-hello-2.12/bin/hello"
getExe' pkgs.imagemagick "convert"
=> "/nix/store/5rs48jamq7k6sal98ymj9l4k2bnwq515-imagemagick-7.1.1-15/bin/convert"
```
:::
Type: getExe' :: derivation -> string -> string
Example:
getExe' pkgs.hello "hello"
=> "/nix/store/g124820p9hlv4lj8qplzxw1c44dxaw1k-hello-2.12/bin/hello"
getExe' pkgs.imagemagick "convert"
=> "/nix/store/5rs48jamq7k6sal98ymj9l4k2bnwq515-imagemagick-7.1.1-15/bin/convert"
*/
getExe' = x: y:
assert assertMsg (isDerivation x)

View File

@@ -2,7 +2,6 @@
let
inherit (lib)
addErrorContext
all
any
attrByPath
@@ -14,16 +13,13 @@ let
elem
filter
foldl'
functionArgs
getAttrFromPath
genericClosure
head
id
imap1
isAttrs
isBool
isFunction
isInOldestRelease
isList
isString
length
@@ -36,17 +32,9 @@ let
optionalString
recursiveUpdate
reverseList sort
seq
setAttrByPath
substring
throwIfNot
trace
typeOf
types
unsafeGetAttrPos
warn
warnIf
zipAttrs
zipAttrsWith
;
inherit (lib.options)
@@ -101,8 +89,8 @@ let
}:
let
withWarnings = x:
warnIf (evalModulesArgs?args) "The args argument to evalModules is deprecated. Please set config._module.args instead."
warnIf (evalModulesArgs?check) "The check argument to evalModules is deprecated. Please set config._module.check instead."
lib.warnIf (evalModulesArgs?args) "The args argument to evalModules is deprecated. Please set config._module.args instead."
lib.warnIf (evalModulesArgs?check) "The check argument to evalModules is deprecated. Please set config._module.check instead."
x;
legacyModules =
@@ -277,9 +265,9 @@ let
let
optText = showOption (prefix ++ firstDef.prefix);
defText =
addErrorContext
builtins.addErrorContext
"while evaluating the error message for definitions for `${optText}', which is an option that does not exist"
(addErrorContext
(builtins.addErrorContext
"while evaluating a definition from `${firstDef.file}'"
( showDefs [ firstDef ])
);
@@ -310,7 +298,7 @@ let
else throw baseMsg
else null;
checked = seq checkUnmatched;
checked = builtins.seq checkUnmatched;
extendModules = extendArgs@{
modules ? [],
@@ -324,7 +312,7 @@ let
prefix = extendArgs.prefix or evalModulesArgs.prefix or [];
});
type = types.submoduleWith {
type = lib.types.submoduleWith {
inherit modules specialArgs class;
};
@@ -356,8 +344,8 @@ let
else
throw (
"Could not load a value as a module, because it is of type ${lib.strings.escapeNixString m._type}"
+ optionalString (fallbackFile != unknownModule) ", in file ${toString fallbackFile}."
+ optionalString (m._type == "configuration") " If you do intend to import this configuration, please only import the modules that make up the configuration. You may have to create a `let` binding, file or attribute to give yourself access to the relevant modules.\nWhile loading a configuration into the module system is a very sensible idea, it can not be done cleanly in practice."
+ lib.optionalString (fallbackFile != unknownModule) ", in file ${toString fallbackFile}."
+ lib.optionalString (m._type == "configuration") " If you do intend to import this configuration, please only import the modules that make up the configuration. You may have to create a `let` binding, file or attribute to give yourself access to the relevant modules.\nWhile loading a configuration into the module system is a very sensible idea, it can not be done cleanly in practice."
# Extended explanation: That's because a finalized configuration is more than just a set of modules. For instance, it has its own `specialArgs` that, by the nature of `specialArgs` can't be loaded through `imports` or the the `modules` argument. So instead, we have to ask you to extract the relevant modules and use those instead. This way, we keep the module system comparatively simple, and hopefully avoid a bad surprise down the line.
)
else if isList m then
@@ -427,7 +415,7 @@ let
moduleKey = file: m:
if isString m
then
if substring 0 1 m == "/"
if builtins.substring 0 1 m == "/"
then m
else toString modulesPath + "/" + m
@@ -445,11 +433,11 @@ let
else if isAttrs m
then throw "Module `${file}` contains a disabledModules item that is an attribute set, presumably a module, that does not have a `key` attribute. This means that the module system doesn't have any means to identify the module that should be disabled. Make sure that you've put the correct value in disabledModules: a string path relative to modulesPath, a path value, or an attribute set with a `key` attribute."
else throw "Each disabledModules item must be a path, string, or a attribute set with a key attribute, or a value supported by toString. However, one of the disabledModules items in `${toString file}` is none of that, but is of type ${typeOf m}.";
else throw "Each disabledModules item must be a path, string, or a attribute set with a key attribute, or a value supported by toString. However, one of the disabledModules items in `${toString file}` is none of that, but is of type ${builtins.typeOf m}.";
disabledKeys = concatMap ({ file, disabled }: map (moduleKey file) disabled) disabled;
keyFilter = filter (attrs: ! elem attrs.key disabledKeys);
in map (attrs: attrs.module) (genericClosure {
in map (attrs: attrs.module) (builtins.genericClosure {
startSet = keyFilter modules;
operator = attrs: keyFilter attrs.modules;
});
@@ -487,7 +475,7 @@ let
}
else
# shorthand syntax
throwIfNot (isAttrs m) "module ${file} (${key}) does not look like a module."
lib.throwIfNot (isAttrs m) "module ${file} (${key}) does not look like a module."
{ _file = toString m._file or file;
_class = m._class or null;
key = toString m.key or key;
@@ -497,10 +485,10 @@ let
config = addFreeformType (removeAttrs m ["_class" "_file" "key" "disabledModules" "require" "imports" "freeformType"]);
};
applyModuleArgsIfFunction = key: f: args@{ config, ... }:
applyModuleArgsIfFunction = key: f: args@{ config, options, lib, ... }:
if isFunction f then applyModuleArgs key f args else f;
applyModuleArgs = key: f: args@{ config, ... }:
applyModuleArgs = key: f: args@{ config, options, lib, ... }:
let
# Module arguments are resolved in a strict manner when attribute set
# deconstruction is used. As the arguments are now defined with the
@@ -515,10 +503,10 @@ let
# not their values. The values are forwarding the result of the
# evaluation of the option.
context = name: ''while evaluating the module argument `${name}' in "${key}":'';
extraArgs = mapAttrs (name: _:
addErrorContext (context name)
extraArgs = builtins.mapAttrs (name: _:
builtins.addErrorContext (context name)
(args.${name} or config._module.args.${name})
) (functionArgs f);
) (lib.functionArgs f);
# Note: we append in the opposite order such that we can add an error
# context on the explicit arguments of "args" too. This update
@@ -559,16 +547,16 @@ let
(n: concatLists)
(map
(module: let subtree = module.options; in
if !(isAttrs subtree) then
if !(builtins.isAttrs subtree) then
throw ''
An option declaration for `${concatStringsSep "." prefix}' has type
`${typeOf subtree}' rather than an attribute set.
An option declaration for `${builtins.concatStringsSep "." prefix}' has type
`${builtins.typeOf subtree}' rather than an attribute set.
Did you mean to define this outside of `options'?
''
else
mapAttrs
(n: option:
[{ inherit (module) _file; pos = unsafeGetAttrPos n subtree; options = option; }]
[{ inherit (module) _file; pos = builtins.unsafeGetAttrPos n subtree; options = option; }]
)
subtree
)
@@ -577,17 +565,17 @@ let
# The root of any module definition must be an attrset.
checkedConfigs =
assert
all
lib.all
(c:
# TODO: I have my doubts that this error would occur when option definitions are not matched.
# The implementation of this check used to be tied to a superficially similar check for
# options, so maybe that's why this is here.
isAttrs c.config || throw ''
In module `${c.file}', you're trying to define a value of type `${typeOf c.config}'
In module `${c.file}', you're trying to define a value of type `${builtins.typeOf c.config}'
rather than an attribute set for the option
`${concatStringsSep "." prefix}'!
`${builtins.concatStringsSep "." prefix}'!
This usually happens if `${concatStringsSep "." prefix}' has option
This usually happens if `${builtins.concatStringsSep "." prefix}' has option
definitions inside that are not matched. Please check how to properly define
this option by e.g. referring to `man 5 configuration.nix'!
''
@@ -679,7 +667,7 @@ let
let
nonOptions = filter (m: !isOption m.options) decls;
in
throw "The option `${showOption loc}' in module `${(head optionDecls)._file}' would be a parent of the following options, but its type `${(head optionDecls).options.type.description or "<no description>"}' does not support nested options.\n${
throw "The option `${showOption loc}' in module `${(lib.head optionDecls)._file}' would be a parent of the following options, but its type `${(lib.head optionDecls).options.type.description or "<no description>"}' does not support nested options.\n${
showRawDecls loc nonOptions
}"
else
@@ -818,7 +806,7 @@ let
"The type `types.${opt.type.name}' of option `${showOption loc}' defined in ${showFiles opt.declarations} is deprecated. ${opt.type.deprecationMessage}";
in warnDeprecation opt //
{ value = addErrorContext "while evaluating the option `${showOption loc}':" value;
{ value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
inherit (res.defsFinal') highestPrio;
definitions = map (def: def.value) res.defsFinal;
files = map (def: def.file) res.defsFinal;
@@ -834,7 +822,7 @@ let
let
# Process mkMerge and mkIf properties.
defs' = concatMap (m:
map (value: { inherit (m) file; inherit value; }) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
) defs;
# Process mkOverride properties.
@@ -984,12 +972,12 @@ let
mergeAttrDefinitionsWithPrio = opt:
let
defsByAttr =
zipAttrs (
concatLists (
concatMap
lib.zipAttrs (
lib.concatLists (
lib.concatMap
({ value, ... }@def:
map
(mapAttrsToList (k: value: { ${k} = def // { inherit value; }; }))
(lib.mapAttrsToList (k: value: { ${k} = def // { inherit value; }; }))
(pushDownProperties value)
)
opt.definitionsWithLocations
@@ -997,9 +985,9 @@ let
);
in
assert opt.type.name == "attrsOf" || opt.type.name == "lazyAttrsOf";
mapAttrs
lib.mapAttrs
(k: v:
let merging = mergeDefinitions (opt.loc ++ [k]) opt.type.nestedTypes.elemType v;
let merging = lib.mergeDefinitions (opt.loc ++ [k]) opt.type.nestedTypes.elemType v;
in {
value = merging.mergedValue;
inherit (merging.defsFinal') highestPrio;
@@ -1035,9 +1023,9 @@ let
mkForce = mkOverride 50;
mkVMOverride = mkOverride 10; # used by nixos-rebuild build-vm
defaultPriority = warnIf (isInOldestRelease 2305) "lib.modules.defaultPriority is deprecated, please use lib.modules.defaultOverridePriority instead." defaultOverridePriority;
defaultPriority = lib.warnIf (lib.isInOldestRelease 2305) "lib.modules.defaultPriority is deprecated, please use lib.modules.defaultOverridePriority instead." defaultOverridePriority;
mkFixStrictness = warn "lib.mkFixStrictness has no effect and will be removed. It returns its argument unmodified, so you can just remove any calls." id;
mkFixStrictness = lib.warn "lib.mkFixStrictness has no effect and will be removed. It returns its argument unmodified, so you can just remove any calls." id;
mkOrder = priority: content:
{ _type = "order";
@@ -1133,7 +1121,7 @@ let
inherit from to;
visible = false;
warn = true;
use = trace "Obsolete option `${showOption from}' is used. It was renamed to `${showOption to}'.";
use = builtins.trace "Obsolete option `${showOption from}' is used. It was renamed to `${showOption to}'.";
};
mkRenamedOptionModuleWith = {
@@ -1151,8 +1139,8 @@ let
}: doRename {
inherit from to;
visible = false;
warn = isInOldestRelease sinceRelease;
use = warnIf (isInOldestRelease sinceRelease)
warn = lib.isInOldestRelease sinceRelease;
use = lib.warnIf (lib.isInOldestRelease sinceRelease)
"Obsolete option `${showOption from}' is used. It was renamed to `${showOption to}'.";
};
@@ -1384,8 +1372,8 @@ let
config = lib.importTOML file;
};
private = mapAttrs
(k: warn "External use of `lib.modules.${k}` is deprecated. If your use case isn't covered by non-deprecated functions, we'd like to know more and perhaps support your use case well, instead of providing access to these low level functions. In this case please open an issue in https://github.com/nixos/nixpkgs/issues/.")
private = lib.mapAttrs
(k: lib.warn "External use of `lib.modules.${k}` is deprecated. If your use case isn't covered by non-deprecated functions, we'd like to know more and perhaps support your use case well, instead of providing access to these low level functions. In this case please open an issue in https://github.com/nixos/nixpkgs/issues/.")
{
inherit
applyModuleArgsIfFunction

View File

@@ -1,49 +0,0 @@
{ lib }:
let
inherit (import ./internal.nix { inherit lib; }) _ipv6;
in
{
ipv6 = {
/**
Creates an `IPv6Address` object from an IPv6 address as a string. If
the prefix length is omitted, it defaults to 64. The parser is limited
to the first two versions of IPv6 addresses addressed in RFC 4291.
The form "x:x:x:x:x:x:d.d.d.d" is not yet implemented. Addresses are
NOT compressed, so they are not always the same as the canonical text
representation of IPv6 addresses defined in RFC 5952.
# Type
```
fromString :: String -> IPv6Address
```
# Examples
```nix
fromString "2001:DB8::ffff/32"
=> {
address = "2001:db8:0:0:0:0:0:ffff";
prefixLength = 32;
}
```
# Arguments
- [addr] An IPv6 address with optional prefix length.
*/
fromString =
addr:
let
splittedAddr = _ipv6.split addr;
addrInternal = splittedAddr.address;
prefixLength = splittedAddr.prefixLength;
address = _ipv6.toStringFromExpandedIp addrInternal;
in
{
inherit address prefixLength;
};
};
}

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