Compare commits

..

464 Commits

Author SHA1 Message Date
Martin Weinelt
4d2b37a84f Release NixOS 22.11
(cherry picked from commit f1b9cc23aa)
2022-11-30 19:42:04 +01:00
Martin Weinelt
28e89bd29d Merge pull request #203785 from NixOS/backport-203781-to-release-22.11
[Backport release-22.11] nixos/release-notes: fix link formatting
2022-11-30 19:37:50 +01:00
Sandro Jäckel
3c89502dcc nixos/release-notes: fix link formatting
(cherry picked from commit 29450f5d80)
2022-11-30 18:35:45 +00:00
Martin Weinelt
f0b3de143d Merge pull request #203777 from mweinelt/22.11/release-notes
[22.11] Release note backports
2022-11-30 19:18:14 +01:00
Martin Weinelt
32b91e1ed1 nixos/doc/rl-2211: more cleanup
(cherry picked from commit 068f7348db)
2022-11-30 19:05:52 +01:00
maralorn
6bdce4215e nixos/doc: Fix typo in 22.11 release manual
(cherry picked from commit 6184f635b3)
2022-11-30 19:03:57 +01:00
Jörg Thalheim
100793ae97 nixos/doc/rl-2211: cleanup
(cherry picked from commit 07fe1b987b)
2022-11-30 18:46:29 +01:00
Winter
e1b7ac3028 nixos/doc/rl-2211: add entry for aarch64-linux jobset inclusion/images on homepage
(cherry picked from commit 881f22670e)
2022-11-30 18:46:24 +01:00
Winter
479a635544 nixos/doc/rl-2211: add entry for libxcrypt migration
(cherry picked from commit b937bf637f)
2022-11-30 18:46:20 +01:00
Winter
7044fe3692 nixos/doc/rl-2211: cleanup
(cherry picked from commit e81b0cec91)
2022-11-30 18:45:58 +01:00
Oto Petřík
2e87d3dacf nixos/proxmox-image: allow building UEFI images
Allow building other than Legacy-BIOS-only Proxmox images.
Default is unchanged.

To build UEFI proxmox image use:
  proxmox.qemuConf.bios = "ovmf";
(default is "seabios")

To build image bootable using both "seabios" and "ovmf" use:
  partitionTableType = "hybrid";
BIOS can be switched in Proxmox between "seabios" and "ovmf" and VM still boots.
(GRUB2-only, systemd-boot does not boot under "seabios")

To build systemd-boot UEFI image:
  proxmox.qemuConf.bios = "ovmf";
  boot.loader.systemd-boot.enable = true;

(cherry picked from commit 4729d5d7f6)
2022-11-30 18:45:52 +01:00
KFears
8b8d92ecec nixos/openrgb: fix linking in release notes
(cherry picked from commit bb4cc151b6)
2022-11-30 18:39:50 +01:00
Francesco Gazzetta
f7ab294444 Merge pull request #203762 from NixOS/backport-202729-to-release-22.11
[Backport release-22.11] git-credential-keepassxc: 0.10.1 -> 0.11.0
2022-11-30 16:49:18 +00:00
Francesco Gazzetta
f1c97ef345 git-credential-keepassxc: 0.10.1 -> 0.11.0
(cherry picked from commit 782c75a8f3)
2022-11-30 16:12:21 +00:00
figsoda
94fbf2364f Merge pull request #203753 from NixOS/backport-203680-to-release-22.11
[Backport release-22.11] licensee: 9.15.1 -> 9.15.3
2022-11-30 09:06:30 -05:00
sternenseemann
76e1155823 bundlerUpdateScript: use Nix 2.3
The script assumes that nix(1) can be used without any flags which
is no longer the case. We can easily use Nix 2.3 as a workaround
until someone else musters the willpower to adjust this script for
Nix 2.11.

(cherry picked from commit 38ffd641e0)
2022-11-30 13:45:08 +00:00
sternenseemann
3bd7152706 licensee: 9.15.1 -> 9.15.3
https://github.com/licensee/licensee/releases/tag/v9.15.2

https://github.com/licensee/licensee/releases/tag/v9.15.3
(cherry picked from commit 8db42896f1)
2022-11-30 13:45:08 +00:00
Mario Rodas
2564c288d5 Merge pull request #203737 from NixOS/backport-203587-to-release-22.11
[Backport release-22.11] racket-minimal: fix build on aarch64-darwin
2022-11-30 08:11:32 -05:00
Weijia Wang
d51bd55117 racket-minimal: fix build on aarch64-darwin
This commit fixed a previous patch so that signatures are effectively removed and then added.

(cherry picked from commit 8b868b5616)
2022-11-30 11:36:30 +00:00
Mario Rodas
9260177a3a Merge pull request #203699 from NixOS/backport-202342-to-release-22.11
[Backport release-22.11] yuzu-mainline: 1162 -> 1245
2022-11-30 06:29:50 -05:00
Mario Rodas
b46e99d03b Merge pull request #203711 from NixOS/backport-203430-to-release-22.11
[Backport release-22.11] electron-mail: 5.0.1 -> 5.1.2
2022-11-30 06:22:21 -05:00
Mario Rodas
540ac2bbae Merge pull request #203728 from NixOS/backport-202555-to-release-22.11
[Backport release-22.11] brave: fix commandLineArgs option also requiring vulkanSupport
2022-11-30 06:19:12 -05:00
Bjørn Forsman
574d400589 smartmontools: remove unneeded inetutils
It was only needed for 'hostname', which is now provided by the
'hostname' package, which has smaller storage footprint.

(cherry picked from commit e01e2d3978)
2022-11-30 11:44:09 +01:00
Bjørn Forsman
8fddf55c8f smartmontools: add hostname to runtime closure
This makes smartd notifications contain the hostname instead of
"unknown".

Total runtime closure size:
Before: 46.1 MiB
After: 46.7 MiB

(cherry picked from commit c1e51d4b28)
2022-11-30 11:44:09 +01:00
Vladimír Čunát
2620d645de Merge #203315: patchelf_0_14: rename to patchelfStable
...into release-22.11
2022-11-30 10:31:41 +01:00
06kellyjac
42a0bb2733 brave: fix commandLineArgs option also requiring vulkanSupport
(cherry picked from commit 25551116a4)
2022-11-30 09:27:19 +00:00
K900
5bb465f1e4 Merge pull request #203722 from NixOS/backport-203709-to-release-22.11
[Backport release-22.11] plasma-workspace: 5.26.4 -> 5.26.4.1
2022-11-30 11:10:25 +03:00
Peter Hoeg
d94950082f plasma-workspace: 5.26.4 -> 5.26.4.1
(cherry picked from commit 16f1d25e44)
2022-11-30 08:09:25 +00:00
Francesco Gazzetta
e623a7a592 Merge pull request #203696 from NixOS/backport-203112-to-release-22.11
[Backport release-22.11] soundtracker: 1.0.2.1 -> 1.0.3
2022-11-30 08:08:10 +00:00
Vincent Laporte
d7a5a0bee5 ocamlPackages.calendar: 2.5 → 3.0
(cherry picked from commit 7d49f04d1c)
2022-11-30 09:06:06 +01:00
K900
fb09a57aec Merge pull request #203721 from NixOS/backport-203604-to-release-22.11
[Backport release-22.11] plasma: 5.26.3 -> 5.26.4
2022-11-30 10:23:46 +03:00
K900
70ef4eba89 plasma: 5.26.3 -> 5.26.4
Minor bug fixes all over the place.

(cherry picked from commit 8b542d1f93)
2022-11-30 07:01:59 +00:00
R. Ryantm
dbb36247db electron-mail: 5.0.1 -> 5.1.2
(cherry picked from commit 1a25877c44)
2022-11-30 04:47:15 +00:00
figsoda
f652ec583d Merge pull request #203686 from NixOS/backport-202918-to-release-22.11
[Backport release-22.11] nixos/release-notes: add entry for #191713
2022-11-29 23:12:52 -05:00
Amneesh Singh
fd49c64178 yuzu-mainline: 1162 -> 1245
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
(cherry picked from commit 98cd1161b0)
2022-11-30 02:09:17 +00:00
Mario Rodas
a30e315f82 Merge pull request #203688 from NixOS/backport-203197-to-release-22.11
[Backport release-22.11] tdlib: 1.8.7 -> 1.8.8
2022-11-29 21:04:57 -05:00
Francesco Gazzetta
afbae2b22d soundtracker: 1.0.2.1 -> 1.0.3
(cherry picked from commit ce571fce9f)
2022-11-30 01:52:28 +00:00
Mario Rodas
76e7c6ddbd Merge pull request #203167 from NixOS/backport-200965-to-release-22.11
[Backport release-22.11] swtpm: 0.7.3 -> 0.8.0
2022-11-29 20:43:57 -05:00
Mario Rodas
e2c52355ef Merge pull request #203168 from NixOS/backport-198862-to-release-22.11
[Backport release-22.11] ntfs3g: 2022.5.17 -> 2022.10.3
2022-11-29 20:43:28 -05:00
Mario Rodas
db791e8291 Merge pull request #202758 from NixOS/backport-202757-to-release-22.11
[Backport release-22.11] fq: 0.0.10 -> 0.1.0
2022-11-29 20:15:34 -05:00
Vonfry
43b3cb7aed tdlib: 1.8.7 -> 1.8.8
(cherry picked from commit dde0ac4ca9)
2022-11-30 00:07:03 +00:00
Mario Rodas
dcd637b475 Merge pull request #203187 from NixOS/backport-203127-to-release-22.11
[Backport release-22.11] netbird: 0.10.9 -> 0.11.1
2022-11-29 19:00:43 -05:00
Sandro Jäckel
ac99db9a61 nixos/release-notes: add entry for #191713
(cherry picked from commit a4f053f0e4)
2022-11-29 23:42:08 +00:00
Mario Rodas
6951f8b645 Merge pull request #203600 from NixOS/backport-203579-to-release-22.11
[Backport release-22.11] firefox-{,bin-}unwrapped: 107.0 -> 107.0.1
2022-11-29 18:35:03 -05:00
Robert Hensing
d45d36401d Merge pull request #203669 from NixOS/backport-202750-to-release-22.11
[Backport release-22.11] nix-zsh-completions: remove broken _nix completion function
2022-11-29 22:09:22 +00:00
Michal Sojka
952c9fae27 nix-zsh-completions: remove broken _nix completion function
That completion function works only with nix 2.3 (and older). The
newer versions use ANSI escape sequences in the --help output, and
this seems to confuse the function.

Nix 2.4+ has zsh completion built in so removing it from
nix-zsh-completions should not harm most users.

(cherry picked from commit c35e1f6c26)
2022-11-29 21:47:36 +00:00
Robin Gloster
6fb974faf8 Merge pull request #203646 from NixOS/backport-203639-to-release-22.11
[Backport release-22.11] meshcentral: 1.0.18 -> 1.1.0
2022-11-29 20:40:59 +00:00
Robert Scott
831c144415 Merge pull request #203610 from NixOS/backport-203420-to-release-22.11
[Backport release-22.11] bundlewrap: 4.15.0 -> 4.16.0
2022-11-29 19:26:32 +00:00
Maximilian Bosch
1825be4b25 meshcentral: 1.0.18 -> 1.1.0
(cherry picked from commit 54dba44317)
2022-11-29 19:19:58 +00:00
Dmitry Ivankov
b74083b00f elasticsearch6: add libcrypt dependency to fix build
glibc's libcrypt is deprecated and since
ff30c899d8
is built by default without libcrypt, that's probably the point when `elasticsearch6`
started failing with
```
auto-patchelf: 3 dependencies could not be satisfied
error: auto-patchelf could not satisfy dependency libcrypt.so.1 wanted by /nix/store/nd0gn95yfnnmnnw8zk2jnafc9gj2qy91-elasticsearch-6.8.21/modules/x-pack-ml/platform/linux-x86_64/lib/liblog4cxx.so.10
error: auto-patchelf could not satisfy dependency libcrypt.so.1 wanted by /nix/store/nd0gn95yfnnmnnw8zk2jnafc9gj2qy91-elasticsearch-6.8.21/modules/x-pack-ml/platform/linux-x86_64/lib/libaprutil-1.so.0
error: auto-patchelf could not satisfy dependency libcrypt.so.1 wanted by /nix/store/nd0gn95yfnnmnnw8zk2jnafc9gj2qy91-elasticsearch-6.8.21/modules/x-pack-ml/platform/linux-x86_64/lib/libapr-1.so.0
```

Let's add libxcrypt dependency, also note that `elasticsearch6-oss` doesn't
seem to need it.

Should resolve https://github.com/NixOS/nixpkgs/issues/203467

Extra note is elk6 may get removed from nixpkgs soon in favor of elk7
https://github.com/NixOS/nixpkgs/pull/194420

(cherry picked from commit 18271606a2)
2022-11-29 19:13:49 +01:00
Florian Klink
2e4299d8ae Merge pull request #203631 from NixOS/backport-197986-to-release-22.11
[Backport release-22.11] nixos/doc/rl-2211: document nsncd option
2022-11-29 17:54:29 +00:00
Thiago Kenji Okada
88d08725ff Merge pull request #203627 from NixOS/backport-202674-to-release-22.11
[Backport release-22.11] airgeddon: 11.02 -> 11.10
2022-11-29 17:49:53 +00:00
Florian Klink
a12ef44a16 nixos/doc/rl-2211: document nsncd option
(cherry picked from commit 83807f3aaa)
2022-11-29 17:27:58 +00:00
PedroHLC ☭
3199c12219 airgeddon: 11.02 -> 11.10
(cherry picked from commit d1ce7607d5)
2022-11-29 16:42:22 +00:00
Robert Schütz
731cc710ae Merge pull request #203477 from dotlambda/CVE-2022-42966
[22.11] python310Packages.cleo: fix CVE-2022-42966
2022-11-29 07:30:02 -08:00
sternenseemann
f4660951c7 ngn-k: allow cross compilation to FreeBSD 13
For this we just need to advance by one additional commit on master
which fixes the compilation of libk.so on *BSD with -Werror.
Additionally we need to reflect the change that the system double
for x86_64 FreeBSD now also includes the FreeBSD version.

(cherry picked from commit 3356adf942)
2022-11-29 16:22:22 +01:00
sternenseemann
10a5cd734a ngn-k: build k-libc flavor by default
Can be disabled by passing { withLibc = false; } via overriding

(cherry picked from commit 3341b28e14)
2022-11-29 16:22:22 +01:00
sternenseemann
82802b4798 ngn-k: unstable-2021-12-17 -> 2022-11-27
(cherry picked from commit f9128728da)
2022-11-29 16:22:22 +01:00
Michael Adler
b87d71a167 opensc: 0.22.0 -> 0.23.0
(cherry picked from commit 3a02795480)
2022-11-29 16:19:11 +01:00
Thiago Kenji Okada
657c5e5b47 Merge pull request #203605 from NixOS/backport-203483-to-release-22.11
[Backport release-22.11] swaynotificationcenter: 0.7.2 -> 0.7.3
2022-11-29 14:56:57 +00:00
Markus S. Wamser
fc60e411d7 bundlewrap: 4.15.0 -> 4.16.0
(cherry picked from commit f92cb29575)
2022-11-29 14:26:38 +00:00
Mario Rodas
46d45a280b Merge pull request #203442 from NixOS/backport-202398-to-release-22.11
[Backport release-22.11] nixos/mastodon: add smtp assertions
2022-11-29 09:19:10 -05:00
PedroHLC ☭
72e914631e swaynotificationcenter: 0.7.2 -> 0.7.3
(cherry picked from commit 50e6f4b7c1)
2022-11-29 14:10:36 +00:00
Martin Weinelt
a0c16ffd7a firefox-bin-unwrapped: 107.0 -> 107.0.1
https://www.mozilla.org/en-US/firefox/107.0.1/releasenotes/
(cherry picked from commit 5834fbb994)
2022-11-29 13:45:48 +00:00
Martin Weinelt
5029028499 firefox-unwrapped: 107.0 -> 107.0.1
https://www.mozilla.org/en-US/firefox/107.0.1/releasenotes/
(cherry picked from commit 83c75c0f43)
2022-11-29 13:45:48 +00:00
Anderson Torres
9d701ed3d7 Merge pull request #203531 from NixOS/backport-203460-to-release-22.11
[Backport release-22.11]  cbqn: 0.pre+date=2022-10-04 -> 0.pre+date=2022-11-27
2022-11-29 08:26:02 -03:00
Thiago Kenji Okada
05888ce2f9 Merge pull request #203437 from NixOS/backport-203276-to-release-22.11
[Backport release-22.11] swaylock: 1.6 -> 1.7
2022-11-29 10:48:27 +00:00
Pavol Rusnak
cc1b6fa0de Merge pull request #203581 from NixOS/backport-202893-to-release-22.11
[Backport release-22.11] btcpayserver: 1.6.12 -> 1.7.1
2022-11-29 11:25:15 +01:00
Thiago Kenji Okada
61e837b1c3 Merge pull request #203572 from NixOS/backport-202990-to-release-22.11
[Backport release-22.11] Fix filelight
2022-11-29 10:19:32 +00:00
Pavol Rusnak
bd59be6795 btcpayserver: 1.6.12 -> 1.7.1
(cherry picked from commit 0517db94db)
2022-11-29 10:17:19 +00:00
Pavol Rusnak
d9ce0c1cbd nbxplorer: 2.3.41 -> 2.3.49
(cherry picked from commit 3ec15a353f)
2022-11-29 10:17:19 +00:00
Anund
f89db94a58 filelight: fmt with nixpkgs-fmt
(cherry picked from commit f19d19557f)
2022-11-29 08:49:11 +00:00
Anund
d946bfbd07 filelight: add missing dependencies
filelight no longer segfaults on startup. Added required dependencies on
kirigami2 and kquickcharts.

See 296d077b4b

(cherry picked from commit 21e91b4261)
2022-11-29 08:49:11 +00:00
Pavol Rusnak
8d4a486cba Merge pull request #203567 from NixOS/backport-203341-to-release-22.11
[Backport release-22.11] python310Packages.cypherpunkpay: fix the package
2022-11-29 09:30:45 +01:00
Theodore Ni
cd4afd7f67 python310Packages.cypherpunkpay: fix the package
By (1) relaxing dependencies, (2) updating disabled test paths, and (3)
adding new tests that must be disabled.

(cherry picked from commit a5039f7952)
2022-11-29 07:59:36 +00:00
Bobby Rong
aab0733788 Merge pull request #203563 from bobby285271/hypnotix-bpo
[22.11] hypnotix: Fix launching with mpv 0.35.0
2022-11-29 15:32:47 +08:00
Mario Rodas
2921981ff5 Merge pull request #203374 from NixOS/backport-201972-to-release-22.11
[Backport release-22.11] git-team: 1.7.0 -> 1.8.0
2022-11-29 02:05:29 -05:00
Bobby Rong
3bc6c64e55 hypnotix: Fix launching with mpv 0.35.0
See hypnotix issue 254 for more info.

(cherry picked from commit f0c5278e99)
2022-11-29 14:42:45 +08:00
Vincent Laporte
8ae45014c4 ocamlPackages.integers: 0.5.1 → 0.7.0
(cherry picked from commit 70e68195ac)
2022-11-29 06:11:03 +01:00
Vincent Laporte
f335d3d64a ocamlPackages.ocsigen_deriving: remove at 0.8.2
(cherry picked from commit 67083fb93b)
2022-11-29 05:25:43 +01:00
Vincent Laporte
2d058f7572 ocamlPackages.js_of_ocaml-camlp4: remove at 3.2.1
(cherry picked from commit dd246d3d4d)
2022-11-29 05:25:43 +01:00
Robert Scott
1962d7bdca Merge pull request #203463 from NixOS/backport-203423-to-release-22.11
[Backport release-22.11] rlaunch: fix build on aarch64-linux
2022-11-29 01:05:02 +00:00
Mauricio Collares
a3af0a0e68 Merge pull request #203536 from NixOS/backport-192525-to-release-22.11
[Backport release-22.11] pari: 2.13.4 -> 2.15.1
2022-11-28 21:41:31 -03:00
Martin Weinelt
2b6c06a565 Merge pull request #203525 from NixOS/backport-203518-to-release-22.11 2022-11-29 01:12:52 +01:00
figsoda
f6f3926788 Merge pull request #203505 from NixOS/backport-203478-to-release-22.11
[Backport release-22.11] jet: 0.1.0 -> 0.3.21
2022-11-28 19:10:34 -05:00
Mauricio Collares
a192eb836e giac: mark as broken on aarch64-darwin
(cherry picked from commit 40fddeb8fc)
2022-11-29 00:05:27 +00:00
Mauricio Collares
88fbd9177c sage: import pari 2.15.1 update patch
(cherry picked from commit 3b258a60a6)
2022-11-29 00:05:27 +00:00
R. Ryantm
01af144d31 pari: 2.13.4 -> 2.15.1
(cherry picked from commit 081289609e)
2022-11-29 00:05:27 +00:00
sternenseemann
19d4b20ae9 cbqn: 0.pre+date=2022-10-04 -> 0.pre+date=2022-11-27
How the bytecode is generated, was changed again slightly.

(cherry picked from commit 957408ced4)
2022-11-28 23:23:29 +00:00
sternenseemann
046ea76a2c mbqn: 0.pre+date=2022-10-03 -> 0.pre+date=2022-11-24
(cherry picked from commit 848ef66feb)
2022-11-28 23:23:29 +00:00
Anderson Torres
2156b688d1 Merge pull request #203462 from NixOS/backport-203119-to-release-22.11
[Backport release-22.11] palemoon: 31.3.1 -> 31.4.0
2022-11-28 20:14:55 -03:00
R. Ryantm
f3ea0dbb04 evcc: 0.108.0 -> 0.108.2
(cherry picked from commit a6df366751)
2022-11-28 22:29:26 +00:00
Terin Stock
40204bb7be jet: 0.1.0 -> 0.3.21
Version 0.3.21 adds support for YAML for input and output. Intermediate
versions added support for colored output, integrated specter, migrated
to babashika's CLI, and made pretty-printing the default.

(cherry picked from commit 6e1ffe2cc8)
2022-11-28 20:18:17 +00:00
Robert Schütz
19bc1f31d9 python310Packages.cleo: fix CVE-2022-42966 2022-11-28 08:52:41 -08:00
Franz Pletz
2fe3b25ff0 Merge pull request #203438 from NixOS/backport-203413-to-release-22.11 2022-11-28 16:20:53 +01:00
Raphael Robatsch
62bfb4873c rlaunch: fix build on aarch64-linux
Fixes "error[E0308]: mismatched types; expected `u8`, found `i8`" on aarch64

(cherry picked from commit e48d21ab76)
2022-11-28 14:50:19 +00:00
OPNA2608
d4de6af2fe palemoon: 31.3.1 -> 31.4.0
(cherry picked from commit be825b650a)
2022-11-28 14:47:06 +00:00
figsoda
e1dec7b31a Merge pull request #203440 from maralorn/backport-nom
Backport: nix-output-monitor: 2.0.0.4 -> 2.0.0.5
2022-11-28 09:40:08 -05:00
Martin Weinelt
4518a01005 Merge pull request #203455 from NixOS/backport-202520-to-release-22.11 2022-11-28 15:35:38 +01:00
figsoda
e7e1489121 Merge pull request #203457 from NixOS/backport-203279-to-release-22.11
[Backport release-22.11] patsh: init at 0.1.3
2022-11-28 09:35:24 -05:00
figsoda
13bddf987a sx: use patsh instead of resholve
(cherry picked from commit 3e3f5eba2c)
2022-11-28 14:15:28 +00:00
figsoda
92d00a9386 patsh: init at 0.1.3
(cherry picked from commit 58ff418fec)
2022-11-28 14:15:28 +00:00
Amanda Cameron
cb695d9c59 heisenbridge: Fix double-hash caused by #202060
(cherry picked from commit f5f27446bf)
2022-11-28 14:13:55 +00:00
Izorkin
c6d0c1446a nixos/mastodon: add smtp assertions
(cherry picked from commit a02b19fe2b)
2022-11-28 11:14:25 +00:00
maralorn
feaf8a1063 nix-output-monitor: 2.0.0.4 -> 2.0.0.5
https://github.com/maralorn/nix-output-monitor/releases/tag/v2.0.0.5
(cherry picked from commit f2135573fb)
2022-11-28 12:01:32 +01:00
Josh Hoffer
1a25244bdb libvirt, perlPackages.SysVirt: 8.8.0 -> 8.9.0
(cherry picked from commit 065af61142)
2022-11-28 10:48:36 +00:00
PedroHLC ☭
cc8f99203a swaylock: 1.6 -> 1.7
(cherry picked from commit 19b3fa0a68)
2022-11-28 10:46:38 +00:00
R. Ryantm
525d803f46 tagainijisho: 1.2.1 -> 1.2.2
(cherry picked from commit e7152de004)
2022-11-28 11:28:26 +01:00
Jörg Thalheim
e47cdb75f3 Merge pull request #203431 from NixOS/backport-203243-to-release-22.11
[Backport release-22.11] rustracer: remove (deprecated)
2022-11-28 11:18:52 +01:00
Sean Murphy
3275b584d2 rustracer: remove (deprecated)
(cherry picked from commit c4f0b1dc67)
2022-11-28 09:56:17 +00:00
Robert Schütz
0cd39aed9d deltachat-desktop: 1.30.1 -> 1.34.0
https://github.com/deltachat/deltachat-desktop/blob/v1.34.0/CHANGELOG.md
(cherry picked from commit 6d43ede855)
2022-11-27 21:33:03 -08:00
Robert Scott
6f3f766fae Merge pull request #203274 from NixOS/backport-202784-to-release-22.11
[Backport release-22.11] ballerina: use openjdk_headless
2022-11-28 00:37:36 +00:00
Theodore Ni
3891202028 git-team: 1.7.0 -> 1.8.0
Co-authored-by: Jan Schmitt <git@smittie.de>
(cherry picked from commit bf2536b679)
2022-11-28 00:11:31 +00:00
Robert Scott
ff0432ba46 Merge pull request #203365 from NixOS/backport-203249-to-release-22.11
[Backport release-22.11] streamlit: 1.13.0 -> 1.15.0
2022-11-28 00:11:20 +00:00
Aaron Jheng
46911309a2 streamlit: 1.13.0 -> 1.15.0
(cherry picked from commit 8bed9cc42f)
2022-11-27 23:16:13 +00:00
Robert Scott
ca4f9f1154 Merge pull request #203308 from NixOS/backport-202884-to-release-22.11
[Backport release-22.11] flatpak-builder: skip tests that depend on python2
2022-11-27 22:23:28 +00:00
Kerstin
1b5181f874 Merge pull request #203122 from NixOS/backport-200354-to-release-22.11
[Backport release-22.11] kanidm: 1.1.0-alpha.9 -> 1.1.0-alpha.10
2022-11-27 22:53:35 +01:00
Robert Scott
e9ec325be5 Merge pull request #203331 from NixOS/backport-203273-to-release-22.11
[Backport release-22.11] wapm: fix build
2022-11-27 21:49:39 +00:00
Robert Scott
6edfd9e16a Merge pull request #203324 from NixOS/backport-202792-to-release-22.11
[Backport release-22.11] gringo: remove at 4.5.4
2022-11-27 21:21:34 +00:00
Artturi
010475e7b3 Merge pull request #203329 from NixOS/backport-202439-to-release-22.11
[Backport release-22.11] ananicy-cpp: unstable-2021-10-13 -> 1.0.1
2022-11-27 23:17:38 +02:00
Robert Scott
aabe2d89ba Merge pull request #203323 from NixOS/backport-203300-to-release-22.11
[Backport release-22.11] commonsBcel: 5.2 -> 6.6.1
2022-11-27 21:07:21 +00:00
Gerd Flaig
c41fe275d7 Use file sink encoding json
Encoding ndjson isn't supported in recent versions.

(cherry picked from commit f7860db91e)
2022-11-27 15:57:09 -05:00
Robert Scott
55604b8d2c Merge pull request #203306 from NixOS/backport-202800-to-release-22.11
[Backport release-22.11] bazel: only use python3
2022-11-27 20:43:45 +00:00
Robert Schütz
3a59c2ba92 libdeltachat: 1.101.0 -> 1.102.0
https://github.com/deltachat/deltachat-core-rust/blob/1.102.0/CHANGELOG.md
(cherry picked from commit e969b75fcd)
2022-11-27 12:01:51 -08:00
github-actions[bot]
c039d5a749 pkgsMusl.nfs-utils: fix build (#203313)
This patch does not apply and is no longer needed.
alpine removed it here: https://git.alpinelinux.org/aports/commit/main/nfs-utils?id=165dd080660bea8a4cefb71b68fc1110732f8006

(cherry picked from commit e579495375)

Co-authored-by: Yureka <yuka@yuka.dev>
2022-11-27 21:00:32 +01:00
github-actions[bot]
fdf1cebed5 pkgsMusl.spice-gtk: fix build (#203318)
(cherry picked from commit c204574575)

Co-authored-by: Yureka <yuka@yuka.dev>
2022-11-27 20:59:52 +01:00
github-actions[bot]
7240272e1d pkgsMusl.libcdio: fix build (#203317)
(cherry picked from commit bca81add45)

Co-authored-by: Yureka <yuka@yuka.dev>
2022-11-27 20:59:21 +01:00
Albert Safin
7f575468a6 wapm: fix build
(cherry picked from commit 2d66b81a1c)
2022-11-27 19:51:33 +00:00
Vladislav Nepogodin
51965b7603 ananicy-cpp: unstable-2021-10-13 -> 1.0.1
upstream release (https://gitlab.com/ananicy-cpp/ananicy-cpp/-/releases/v1.0.1)

(cherry picked from commit ab27a2c699)
2022-11-27 19:27:53 +00:00
Elis Hirwing
c4f03612ab Merge pull request #203285 from drupol/backport/php/november-2022-bumps
{php80,php81,php82}: bumps (November 2022)
2022-11-27 20:27:26 +01:00
Vincent Laporte
0b92c9feef gringo: remove at 4.5.4
The gringo binary is part of the clingo package

(cherry picked from commit b41229b19d)
2022-11-27 19:06:22 +00:00
Thomas Gerbet
fb4d5951b0 commonsBcel: 5.2 -> 6.6.1
Fixes CVE-2022-42920.
https://www.apache.org/dist/commons/bcel/RELEASE-NOTES.txt

(cherry picked from commit fa7fb1afe9)
2022-11-27 19:00:21 +00:00
Vladimír Čunát
bd25762cbc Merge #203320: upx: apply patch for CVE-2021-20285
...into release-22.11
2022-11-27 19:51:19 +01:00
Mauricio Collares
a8c9dc6feb Merge pull request #203321 from NixOS/backport-203170-to-release-22.11
[Backport release-22.11] pari: unbreak on aarch64-darwin
2022-11-27 15:48:37 -03:00
Jiajie Chen
aa7163a7b7 pari: unbreak on aarch64-darwin
(cherry picked from commit 91e59727c0)
2022-11-27 18:48:00 +00:00
Thomas Gerbet
a832594586 upx: apply patch for CVE-2021-20285
Did not bump to 4.0.0 yet because the 4.0.0 release is affected by CVE-2021-30500 and CVE-2021-30501.
The patch for CVE-2021-30500 does not apply cleanly on top of 4.0.0.

(cherry picked from commit e43e91a2a2)
2022-11-27 18:41:51 +00:00
Vladimír Čunát
1095249f8b patchelf_0_14: rename to patchelfStable
It was 0.15.x already, and r-ryantm keeps suggesting updates.

(cherry picked from commit ec045d118a)
2022-11-27 18:27:20 +00:00
Robert Scott
6e40924b36 Merge pull request #203173 from NixOS/backport-198528-to-release-22.11
[Backport release-22.11] dropbear: 2020.81 -> 2022.82
2022-11-27 18:17:52 +00:00
Robert Scott
3bd527095d Merge pull request #203176 from NixOS/backport-201382-to-release-22.11
[Backport release-22.11] fluentd: 1.14.3 -> 1.15.3
2022-11-27 18:02:05 +00:00
Robert Scott
7e408da95e Merge pull request #203174 from NixOS/backport-198690-to-release-22.11
[Backport release-22.11] metabase: 0.44.3 -> 0.44.5
2022-11-27 18:01:01 +00:00
Robert Schütz
a16ce18b40 flatpak-builder: skip tests that depend on python2
(cherry picked from commit 9fc087f39c)
2022-11-27 17:58:47 +00:00
Robert Schütz
dbde4f8ea9 bazel_6: only use python3
(cherry picked from commit d6ecfa2b1a)
2022-11-27 17:57:47 +00:00
Robert Schütz
e8b077d14f bazel_5: only use python3
(cherry picked from commit 6c251ae60b)
2022-11-27 17:57:47 +00:00
Robert Schütz
227d4fb65a bazel_4: only use python3
(cherry picked from commit c0143fbd4f)
2022-11-27 17:57:46 +00:00
Robert Schütz
a2f59eeafe bazel_3: only use python3
(cherry picked from commit 58dbe4d6de)
2022-11-27 17:57:46 +00:00
Alexander Bantyev
ed38bb5008 Merge pull request #203296 from NixOS/backport-203287-to-release-22.11
[Backport release-22.11] piston-cli: fix build
2022-11-27 21:25:11 +04:00
Alexander Bantyev
7d8a5dc24c Merge pull request #203297 from NixOS/backport-203278-to-release-22.11
[Backport release-22.11] Fix hotpatch: skip tests that assume .so files presence at hardcoded paths
2022-11-27 21:24:53 +04:00
Vladimir Kalnitsky
48ff5653df Fix hotpatch: skip tests that assume .so files presence at hardcoded paths
(cherry picked from commit cf5b4eae5f)
2022-11-27 17:08:13 +00:00
Albert Safin
09181d49f8 piston-cli: fix build
(cherry picked from commit 779cfe0054)
2022-11-27 17:07:08 +00:00
Pol Dellaiera
6b97cfd331 php80: 8.0.25 -> 8.0.26
Changelog: https://www.php.net/ChangeLog-8.php#8.0.26
(cherry picked from commit 5a736d1ee2)
2022-11-27 17:31:36 +01:00
Pol Dellaiera
857228c05f php82: 8.2.0rc6 -> 8.2.0rc7
News: https://github.com/php/php-src/blob/php-8.2.0RC7/NEWS
(cherry picked from commit aa634993cd)
2022-11-27 17:31:30 +01:00
Pol Dellaiera
54b5def058 php81: 8.1.12 -> 8.1.13
Changelog: https://www.php.net/ChangeLog-8.php#8.1.13
(cherry picked from commit a8b76c097a)
2022-11-27 17:31:23 +01:00
Robert Scott
a5ca17f3c2 Merge pull request #203166 from NixOS/backport-200798-to-release-22.11
[Backport release-22.11] drogon: 1.8.1 -> 1.8.2
2022-11-27 15:25:27 +00:00
Maximilian Bosch
f1bead822f Merge pull request #203266 from NixOS/backport-203207-to-release-22.11
[Backport release-22.11] Linux kernel updates 2022-11-27
2022-11-27 16:05:42 +01:00
github-actions[bot]
a96ca619ac pkgsMusl.alsa-firmware: fix build (#203269)
(cherry picked from commit 7ae1e770bf)

Co-authored-by: Yureka <yuka@yuka.dev>
2022-11-27 15:51:34 +01:00
Robert Schütz
05ac925169 ballerina: use openjdk_headless
The non-headless version depends on Python 2.

(cherry picked from commit ce0bc3ab85)
2022-11-27 14:47:51 +00:00
Martin Weinelt
ce5fe99df1 Merge pull request #203262 from NixOS/backport-203245-to-release-22.11 2022-11-27 15:15:22 +01:00
Maximilian Bosch
437af6cd19 linux/hardened/patches/5.4: 5.4.224-hardened1 -> 5.4.225-hardened1
(cherry picked from commit 91e2b58a76)
2022-11-27 14:13:17 +00:00
Maximilian Bosch
4d0e3f083d linux/hardened/patches/5.15: 5.15.78-hardened1 -> 5.15.79-hardened1
(cherry picked from commit 04ba9d8ded)
2022-11-27 14:13:17 +00:00
Maximilian Bosch
cf6f51d768 linux/hardened/patches/5.10: 5.10.154-hardened1 -> 5.10.156-hardened1
(cherry picked from commit 5c01fb2677)
2022-11-27 14:13:17 +00:00
Maximilian Bosch
023e225c30 linux/hardened/patches/4.19: 4.19.265-hardened1 -> 4.19.267-hardened1
(cherry picked from commit a3ef6bef2a)
2022-11-27 14:13:16 +00:00
Maximilian Bosch
4d34e624d8 linux/hardened/patches/4.14: 4.14.299-hardened1 -> 4.14.300-hardened1
(cherry picked from commit dee4d9f013)
2022-11-27 14:13:16 +00:00
Maximilian Bosch
0553b66856 linux_latest-libre: 18978 -> 18996
(cherry picked from commit 7b2c616756)
2022-11-27 14:13:16 +00:00
Maximilian Bosch
d7ea557949 linux: 6.0.9 -> 6.0.10
(cherry picked from commit 6861146537)
2022-11-27 14:13:16 +00:00
Maximilian Bosch
e803ddec55 linux: 5.4.224 -> 5.4.225
(cherry picked from commit 08eebaf5d9)
2022-11-27 14:13:16 +00:00
Maximilian Bosch
106b850f8f linux: 5.15.79 -> 5.15.80
(cherry picked from commit 9f5b441bf4)
2022-11-27 14:13:16 +00:00
Maximilian Bosch
f65c45c66b linux: 5.10.155 -> 5.10.156
(cherry picked from commit 42edd9f2e9)
2022-11-27 14:13:16 +00:00
Maximilian Bosch
6f5b58e15e linux: 4.19.265 -> 4.19.267
(cherry picked from commit e3db9b3f05)
2022-11-27 14:13:16 +00:00
Maximilian Bosch
679083324e linux: 4.14.299 -> 4.14.300
(cherry picked from commit 2d7d63b452)
2022-11-27 14:13:16 +00:00
Artturi
89612a901f Merge pull request #203255 from NixOS/backport-201611-to-release-22.11
[Backport release-22.11] Cleanup
2022-11-27 16:03:58 +02:00
Martin Weinelt
5aada2f80b nixos/tests/pinnwand: drop reaper, refactor steck setup
(cherry picked from commit 8e46323226)
2022-11-27 13:57:13 +00:00
Martin Weinelt
7e95577e9b nixos/pinnwand: convert to freeform type, drop reaper unit
(cherry picked from commit 2882a76651)
2022-11-27 13:57:13 +00:00
Martin Weinelt
6b3a19f01f pinnwand: 1.3.0 -> 1.4.0
https://github.com/supakeen/pinnwand/releases/tag/v1.4.0
(cherry picked from commit 6b5ed12406)
2022-11-27 13:57:12 +00:00
Mario Rodas
23f5b9742e Merge pull request #203151 from NixOS/backport-203105-to-release-22.11
[Backport release-22.11] zen-kernels: 6.0.8 -> 6.0.10
2022-11-27 08:27:48 -05:00
Artturin
2bfa1c8552 treewide: fix some Function called without required argument
by removing packages(if the dependency has been removed) or fixing the argument

(cherry picked from commit e1b1e5a0c0)
2022-11-27 13:19:21 +00:00
Artturin
d7349c6cfa tlspool: remove because its dependency gnutls-kdh has been removed
71276302bb
> gnutls-kdh: remove after being marked broken for over two years

(cherry picked from commit 07f075b57e)
2022-11-27 13:19:21 +00:00
Artturin
54868995f7 xxh: remove from pythonPackages set
error: xxh should use `buildPythonPackage` or `toPythonModule` if it is to be part of the Python pa
ckages set."}

(cherry picked from commit 4af6e0bc5f)
2022-11-27 13:19:21 +00:00
Artturin
40cf41a5d2 fsfs: remove package which has never worked and project is dead
fsfs was added in f00bdb6f15
with a throw that states "it still does not build"

(cherry picked from commit 81db0fc59c)
2022-11-27 13:19:21 +00:00
Artturin
49bbd2ba36 tests.fetchurl: remove alias usage
(cherry picked from commit 3452cd8316)
2022-11-27 13:19:20 +00:00
Luke Granger-Brown
eb25660fc7 Merge pull request #203233 from NixOS/backport-202527-to-release-22.11
[Backport release-22.11] mercurial: 6.3.0 -> 6.3.1
2022-11-27 13:36:34 +01:00
github-actions[bot]
4200c4a430 glib: fix build with musl (#202825)
(cherry picked from commit ec30ef4e4c)

Co-authored-by: Mika Tammi <mikatammi@gmail.com>
2022-11-27 13:33:08 +01:00
pacien
b6e3b9cc7d mercurial: 6.3.0 -> 6.3.1
This also disables a test failing with OpenSSL v3, and re-enables
another test that has been fixed.

Changelog: https://www.mercurial-scm.org/wiki/Release6.3
(cherry picked from commit 2530e9b106)
2022-11-27 11:33:56 +00:00
Michael Weiss
835f32ed66 Merge pull request #202937 from NixOS/backport-202869-to-release-22.11
[Backport release-22.11] ungoogled-chromium: 107.0.5304.110 -> 107.0.5304.122
2022-11-27 12:02:25 +01:00
Thiago Kenji Okada
9b51bc060b Merge pull request #203153 from NixOS/backport-203149-to-release-22.11
[Backport release-22.11] picom: 10 -> 10.1
2022-11-27 08:31:50 +00:00
figsoda
2d1f1aadcb Merge pull request #203190 from NixOS/backport-203162-to-release-22.11
[Backport release-22.11] moodle: reference nixos test in passthru.tests
2022-11-27 00:16:01 -05:00
Martin Weinelt
2e0240c032 moodle: reference nixos test in passthru.tests
(cherry picked from commit 03694db503)
2022-11-27 04:56:13 +00:00
R. Ryantm
952f20e2a6 netbird: 0.10.9 -> 0.11.1
(cherry picked from commit af9241daa6)
2022-11-27 04:04:39 +00:00
Robert Schütz
127846808d mucommander: use latest JDK
Upstream recommends using JRE 17.

(cherry picked from commit bfd0306a32)
2022-11-26 18:36:49 -08:00
Robert Schütz
82b65fb866 lvtk: build using python3
(cherry picked from commit 47fa8adfe1)
2022-11-26 18:32:39 -08:00
Robert Schütz
f93b8349d1 txt2tags: 2.6 -> unstable-2022-10-17
(cherry picked from commit 51a147528a)
2022-11-26 18:32:04 -08:00
Robert Scott
93ce7f02c8 fluentd: 1.14.3 -> 1.15.3
(cherry picked from commit b8867a1b2e)
2022-11-27 02:12:58 +00:00
Thomas Gerbet
d9ce0deb33 metabase: 0.44.3 -> 0.44.5
Fixes CVE-2022-39358, CVE-2022-39359, CVE-2022-39360, CVE-2022-39361, CVE-2022-39362 and CVE-2022-43776.

https://github.com/metabase/metabase/releases/tag/v0.44.5
https://github.com/metabase/metabase/releases/tag/v0.44.4
(cherry picked from commit a77b1b7c5e)
2022-11-27 01:57:06 +00:00
Thomas Gerbet
0f6c06ff8a dropbear: 2020.81 -> 2022.82
Fixes CVE-2021-36369
https://github.com/mkj/dropbear/releases/tag/DROPBEAR_2022.82

(cherry picked from commit 7bfdb02528)
2022-11-27 01:54:05 +00:00
R. Ryantm
b413a1b89a ntfs3g: 2022.5.17 -> 2022.10.3
(cherry picked from commit 26a6ef7f17)
2022-11-27 01:39:19 +00:00
R. Ryantm
e5574ff8f6 swtpm: 0.7.3 -> 0.8.0
(cherry picked from commit 4d6d188495)
2022-11-27 01:37:33 +00:00
R. Ryantm
d76a883120 drogon: 1.8.1 -> 1.8.2
(cherry picked from commit d46a86208a)
2022-11-27 01:36:32 +00:00
Martin Weinelt
19778f6689 Merge pull request #203156 from NixOS/backport-203091-to-release-22.11 2022-11-27 02:21:31 +01:00
Thomas Gerbet
4f697385d4 moodle: 4.0.4 -> 4.0.5
Fixes CVE-2022-45149, CVE-2022-45150 and CVE-2022-45151.

https://moodledev.io/general/releases/4.0/4.0.5
(cherry picked from commit ee382fe49f)
2022-11-27 01:02:31 +00:00
Robert Schütz
d4add2650c lxpanel: don't use alias libwnck3
(cherry picked from commit 9e6b054555)
2022-11-26 16:48:46 -08:00
Robert Schütz
36a330bbc3 lxpanel: use gtk3 by default
(cherry picked from commit e61cc2ab02)
2022-11-26 16:48:46 -08:00
Icy-Thought
7b21a57054 picom: 10 -> 10.1
(cherry picked from commit 5193b8781e)
2022-11-27 00:44:52 +00:00
PedroHLC ☭
23652cb1a5 linuxKernel.kernels.linux_zen: 6.0.8-zen1 -> 6.0.10-zen2
(cherry picked from commit 41dbacdcd8)
2022-11-27 00:26:49 +00:00
PedroHLC ☭
b1b32939b7 linuxKernel.kernels.linux_lqx: 6.0.8 -> 6.0.10
(cherry picked from commit 1b5ad5946f)
2022-11-27 00:26:48 +00:00
Thiago Kenji Okada
015db28fdd Merge pull request #203134 from NixOS/backport-203110-to-release-22.11
[Backport release-22.11] shellhub-agent: 0.10.4 -> 0.10.8
2022-11-27 00:17:10 +00:00
Robert Schütz
ae4dd29cdb kotlin-language-server: use latest OpenJDK
It supports JDK 17 since 1.3.0:
https://github.com/fwcd/kotlin-language-server/blob/1.3.1/CHANGELOG.md

(cherry picked from commit 01fbceac87)
2022-11-26 16:17:00 -08:00
Robert Scott
fb18a8a238 Merge pull request #203129 from NixOS/backport-202877-to-release-22.11
[Backport release-22.11] blitz: 1.0.1 -> 1.0.2
2022-11-26 22:49:41 +00:00
Robert Scott
599ecce210 Merge pull request #202838 from NixOS/backport-202603-to-release-22.11
[Backport release-22.11] grafana: 9.2.5 -> 9.2.6
2022-11-26 22:49:04 +00:00
Robert Scott
5902d07a3c Merge pull request #202852 from NixOS/backport-202345-to-release-22.11
[Backport release-22.11] pam_p11: fix by pinning libp11 to openssl_1_1 as well
2022-11-26 21:53:59 +00:00
Otavio Salvador
da04540890 shellhub-agent: 0.10.4 -> 0.10.8
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
(cherry picked from commit 03bf773416)
2022-11-26 21:52:24 +00:00
Robert Scott
4a6b04bc08 Merge pull request #203097 from NixOS/backport-199710-to-release-22.11
[Backport release-22.11] multipath-tools: 0.8.3 -> 0.9.3
2022-11-26 21:38:55 +00:00
Robert Schütz
1a725aeb0b blitz: 1.0.1 -> 1.0.2
https://github.com/blitzpp/blitz/releases/tag/1.0.2
(cherry picked from commit 68d4c769da)
2022-11-26 21:37:38 +00:00
Robert Scott
4d75eb2d60 Merge pull request #202977 from NixOS/backport-202914-to-release-22.11
[Backport release-22.11] open-stage-control: use postPatch for copying in package-lock.json
2022-11-26 21:34:28 +00:00
Robert Scott
acbb6e81d7 Merge pull request #203054 from NixOS/backport-202972-to-release-22.11
[Backport release-22.11] surelog: use latest OpenJDK
2022-11-26 21:20:56 +00:00
Flakebi
b49f1c68b0 kanidm: add release not for tls requirement
(cherry picked from commit 272ac9ec64)
2022-11-26 21:18:22 +00:00
Flakebi
7fc30df71d nixos/kanidm: Add tls options
Since 1.1.0-alpha.10 kanidm requires TLS to be set up or it won't start.

(cherry picked from commit 887020f39c)
2022-11-26 21:18:21 +00:00
Martin Weinelt
9378ea0571 kanidm: 1.1.0-alpha.9 -> 1.1.0-alpha.10
https://github.com/kanidm/kanidm/releases/tag/v1.1.0-alpha.10
(cherry picked from commit 72779c7b0f)
2022-11-26 21:18:21 +00:00
Robert Schütz
74fd39b785 libsForQt5.qtwebengine: build using python3
(cherry picked from commit 523a65c91e)
2022-11-26 13:18:01 -08:00
Robert Scott
6469c066b7 Merge pull request #203090 from NixOS/backport-203045-to-release-22.11
[Backport release-22.11] asc: 2.6.0.0 -> 2.6.3.0
2022-11-26 21:17:02 +00:00
Robert Schütz
3344933092 rubyPackages.libv8: use python3
(cherry picked from commit 1710b52c6e)
2022-11-26 13:15:59 -08:00
Robert Schütz
9e363efd0b telepathy-gabble: build using python3
(cherry picked from commit 041f282dbf)
2022-11-26 13:10:11 -08:00
Robert Schütz
a21bca63d4 telepathy-haze: 0.8.0 -> 0.8.1
(cherry picked from commit b5f9c6e591)
2022-11-26 13:10:11 -08:00
Robert Schütz
fd9075bc7f telepathy-idle: 0.2.0 -> 0.2.2
(cherry picked from commit 32116efdc0)
2022-11-26 13:10:11 -08:00
Robert Schütz
76a26de253 telepathy-logger: build using python3
(cherry picked from commit 8fbec14a71)
2022-11-26 13:10:11 -08:00
Robert Schütz
fda4daef6c nsis: mark broken on Darwin
(cherry picked from commit c14f1f71b1)
2022-11-26 11:46:44 -08:00
Robert Schütz
2772c82bd3 nsis: build using python3
(cherry picked from commit 1029d3a644)
2022-11-26 11:46:44 -08:00
Robert Scott
69706143db Merge pull request #203052 from NixOS/backport-202965-to-release-22.11
[Backport release-22.11] reptyr: run tests using python3
2022-11-26 19:44:02 +00:00
Robert Schütz
5adb7f86c8 klipper-flash: use python3
(cherry picked from commit 1c9df7e848)
2022-11-26 11:25:36 -08:00
Robert Schütz
fa3d893d07 klipper-firmware: use python3 only
(cherry picked from commit 02677fc1e1)
2022-11-26 11:25:36 -08:00
Robert Schütz
b0cc7b0b5d klipper-genconf: use python3
(cherry picked from commit 03ecfc4682)
2022-11-26 11:25:36 -08:00
Robert Scott
d3459b6433 Merge pull request #203053 from NixOS/backport-202971-to-release-22.11
[Backport release-22.11] swiften: 4.0.2 -> 4.0.3
2022-11-26 19:00:52 +00:00
Robert Scott
24369847de Merge pull request #203062 from NixOS/backport-202974-to-release-22.11
[Backport release-22.11] python310Packages.catboost: don't depend on python2
2022-11-26 18:32:58 +00:00
Robert Schütz
2bb4db49f1 purple-plugin-pack: 2.7.0 -> 2.8.0
(cherry picked from commit 693f50b9bd)
2022-11-26 10:23:58 -08:00
Guillaume Bouchard
db19e0d41e haskellPackages.callHackage: updating all-cabal-hashes do not invalidate callHackage
Packages built with `haskellPackages.callHackage` won't be rebuilt when
updating `all-cabal-hashes`.

The removed comment was keeping a reference to the `cabal2nix` call,
which itself depends on `all-cabal-hashes`, in order to keep this file
during a garbage collection.

The tradeoff is between:

- The current behavior: a mass rebuild, any change of `all-cabal-hashes`
  triggers a rebuild of all the packages built with `callHackage` and
  packages which depend on them. This can take hours, and may happen
  after a "small" unrelated change (i.e. an user is bumping
  `all-cabal-hashes` in order to use a new package from hackage). It
  also have global impacts in a project (long rebuild in CI, new entries
  in cache, developers need to fetch the new entries, ...). In this
  context, `cabal2nix` entries are not garbage collected.
- The new behavior: No mass rebuild, but `cabal2nix` derivations need to
  be recomputed after a garbage collection. This is usually fast (a few
  seconds by call), linear with the number of calls and should not
  happen a lot (i.e. users are not garbage collecting everyday).

See https://github.com/NixOS/nixpkgs/issues/194751 for details.

(cherry picked from commit 6f5fb11c42)
2022-11-26 19:23:44 +01:00
Martin Weinelt
cf5589c2e6 Merge pull request #203101 from NixOS/backport-202969-to-release-22.11 2022-11-26 19:15:36 +01:00
Robert Schütz
79f76d1d13 python310Packages.svg2tikz: 1.0.0 -> unstable-2021-01-12
(cherry picked from commit cc4a9cedba)
2022-11-26 18:14:29 +00:00
Robert Scott
49c1005409 Merge pull request #202985 from NixOS/backport-202848-to-release-22.11
[Backport release-22.11] pkgsMusl.libavc1394: fix build
2022-11-26 18:13:07 +00:00
Robert Scott
27f19c2744 Merge pull request #203060 from NixOS/backport-202915-to-release-22.11
[Backport release-22.11] libkkc: build using python3
2022-11-26 18:07:28 +00:00
Robert Scott
1e0101565d multipath-tools: 0.8.3 -> 0.9.3
enable tests

(cherry picked from commit a39a869cac)
2022-11-26 18:00:40 +00:00
Krisztian Szabo
072ee64d47 asc: 2.6.0.0 -> 2.6.3.0
- Fixes build
- Updated to new source repository which users newer libraries

(cherry picked from commit a63ffb18cb)
2022-11-26 17:26:40 +00:00
Robert Scott
c2b63d153d Merge pull request #203076 from NixOS/backport-202927-to-release-22.11
[Backport release-22.11] klick: 0.12.2 -> 0.14.2
2022-11-26 17:07:59 +00:00
Robert Scott
2f494d790c Merge pull request #202824 from NixOS/backport-202813-to-release-22.11
[Backport release-22.11] python310Packages.gradient-utils: relax pymongo constraint
2022-11-26 17:02:58 +00:00
Silvan Mosberger
09c5e2c964 Merge pull request #203077 from NixOS/backport-203043-to-release-22.11
[Backport release-22.11] python310Packages.aioquic: fix build
2022-11-26 16:57:18 +01:00
ajs124
d22d5cd5c5 Merge pull request #203026 from NixOS/backport-202925-to-release-22.11
[Backport release-22.11] jackmix: build using python3
2022-11-26 16:41:31 +01:00
Roosembert Palacios
b5dbfbfb69 python310Packages.aioquic: fix build
Signed-off-by: Roosembert Palacios <roosemberth@posteo.ch>
(cherry picked from commit 26efe9da92)
2022-11-26 14:30:37 +00:00
Robert Schütz
d717f6deb6 klick: 0.12.2 -> 0.14.2
(cherry picked from commit a3beeeb957)
2022-11-26 14:08:07 +00:00
sternenseemann
2680264472 nixos/doc: update RL entry for GNAT update
(cherry picked from commit fcd1d41b83)
2022-11-26 14:54:29 +01:00
Robert Schütz
f9295fcc90 python310Packages.catboost: don't depend on python2
(cherry picked from commit 760fc381ff)
2022-11-26 13:14:07 +00:00
Robert Schütz
a0db67a101 libkkc: build using python3
(cherry picked from commit d568d9f936)
2022-11-26 13:06:59 +00:00
Robert Schütz
812f834a8d libkkc-data: build using python3
(cherry picked from commit 34465f99ee)
2022-11-26 13:06:59 +00:00
Robert Schütz
1d9a0694d8 python310Packages.marisa: init at 0.2.6
(cherry picked from commit 1ea8bf15cb)
2022-11-26 13:06:58 +00:00
Robert Schütz
463177b2bf surelog: use latest OpenJDK
OpenJDK 11 depends on Python 2.

(cherry picked from commit be1fe08f79)
2022-11-26 12:40:10 +00:00
Robert Schütz
8942040a57 swiften: 4.0.2 -> 4.0.3
(cherry picked from commit 6d5896b647)
2022-11-26 12:38:46 +00:00
Robert Schütz
3faaf86cba reptyr: run tests using python3
(cherry picked from commit 26c8738f3a)
2022-11-26 12:30:10 +00:00
Jonas Heinrich
899e7caf59 Merge pull request #203036 from NixOS/backport-201947-to-release-22.11
[Backport release-22.11] opensnitch: Fix build with Go > 1.17
2022-11-26 13:23:03 +01:00
github-actions[bot]
6afd04d12b libsidplayfp: 2.4.0 -> 2.4.1 (#203040)
(cherry picked from commit cc53a6e072)

Co-authored-by: R. Ryantm <ryantm-bot@ryantm.com>
2022-11-26 20:20:09 +08:00
Martin Weinelt
9a9c078b13 Merge pull request #203035 from NixOS/backport-202975-to-release-22.11 2022-11-26 12:46:26 +01:00
Jonas Heinrich
02d13b6026 opensnitch: Fix build with Go > 1.17
(cherry picked from commit 2cd3223ea2)
2022-11-26 11:26:05 +00:00
R. Ryantm
768414f4d2 evcc: 0.107.1 -> 0.108.0
(cherry picked from commit 8da3d1fdf1)
2022-11-26 11:25:55 +00:00
Robert Schütz
f266f2788c jackmix: build using python3
(cherry picked from commit 02b013b930)
2022-11-26 10:50:59 +00:00
Naïm Favier
9952f61938 Merge pull request #203022 from NixOS/backport-202866-to-release-22.11 2022-11-26 11:40:36 +01:00
Leonardo Taglialegne
bbd46b686e Fix typo in 22.11 release notes
(cherry picked from commit 6d77ca3ffd)
2022-11-26 10:37:50 +00:00
Yureka
ff500f63ee pkgsMusl.libavc1394: fix build
(cherry picked from commit 54b6a1cd87)
2022-11-26 06:21:37 +00:00
Lily Foster
d4eaf0e5c8 open-stage-control: use postPatch for linking in package-lock.json
(cherry picked from commit cfec4c6813)
2022-11-26 05:10:18 +00:00
Robert Schütz
e22d9c397e libxml2Python: use python3
(cherry picked from commit c1ac5b674c)
2022-11-25 17:12:00 -08:00
Michael Adler
829e24f6e9 ungoogled-chromium: 107.0.5304.110 -> 107.0.5304.122
(cherry picked from commit 9fa2f1bf3e)
2022-11-25 23:33:08 +00:00
Michael Weiss
d0064f8e27 Merge pull request #202917 from NixOS/backport-202742-to-release-22.11
[Backport release-22.11] chromium: 107.0.5304.110 -> 107.0.5304.121
2022-11-26 00:26:07 +01:00
Robert Schütz
cd104b0f7a signald: use Gradle 7
(cherry picked from commit 2199a08f88)
2022-11-25 14:21:46 -08:00
Michael Weiss
52596fafa7 chromium: 107.0.5304.110 -> 107.0.5304.121
https://chromereleases.googleblog.com/2022/11/stable-channel-update-for-desktop_24.html

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

CVEs:
CVE-2022-4135

(cherry picked from commit dbea32f981)
2022-11-25 21:24:57 +00:00
figsoda
61936d26b7 Merge pull request #202912 from NixOS/backport-201731-to-release-22.11
[Backport release-22.11] fetchNpmDeps: allow package-json.lock symlinks
2022-11-25 16:15:30 -05:00
figsoda
f01b58bd91 Merge pull request #202911 from NixOS/backport-202599-to-release-22.11
[Backport release-22.11] prefetch-npm-deps: fix hash stability
2022-11-25 16:12:04 -05:00
figsoda
adc495c7bf Merge pull request #202836 from NixOS/backport-202819-to-release-22.11
[Backport release-22.11] deno: 1.28.1 -> 1.28.2
2022-11-25 16:03:26 -05:00
Robert Schütz
fddc82c76a py3c: only run tests on python3
(cherry picked from commit eb35d2924f)
2022-11-25 13:03:06 -08:00
figsoda
260e2e9e23 Merge pull request #202898 from NixOS/backport-202795-to-release-22.11
[Backport release-22.11] toluapp: build using cmake
2022-11-25 15:56:14 -05:00
Winter
1ec4725e4f npmHooks.npmInstallHook: pass --no-save to prune
(cherry picked from commit 713040028b)
2022-11-25 20:52:57 +00:00
Sandro Jäckel
80735a19be buildNpmPackage: forward pre/postPatch to fetchNpmDeps
(cherry picked from commit 4698fe1f97)
2022-11-25 20:52:56 +00:00
Sandro
4bf8e82a6d fetchNpmDeps: allow package-json.lock symlinks, update hint
(cherry picked from commit 8784305f8d)
2022-11-25 20:52:56 +00:00
Lily Foster
bf6e31b3c1 open-stage-control: update npmDepsHash
(cherry picked from commit b2891427b2)
2022-11-25 20:49:29 +00:00
Lily Foster
eb802947d0 prefetch-npm-deps: fix hash stability
GNU tar will apparently silently include mtime of files if --mtime is
passed with an unrecognized date format. This led to hash instability
from those mtimes and this fixes it to force all mtimes to epoch
timestamp 0.

(cherry picked from commit b023946d2b)
2022-11-25 20:49:29 +00:00
Winter
b2c13cdc23 doc/languages-frameworks/javascript: update deps hash in example
(cherry picked from commit 125bd1f0b5)
2022-11-25 20:49:29 +00:00
figsoda
4ea040f553 Merge pull request #202887 from NixOS/backport-202882-to-release-22.11
[Backport release-22.11] eclipses: use jdk17
2022-11-25 15:43:47 -05:00
Robert Schütz
d00fc5bec6 toluapp: build using cmake
SCons depends on python2.

(cherry picked from commit 527fe355d0)
2022-11-25 19:46:55 +00:00
figsoda
e57d19c73d Merge pull request #202878 from NixOS/backport-202569-to-release-22.11
[Backport release-22.11] comma: 1.3.0 -> 1.4.0
2022-11-25 14:40:25 -05:00
Robert Schütz
d47e6fc6db python310Packages.imap-tools: 0.57.0 -> 1.0.0
https://github.com/ikvk/imap_tools/blob/v1.0.0/docs/release_notes.rst
(cherry picked from commit 3520a6df8f)
2022-11-25 10:33:50 -08:00
Robert Schütz
291abcb3e0 eclipses: use jdk17
JDK 11 depends on Python 2.

(cherry picked from commit 4e350eb7c8)
2022-11-25 18:26:01 +00:00
Robert Schütz
36d62df2a2 python310Packages.pgpy: 0.5.4 -> 0.6.0
https://github.com/SecurityInnovation/PGPy/blob/v0.6.0/docs/source/changelog.rst
(cherry picked from commit ee58a9b468)
2022-11-25 10:25:42 -08:00
Robert Schütz
a89d224d52 python310Packages.fiona: disable failing test
(cherry picked from commit 4a1f0598b2)
2022-11-25 09:54:31 -08:00
Robert Schütz
eb5ee0412d gdal: 3.5.2 -> 3.6.0.1
https://github.com/OSGeo/gdal/blob/v3.6.0.1/NEWS.md
(cherry picked from commit 50f24d3b97)
2022-11-25 09:54:31 -08:00
Robert Schütz
e89d2ff3a1 lerc: 3.0 -> 4.0.0
https://github.com/Esri/lerc/blob/v4.0.0/CHANGELOG.md
(cherry picked from commit 7295e4a728)
2022-11-25 09:54:31 -08:00
Robert Schütz
e037acb0ee collectd: use python3
(cherry picked from commit 44587571d2)
2022-11-25 09:21:22 -08:00
Mario Rodas
9eb4186cbc comma: add marsam to maintainers
(cherry picked from commit 8183079716)
2022-11-25 16:48:56 +00:00
Mario Rodas
c783530ecf comma: use nix from environment
(cherry picked from commit 1ef34b5ae8)
2022-11-25 16:48:56 +00:00
Mario Rodas
b357494ee2 comma: 1.3.0 -> 1.4.0
https://github.com/nix-community/comma/releases/tag/v1.4.0
(cherry picked from commit ed2c0adb45)
2022-11-25 16:48:56 +00:00
ajs124
d85028098e libp11: build reverse dependencies with same openssl version
(cherry picked from commit 6cb5f7bb7e)
2022-11-25 13:49:31 +00:00
Ryan Horiguchi
8690906c4d adguardhome: 0.107.18 -> 0.107.19
(cherry picked from commit ab5729cb7b)
2022-11-25 13:38:17 +01:00
Bobby Rong
e0df5e070e Merge pull request #202842 from NixOS/backport-202834-to-release-22.11
[Backport release-22.11] fcitx5: 5.0.20 -> 5.0.21
2022-11-25 20:22:14 +08:00
Thiago Kenji Okada
28b07eac2d Merge pull request #202840 from NixOS/backport-202816-to-release-22.11
[Backport release-22.11] nixos/hedgedoc: configuration -> settings in option's description
2022-11-25 12:14:37 +00:00
Thiago Kenji Okada
8f5e0e4a5f Merge pull request #202791 from NixOS/backport-195151-to-release-22.11
[Backport release-22.11] gcc-arm-embedded: 10.3 -> 11.3.rel1
2022-11-25 12:14:20 +00:00
Thiago Kenji Okada
a7c39d3b0a Merge pull request #202788 from NixOS/backport-201637-to-release-22.11
[Backport release-22.11] gnat11: Fix by building with older gnatboot
2022-11-25 12:13:39 +00:00
Pavol Rusnak
9b2dddb95e Merge pull request #202832 from NixOS/backport-202815-to-release-22.11
[Backport release-22.11] miniupnpc: use cmake for build
2022-11-25 13:05:45 +01:00
Vonfry
a4f3108918 fcitx5-gtk: 5.0.20 -> 5.0.21
(cherry picked from commit 2d1a1c6c26)
2022-11-25 12:02:43 +00:00
Vonfry
c5d65e3721 fcitx5: 5.0.20 -> 5.0.21
(cherry picked from commit c48484a81f)
2022-11-25 12:02:43 +00:00
Maximilian Bosch
5c81592322 nixos/hedgedoc: configuration -> settings in option's description
`configuration` has been renamed to `settings` and our docs should
reflect that.

(cherry picked from commit df50f73b57)
2022-11-25 11:52:04 +00:00
Sergey Lukjanov
1c11b75732 grafana: 9.2.5 -> 9.2.6
https://github.com/grafana/grafana/releases/tag/v9.2.6
(cherry picked from commit 9fef864d5f)
2022-11-25 11:42:22 +00:00
06kellyjac
5ac6fbaa07 deno: 1.28.1 -> 1.28.2
(cherry picked from commit d3c7bb65d0)
2022-11-25 11:38:18 +00:00
R. Ryantm
b08f7e0857 cppcheck: 2.9.2 -> 2.9.3
(cherry picked from commit 830b438c33)
2022-11-25 12:34:17 +01:00
Pavol Rusnak
67ff3d8ae9 bitcoin: remove hardeningDisable for aarch64-darwin
not required since dade32b409

(cherry picked from commit 610183429c)
2022-11-25 11:24:54 +00:00
Pavol Rusnak
738ea34d74 miniupnpc: use cmake for build
this fixes strange linking issues on darwin when any attempt to link
with libminiupnpc ends with "Killed: 9"

(cherry picked from commit dade32b409)
2022-11-25 11:24:54 +00:00
Thiago Kenji Okada
f6f71ff352 Merge pull request #202826 from NixOS/backport-202782-to-release-22.11
[Backport release-22.11] babashka: 1.0.165 -> 1.0.166
2022-11-25 11:05:16 +00:00
Vincent Laporte
8e91d8e05b frama-c: add missing runtime dependency
(cherry picked from commit d515d21d01)
2022-11-25 11:45:26 +01:00
R. Ryantm
6ef29d13d5 babashka: 1.0.165 -> 1.0.166
(cherry picked from commit 6df0b07e41)
2022-11-25 10:43:11 +00:00
Jacek Galowicz
56b66f51fd Merge pull request #202821 from NixOS/backport-202659-to-release-22.11
[Backport release-22.11] gnome.mutter: Backport regression fixes
2022-11-25 11:40:10 +01:00
Fabian Affolter
58934a111f python310Packages.gradient-utils: relax pymongo constraint
(cherry picked from commit 26541daa23)
2022-11-25 10:38:27 +00:00
Sergey Lukjanov
8a6cdef00e prometheus: 2.40.2 -> 2.40.3
https://github.com/prometheus/prometheus/releases/tag/v2.40.3
(cherry picked from commit 55ac6bb67b)
2022-11-25 11:33:25 +01:00
Bobby Rong
7d472c8419 gnome.mutter: Backport edge resistance fix
This fixes "Snapping window to the edges sometimes doesn't work".

Part of https://src.fedoraproject.org/rpms/mutter/c/89161ff.

(cherry picked from commit 9bf73cedb7)
2022-11-25 10:00:46 +00:00
Bobby Rong
1a1ac9cee9 gnome.mutter: Revert clutter optimization causing issues on X11
This fixes "GNOME terminal freezes when maximized".

Part of https://src.fedoraproject.org/rpms/mutter/c/89161ff.

(cherry picked from commit 8e116f42e4)
2022-11-25 10:00:46 +00:00
Sergey Lukjanov
6047d0269b prometheus: 2.40.0 -> 2.40.2
https://github.com/prometheus/prometheus/releases/tag/v2.40.1
https://github.com/prometheus/prometheus/releases/tag/v2.40.2
(cherry picked from commit b9c24877d0)
2022-11-25 10:45:08 +01:00
Pavol Rusnak
03bcf3a083 Merge pull request #202809 from NixOS/backport-202582-to-release-22.11
[Backport release-22.11] wasabiwallet: 2.0.1.3 -> 2.0.2
2022-11-25 10:33:24 +01:00
mdarocha
40829e726a wasabiwallet: 2.0.1.3 -> 2.0.2
(cherry picked from commit a21593d84d)
2022-11-25 09:10:43 +00:00
mdarocha
b23f152882 wasabiwallet: fixup bad dependencies causing app not to run
Also add a wrapper script that sets the proper environment variables,
instead of trying to find all executable binaries.

(cherry picked from commit 1872a3931d)
2022-11-25 09:10:42 +00:00
Graham Bennett
d0be4fcade apache-airflow: 2.4.1 -> 2.4.3
Includes a patch to revert an upstream commit in order to get yarn to fetch
packages without errors.

Also, use the more correct forceFetchGit=true rather than leaveDotGit=true to
fetch sources from github using the git protocol (needed to get tests, which
aren't present in the tarball). leaveDotGit is not fully deterministic and this
was causing sha256 mismatches for some people.

Fixes #201763

(cherry picked from commit aef58508e5)
2022-11-25 09:25:02 +01:00
Francesco Gazzetta
5371b8efc5 Merge pull request #202753 from NixOS/backport-202682-to-release-22.11
[Backport release-22.11] zeronet-conservancy: 0.7.7 -> 0.7.8
2022-11-25 08:23:24 +00:00
prtzl
35852be313 gcc-arm-embedded: 10.3 -> 11.3.rel1
(cherry picked from commit adb2e740cf)
2022-11-25 07:39:06 +00:00
Boey Maun Suang
5ef5c895c5 gnat11: Fix by building with older gnatboot
GCC's installation instructions strongly recommend using an older
version of GNAT to build GNAT, as "[m]ore recent versions of GNAT than
the version built are not guaranteed to work and will often fail during
the build with compilation errors." [1]

The recent upgrade of gnatboot to a 12.1 release in commit bc640dc
unfortunately resulted in such a failure for gnat11 [2], resulting in
the same errors as GCC bug 103357 [3], which was marked WONTFIX for the
reason above.

This patch therefore reverts gnat11 to being built with an earlier 11.x
gnatboot version, while keeping the updated 12.1 gnatboot to build
gnat12 (which is fine because the latter is currently version 12.2).
Fixing gnat11 is also a step towards re-enabling the
coreboot-toolchain-* packages to be built with Ada support.

To facilitate such explicit version dependencies while retaining the
meaning of the existing gnatboot package, and in the fashion of the
existing gcc packages, this patch also creates the packages gnatboot11
and gnatboot12 with gnatboot made an alias of gnatboot12.

[1]: https://gcc.gnu.org/install/prerequisites.html
[2]: https://github.com/NixOS/nixpkgs/pull/182414#issuecomment-1204432909
[3]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103357

(cherry picked from commit 2640c9021d)
2022-11-25 07:21:00 +00:00
Ben Siraphob
8ec2a8f100 fq: 0.0.10 -> 0.1.0
(cherry picked from commit bb68fd92c9)
2022-11-25 01:38:26 +00:00
Ben Siraphob
e46bb002dd Merge pull request #202316 from NixOS/backport-202287-to-release-22.11 2022-11-24 19:32:42 -06:00
Anderson Torres
92fc86cc07 Merge pull request #202746 from NixOS/backport-202741-to-release-22.11
[Backport release-22.11] waybar: 0.9.15 -> 0.9.16
2022-11-24 22:13:28 -03:00
Martin Weinelt
e14b0d7c13 Merge pull request #202755 from NixOS/backport-202187-to-release-22.11 2022-11-25 01:56:46 +01:00
Henri Menke
1463d683a3 nixos/alps: fix for Hydra failure
https://hydra.nixos.org/build/199758163
(cherry picked from commit d02af66091)
2022-11-25 00:41:24 +00:00
Henri Menke
5aa7f387a5 nixos/alps: fixes for service hardening
(cherry picked from commit 384293bbbb)
2022-11-25 00:41:24 +00:00
Francesco Gazzetta
f185990706 zeronet-conservancy: 0.7.7 -> 0.7.8
(cherry picked from commit 6c96c033b7)
2022-11-25 00:16:48 +00:00
oxalica
a3761f4760 waybar: 0.9.15 -> 0.9.16
(cherry picked from commit 86d53c5a60)
2022-11-24 23:17:58 +00:00
Vincent Laporte
47329ce5e3 ocamlPackages.ocplib-json-typed: remove at 0.7.1
(cherry picked from commit 60fe2c4843)
2022-11-24 22:21:25 +01:00
Vincent Laporte
8ecf8d9628 ocamlPackages.ocplib-json-typed-bson: remove at 0.7.1
(cherry picked from commit 4211735303)
2022-11-24 22:21:25 +01:00
Vincent Laporte
380cb9ed8a ocamlPackages.ocplib-json-typed-browser: remove at 0.7.1
(cherry picked from commit ece6904674)
2022-11-24 22:21:25 +01:00
Pavol Rusnak
7b0a2991e3 Merge pull request #202730 from NixOS/backport-202711-to-release-22.11
[Backport release-22.11] bitcoin: 23.0 -> 24.0
2022-11-24 22:00:22 +01:00
Cyril Cohen
0950add86c coqPackages.mathcomp-algebra-tactics: init at 1.0.0
(cherry picked from commit 12a9d82543)
2022-11-24 21:45:42 +01:00
Pavol Rusnak
b19a0d1f4f bitcoin: 23.0 -> 24.0
(cherry picked from commit 45e17a1e7a)
2022-11-24 20:18:13 +00:00
Mario Rodas
5ac7b3c400 Merge pull request #202717 from NixOS/backport-202684-to-release-22.11
[Backport release-22.11] postgresqlPackages.pgvector: 0.3.0 -> 0.3.2
2022-11-24 14:09:21 -05:00
Mario Rodas
2903272db6 postgresqlPackages.pgvector: 0.3.0 -> 0.3.2
(cherry picked from commit 764fb93f37)
2022-11-24 18:22:33 +00:00
Thiago Kenji Okada
75ecea9aa7 Merge pull request #202299 from NixOS/backport-197592-to-release-22.11
[Backport release-22.11] dwarfs: 0.6.1 -> 0.6.2
2022-11-24 18:06:29 +00:00
Thiago Kenji Okada
2f61fa3284 Merge pull request #202678 from NixOS/backport-201937-to-release-22.11
[Backport release-22.11] netlify-cli: 6.13.2 -> 12.2.4, esbuild_netlify: 0.13.6 -> 0.14.39
2022-11-24 18:01:16 +00:00
Thiago Kenji Okada
b08e718552 Merge pull request #202533 from NixOS/backport-202037-to-release-22.11
[Backport release-22.11] fcitx5: 5.0.19 -> 5.0.20 and its plugins.
2022-11-24 18:00:30 +00:00
Thiago Kenji Okada
bc2497b681 Merge pull request #202547 from NixOS/backport-202169-to-release-22.11
[Backport release-22.11] todoist-electron: 1.0.3 -> 1.0.9
2022-11-24 17:59:51 +00:00
Thiago Kenji Okada
63b849ba0f Merge pull request #202561 from NixOS/backport-201769-to-release-22.11
[Backport release-22.11] ocamlPackages.mtime: 1.2.0 → 1.4.0
2022-11-24 17:59:32 +00:00
Thiago Kenji Okada
8c3dde1801 Merge pull request #202577 from NixOS/backport-202171-to-release-22.11
[Backport release-22.11] cfitsio: 4.1.0 -> 4.2.0
2022-11-24 17:59:08 +00:00
Thiago Kenji Okada
a6e58e53fe Merge pull request #202670 from NixOS/backport-202589-to-release-22.11
[Backport release-22.11] tor-browser-bundle-bin: 11.5.7 -> 11.5.8
2022-11-24 17:56:16 +00:00
Thiago Kenji Okada
574c8b1d70 Merge pull request #202690 from NixOS/backport-202656-to-release-22.11
[Backport release-22.11] opcr-policy: 0.1.42 -> 0.1.43
2022-11-24 17:55:54 +00:00
Thiago Kenji Okada
b7bff66b47 Merge pull request #202691 from NixOS/backport-202667-to-release-22.11
[Backport release-22.11] chain-bench: 0.1.6 -> 0.1.7
2022-11-24 17:55:33 +00:00
Thiago Kenji Okada
a32c0b33a0 Merge pull request #202696 from NixOS/backport-200827-to-release-22.11
[Backport release-22.11] rekor-cli, rekor-server: 1.0.0 -> 1.0.1
2022-11-24 17:55:18 +00:00
Thiago Kenji Okada
b9f6b87315 Merge pull request #202709 from NixOS/backport-202027-to-release-22.11
[Backport release-22.11] ocamlPackages.ptime: 0.8.6 → 1.0.0
2022-11-24 17:54:57 +00:00
Vincent Laporte
f924a3d3e4 ocamlPackages.ptime: 0.8.6 → 1.0.0
(cherry picked from commit fb23c99e2d)
2022-11-24 17:23:25 +00:00
Thiago Kenji Okada
f2a414aa88 Merge pull request #202693 from NixOS/backport-202687-to-release-22.11
[Backport release-22.11] treewide: remove -march=native
2022-11-24 15:59:17 +00:00
Thomas Gerbet
8923f59dea rekor-cli, rekor-server: 1.0.0 -> 1.0.1
https://github.com/sigstore/rekor/releases/tag/v1.0.1
(cherry picked from commit 8683f16c39)
2022-11-24 15:38:33 +00:00
Thiago Kenji Okada
b3b288ae24 mlv-app: remove -march=native
(cherry picked from commit 93c50a28f6)
2022-11-24 15:30:53 +00:00
Thiago Kenji Okada
5b601ad9c3 glava: remove -march=native
(cherry picked from commit 3dcbb57adb)
2022-11-24 15:30:53 +00:00
Thiago Kenji Okada
35ccae2e7b opentrack: remove -march=native
(cherry picked from commit ea91c637fb)
2022-11-24 15:30:53 +00:00
Thiago Kenji Okada
9ea82cbf62 Merge pull request #202686 from NixOS/backport-202563-to-release-22.11
[Backport release-22.11] nixos/prometheus-unifi-poller-exporter: fix executable name in systemd
2022-11-24 15:25:06 +00:00
06kellyjac
a84b26b8fa chain-bench: 0.1.6 -> 0.1.7
Changelog: https://github.com/aquasecurity/chain-bench/releases/tag/v0.1.7
(cherry picked from commit c97cd4f4a8)
2022-11-24 15:17:50 +00:00
06kellyjac
8eea238fff opcr-policy: 0.1.42 -> 0.1.43
(cherry picked from commit 6232305704)
2022-11-24 15:15:24 +00:00
Mathieu Fenniak
8ac087d289 Workaround for upstream crash when !datadog
(cherry picked from commit eed28ead0c)
2022-11-24 14:52:21 +00:00
Mathieu Fenniak
e962979004 Fix executable name
(cherry picked from commit e7f761fe60)
2022-11-24 14:52:21 +00:00
Mauricio Collares
13ac819f18 Merge pull request #202681 from NixOS/backport-201759-to-release-22.11
[Backport release-22.11] giac: 1.9.0-5 -> 1.9.0-29
2022-11-24 11:45:00 -03:00
Mauricio Collares
c714cce442 giac: 1.9.0-5 -> 1.9.0-29
(cherry picked from commit 339f72586a)
2022-11-24 14:21:43 +00:00
Robert Hensing
9789f2a279 netlify-cli.tests.test: Add ps on darwin
(cherry picked from commit e341cd3ba4)
2022-11-24 13:58:39 +00:00
panda2134
913bbdc96a netlify-cli: refactor
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
(cherry picked from commit 2ff4e9ea84)
2022-11-24 13:58:39 +00:00
panda2134
39b9bdd7d0 netlify-cli: update release note for updating netlify-cli
(cherry picked from commit 669067ed04)
2022-11-24 13:58:39 +00:00
panda2134
63b9a1a942 esbuild_netlify: fix trailing space in esbuild_netlify
(cherry picked from commit b04fe397c6)
2022-11-24 13:58:39 +00:00
panda2134
4e8a468884 netlify-cli: 6.13.2 -> 12.2.4
Updates netlify-cli to 12.2.4, while switching to NodeJS 16.
According to its issue page, there seems to be problems running
this tool with NodeJS 18, so we'd better stick to NodeJS 16
instead.

(cherry picked from commit ae83b9c7c6)
2022-11-24 13:58:39 +00:00
panda2134
973de13e78 esbuild_netlify: 0.13.6 -> 0.14.39
This is the esbuild fork used by netlify-cli. The commit
updates it to its latest version. Note that versioning of
this fork is different from evanw/esbuild.

(cherry picked from commit 63a66fc2ff)
2022-11-24 13:58:38 +00:00
Thiago Kenji Okada
cee29cd000 Merge pull request #202673 from NixOS/backport-202417-to-release-22.11
[Backport release-22.11] linuxPackages.nvidia_x11: 515.86.01, 470.161.03, 390.157
2022-11-24 13:35:35 +00:00
Thiago Kenji Okada
fe15148b46 Merge pull request #202672 from NixOS/backport-201790-to-release-22.11
[Backport release-22.11] linuxPackages.nvidia_x11_vulkan_beta: 515.49.24 -> 515.49.25
2022-11-24 13:34:55 +00:00
Thiago Kenji Okada
c9b414e8ff Merge pull request #202671 from NixOS/backport-202226-to-release-22.11
[Backport release-22.11] retroarch: 1.12.0 -> 1.13.0; libretro: unstable-2022-10-18 -> unstable-2022-11-21
2022-11-24 13:34:13 +00:00
Bobby Rong
718f13d75f Merge pull request #202540 from NixOS/backport-202530-to-release-22.11
[Backport release-22.11] vscode-extensions.streetsidesoftware.code-spell-checker: 2.11.0 -> 2.11.1
2022-11-24 20:53:16 +08:00
Bobby Rong
0cab72dcff Merge pull request #202550 from NixOS/backport-202538-to-release-22.11
[Backport release-22.11] vscode-extensions.elixir-lsp.vscode-elixir-ls: 0.11.0 -> 0.12.0
2022-11-24 20:53:02 +08:00
Kiskae
00fd336bf8 linuxPackages.nvidia_x11_vulkan_beta: 515.49.24 -> 515.49.25
(cherry picked from commit c1254eebab)
2022-11-24 12:45:08 +00:00
Kiskae
5fa1c77f27 linuxPackages.nvidia_x11: 515.76 -> 515.86.01, 470.141.03 -> 470.161.03, 390.154 -> 390.157
(cherry picked from commit 7331988b07)
2022-11-24 12:45:08 +00:00
Kiskae
b3fdfe44d9 linuxPackages.nvidia_x11_vulkan_beta: 515.49.24 -> 515.49.25
(cherry picked from commit e872c30015)
2022-11-24 12:42:59 +00:00
Thiago Kenji Okada
a2d88e5c65 libretro: unstable-2022-10-18 -> unstable-2022-11-21
(cherry picked from commit 7ee7182507)
2022-11-24 12:42:29 +00:00
Thiago Kenji Okada
77d5f61135 libretro-core-info: 1.12.0 -> 1.13.0
(cherry picked from commit 3fbd8b7611)
2022-11-24 12:42:29 +00:00
Thiago Kenji Okada
e2f38c6494 retroarchBare: 1.12.0 -> 1.13.0
(cherry picked from commit a238706683)
2022-11-24 12:42:28 +00:00
Nicolas Benes
25877b88c1 tor-browser-bundle-bin: 11.5.7 -> 11.5.8
https://blog.torproject.org/new-release-tor-browser-1158/
(cherry picked from commit c99cfce6ad)
2022-11-24 12:37:53 +00:00
Anderson Torres
d356c6a165 Merge pull request #202365 from NixOS/backport-122547-to-release-22.11
[Backport release-22.11] nixos/dbus: support dbus-broker
2022-11-24 09:06:18 -03:00
Martin Weinelt
73463c394a Merge pull request #202339 from NixOS/backport-202332-to-release-22.11 2022-11-24 12:27:28 +01:00
Vladimír Čunát
866b26f853 Merge #202647: seahub: fix build
...into release-22.11
2022-11-24 08:55:29 +01:00
Florian Brandes
ee3ebeabb9 seahub: fix build
due to the change from sha256 to hash in commit
61fc83558b
the override failed in seahub.

Signed-off-by: Florian Brandes <florian.brandes@posteo.de>
(cherry picked from commit 5b9b6dee86)
2022-11-24 07:42:15 +00:00
Mario Rodas
582b5239b7 Merge pull request #202646 from NixOS/backport-202624-to-release-22.11
[Backport release-22.11] gitui: 0.22.0 -> 0.22.1
2022-11-24 02:29:53 -05:00
Alex Martens
fcb95f65d7 gitui: 0.22.0 -> 0.22.1
(cherry picked from commit e7a1f84498)
2022-11-24 06:58:24 +00:00
Martin Weinelt
a8f8b7db23 Merge pull request #202594 from NixOS/backport-202567-to-release-22.11 2022-11-23 22:19:50 +01:00
Paul-Henri Froidmont
c7742801a7 nixos/patroni: only run tests on x86_64-linux
etcd doesn't support other architectures and refuses to start

(cherry picked from commit b8ffc572d2)
2022-11-23 21:10:10 +00:00
R. Ryantm
87bceabe79 cfitsio: 4.1.0 -> 4.2.0
(cherry picked from commit f8eea40283)
2022-11-23 19:08:46 +00:00
Vincent Laporte
2d8feec842 ocamlPackages.mtime: 1.2.0 → 1.4.0
(cherry picked from commit fc9befaedc)
2022-11-23 17:11:42 +00:00
datafoo
7125d2a150 vscode-extensions.elixir-lsp.vscode-elixir-ls: 0.11.0 -> 0.12.0
(cherry picked from commit 62ff8337e1)
2022-11-23 15:41:52 +00:00
Niklas
fe78b65f34 todoist-electron: 1.0.3 -> 1.0.9
(cherry picked from commit a793a1aa45)
2022-11-23 15:29:56 +00:00
datafoo
f36531fd53 vscode-extensions.streetsidesoftware.code-spell-checker: 2.11.0 -> 2.11.1
(cherry picked from commit 49454c3e22)
2022-11-23 15:19:44 +00:00
Ninjatrappeur
ead7c99103 Merge pull request #202496 from NixOS/backport-202491-to-release-22.11 2022-11-23 16:15:29 +01:00
Vincent Laporte
0c1202ef7a ocamlPackages.reactivedata: 0.2.2 → 0.3
(cherry picked from commit 728c08834a)
2022-11-23 15:57:28 +01:00
Vonfry
6f1a626bd5 fcitx5-unikey: 5.0.11 -> 5.0.12
(cherry picked from commit d79ab83bbc)
2022-11-23 14:43:35 +00:00
Vonfry
761b10b551 fcitx5-table-extra: 5.0.11 -> 5.0.12
(cherry picked from commit e2af29d997)
2022-11-23 14:43:35 +00:00
Vonfry
3caaef5cfa fcitx5-rime: 5.0.14 -> 5.0.15
(cherry picked from commit 599fd13281)
2022-11-23 14:43:35 +00:00
Vonfry
5ebaa0e4d0 libsForQt5.fcitx5-qt: 5.0.15 -> 5.0.16
(cherry picked from commit e7f071f699)
2022-11-23 14:43:35 +00:00
Vonfry
d8e5d7a01b fcitx5-m17n: 5.0.10 -> 5.0.11
(cherry picked from commit 80df6e8613)
2022-11-23 14:43:35 +00:00
Vonfry
913d90e478 fcitx5-gtk: 5.0.19 -> 5.0.20
(cherry picked from commit 48005968c7)
2022-11-23 14:43:35 +00:00
Vonfry
3aa94202ab fcitx5-configtool: 5.0.15 -> 5.0.16
(cherry picked from commit 1c1d65231e)
2022-11-23 14:43:35 +00:00
Vonfry
c5d68367c4 fcitx5-chinese-addons: 5.0.15 -> 5.0.16
(cherry picked from commit a5dcd0fe35)
2022-11-23 14:43:35 +00:00
Vonfry
0015dfcf2d fcitx5-chewing: 5.0.12 -> 5.0.13
(cherry picked from commit 6b2740393e)
2022-11-23 14:43:35 +00:00
Vonfry
25626a7788 fcitx5: 5.0.19 -> 5.0.20
(cherry picked from commit d7ab72620d)
2022-11-23 14:43:34 +00:00
Vonfry
b6a1a6e219 xcb-imdkit: 1.0.3 -> 1.0.4
(cherry picked from commit ce20988c64)
2022-11-23 14:43:34 +00:00
Vonfry
e9cca5e99b libime: 1.0.14 -> 1.0.15
(cherry picked from commit 949caf335a)
2022-11-23 14:43:34 +00:00
R. Ryantm
55f95a5295 python310Packages.autopep8: 1.7.1 -> 2.0.0
(cherry picked from commit de1d155444)
2022-11-23 13:28:23 +01:00
Matthias Thym
637e9b7246 qownnotes: 22.11.5 -> 22.11.7
(cherry picked from commit d2e4b38f2f)
2022-11-23 13:21:44 +01:00
Stefan Frijters
990039e92e python3Packages.python-lsp-server: Add undeclared but necessary optional dependency
This is no longer implicitly provided by python3Packages.autopep8, causing tests to fail.
Upstream issue: https://github.com/python-lsp/python-lsp-server/issues/260

(cherry picked from commit 608724d718)
2022-11-23 12:26:20 +01:00
Bjørn Forsman
fa89494a47 python3Packages.autopep8: replace toml with tomli
Looks like this change is needed to avoid breaking a part of autopep8:

* d0836947df
* https://github.com/hhatto/autopep8/releases/tag/v1.7.1

Suggested-by: @SFrijters
(cherry picked from commit 9275cc4bb7)
2022-11-23 12:26:20 +01:00
Félix Baylac-Jacqué
b719c1d254 nixosTests/prosody[-mysql]: fix tests TLS setup
The tests TLS setup was bogus: the xmpp-send-message script was trying
to connect to the server through a bogus domain name. Injecting the
right one.

I'm a bit confused about that one. I know for sure this NixOS test
succeeded last time I checked it, but the TLS conf is bogus for sure.
I assume the slixmpp SNI validation was a bit too loose and was
tightened at some point.

(cherry picked from commit 8040c468ed)
2022-11-23 10:47:12 +00:00
Félix Baylac-Jacqué
4e1c91fe7f nixosTests/prosody: add timeout
The xmpp-sendmessage the slixmpp-powered python script tend to timeout
and block the nixos channels.

Adding a signal-based timeout making sure that whatever happens, the
script won't run for more than 2 minutes. That should be pleinty
enough time to finish regardless of the runner specs. As a data point,
it runs in about 10 secs on my desktop machine.

(cherry picked from commit 501d684de8)
2022-11-23 10:47:12 +00:00
Pavol Rusnak
e8016a90db Merge pull request #202485 from NixOS/backport-202463-to-release-22.11
[Backport release-22.11] python3Packages.monero: 1.0.1 -> 1.1.1
2022-11-23 10:48:42 +01:00
Pavol Rusnak
a865f3eef1 Merge pull request #202483 from NixOS/backport-202307-to-release-22.11
[Backport release-22.11] i2pd: 2.43.0 -> 2.44.0
2022-11-23 10:45:22 +01:00
gp2112
2505680416 python3Packages.monero: 1.0.1 -> 1.1.1
(cherry picked from commit 443f5eb97f)
2022-11-23 09:19:25 +00:00
R. Ryantm
9972646253 i2pd: 2.43.0 -> 2.44.0
(cherry picked from commit 57f2bb494d)
2022-11-23 09:16:21 +00:00
Vincent Laporte
ff4a870412 Merge pull request #202468 from NixOS/backport-201446-to-release-22.11
[Backport release-22.11] ocamlPackages.{sexplib,ppx_expect,core}: 0.15.0 → 0.15.1
2022-11-23 06:59:43 +01:00
Vincent Laporte
d28202fdcd ocamlPackages.core: 0.15.0 → 0.15.1
(cherry picked from commit e2c35a552c)
2022-11-23 04:33:38 +00:00
Vincent Laporte
833a43bd82 ocamlPackages.ppx_expect: 0.15.0 → 0.15.1
(cherry picked from commit b0ae673692)
2022-11-23 04:33:38 +00:00
Vincent Laporte
243b095924 ocamlPackages.sexplib: 0.15.0 → 0.15.1
(cherry picked from commit 2322294021)
2022-11-23 04:33:37 +00:00
Bobby Rong
7d833443f7 Merge pull request #202457 from NixOS/backport-202382-to-release-22.11
[Backport release-22.11] cinnamon.warpinator: 1.2.14 -> 1.2.15
2022-11-23 08:49:26 +08:00
Thomas Gerbet
9c5b94fe01 cinnamon.warpinator: 1.2.14 -> 1.2.15
Fixes CVE-2022-42725.

c32eafb0d1
(cherry picked from commit 85681df552)
2022-11-23 00:35:40 +00:00
Adam Joseph
9883b860f1 lib/systems/parse.nix: mkSkeletonFromList: improve readability
The main purpose of this PR is to make the basis for
`mkSkeletonFromList`'s decision between `cpu-kernel-libcabi` vs
`cpu-vendor-os` clear, without changing its behavior.  The existing
code obscures this decision behind a sequence of prioritized matches
(i.e. `if-then`) which jump around between different coordinates.

Two side benefits of this PR:

1. It makes the root cause of #165836 obvious: we are missing a case
   for `cpu-vendor-libcabi`.  This is why nixpkgs stumbles over
   `*-none-*`.

2. It illuminates some very weird corner cases in the existing
   logic, like `*-${vendor}-ghcjs` overriding the `vendor` field,
   and `mingw32` being transformed into `windows` in some cases.

Co-authored-by: John Ericson <git@JohnEricson.me>
(cherry picked from commit 36a566b78f)
2022-11-22 23:05:42 +01:00
Dmitry Ivankov
b21da724f7 haskellPackages.OrderedBits: set platforms=x86
The package doesn't support non-x86 architectures (aarch64)
```
Preprocessing library for OrderedBits-0.0.2.0..
Building library for OrderedBits-0.0.2.0..
[1 of 1] Compiling Data.Bits.Ordered ( lib/Data/Bits/Ordered.hs, dist/build/Data/Bits/Ordered.o, dist/build/Data/Bits/Ordered.dyn_o )

lib/Data/Bits/Ordered.hs:326:14: error:
    The INLINE pragma for ‘lsb’ lacks an accompanying binding
      (The INLINE pragma must be given where ‘lsb’ is declared)
    |
326 |   {-# Inline lsb  #-}
    |              ^^^
```
source code at
https://github.com/choener/OrderedBits/blob/master/lib/Data/Bits/Ordered.hs#L316

Should also avoid trying to build `PrimitiveArray` and other dependent
packages on aarch64.

ZHF: #199919
2022-11-22 23:04:48 +01:00
Shea Levy
a368008dd2 Merge pull request #202333 from NixOS/backport-202322-to-release-22.11
[Backport release-22.11] zotero: 6.0.16 -> 6.0.18
2022-11-22 16:23:38 -05:00
Maximilian Bosch
a9a258783d Merge pull request #202403 from NixOS/backport-202362-to-release-22.11
[Backport release-22.11] matrix-synapse: 1.71.0 -> 1.72.0
2022-11-22 21:37:07 +01:00
Sumner Evans
0374f90d89 matrix-synapse: 1.71.0 -> 1.72.0
Signed-off-by: Sumner Evans <me@sumnerevans.com>
(cherry picked from commit 6ac16c2697)
2022-11-22 19:49:28 +00:00
Jörg Thalheim
e2815a45a8 Merge pull request #202390 from NixOS/backport-202363-to-release-22.11
[Backport release-22.11] autojump: fixup python shebang after cross fix
2022-11-22 20:37:53 +01:00
Elis Hirwing
1c97e1e97e Merge pull request #202375 from NixOS/backport-202370-to-release-22.11
[Backport release-22.11] Revert "lib/trivial: fix 'error: cannot decode virtual path '/nix/sto…
2022-11-22 20:32:01 +01:00
Jan Tojnar
2c15177372 Remove myself from maintainers
Done with `sed -i -E '/^\s+(maintainers\.)?jtojnar\s*$/d;s/ (@|maintainers\.|)jtojnar//g' (rg ' jtojnar|maintainers\.jtojnar|^\s+jtojnar\s*$' -l -g '!maintainers/maintainer-list.nix')`.
(Always check the `rg` result beforehand to avoid corruption.)
2022-11-22 20:21:07 +01:00
Jörg Thalheim
3f71e1efc3 autojump: fixup python shebang after cross fix
we need python also in buildInputs for the shebang to get fixed properly

(cherry picked from commit f6b4b52a17)
2022-11-22 19:05:14 +00:00
Artturin
e7dac80929 Revert "lib/trivial: fix 'error: cannot decode virtual path '/nix/store/virtual0000000000000000000000005-source''"
This reverts commit b67ee6e861.

https://github.com/NixOS/nixpkgs/issues/202244

error: a string that refers to a store path cannot be appended to a path, at /etc/nixos/nix/nixos-unstable/lib/sources.nix:193:30

appears to happen when there's a nixpkgs git submodule

> So one of the things that is different for a git submodule is that the .git folder isn't a folder, it's a textfile that contains (in my case) this:

> $ cat nix/nixos-unstable/.git
> gitdir: ../../.git/modules/nixpkgs

(cherry picked from commit f0e298c002)
2022-11-22 17:55:30 +00:00
WORLDofPEACE
3e720b74fd nixos/dbus: support dbus-broker
(cherry picked from commit 0da7389182)
2022-11-22 15:35:16 +00:00
Artturi
dfdea0f6f2 Merge pull request #202357 from NixOS/backport-201084-to-release-22.11
[Backport release-22.11] nixos/doc: fix installing from other distro
2022-11-22 17:15:08 +02:00
Michal Sojka
348558d9e1 nixos/doc: fix installing from other distro
The nixos-generate-config command mentioned in the manual fails with error:

    nixos-generate-config: no need to specify `/` with `--root`, it is the default

This was introduced in 611b8c4472
(#161034). Now, the command should be called without any arguments.

(cherry picked from commit ee8ae2da4c)
2022-11-22 14:45:30 +00:00
Mario Rodas
37ea3d6dbc Merge pull request #202241 from NixOS/backport-202224-to-release-22.11
[Backport release-22.11] tailscale: 1.32.2 -> 1.32.3
2022-11-22 09:10:11 -05:00
R. Ryantm
4e8532544c python310Packages.bellows: 0.34.3 -> 0.34.4
(cherry picked from commit a5f162fb93)
2022-11-22 12:05:13 +00:00
Martin Weinelt
f4dab61189 Merge pull request #202334 from NixOS/backport-202024-to-release-22.11 2022-11-22 12:42:00 +01:00
Florian Brandes
5fc1d151ee teamviewer: remove qtwebkit
due to https://github.com/NixOS/nixpkgs/pull/201028 and
the deprecation of qtwebkit teamviewer refuses to evaluate.

qtwebkit isn't needed for teamviewer and is therefore removed.

Signed-off-by: Florian Brandes <florian.brandes@posteo.de>
(cherry picked from commit b9a8eae2a4)
2022-11-22 11:03:06 +00:00
Shea Levy
dfc0105cca zotero: 6.0.16 -> 6.0.18
(cherry picked from commit c6980427ce)
2022-11-22 10:50:12 +00:00
R. Ryantm
027cd16d6f git-cliff: 0.9.2 -> 0.10.0
(cherry picked from commit e21db6e720)
2022-11-22 07:44:44 +00:00
markuskowa
c9538a9b70 Merge pull request #202266 from NixOS/backport-202238-to-release-22.11
[Backport release-22.11] nfs-ganesha: 4.0.12 -> 4.1
2022-11-22 08:24:29 +01:00
Stella
c2d4cf9002 dwarfs: 0.6.1 -> 0.6.2
(cherry picked from commit 6f82c055f5)
2022-11-22 04:28:25 +00:00
Martin Weinelt
00b9de629b Merge pull request #202273 from NixOS/backport-131475-to-release-22.11 2022-11-22 01:47:23 +01:00
Martin Weinelt
1963f4c6b6 nixos/tests/evcc: init
(cherry picked from commit 005233baa2)
2022-11-22 00:19:02 +00:00
Martin Weinelt
6fede9e79b nixos/evcc: init
(cherry picked from commit 36f58b687c)
2022-11-22 00:19:02 +00:00
Martin Weinelt
19baff37e0 evcc: init at 0.107.1
(cherry picked from commit cc8681b2c7)
2022-11-22 00:19:02 +00:00
Martin Weinelt
4afabbeb8a enumer: init at 1.5.7
(cherry picked from commit 45c65058c0)
2022-11-22 00:19:02 +00:00
Martin Weinelt
7af45eba74 Merge pull request #202270 from NixOS/backport-202233-to-release-22.11
[Backport release-22.11] beets: install man pages
2022-11-22 00:47:41 +01:00
Kylie McClain
1f052b523e beets: install man pages
(cherry picked from commit 2ad8652ef2)
2022-11-21 23:40:48 +00:00
Maximilian Bosch
355b0f4cf3 Merge pull request #202263 from NixOS/backport-201276-to-release-22.11
[Backport release-22.11] grocy: 3.3.1 -> 3.3.2
2022-11-22 00:16:45 +01:00
Maximilian Bosch
517b3efc9a Merge pull request #202260 from NixOS/backport-202045-to-release-22.11
[Backport release-22.11] wiki-js: 2.5.291 -> 2.5.292
2022-11-22 00:10:08 +01:00
Markus Kowalewski
f8211c00fd nfs-ganesha: 4.0.12 -> 4.1
(cherry picked from commit 361cab5bb5)
2022-11-21 23:07:23 +00:00
Markus Kowalewski
485b659c1c ntirpc: 4.0 -> 4.1
(cherry picked from commit e7fd02bec1)
2022-11-21 23:07:23 +00:00
R. Ryantm
12b746bc68 grocy: 3.3.1 -> 3.3.2
(cherry picked from commit 5ccc047d3a)
2022-11-21 22:57:25 +00:00
Maximilian Bosch
4a1c64cad7 Merge pull request #202256 from NixOS/backport-201483-to-release-22.11
[Backport release-22.11] mautrix-whatsapp: 0.7.1 -> 0.7.2
2022-11-21 23:53:06 +01:00
R. Ryantm
b5bf3aecaa wiki-js: 2.5.291 -> 2.5.292
(cherry picked from commit 69dd2ae6fa)
2022-11-21 22:49:12 +00:00
Luflosi
c4beb4680c mautrix-whatsapp: 0.7.1 -> 0.7.2
https://github.com/mautrix/whatsapp/releases/tag/v0.7.2
(cherry picked from commit ed0a8c9553)
2022-11-21 22:30:40 +00:00
Janne Heß
dab3760bfc release.nix: Fix toString issue 2022-11-21 21:46:44 +01:00
Jamie McClymont
2061098546 tailscale: 1.32.2 -> 1.32.3
(cherry picked from commit 09ff14cdbf)
2022-11-21 20:42:09 +00:00
Martin Weinelt
752ad189c1 nixos/version: Supported until 2023-06-30 2022-11-21 21:28:46 +01:00
Martin Weinelt
bb029673bf 22.11 beta release 2022-11-21 21:08:55 +01:00
13753 changed files with 307272 additions and 325280 deletions

View File

@@ -55,13 +55,10 @@ trim_trailing_whitespace = unset
[*.lock]
indent_size = unset
# Although Markdown/CommonMark allows using two trailing spaces to denote
# a hard line break, we do not use that feature in nixpkgs since
# it forces the surrounding paragraph to become a <literallayout> which
# does not wrap reasonably.
# Instead of a hard line break, start a new paragraph by inserting a blank line.
# trailing whitespace is an actual syntax element of classic Markdown/
# CommonMark to enforce a line break
[*.md]
trim_trailing_whitespace = true
trim_trailing_whitespace = unset
# binaries
[*.nib]

1
.gitattributes vendored
View File

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

26
.github/CODEOWNERS vendored
View File

@@ -28,7 +28,6 @@
/lib/cli.nix @edolstra @nbp @Profpatsch
/lib/debug.nix @edolstra @nbp @Profpatsch
/lib/asserts.nix @edolstra @nbp @Profpatsch
/lib/path.* @infinisil @fricklerhandwerk
# Nixpkgs Internals
/default.nix @nbp
@@ -49,10 +48,6 @@
# Nixpkgs build-support
/pkgs/build-support/writers @lassulus @Profpatsch
# Nixpkgs make-disk-image
/doc/builders/images/makediskimage.section.md @raitobezarius
/nixos/lib/make-disk-image.nix @raitobezarius
# Nixpkgs documentation
/maintainers/scripts/db-to-md.sh @jtojnar @ryantm
/maintainers/scripts/doc @jtojnar @ryantm
@@ -83,8 +78,6 @@
/nixos/doc/manual/man-nixos-option.xml @nbp
/nixos/modules/installer/tools/nixos-option.sh @nbp
/nixos/modules/system @dasJ
/nixos/modules/system/activation/bootspec.nix @grahamc @cole-h @raitobezarius
/nixos/modules/system/activation/bootspec.cue @grahamc @cole-h @raitobezarius
# NixOS integration test driver
/nixos/lib/test-driver @tfc
@@ -107,7 +100,7 @@
/pkgs/top-level/python-packages.nix @FRidh @jonringer
/pkgs/development/interpreters/python @FRidh
/pkgs/development/python-modules @FRidh @jonringer
/doc/languages-frameworks/python.section.md @FRidh @mweinelt
/doc/languages-frameworks/python.section.md @FRidh
/pkgs/development/tools/poetry2nix @adisbladis
/pkgs/development/interpreters/python/hooks @FRidh @jonringer
@@ -134,9 +127,7 @@
/pkgs/development/ruby-modules @marsam
# Rust
/pkgs/development/compilers/rust @Mic92 @LnL7 @zowoq @winterqt @figsoda
/pkgs/build-support/rust @zowoq @winterqt @figsoda
/doc/languages-frameworks/rust.section.md @zowoq @winterqt @figsoda
/pkgs/development/compilers/rust @Mic92 @LnL7 @zowoq
# C compilers
/pkgs/development/compilers/gcc @matthewbauer
@@ -155,11 +146,6 @@
# Browsers
/pkgs/applications/networking/browsers/firefox @mweinelt
# Certificate Authorities
pkgs/data/misc/cacert/ @ajs124 @lukegb @mweinelt
pkgs/development/libraries/nss/ @ajs124 @lukegb @mweinelt
pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
# Jetbrains
/pkgs/applications/editors/jetbrains @edwtjo
@@ -233,10 +219,10 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/pkgs/top-level/emacs-packages.nix @adisbladis
# Neovim
/pkgs/applications/editors/neovim @figsoda @jonringer @teto
/pkgs/applications/editors/neovim @jonringer @teto
# VimPlugins
/pkgs/applications/editors/vim/plugins @figsoda @jonringer
/pkgs/applications/editors/vim/plugins @jonringer
# VsCode Extensions
/pkgs/applications/editors/vscode/extensions @jonringer
@@ -277,7 +263,6 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
# GNOME
/pkgs/desktops/gnome @jtojnar
/pkgs/desktops/gnome/extensions @piegamesde @jtojnar
/pkgs/build-support/make-hardcode-gsettings-patch @jtojnar
# Cinnamon
/pkgs/desktops/cinnamon @mkg20001
@@ -299,8 +284,11 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
# Matrix
/pkgs/servers/heisenbridge @piegamesde
/pkgs/servers/matrix-conduit @piegamesde
/pkgs/servers/matrix-synapse/matrix-appservice-irc @piegamesde
/nixos/modules/services/misc/heisenbridge.nix @piegamesde
/nixos/modules/services/misc/matrix-appservice-irc.nix @piegamesde
/nixos/modules/services/misc/matrix-conduit.nix @piegamesde
/nixos/tests/matrix-appservice-irc.nix @piegamesde
/nixos/tests/matrix-conduit.nix @piegamesde
# Dotnet

View File

@@ -26,7 +26,6 @@ If applicable, add screenshots to help explain your problem.
Add any other context about the problem here.
### Notify maintainers
<!--
Please @ people who are in the `meta.maintainers` list of the offending package or module.
If in doubt, check `git blame` for whoever last touched something.

View File

@@ -1,36 +1,31 @@
---
name: Build failure
about: Create a report to help us improve
title: 'Build failure: PACKAGENAME'
title: ''
labels: '0.kind: build failure'
assignees: ''
---
### Steps To Reproduce
Steps to reproduce the behavior:
1. build *X*
### Build log
```
log here if short otherwise a link to a gist
```
### Additional context
Add any other context about the problem here.
### Notify maintainers
<!--
Please @ people who are in the `meta.maintainers` list of the offending package or module.
If in doubt, check `git blame` for whoever last touched something.
-->
### Metadata
Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.
```console

View File

@@ -1,7 +1,7 @@
---
name: Missing or incorrect documentation
about: Help us improve the Nixpkgs and NixOS reference manuals
title: 'Documentation: '
title: ''
labels: '9.needs: documentation'
assignees: ''
@@ -11,10 +11,6 @@ assignees: ''
<!-- describe your problem -->
## Proposal
<!-- propose a solution (optional) -->
## Checklist
<!-- make sure this issue is not redundant or obsolete -->
@@ -30,3 +26,7 @@ assignees: ''
[open documentation issues]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+label%3A%229.needs%3A+documentation%22
[open documentation pull requests]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+is%3Apr+label%3A%228.has%3A+documentation%22%2C%226.topic%3A+documentation%22
## Proposal
<!-- propose a solution -->

View File

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

View File

@@ -1,15 +1,14 @@
---
name: Packaging requests
about: For packages that are missing
title: 'Package request: PACKAGENAME'
title: ''
labels: '0.kind: packaging request'
assignees: ''
---
**Project description**
<!-- Describe the project a little: -->
_describe the project a little_
**Metadata**

View File

@@ -2,7 +2,7 @@
name: Unreproducible package
about: A package that does not produce a bit-by-bit reproducible result each time it is built
title: ''
labels: [ '0.kind: enhancement', '6.topic: reproducible builds' ]
labels: '0.kind: enhancement', '6.topic: reproducible builds'
assignees: ''
---

View File

@@ -26,6 +26,7 @@ For new packages please briefly describe the package or provide a link to its ho
- [ ] (Package updates) Added a release notes entry if the change is major or breaking
- [ ] (Module updates) Added a release notes entry if the change is significant
- [ ] (Module addition) Added a release notes entry if adding a new NixOS module
- [ ] (Release notes changes) Ran `nixos/doc/manual/md-to-db.sh` to update generated release notes
- [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).
<!--

18
.github/labeler.yml vendored
View File

@@ -19,11 +19,6 @@
- pkgs/build-support/emacs/**/*
- pkgs/top-level/emacs-packages.nix
"6.topic: Enlightenment DE":
- nixos/modules/services/x11/desktop-managers/enlightenment.nix
- pkgs/desktops/enlightenment/**/*
- pkgs/development/python-modules/python-efl/*
"6.topic: erlang":
- doc/languages-frameworks/beam.section.md
- pkgs/development/beam-modules/**/*
@@ -70,19 +65,6 @@
- pkgs/development/lua-modules/**/*
- pkgs/top-level/lua-packages.nix
"6.topic: Lumina DE":
- nixos/modules/services/x11/desktop-managers/lumina.nix
- pkgs/desktops/lumina/**/*
"6.topic: LXQt":
- nixos/modules/services/x11/desktop-managers/lxqt.nix
- pkgs/desktops/lxqt/**/*
"6.topic: mate":
- nixos/modules/services/x11/desktop-managers/mate.nix
- nixos/tests/mate.nix
- pkgs/desktops/mate/**/*
"6.topic: nixos":
- nixos/**/*
- pkgs/os-specific/linux/nixos-rebuild/**/*

View File

@@ -14,19 +14,23 @@ permissions:
jobs:
backport:
permissions:
contents: write # for korthout/backport-action to create branch
pull-requests: write # for korthout/backport-action to create PR to backport
contents: write # for zeebe-io/backport-action to create branch
pull-requests: write # for zeebe-io/backport-action to create PR to backport
name: Backport Pull Request
if: github.repository_owner == 'NixOS' && github.event.pull_request.merged == true && (github.event_name != 'labeled' || startsWith('backport', github.event.label.name))
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
# required to find all branches
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
- name: Create backport PRs
uses: korthout/backport-action@v1.1.0
uses: zeebe-io/backport-action@v0.0.8
with:
# Config README: https://github.com/korthout/backport-action#backport-action
# Config README: https://github.com/zeebe-io/backport-action#backport-action
github_token: ${{ secrets.GITHUB_TOKEN }}
github_workspace: ${{ github.workspace }}
pull_description: |-
Bot-based backport to `${target_branch}`, triggered by a label in #${pull_number}.

View File

@@ -19,7 +19,7 @@ jobs:
# we don't limit this action to only NixOS repo since the checks are cheap and useful developer feedback
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v19
- uses: cachix/install-nix-action@v18
- uses: cachix/cachix-action@v12
with:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.

View File

@@ -11,7 +11,7 @@ on:
jobs:
tests:
runs-on: ubuntu-latest
if: "github.repository_owner == 'NixOS' && !contains(github.event.pull_request.title, '[skip treewide]')"
if: "github.repository_owner == 'NixOS' && !contains(github.event.pull_request.title, '[skip editorconfig]')"
steps:
- name: Get list of changed files from PR
env:
@@ -28,7 +28,7 @@ jobs:
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@v19
- uses: cachix/install-nix-action@v18
with:
# nixpkgs commit is pinned so that it doesn't break
# editorconfig-checker 2.4.0

View File

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

View File

@@ -18,7 +18,7 @@ jobs:
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@v19
- uses: cachix/install-nix-action@v18
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true

View File

@@ -18,7 +18,7 @@ jobs:
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- uses: cachix/install-nix-action@v19
- uses: cachix/install-nix-action@v18
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true

View File

@@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v19
- uses: cachix/install-nix-action@v18
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true

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

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

View File

@@ -38,6 +38,10 @@ jobs:
into: staging-next-22.11
- from: staging-next-22.11
into: staging-22.11
- from: release-22.05
into: staging-next-22.05
- from: staging-next-22.05
into: staging-22.05
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
steps:
- uses: actions/checkout@v3

View File

@@ -11,13 +11,13 @@ permissions:
jobs:
tf-providers:
permissions:
contents: write # for peter-evans/create-pull-request to create branch
pull-requests: write # for peter-evans/create-pull-request to create a PR, for peter-evans/create-or-update-comment to create or update comment
contents: write # for peter-evans/create-pull-request to create branch
pull-requests: write # for peter-evans/create-pull-request to create a PR, for peter-evans/create-or-update-comment to create or update comment
if: github.repository_owner == 'NixOS' && github.ref == 'refs/heads/master' # ensure workflow_dispatch only runs on master
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v19
- uses: cachix/install-nix-action@v18
with:
nix_path: nixpkgs=channel:nixpkgs-unstable
- name: setup
@@ -25,8 +25,6 @@ jobs:
run: |
echo "title=terraform-providers: update $(date -u +"%Y-%m-%d")" >> $GITHUB_OUTPUT
- name: update terraform-providers
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config user.name "github-actions[bot]"

2
.gitignore vendored
View File

@@ -2,8 +2,6 @@
,*
.*.swp
.*.swo
.\#*
\#*\#
.idea/
.vscode/
outputs/

View File

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

View File

@@ -1 +1 @@
23.05
22.11

View File

@@ -38,14 +38,11 @@ Below is a short excerpt of some points in there:
The old config generation system used impure shell scripts and could break in specific circumstances (see #1234).
* `meta.description` should:
* Be short, just one sentence.
* Be capitalized.
* Not start with the package name.
* More generally, it should not refer to the package name.
* Not end with a period (or any punctuation for that matter).
* Not have a period at the end.
* `meta.license` must be set and fit the upstream license.
* If there is no upstream license, `meta.license` should default to `lib.licenses.unfree`.
* If in doubt, try to contact the upstream developers for clarification.
* `meta.maintainers` must be set.
See the nixpkgs manual for more details on [standard meta-attributes](https://nixos.org/nixpkgs/manual/#sec-standard-meta-attributes).
@@ -56,10 +53,6 @@ In addition to writing properly formatted commit messages, it's important to inc
Package version upgrades usually allow for simpler commit messages, including attribute name, old and new version, as well as a reference to the relevant release notes/changelog. Every once in a while a package upgrade requires more extensive changes, and that subsequently warrants a more verbose message.
Pull requests should not be squash merged in order to keep complete commit messages and GPG signatures intact and must not be when the change doesn't make sense as a single commit.
This means that, when addressing review comments in order to keep the pull request in an always mergeable status, you will sometimes need to rewrite your branch's history and then force-push it with `git push --force-with-lease`.
Useful git commands that can help a lot with this are `git commit --patch --amend` and `git rebase --interactive`. For more details consult the git man pages or online resources like [git-rebase.io](https://git-rebase.io/) or [The Pro Git Book](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History).
## Rebasing between branches (i.e. from master to staging)
From time to time, changes between branches must be rebased, for example, if the
@@ -115,7 +108,7 @@ You can also create the backport manually:
2. Check out the target _release branch_, e.g. `release-22.11`. Do not use a _channel branch_ like `nixos-22.11` or `nixpkgs-22.11-darwin`.
3. Create a branch for your change, e.g. `git checkout -b backport`.
4. When the reason to backport is not obvious from the original commit message, use `git cherry-pick -xe <original commit>` and add a reason. Otherwise use `git cherry-pick -x <original commit>`. That's fine for minor version updates that only include security and bug fixes, commits that fixes an otherwise broken package or similar. Please also ensure the commits exists on the master branch; in the case of squashed or rebased merges, the commit hash will change and the new commits can be found in the merge message at the bottom of the master pull request.
5. Push to GitHub and open a backport pull request. Make sure to select the release branch (e.g. `release-22.11`) as the target branch of the pull request, and link to the pull request in which the original change was committed to `master`. The pull request title should be the commit title with the release version as prefix, e.g. `[22.11]`.
5. Push to GitHub and open a backport pull request. Make sure to select the release branch (e.g. `release-22.11`) as the target branch of the pull request, and link to the pull request in which the original change was comitted to `master`. The pull request title should be the commit title with the release version as prefix, e.g. `[22.11]`.
6. When the backport pull request is merged and you have the necessary privileges you can also replace the label `9.needs: port to stable` with `8.has: port to stable` on the original pull request. This way maintainers can keep track of missing backports easier.
## Criteria for Backporting changes
@@ -128,17 +121,14 @@ Anything that does not cause user or downstream dependency regressions can be ba
- Security critical applications (E.g. `firefox`)
## Generating 23.05 Release Notes
<!--
note: title unchanged even though we don't need regeneration because extant
PRs will link here. definitely change the title for 23.11 though.
-->
Documentation in nixpkgs is transitioning to a markdown-centric workflow. In the past release notes required a translation step to convert from markdown to a compatible docbook document, but this is no longer necessary.
Documentation in nixpkgs is transitioning to a markdown-centric workflow. Release notes now require a translation step to convert from markdown to a compatible docbook document.
Steps for updating 23.05 Release notes:
1. Edit `nixos/doc/manual/release-notes/rl-2305.section.md` with the desired changes
2. Commit changes to `rl-2305.section.md`.
2. Run `./nixos/doc/manual/md-to-db.sh` to render `nixos/doc/manual/from_md/release-notes/rl-2305.section.xml`
3. Include changes to `rl-2305.section.md` and `rl-2305.section.xml` in the same commit.
## Reviewing contributions

View File

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

View File

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

View File

@@ -0,0 +1,11 @@
--[[
Converts some HTML elements commonly used in Markdown to corresponding DocBook elements.
]]
function RawInline(elem)
if elem.format == 'html' and elem.text == '<kbd>' then
return pandoc.RawInline('docbook', '<keycap>')
elseif elem.format == 'html' and elem.text == '</kbd>' then
return pandoc.RawInline('docbook', '</keycap>')
end
end

View File

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

View File

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

View File

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

View File

@@ -14,7 +14,7 @@ For example, consider the following fetcher:
```nix
fetchurl {
url = "http://www.example.org/hello-1.0.tar.gz";
hash = "sha256-lTeyxzJNQeMdu1IVdovNMtgn77jRIhSybLdMbTkf2Ww=";
sha256 = "0v6r3wwnsk5pdjr188nip3pjgn1jrn5pc5ajpcfy6had6b3v4dwm";
};
```
@@ -23,17 +23,17 @@ A common mistake is to update a fetchers URL, or a version parameter, without
```nix
fetchurl {
url = "http://www.example.org/hello-1.1.tar.gz";
hash = "sha256-lTeyxzJNQeMdu1IVdovNMtgn77jRIhSybLdMbTkf2Ww=";
sha256 = "0v6r3wwnsk5pdjr188nip3pjgn1jrn5pc5ajpcfy6had6b3v4dwm";
};
```
**This will reuse the old contents**.
Remember to invalidate the hash argument, in this case by setting the `hash` attribute to an empty string.
Remember to invalidate the hash argument, in this case by setting the `sha256` attribute to an empty string.
```nix
fetchurl {
url = "http://www.example.org/hello-1.1.tar.gz";
hash = "";
sha256 = "";
};
```
@@ -42,14 +42,14 @@ Use the resulting error message to determine the correct hash.
```
error: hash mismatch in fixed-output derivation '/path/to/my.drv':
specified: sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
got: sha256-lTeyxzJNQeMdu1IVdovNMtgn77jRIhSybLdMbTkf2Ww=
got: sha256-RApQUm78dswhBLC/rfU9y0u6pSAzHceIJqgmetRD24E=
```
A similar problem arises while testing changes to a fetcher's implementation. If the output of the derivation already exists in the Nix store, test failures can go undetected. The [`invalidateFetcherByDrvHash`](#tester-invalidateFetcherByDrvHash) function helps prevent reusing cached derivations.
## `fetchurl` and `fetchzip` {#fetchurl}
Two basic fetchers are `fetchurl` and `fetchzip`. Both of these have two required arguments, a URL and a hash. The hash is typically `hash`, although many more hash algorithms are supported. Nixpkgs contributors are currently recommended to use `hash`. This hash will be used by Nix to identify your source. A typical usage of `fetchurl` is provided below.
Two basic fetchers are `fetchurl` and `fetchzip`. Both of these have two required arguments, a URL and a hash. The hash is typically `sha256`, although many more hash algorithms are supported. Nixpkgs contributors are currently recommended to use `sha256`. This hash will be used by Nix to identify your source. A typical usage of `fetchurl` is provided below.
```nix
{ stdenv, fetchurl }:
@@ -58,7 +58,7 @@ stdenv.mkDerivation {
name = "hello";
src = fetchurl {
url = "http://www.example.org/hello.tar.gz";
hash = "sha256-BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=";
sha256 = "1111111111111111111111111111111111111111111111111111";
};
}
```
@@ -76,18 +76,18 @@ The main difference between `fetchurl` and `fetchzip` is in how they store the c
- `includes`: Include only files matching these patterns (applies after the above arguments).
- `revert`: Revert the patch.
Note that because the checksum is computed after applying these effects, using or modifying these arguments will have no effect unless the `hash` argument is changed as well.
Note that because the checksum is computed after applying these effects, using or modifying these arguments will have no effect unless the `sha256` argument is changed as well.
Most other fetchers return a directory rather than a single file.
## `fetchsvn` {#fetchsvn}
Used with Subversion. Expects `url` to a Subversion directory, `rev`, and `hash`.
Used with Subversion. Expects `url` to a Subversion directory, `rev`, and `sha256`.
## `fetchgit` {#fetchgit}
Used with Git. Expects `url` to a Git repo, `rev`, and `hash`. `rev` in this case can be full the git commit id (SHA1 hash) or a tag name like `refs/tags/v1.0`.
Used with Git. Expects `url` to a Git repo, `rev`, and `sha256`. `rev` in this case can be full the git commit id (SHA1 hash) or a tag name like `refs/tags/v1.0`.
Additionally, the following optional arguments can be given: `fetchSubmodules = true` makes `fetchgit` also fetch the submodules of a repository. If `deepClone` is set to true, the entire repository is cloned as opposing to just creating a shallow clone. `deepClone = true` also implies `leaveDotGit = true` which means that the `.git` directory of the clone won't be removed after checkout.
@@ -104,32 +104,32 @@ stdenv.mkDerivation {
"directory/to/be/included"
"another/directory"
];
hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
sha256 = "0000000000000000000000000000000000000000000000000000";
};
}
```
## `fetchfossil` {#fetchfossil}
Used with Fossil. Expects `url` to a Fossil archive, `rev`, and `hash`.
Used with Fossil. Expects `url` to a Fossil archive, `rev`, and `sha256`.
## `fetchcvs` {#fetchcvs}
Used with CVS. Expects `cvsRoot`, `tag`, and `hash`.
Used with CVS. Expects `cvsRoot`, `tag`, and `sha256`.
## `fetchhg` {#fetchhg}
Used with Mercurial. Expects `url`, `rev`, and `hash`.
Used with Mercurial. Expects `url`, `rev`, and `sha256`.
A number of fetcher functions wrap part of `fetchurl` and `fetchzip`. They are mainly convenience functions intended for commonly used destinations of source code in Nixpkgs. These wrapper fetchers are listed below.
## `fetchFromGitea` {#fetchfromgitea}
`fetchFromGitea` expects five arguments. `domain` is the gitea server name. `owner` is a string corresponding to the Gitea user or organization that controls this repository. `repo` corresponds to the name of the software repository. These are located at the top of every Gitea HTML page as `owner`/`repo`. `rev` corresponds to the Git commit hash or tag (e.g `v1.0`) that will be downloaded from Git. Finally, `hash` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available but `hash` is currently preferred.
`fetchFromGitea` expects five arguments. `domain` is the gitea server name. `owner` is a string corresponding to the Gitea user or organization that controls this repository. `repo` corresponds to the name of the software repository. These are located at the top of every Gitea HTML page as `owner`/`repo`. `rev` corresponds to the Git commit hash or tag (e.g `v1.0`) that will be downloaded from Git. Finally, `sha256` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available but `sha256` is currently preferred.
## `fetchFromGitHub` {#fetchfromgithub}
`fetchFromGitHub` expects four arguments. `owner` is a string corresponding to the GitHub user or organization that controls this repository. `repo` corresponds to the name of the software repository. These are located at the top of every GitHub HTML page as `owner`/`repo`. `rev` corresponds to the Git commit hash or tag (e.g `v1.0`) that will be downloaded from Git. Finally, `hash` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available, but `hash` is currently preferred.
`fetchFromGitHub` expects four arguments. `owner` is a string corresponding to the GitHub user or organization that controls this repository. `repo` corresponds to the name of the software repository. These are located at the top of every GitHub HTML page as `owner`/`repo`. `rev` corresponds to the Git commit hash or tag (e.g `v1.0`) that will be downloaded from Git. Finally, `sha256` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available, but `sha256` is currently preferred.
`fetchFromGitHub` uses `fetchzip` to download the source archive generated by GitHub for the specified revision. If `leaveDotGit`, `deepClone` or `fetchSubmodules` are set to `true`, `fetchFromGitHub` will use `fetchgit` instead. Refer to its section for documentation of these options.
@@ -156,37 +156,10 @@ This is used with repo.or.cz repositories. The arguments expected are very simil
## `fetchFromSourcehut` {#fetchfromsourcehut}
This is used with sourcehut repositories. Similar to `fetchFromGitHub` above,
it expects `owner`, `repo`, `rev` and `hash`, but don't forget the tilde (~)
it expects `owner`, `repo`, `rev` and `sha256`, but don't forget the tilde (~)
in front of the username! Expected arguments also include `vc` ("git" (default)
or "hg"), `domain` and `fetchSubmodules`.
If `fetchSubmodules` is `true`, `fetchFromSourcehut` uses `fetchgit`
or `fetchhg` with `fetchSubmodules` or `fetchSubrepos` set to `true`,
respectively. Otherwise, the fetcher uses `fetchzip`.
## `requireFile` {#requirefile}
`requireFile` allows requesting files that cannot be fetched automatically, but whose content is known.
This is a useful last-resort workaround for license restrictions that prohibit redistribution, or for downloads that are only accessible after authenticating interactively in a browser.
If the requested file is present in the Nix store, the resulting derivation will not be built, because its expected output is already available.
Otherwise, the builder will run, but fail with a message explaining to the user how to provide the file. The following code, for example:
```
requireFile {
name = "jdk-${version}_linux-x64_bin.tar.gz";
url = "https://www.oracle.com/java/technologies/javase-jdk11-downloads.html";
sha256 = "94bd34f85ee38d3ef59e5289ec7450b9443b924c55625661fffe66b03f2c8de2";
}
```
results in this error message:
```
***
Unfortunately, we cannot download file jdk-11.0.10_linux-x64_bin.tar.gz automatically.
Please go to https://www.oracle.com/java/technologies/javase-jdk11-downloads.html to download it yourself, and add it to the Nix store
using either
nix-store --add-fixed sha256 jdk-11.0.10_linux-x64_bin.tar.gz
or
nix-prefetch-url --type sha256 file:///path/to/jdk-11.0.10_linux-x64_bin.tar.gz
***
```

View File

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

View File

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

View File

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

View File

@@ -62,8 +62,6 @@ The above example will build a Docker image `redis/latest` from the given base i
- `config` is used to specify the configuration of the containers that will be started off the built image in Docker. The available options are listed in the [Docker Image Specification v1.2.0](https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions).
- `architecture` is _optional_ and used to specify the image architecture, this is useful for multi-architecture builds that don't need cross compiling. If not specified it will default to `hostPlatform`.
- `diskSize` is used to specify the disk size of the VM used to build the image in megabytes. By default it's 1024 MiB.
- `buildVMMemorySize` is used to specify the memory size of the VM to build the image in megabytes. By default it's 512 MiB.
@@ -143,9 +141,7 @@ Create a Docker image with many of the store paths being on their own layer to i
`config` _optional_
`architecture` is _optional_ and used to specify the image architecture, this is useful for multi-architecture builds that don't need cross compiling. If not specified it will default to `hostPlatform`.
: Run-time configuration of the container. A full list of the options available is in the [Docker Image Specification v1.2.0](https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions).
: Run-time configuration of the container. A full list of the options are available at in the [Docker Image Specification v1.2.0](https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions).
*Default:* `{}`
@@ -249,10 +245,10 @@ Its parameters are described in the example below:
pullImage {
imageName = "nixos/nix";
imageDigest =
"sha256:473a2b527958665554806aea24d0131bacec46d23af09fef4598eeab331850fa";
"sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b";
finalImageName = "nix";
finalImageTag = "2.11.1";
sha256 = "sha256-qvhj+Hlmviz+KEBVmsyPIzTB3QlVAFzwAY1zDPIBGxc=";
finalImageTag = "1.11";
sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8";
os = "linux";
arch = "x86_64";
}
@@ -398,142 +394,3 @@ buildImage {
};
}
```
## buildNixShellImage {#ssec-pkgs-dockerTools-buildNixShellImage}
Create a Docker image that sets up an environment similar to that of running `nix-shell` on a derivation.
When run in Docker, this environment somewhat resembles the Nix sandbox typically used by `nix-build`, with a major difference being that access to the internet is allowed.
It additionally also behaves like an interactive `nix-shell`, running things like `shellHook` and setting an interactive prompt.
If the derivation is fully buildable (i.e. `nix-build` can be used on it), running `buildDerivation` inside such a Docker image will build the derivation, with all its outputs being available in the correct `/nix/store` paths, pointed to by the respective environment variables like `$out`, etc.
::: {.warning}
The behavior doesn't match `nix-shell` or `nix-build` exactly and this function is known not to work correctly for e.g. fixed-output derivations, content-addressed derivations, impure derivations and other special types of derivations.
:::
### Arguments
`drv`
: The derivation on which to base the Docker image.
Adding packages to the Docker image is possible by e.g. extending the list of `nativeBuildInputs` of this derivation like
```nix
buildNixShellImage {
drv = someDrv.overrideAttrs (old: {
nativeBuildInputs = old.nativeBuildInputs or [] ++ [
somethingExtra
];
});
# ...
}
```
Similarly, you can extend the image initialization script by extending `shellHook`
`name` _optional_
: The name of the resulting image.
*Default:* `drv.name + "-env"`
`tag` _optional_
: Tag of the generated image.
*Default:* the resulting image derivation output path's hash
`uid`/`gid` _optional_
: The user/group ID to run the container as. This is like a `nixbld` build user.
*Default:* 1000/1000
`homeDirectory` _optional_
: The home directory of the user the container is running as
*Default:* `/build`
`shell` _optional_
: The path to the `bash` binary to use as the shell. This shell is started when running the image.
*Default:* `pkgs.bashInteractive + "/bin/bash"`
`command` _optional_
: Run this command in the environment of the derivation, in an interactive shell. See the `--command` option in the [`nix-shell` documentation](https://nixos.org/manual/nix/stable/command-ref/nix-shell.html?highlight=nix-shell#options).
*Default:* (none)
`run` _optional_
: Same as `command`, but runs the command in a non-interactive shell instead. See the `--run` option in the [`nix-shell` documentation](https://nixos.org/manual/nix/stable/command-ref/nix-shell.html?highlight=nix-shell#options).
*Default:* (none)
### Example
The following shows how to build the `pkgs.hello` package inside a Docker container built with `buildNixShellImage`.
```nix
with import <nixpkgs> {};
dockerTools.buildNixShellImage {
drv = hello;
}
```
Build the derivation:
```console
nix-build hello.nix
```
these 8 derivations will be built:
/nix/store/xmw3a5ln29rdalavcxk1w3m4zb2n7kk6-nix-shell-rc.drv
...
Creating layer 56 from paths: ['/nix/store/crpnj8ssz0va2q0p5ibv9i6k6n52gcya-stdenv-linux']
Creating layer 57 with customisation...
Adding manifests...
Done.
/nix/store/cpyn1lc897ghx0rhr2xy49jvyn52bazv-hello-2.12-env.tar.gz
Load the image:
```console
docker load -i result
```
0d9f4c4cd109: Loading layer [==================================================>] 2.56MB/2.56MB
...
ab1d897c0697: Loading layer [==================================================>] 10.24kB/10.24kB
Loaded image: hello-2.12-env:pgj9h98nal555415faa43vsydg161bdz
Run the container:
```console
docker run -it hello-2.12-env:pgj9h98nal555415faa43vsydg161bdz
```
[nix-shell:/build]$
In the running container, run the build:
```console
buildDerivation
```
unpacking sources
unpacking source archive /nix/store/8nqv6kshb3vs5q5bs2k600xpj5bkavkc-hello-2.12.tar.gz
...
patching script interpreter paths in /nix/store/z5wwy5nagzy15gag42vv61c2agdpz2f2-hello-2.12
checking for references to /build/ in /nix/store/z5wwy5nagzy15gag42vv61c2agdpz2f2-hello-2.12...
Check the build result:
```console
$out/bin/hello
```
Hello, world!

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -12,7 +12,7 @@ The `wrapFirefox` function allows to pass policies, preferences and extensions t
(fetchFirefoxAddon {
name = "ublock"; # Has to be unique!
url = "https://addons.mozilla.org/firefox/downloads/file/3679754/ublock_origin-1.31.0-an+fx.xpi";
hash = "sha256-2e73AbmYZlZXCP5ptYVcFjQYdjDp4iPoEPEOSCVF5sA=";
sha256 = "1h768ljlh3pi23l27qp961v1hd0nbj2vasgy11bmcrlqp40zgvnr";
})
];

View File

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

View File

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

View File

@@ -7,5 +7,4 @@
</para>
<xi:include href="special/fhs-environments.section.xml" />
<xi:include href="special/mkshell.section.xml" />
<xi:include href="special/darwin-builder.section.xml" />
</chapter>

View File

@@ -1,63 +0,0 @@
# darwin.builder {#sec-darwin-builder}
`darwin.builder` provides a way to bootstrap a Linux builder on a macOS machine.
This requires macOS version 12.4 or later.
This also requires that port 22 on your machine is free (since Nix does not
permit specifying a non-default SSH port for builders).
You will also need to be a trusted user for your Nix installation. In other
words, your `/etc/nix/nix.conf` should have something like:
```
extra-trusted-users = <your username goes here>
```
To launch the builder, run the following flake:
```ShellSession
$ nix run nixpkgs#darwin.builder
```
That will prompt you to enter your `sudo` password:
```
+ sudo --reset-timestamp /nix/store/…-install-credentials.sh ./keys
Password:
```
… so that it can install a private key used to `ssh` into the build server.
After that the script will launch the virtual machine and automatically log you
in as the `builder` user:
```
<<< Welcome to NixOS 22.11.20220901.1bd8d11 (aarch64) - ttyAMA0 >>>
Run 'nixos-help' for the NixOS manual.
nixos login: builder (automatic login)
[builder@nixos:~]$
```
> Note: When you need to stop the VM, run `shutdown now` as the `builder` user.
To delegate builds to the remote builder, add the following options to your
`nix.conf` file:
```
# - Replace ${ARCH} with either aarch64 or x86_64 to match your host machine
# - Replace ${MAX_JOBS} with the maximum number of builds (pick 4 if you're not sure)
builders = ssh-ng://builder@localhost ${ARCH}-linux /etc/nix/builder_ed25519 ${MAX_JOBS} - - - c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUpCV2N4Yi9CbGFxdDFhdU90RStGOFFVV3JVb3RpQzVxQkorVXVFV2RWQ2Igcm9vdEBuaXhvcwo=
# Not strictly necessary, but this will reduce your disk utilization
builders-use-substitutes = true
```
… and then restart your Nix daemon to apply the change:
```ShellSession
$ sudo launchctl kickstart -k system/org.nixos.nix-daemon
```

View File

@@ -1,19 +1,6 @@
# Testers {#chap-testers}
This chapter describes several testing builders which are available in the <literal>testers</literal> namespace.
## `hasPkgConfigModule` {#tester-hasPkgConfigModule}
Checks whether a package exposes a certain `pkg-config` module.
Example:
```nix
passthru.tests.pkg-config = testers.hasPkgConfigModule {
package = finalAttrs.finalPackage;
moduleName = "libfoo";
}
```
## `testVersion` {#tester-testVersion}
Checks the command output contains the specified version
@@ -75,7 +62,7 @@ runCommand "example" {
'';
```
While `testBuildFailure` is designed to keep changes to the original builder's
While `testBuildFailure` is designed to keep changes to the original builder's
environment to a minimum, some small changes are inevitable.
- The file `$TMPDIR/testBuildFailure.log` is present. It should not be deleted.
@@ -160,7 +147,7 @@ tests.fetchgit = testers.invalidateFetcherByDrvHash fetchgit {
name = "nix-source";
url = "https://github.com/NixOS/nix";
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
hash = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
};
```

View File

@@ -204,13 +204,13 @@ The key words _must_, _must not_, _required_, _shall_, _shall not_, _should_, _s
In Nixpkgs, there are generally three different names associated with a package:
- The `pname` attribute of the derivation. This is what most users see, in particular when using `nix-env`.
- The `name` attribute of the derivation (excluding the version part). This is what most users see, in particular when using `nix-env`.
- The variable name used for the instantiated package in `all-packages.nix`, and when passing it as a dependency to other functions. Typically this is called the _package attribute name_. This is what Nix expression authors see. It can also be used when installing using `nix-env -iA`.
- The filename for (the directory containing) the Nix expression.
Most of the time, these are the same. For instance, the package `e2fsprogs` has a `pname` attribute `"e2fsprogs"`, is bound to the variable name `e2fsprogs` in `all-packages.nix`, and the Nix expression is in `pkgs/os-specific/linux/e2fsprogs/default.nix`.
Most of the time, these are the same. For instance, the package `e2fsprogs` has a `name` attribute `"e2fsprogs-version"`, is bound to the variable name `e2fsprogs` in `all-packages.nix`, and the Nix expression is in `pkgs/os-specific/linux/e2fsprogs/default.nix`.
There are a few naming guidelines:
@@ -260,10 +260,6 @@ When in doubt, consider refactoring the `pkgs/` tree, e.g. creating new categori
- `development/tools/build-managers` (e.g. `gnumake`)
- **If its a _language server_:**
- `development/tools/language-servers` (e.g. `ccls` or `rnix-lsp`)
- **Else:**
- `development/tools/misc` (e.g. `binutils`)
@@ -430,10 +426,9 @@ In the file `pkgs/top-level/all-packages.nix` you can find fetch helpers, these
```nix
src = fetchgit {
url = "git@github.com:NixOS/nix.git"
url = "git://github.com/NixOS/nix.git";
rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae";
hash = "sha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ=";
sha256 = "1cw5fszffl5pkpa6s6wjnkiv6lm5k618s32sp60kvmvpy7a2v9kg";
}
```
@@ -443,7 +438,7 @@ In the file `pkgs/top-level/all-packages.nix` you can find fetch helpers, these
src = fetchgit {
url = "https://github.com/NixOS/nix.git";
rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae";
hash = "sha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ=";
sha256 = "1cw5fszffl5pkpa6s6wjnkiv6lm5k618s32sp60kvmvpy7a2v9kg";
}
```
@@ -454,14 +449,14 @@ In the file `pkgs/top-level/all-packages.nix` you can find fetch helpers, these
owner = "NixOS";
repo = "nix";
rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae";
hash = "ha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ=;
sha256 = "1i2yxndxb6yc9l6c99pypbd92lfq5aac4klq7y2v93c9qvx2cgpc";
}
```
When fetching from GitHub, commits must always be referenced by their full commit hash. This is because GitHub shares commit hashes among all forks and returns `404 Not Found` when a short commit hash is ambiguous. It already happens for some short, 6-character commit hashes in `nixpkgs`.
It is a practical vector for a denial-of-service attack by pushing large amounts of auto generated commits into forks and was already [demonstrated against GitHub Actions Beta](https://blog.teddykatz.com/2019/11/12/github-actions-dos.html).
Find the value to put as `hash` by running `nix-shell -p nix-prefetch-github --run "nix-prefetch-github --rev 1f795f9f44607cc5bec70d1300150bfefcef2aae NixOS nix"`.
Find the value to put as `sha256` by running `nix-shell -p nix-prefetch-github --run "nix-prefetch-github --rev 1f795f9f44607cc5bec70d1300150bfefcef2aae NixOS nix"`.
## Obtaining source hash {#sec-source-hashes}
@@ -491,12 +486,12 @@ Preferred source hash type is sha256. There are several ways to get it.
- `lib.fakeHash`
- `lib.fakeSha256`
- `lib.fakeSha512`
in the package expression, attempt build and extract correct hash from error messages.
::: {.warning}
You must use one of these four fake hashes and not some arbitrarily-chosen hash.
See [](#sec-source-hashes-security).
:::
@@ -524,7 +519,7 @@ patches = [
(fetchpatch {
name = "fix-check-for-using-shared-freetype-lib.patch";
url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=8f5d285";
hash = "sha256-uRcxaCjd+WAuGrXOmGfFeu79cUILwkRdBu48mwcBE7g=";
sha256 = "1f0k043rng7f0rfl9hhb89qzvvksqmkrikmm38p61yfx51l325xr";
})
];
```
@@ -674,18 +669,3 @@ stdenv.mkDerivation {
...
}
```
### Import From Derivation {#ssec-import-from-derivation}
Import From Derivation (IFD) is disallowed in Nixpkgs for performance reasons:
[Hydra] evaluates the entire package set, and sequential builds during evaluation would increase evaluation times to become impractical.
[Hydra]: https://github.com/NixOS/hydra
Import From Derivation can be worked around in some cases by committing generated intermediate files to version control and reading those instead.
<!-- TODO: remove the following and link to Nix manual once https://github.com/NixOS/nix/pull/7332 is merged -->
See also [NixOS Wiki: Import From Derivation].
[NixOS Wiki: Import From Derivation]: https://nixos.wiki/wiki/Import_From_Derivation

View File

@@ -27,7 +27,7 @@ If the build succeeds, the manual will be in `./result/share/doc/nixpkgs/manual.
As per [RFC 0072](https://github.com/NixOS/rfcs/pull/72), all new documentation content should be written in [CommonMark](https://commonmark.org/) Markdown dialect.
Additional syntax extensions are available, all of which can be used in NixOS option documentation. The following extensions are currently used:
Additional syntax extensions are available, though not all extensions can be used in NixOS option documentation. The following extensions are currently used:
- []{#ssec-contributing-markup-anchors}
Explicitly defined **anchors** on headings, to allow linking to sections. These should be always used, to ensure the anchors can be linked even when the heading text changes, and to prevent conflicts between [automatically assigned identifiers](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/auto_identifiers.md).
@@ -38,10 +38,6 @@ Additional syntax extensions are available, all of which can be used in NixOS op
## Syntax {#sec-contributing-markup}
```
::: {.note}
NixOS option documentation does not support headings in general.
:::
- []{#ssec-contributing-markup-anchors-inline}
**Inline anchors**, which allow linking arbitrary place in the text (e.g. individual list items, sentences…).
@@ -57,7 +53,7 @@ Additional syntax extensions are available, all of which can be used in NixOS op
This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/using/syntax.html#targets-and-cross-referencing).
- []{#ssec-contributing-markup-inline-roles}
If you want to link to a man page, you can use `` {manpage}`nix.conf(5)` ``, which will turn into {manpage}`nix.conf(5)`. The references will turn into links when a mapping exists in {file}`doc/manpage-urls.json`.
If you want to link to a man page, you can use `` {manpage}`nix.conf(5)` ``, which will turn into {manpage}`nix.conf(5)`. The references will turn into links when a mapping exists in {file}`doc/build-aux/pandoc-filters/link-unix-man-references.lua`.
A few markups for other kinds of literals are also available:
@@ -71,6 +67,10 @@ Additional syntax extensions are available, all of which can be used in NixOS op
This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/syntax/syntax.html#roles-an-in-line-extension-point). Though, the feature originates from [reStructuredText](https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-manpage) with slightly different syntax.
::: {.note}
Inline roles are available for option documentation.
:::
- []{#ssec-contributing-markup-admonitions}
**Admonitions**, set off from the text to bring attention to something.
@@ -96,6 +96,10 @@ Additional syntax extensions are available, all of which can be used in NixOS op
- [`tip`](https://tdg.docbook.org/tdg/5.0/tip.html)
- [`warning`](https://tdg.docbook.org/tdg/5.0/warning.html)
::: {.note}
Admonitions are available for option documentation.
:::
- []{#ssec-contributing-markup-definition-lists}
[**Definition lists**](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/definition_lists.md), for defining a group of terms:

View File

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

View File

@@ -185,7 +185,7 @@ Sample template for a new module review is provided below.
##### Comments
```
## Individual maintainer list {#reviewing-contributions-individual-maintainer-list}
## Individual maintainer list {#reviewing-contributions-indvidual-maintainer-list}
When adding users to `maintainers/maintainer-list.nix`, the following
checks should be performed:

View File

@@ -76,7 +76,7 @@ Security fixes are submitted in the same way as other changes and thus the same
(fetchpatch {
name = "CVE-2019-11068.patch";
url = "https://gitlab.gnome.org/GNOME/libxslt/commit/e03553605b45c88f0b4b2980adfbbb8f6fca2fd6.patch";
hash = "sha256-SEKe/8HcW0UBHCfPTTOnpRlzmV2nQPPeL6HOMxBZd14=";
sha256 = "0pkpb4837km15zgg6h57bncp66d5lwrlvkr73h0lanywq7zrwhj8";
})
```
@@ -199,7 +199,7 @@ Its important to test any executables generated by a build when you change or
### Meets Nixpkgs contribution standards {#submitting-changes-contribution-standards}
The last checkbox is fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md). The contributing document has detailed information on standards the Nix community has for commit messages, reviews, licensing of contributions you make to the project, etc... Everyone should read and understand the standards the community has for contributing before submitting a pull request.
The last checkbox is fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md). The contributing document has detailed information on standards the Nix community has for commit messages, reviews, licensing of contributions you make to the project, etc\... Everyone should read and understand the standards the community has for contributing before submitting a pull request.
## Hotfixing pull requests {#submitting-changes-hotfixing-pull-requests}

View File

@@ -1,5 +1,6 @@
{ pkgs ? (import ./.. { }), nixpkgs ? { }}:
let
lib = pkgs.lib;
doc-support = import ./doc-support { inherit pkgs nixpkgs; };
in pkgs.stdenv.mkDerivation {
name = "nixpkgs-manual";
@@ -14,7 +15,7 @@ in pkgs.stdenv.mkDerivation {
xmlformat
];
src = pkgs.nix-gitignore.gitignoreSource [] ./.;
src = lib.cleanSource ./.;
postPatch = ''
ln -s ${doc-support} ./doc-support/result
@@ -35,5 +36,4 @@ in pkgs.stdenv.mkDerivation {
# Environment variables
PANDOC_LUA_FILTERS_DIR = "${pkgs.pandoc-lua-filters}/share/pandoc/filters";
PANDOC_LINK_MANPAGES_FILTER = import build-aux/pandoc-filters/link-manpages.nix { inherit pkgs; };
}

View File

@@ -3,23 +3,8 @@ let
inherit (pkgs) lib;
inherit (lib) hasPrefix removePrefix;
libsets = [
{ name = "asserts"; description = "assertion functions"; }
{ name = "attrsets"; description = "attribute set functions"; }
{ name = "strings"; description = "string manipulation functions"; }
{ name = "versions"; description = "version string functions"; }
{ name = "trivial"; description = "miscellaneous functions"; }
{ name = "lists"; description = "list manipulation functions"; }
{ name = "debug"; description = "debugging functions"; }
{ name = "options"; description = "NixOS / nixpkgs option handling"; }
{ name = "path"; description = "path functions"; }
{ name = "filesystem"; description = "filesystem functions"; }
{ name = "sources"; description = "source filtering functions"; }
{ name = "cli"; description = "command-line serialization functions"; }
];
locationsXml = import ./lib-function-locations.nix { inherit pkgs nixpkgs libsets; };
functionDocs = import ./lib-function-docs.nix { inherit locationsXml pkgs libsets; };
locationsXml = import ./lib-function-locations.nix { inherit pkgs nixpkgs; };
functionDocs = import ./lib-function-docs.nix { inherit locationsXml pkgs; };
version = pkgs.lib.version;
epub-xsl = pkgs.writeText "epub.xsl" ''

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -10,7 +10,9 @@ nativeBuildInputs = [ breakpointHook ];
When a build failure happens there will be an instruction printed that shows how to attach with `cntr` to the build sandbox.
::: {.note}
::: {.title}
Caution with remote builds
:::
This wont work with remote builds as the build environment is on a different machine and cant be accessed by `cntr`. Remote builds can be turned off by setting `--option builders ''` for `nix-build` or `--builders ''` for `nix build`.
:::

View File

@@ -9,7 +9,7 @@ stdenv.mkDerivation {
# ...
nativeCheckInputs = [
checkInputs = [
postgresql
postgresqlTestHook
];
@@ -46,12 +46,6 @@ Bash-only variables:
- `postgresqlEnableTCP`: set to `1` to enable TCP listening. Flaky; not recommended.
- `postgresqlStartCommands`: defaults to `pg_ctl start`.
## Hooks {#sec-postgresqlTestHook-hooks}
A number of additional hooks are ran in postgresqlTestHook
- `postgresqlTestSetupPost`: ran after postgresql has been set up.
## TCP and the Nix sandbox {#sec-postgresqlTestHook-tcp}
`postgresqlEnableTCP` relies on network sandboxing, which is not available on macOS and some custom Nix installations, resulting in flaky tests.

View File

@@ -52,7 +52,7 @@ agda.withPackages (p: [
repo = "agda-stdlib";
owner = "agda";
rev = "v1.5";
hash = "sha256-nEyxYGSWIDNJqBfGpRDLiOAnlHJKEKAOMnIaqfVZzJk=";
sha256 = "16fcb7ssj6kj687a042afaa2gq48rc8abihpm14k684ncihb2k4w";
};
}))
])
@@ -83,7 +83,7 @@ agda.withPackages (p: [
owner = "owner";
version = "...";
rev = "...";
hash = "...";
sha256 = "...";
};
})
])

View File

@@ -13,7 +13,6 @@ with import <nixpkgs> {};
let
androidComposition = androidenv.composeAndroidPackages {
cmdLineToolsVersion = "8.0";
toolsVersion = "26.1.1";
platformToolsVersion = "30.0.5";
buildToolsVersions = [ "30.0.3" ];
@@ -43,10 +42,7 @@ exceptions are the tools, platform-tools and build-tools sub packages.
The following parameters are supported:
* `cmdLineToolsVersion `, specifies the version of the `cmdline-tools` package to use
* `toolsVersion`, specifies the version of the `tools` package. Notice `tools` is
obsolete, and currently only `26.1.1` is available, so there's not a lot of
options here, however, you can set it as `null` if you don't want it.
* `toolsVersion`, specifies the version of the tools package to use
* `platformsToolsVersion` specifies the version of the `platform-tools` plugin
* `buildToolsVersions` specifies the versions of the `build-tools` plugins to
use.
@@ -236,6 +232,7 @@ androidenv.emulateApp {
platformVersion = "24";
abiVersion = "armeabi-v7a"; # mips, x86, x86_64
systemImageType = "default";
useGoogleAPIs = false;
app = ./MyApp.apk;
package = "MyApp";
activity = "MainActivity";

View File

@@ -93,7 +93,7 @@ Practical steps:
- run `mix2nix > mix_deps.nix` in the upstream repo.
- pass `mixNixDeps = with pkgs; import ./mix_deps.nix { inherit lib beamPackages; };` as an argument to mixRelease.
If there are git dependencies.
If there are git depencencies.
- You'll need to fix the version artificially in mix.exs and regenerate the mix.lock with fixed version (on upstream). This will enable you to run `mix2nix > mix_deps.nix`.
- From the mix_deps.nix file, remove the dependencies that had git versions and pass them as an override to the import function.
@@ -115,7 +115,7 @@ If there are git dependencies.
owner = "elixir-libraries";
repo = "prometheus.ex";
rev = "a4e9beb3c1c479d14b352fd9d6dd7b1f6d7deee5";
hash = "sha256-U17LlN6aGUKUFnT4XyYXppRN+TvUBIBRHEUsfeIiGOw=";
sha256 = "1v0q4bi7sb253i8q016l7gwlv5562wk5zy3l2sa446csvsacnpjk";
};
# you can re-use the same beamDeps argument as generated
beamDeps = with final; [ prometheus ];
@@ -124,11 +124,11 @@ If there are git dependencies.
};
```
You will need to run the build process once to fix the hash to correspond to your new git src.
You will need to run the build process once to fix the sha256 to correspond to your new git src.
###### FOD {#fixed-output-derivation}
A fixed output derivation will download mix dependencies from the internet. To ensure reproducibility, a hash will be supplied. Note that mix is relatively reproducible. An FOD generating a different hash on each run hasn't been observed (as opposed to npm where the chances are relatively high). See [elixir_ls](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/beam-modules/elixir-ls/default.nix) for a usage example of FOD.
A fixed output derivation will download mix dependencies from the internet. To ensure reproducibility, a hash will be supplied. Note that mix is relatively reproducible. An FOD generating a different hash on each run hasn't been observed (as opposed to npm where the chances are relatively high). See [elixir_ls](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/beam-modules/elixir_ls.nix) for a usage example of FOD.
Practical steps
@@ -138,13 +138,13 @@ Practical steps
mixFodDeps = fetchMixDeps {
pname = "mix-deps-${pname}";
inherit src version;
hash = lib.fakeHash;
sha256 = lib.fakeSha256;
};
```
The first build will complain about the hash value, you can replace with the suggested value after that.
The first build will complain about the sha256 value, you can replace with the suggested value after that.
Note that if after you've replaced the value, nix suggests another hash, then mix is not fetching the dependencies reproducibly. An FOD will not work in that case and you will have to use mix2nix.
Note that if after you've replaced the value, nix suggests another sha256, then mix is not fetching the dependencies reproducibly. An FOD will not work in that case and you will have to use mix2nix.
##### mixRelease - example {#mix-release-example}
@@ -170,8 +170,7 @@ let
pname = "mix-deps-${pname}";
inherit src version;
# nix will complain and tell you the right value to replace this with
hash = lib.fakeHash;
mixEnv = ""; # default is "prod", when empty includes all dependencies, such as "dev", "test".
sha256 = lib.fakeSha256;
# if you have build time environment variables add them here
MY_ENV_VAR="my_value";
};
@@ -283,7 +282,7 @@ mkShell {
### Using an overlay
If you need to use an overlay to change some attributes of a derivation, e.g. if you need a bugfix from a version that is not yet available in nixpkgs, you can override attributes such as `version` (and the corresponding `hash`) and then use this overlay in your development environment:
If you need to use an overlay to change some attributes of a derivation, e.g. if you need a bugfix from a version that is not yet available in nixpkgs, you can override attributes such as `version` (and the corresponding `sha256`) and then use this overlay in your development environment:
#### `shell.nix`
@@ -292,7 +291,7 @@ let
elixir_1_13_1_overlay = (self: super: {
elixir_1_13 = super.elixir_1_13.override {
version = "1.13.1";
sha256 = "sha256-t0ic1LcC7EV3avWGdR7VbyX7pGDpnJSW1ZvwvQUPC3w=";
sha256 = "0z0b1w2vvw4vsnb99779c2jgn9bgslg7b1pmd9vlbv02nza9qj5p";
};
});
pkgs = import <nixpkgs> { overlays = [ elixir_1_13_1_overlay ]; };

View File

@@ -8,7 +8,7 @@ The Coq derivation is overridable through the `coq.override overrides`, where ov
* `customOCamlPackages` (optional, defaults to `null`, which lets Coq choose a version automatically), which can be set to any of the ocaml packages attribute of `ocaml-ng` (such as `ocaml-ng.ocamlPackages_4_10` which is the default for Coq 8.11 for example).
* `coq-version` (optional, defaults to the short version e.g. "8.10"), is a version number of the form "x.y" that indicates which Coq's version build behavior to mimic when using a source which is not a release. E.g. `coq.override { version = "d370a9d1328a4e1cdb9d02ee032f605a9d94ec7a"; coq-version = "8.10"; }`.
The associated package set can be obtained using `mkCoqPackages coq`, where `coq` is the derivation to use.
The associated package set can be optained using `mkCoqPackages coq`, where `coq` is the derivation to use.
## Coq packages attribute sets: `coqPackages` {#coq-packages-attribute-sets-coqpackages}
@@ -24,7 +24,7 @@ The recommended way of defining a derivation for a Coq library, is to use the `c
* if it is a string of the form `"#N"`, and the domain is github, then it tries to download the current head of the pull request `#N` from github,
* `defaultVersion` (optional). Coq libraries may be compatible with some specific versions of Coq only. The `defaultVersion` attribute is used when no `version` is provided (or if `version = null`) to select the version of the library to use by default, depending on the context. This selection will mainly depend on a `coq` version number but also possibly on other packages versions (e.g. `mathcomp`). If its value ends up to be `null`, the package is marked for removal in end-user `coqPackages` attribute set.
* `release` (optional, defaults to `{}`), lists all the known releases of the library and for each of them provides an attribute set with at least a `sha256` attribute (you may put the empty string `""` in order to automatically insert a fake sha256, this will trigger an error which will allow you to find the correct sha256), each attribute set of the list of releases also takes optional overloading arguments for the fetcher as below (i.e.`domain`, `owner`, `repo`, `rev` assuming the default fetcher is used) and optional overrides for the result of the fetcher (i.e. `version` and `src`).
* `fetcher` (optional, defaults to a generic fetching mechanism supporting github or gitlab based infrastructures), is a function that takes at least an `owner`, a `repo`, a `rev`, and a `hash` and returns an attribute set with a `version` and `src`.
* `fetcher` (optional, defaults to a generic fetching mechanism supporting github or gitlab based infrastructures), is a function that takes at least an `owner`, a `repo`, a `rev`, and a `sha256` and returns an attribute set with a `version` and `src`.
* `repo` (optional, defaults to the value of `pname`),
* `owner` (optional, defaults to `"coq-community"`).
* `domain` (optional, defaults to `"github.com"`), domains including the strings `"github"` or `"gitlab"` in their names are automatically supported, otherwise, one must change the `fetcher` argument to support them (cf `pkgs/development/coq-modules/heq/default.nix` for an example),

View File

@@ -27,7 +27,7 @@ crystal.buildCrystalPackage rec {
owner = "mint-lang";
repo = "mint";
rev = version;
hash = "sha256-dFN9l5fgrM/TtOPqlQvUYgixE4KPr629aBmkwdDoq28=";
sha256 = "0vxbx38c390rd2ysvbwgh89v2232sh5rbsp3nk9wzb70jybpslvl";
};
# Insert the path to your shards.nix file here
@@ -62,7 +62,7 @@ crystal.buildCrystalPackage rec {
owner = "mint-lang";
repo = "mint";
rev = version;
hash = "sha256-dFN9l5fgrM/TtOPqlQvUYgixE4KPr629aBmkwdDoq28=";
sha256 = "0vxbx38c390rd2ysvbwgh89v2232sh5rbsp3nk9wzb70jybpslvl";
};
shardsFile = ./shards.nix;

View File

@@ -32,22 +32,3 @@ mypkg = let
}});
in callPackage { inherit cudaPackages; };
```
The CUDA NVCC compiler requires flags to determine which hardware you
want to target for in terms of SASS (real hardware) or PTX (JIT kernels).
Nixpkgs tries to target support real architecture defaults based on the
CUDA toolkit version with PTX support for future hardware. Experienced
users may optimize this configuration for a variety of reasons such as
reducing binary size and compile time, supporting legacy hardware, or
optimizing for specific hardware.
You may provide capabilities to add support or reduce binary size through
`config` using `cudaCapabilities = [ "6.0" "7.0" ];` and
`cudaForwardCompat = true;` if you want PTX support for future hardware.
Please consult [GPUs supported](https://en.wikipedia.org/wiki/CUDA#GPUs_supported)
for your specific card(s).
Library maintainers should consult [NVCC Docs](https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/)
and release notes for their software package.

View File

@@ -1,93 +0,0 @@
# Cue (Cuelang) {#cuelang}
[Cuelang](https://cuelang.org/) is a language to:
- describe schemas and validate backward-compatibility
- generate code and schemas in various formats (e.g. JSON Schema, OpenAPI)
- do configuration akin to [Dhall Lang](https://dhall-lang.org/)
- perform data validation
## Cuelang schema quick start
Cuelang schemas are similar to JSON, here is a quick cheatsheet:
- Default types includes: `null`, `string`, `bool`, `bytes`, `number`, `int`, `float`, lists as `[...T]` where `T` is a type.
- All structures, defined by: `myStructName: { <fields> }` are **open** -- they accept fields which are not specified.
- Closed structures can be built by doing `myStructName: close({ <fields> })` -- they are strict in what they accept.
- `#X` are **definitions**, referenced definitions are **recursively closed**, i.e. all its children structures are **closed**.
- `&` operator is the [unification operator](https://cuelang.org/docs/references/spec/#unification) (similar to a type-level merging operator), `|` is the [disjunction operator](https://cuelang.org/docs/references/spec/#disjunction) (similar to a type-level union operator).
- Values **are** types, i.e. `myStruct: { a: 3 }` is a valid type definition that only allows `3` as value.
- Read <https://cuelang.org/docs/concepts/logic/> to learn more about the semantics.
- Read <https://cuelang.org/docs/references/spec/> to learn about the language specification.
## `writeCueValidator`
Nixpkgs provides a `pkgs.writeCueValidator` helper, which will write a validation script based on the provided Cuelang schema.
Here is an example:
```
pkgs.writeCueValidator
(pkgs.writeText "schema.cue" ''
#Def1: {
field1: string
}
'')
{ document = "#Def1"; }
```
- The first parameter is the Cue schema file.
- The second parameter is an options parameter, currently, only: `document` can be passed.
`document` : match your input data against this fragment of structure or definition, e.g. you may use the same schema file but different documents based on the data you are validating.
Another example, given the following `validator.nix` :
```
{ pkgs ? import <nixpkgs> {} }:
let
genericValidator = version:
pkgs.writeCueValidator
(pkgs.writeText "schema.cue" ''
#Version1: {
field1: string
}
#Version2: #Version1 & {
field1: "unused"
}''
)
{ document = "#Version${toString version}"; };
in
{
validateV1 = genericValidator 1;
validateV2 = genericValidator 2;
}
```
The result is a script that will validate the file you pass as the first argument against the schema you provided `writeCueValidator`.
It can be any format that `cue vet` supports, i.e. YAML or JSON for example.
Here is an example, named `example.json`, given the following JSON:
```
{ "field1": "abc" }
```
You can run the result script (named `validate`) as the following:
```console
$ nix-build validator.nix
$ ./result example.json
$ ./result-2 example.json
field1: conflicting values "unused" and "abc":
./example.json:1:13
../../../../../../nix/store/v64dzx3vr3glpk0cq4hzmh450lrwh6sg-schema.cue:5:11
$ sed -i 's/"abc"/3/' example.json
$ ./result example.json
field1: conflicting values 3 and string (mismatched types int and string):
./example.json:1:13
../../../../../../nix/store/v64dzx3vr3glpk0cq4hzmh450lrwh6sg-schema.cue:5:11
```
**Known limitations**
* The script will enforce **concrete** values and will not accept lossy transformations (strictness). You can add these options if you need them.

View File

@@ -91,7 +91,7 @@ buildDhallPackage {
let
nixpkgs = builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/94b2848559b12a8ed1fe433084686b2a81123c99.tar.gz";
sha256 = "sha256-B4Q3c6IvTLg3Q92qYa8y+i4uTaphtFdjp+Ir3QQjdN0=";
sha256 = "1pbl4c2dsaz2lximgd31m96jwbps6apn3anx8cvvhk1gl9rkg107";
};
dhallOverlay = self: super: {
@@ -295,7 +295,7 @@ terms of `buildDhallPackage` that accepts the following arguments:
* `document`: Set to `true` to generate documentation for the package
Additionally, `buildDhallGitHubPackage` accepts the same arguments as
`fetchFromGitHub`, such as `hash` or `fetchSubmodules`.
`fetchFromGitHub`, such as `sha256` or `fetchSubmodules`.
## `dhall-to-nixpkgs` {#ssec-dhall-dhall-to-nixpkgs}
@@ -316,7 +316,7 @@ $ dhall-to-nixpkgs github https://github.com/Gabriel439/dhall-semver.git
repo = "dhall-semver";
rev = "2d44ae605302ce5dc6c657a1216887fbb96392a4";
fetchSubmodules = false;
hash = "sha256-n0nQtswVapWi/x7or0O3MEYmAkt/a1uvlOtnje6GGnk=";
sha256 = "0y8shvp8srzbjjpmnsvz9c12ciihnx1szs0yzyi9ashmrjvd0jcz";
directory = "";
file = "package.dhall";
source = false;

View File

@@ -28,13 +28,13 @@ mkShell {
packages = [
(with dotnetCorePackages; combinePackages [
sdk_3_1
sdk_6_0
sdk_5_0
])
];
}
```
This will produce a dotnet installation that has the dotnet 3.1 6.0 sdk. The first sdk listed will have it's cli utility present in the resulting environment. Example info output:
This will produce a dotnet installation that has the dotnet 3.1, 3.0, and 2.1 sdk. The first sdk listed will have it's cli utility present in the resulting environment. Example info output:
```ShellSession
$ dotnet --info
@@ -120,7 +120,8 @@ in buildDotnetModule rec {
projectReferences = [ referencedProject ]; # `referencedProject` must contain `nupkg` in the folder structure.
dotnet-sdk = dotnetCorePackages.sdk_3_1;
dotnet-runtime = dotnetCorePackages.net_6_0;
dotnet-runtime = dotnetCorePackages.net_5_0;
dotnetFlags = [ "--runtime linux-x64" ];
executables = [ "foo" ]; # This wraps "$out/lib/$pname/foo" to `$out/bin/foo`.
executables = []; # Don't install any executables.

View File

@@ -121,7 +121,7 @@ This `xmlmirror` example features a emscriptenPackage which is defined completel
src = pkgs.fetchgit {
url = "https://gitlab.com/odfplugfest/xmlmirror.git";
rev = "4fd7e86f7c9526b8f4c1733e5c8b45175860a8fd";
hash = "sha256-i+QgY+5PYVg5pwhzcDnkfXAznBg3e8sWH2jZtixuWsk=";
sha256 = "1jasdqnbdnb83wbcnyrp32f36w3xwhwp0wq8lwwmhqagxrij1r4b";
};
configurePhase = ''

View File

@@ -34,7 +34,7 @@ To allow software to use various virtual file systems, `gvfs` package can be als
### GdkPixbuf loaders {#ssec-gnome-gdk-pixbuf-loaders}
GTK applications typically use [GdkPixbuf](https://gitlab.gnome.org/GNOME/gdk-pixbuf/) to load images. But `gdk-pixbuf` package only supports basic bitmap formats like JPEG, PNG or TIFF, requiring to use third-party loader modules for other formats. This is especially painful since GTK itself includes SVG icons, which cannot be rendered without a loader provided by `librsvg`.
GTK applications typically use [GdkPixbuf](https://developer.gnome.org/gdk-pixbuf/stable/) to load images. But `gdk-pixbuf` package only supports basic bitmap formats like JPEG, PNG or TIFF, requiring to use third-party loader modules for other formats. This is especially painful since GTK itself includes SVG icons, which cannot be rendered without a loader provided by `librsvg`.
Unlike other libraries mentioned in this section, GdkPixbuf only supports a single value in its controlling environment variable `GDK_PIXBUF_MODULE_FILE`. It is supposed to point to a cache file containing information about the available loaders. Each loader package will contain a `lib/gdk-pixbuf-2.0/2.10.0/loaders.cache` file describing the default loaders in `gdk-pixbuf` package plus the loader contained in the package itself. If you want to use multiple third-party loaders, you will need to create your own cache file manually. Fortunately, this is pretty rare as [not many loaders exist](https://gitlab.gnome.org/federico/gdk-pixbuf-survey/blob/master/src/modules.md).
@@ -70,7 +70,7 @@ Also make sure that `icon-theme.cache` is installed for each theme provided by t
### GTK Themes {#ssec-gnome-themes}
Previously, a GTK theme needed to be in `XDG_DATA_DIRS`. This is no longer necessary for most programs since GTK incorporated Adwaita theme. Some programs (for example, those designed for [elementary HIG](https://docs.elementary.io/hig)) might require a special theme like `pantheon.elementary-gtk-theme`.
Previously, a GTK theme needed to be in `XDG_DATA_DIRS`. This is no longer necessary for most programs since GTK incorporated Adwaita theme. Some programs (for example, those designed for [elementary HIG](https://elementary.io/docs/human-interface-guidelines#human-interface-guidelines)) might require a special theme like `pantheon.elementary-gtk-theme`.
### GObject introspection typelibs {#ssec-gnome-typelibs}

View File

@@ -11,14 +11,7 @@ The function `buildGoModule` builds Go programs managed with Go modules. It buil
In the following is an example expression using `buildGoModule`, the following arguments are of special significance to the function:
- `vendorHash`: is the hash of the output of the intermediate fetcher derivation.
`vendorHash` can also be set to `null`.
In that case, rather than fetching the dependencies and vendoring them, the dependencies vendored in the source repo will be used.
To avoid updating this field when dependencies change, run `go mod vendor` in your source repo and set `vendorHash = null;`
To obtain the actual hash, set `vendorHash = lib.fakeSha256;` and run the build ([more details here](#sec-source-hashes)).
- `vendorHash`: is the hash of the output of the intermediate fetcher derivation. `vendorHash` can also take `null` as an input. When `null` is used as a value, rather than fetching the dependencies and vendoring them, we use the vendoring included within the source repo. If you'd like to not have to update this field on dependency changes, run `go mod vendor` in your source repo and set `vendorHash = null;`
- `proxyVendor`: Fetches (go mod download) and proxies the vendor directory. This is useful if your code depends on c code and go mod tidy does not include the needed sources to build or if any dependency has case-insensitive conflicts which will produce platform dependant `vendorHash` checksums.
```nix
@@ -30,7 +23,7 @@ pet = buildGoModule rec {
owner = "knqyf263";
repo = "pet";
rev = "v${version}";
hash = "sha256-Gjw1dRrgM8D3G7v6WIM2+50r4HmTXvx0Xxme2fH9TlQ=";
sha256 = "0m2fzpqxk7hrbxsgqplkg7h2p7gv6s1miymv3gvw0cz039skag0s";
};
vendorHash = "sha256-ciBIR+a1oaYH+H1PcC8cD8ncfJczk1IiJ8iYNM+R6aA=";
@@ -66,7 +59,7 @@ deis = buildGoPackage rec {
owner = "deis";
repo = "deis";
rev = "v${version}";
hash = "sha256-XCPD4LNWtAd8uz7zyCLRfT8rzxycIUmTACjU03GnaeM=";
sha256 = "1qv9lxqx7m18029lj8cw3k7jngvxs4iciwrypdy0gd2nnghc68sw";
};
goDeps = ./deps.nix;
@@ -83,11 +76,11 @@ The `goDeps` attribute can be imported from a separate `nix` file that defines w
goPackagePath = "gopkg.in/yaml.v2";
fetch = {
# `fetch type` that needs to be used to get package source.
# If `git` is used there should be `url`, `rev` and `hash` defined next to it.
# If `git` is used there should be `url`, `rev` and `sha256` defined next to it.
type = "git";
url = "https://gopkg.in/yaml.v2";
rev = "a83829b6f1293c91addabc89d0571c246397bbf4";
hash = "sha256-EMrdy0M0tNuOcITaTAmT5/dPSKPXwHDKCXFpkGbVjdQ=";
sha256 = "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh";
};
}
{
@@ -96,7 +89,7 @@ The `goDeps` attribute can be imported from a separate `nix` file that defines w
type = "git";
url = "https://github.com/docopt/docopt-go";
rev = "784ddc588536785e7299f7272f39101f7faccc3f";
hash = "sha256-Uo89zjE+v3R7zzOq/gbQOHj3SMYt2W1nDHS7RCUin3M=";
sha256 = "0wwz48jl9fvl1iknvn9dqr4gfy1qs03gxaikrxxp9gry6773v3sj";
};
}
]

File diff suppressed because it is too large Load Diff

View File

@@ -4,10 +4,10 @@
### Installation without packages {#installation-without-packages}
You can install `hy` via nix-env or by adding it to `configuration.nix` by referring to it as a `hy` attribute. This kind of installation adds `hy` to your environment and it successfully works with `python3`.
You can install `hy` via nix-env or by adding it to `configuration.nix` by reffering to it as a `hy` attribute. This kind of installation adds `hy` to your environment and it succesfully works with `python3`.
::: {.caution}
Packages that are installed with your python derivation, are not accessible by `hy` this way.
Packages that are installed with your python derivation, are not accesible by `hy` this way.
:::
### Installation with packages {#installation-with-packages}

View File

@@ -90,7 +90,7 @@ build-idris-package {
owner = "Heather";
repo = "Idris.Yaml";
rev = "5afa51ffc839844862b8316faba3bafa15656db4";
hash = "sha256-h28F9EEPuvab6zrfeE+0k1XGQJGwINnsJEG8yjWIl7w=";
sha256 = "1g4pi0swmg214kndj85hj50ccmckni7piprsxfdzdfhg87s0avw7";
};
meta = with lib; {

View File

@@ -3,7 +3,7 @@
xml:id="chap-language-support">
<title>Languages and frameworks</title>
<para>
The <link linkend="chap-stdenv">standard build environment</link> makes it easy to build typical Autotools-based packages with very little code. Any other kind of package can be accommodated by overriding the appropriate phases of <literal>stdenv</literal>. However, there are specialised functions in Nixpkgs to easily build packages for other programming languages, such as Perl or Haskell. These are described in this chapter.
The <link linkend="chap-stdenv">standard build environment</link> makes it easy to build typical Autotools-based packages with very little code. Any other kind of package can be accomodated by overriding the appropriate phases of <literal>stdenv</literal>. However, there are specialised functions in Nixpkgs to easily build packages for other programming languages, such as Perl or Haskell. These are described in this chapter.
</para>
<xi:include href="agda.section.xml" />
<xi:include href="android.section.xml" />
@@ -13,7 +13,6 @@
<xi:include href="coq.section.xml" />
<xi:include href="crystal.section.xml" />
<xi:include href="cuda.section.xml" />
<xi:include href="cuelang.section.xml" />
<xi:include href="dhall.section.xml" />
<xi:include href="dotnet.section.xml" />
<xi:include href="emscripten.section.xml" />
@@ -32,13 +31,11 @@
<xi:include href="octave.section.xml" />
<xi:include href="perl.section.xml" />
<xi:include href="php.section.xml" />
<xi:include href="pkg-config.section.xml" />
<xi:include href="python.section.xml" />
<xi:include href="qt.section.xml" />
<xi:include href="r.section.xml" />
<xi:include href="ruby.section.xml" />
<xi:include href="rust.section.xml" />
<xi:include href="swift.section.xml" />
<xi:include href="texlive.section.xml" />
<xi:include href="titanium.section.xml" />
<xi:include href="vim.section.xml" />

View File

@@ -175,10 +175,9 @@ buildNpmPackage rec {
hash = "sha256-BR+ZGkBBfd0dSQqAvujsbgsEPFYw/ThrylxUbOksYxM=";
};
npmDepsHash = "sha256-tuEfyePwlOy2/mOPdXbqJskO6IowvAP4DWg8xSZwbJw=";
patches = [ ./remove-prepack-script.patch ];
# The prepack script runs the build script, which we'd rather do in the build phase.
npmPackFlags = [ "--ignore-scripts" ];
npmDepsHash = "sha256-tuEfyePwlOy2/mOPdXbqJskO6IowvAP4DWg8xSZwbJw=";
NODE_OPTIONS = "--openssl-legacy-provider";
@@ -243,7 +242,7 @@ If the downloaded files contain the `package.json` and `yarn.lock` files they ca
```nix
offlineCache = fetchYarnDeps {
yarnLock = src + "/yarn.lock";
hash = "....";
sha256 = "....";
};
```
@@ -331,16 +330,13 @@ mkYarnPackage rec {
- The `echo 9` steps comes from this answer: <https://stackoverflow.com/a/49139496>
- Exporting the headers in `npm_config_nodedir` comes from this issue: <https://github.com/nodejs/node-gyp/issues/1191#issuecomment-301243919>
## Outside Nixpkgs {#javascript-outside-nixpkgs}
## Outside of nixpkgs {#javascript-outside-nixpkgs}
There are some other tools available, which are written in the Nix language.
These that can't be used inside Nixpkgs because they require [Import From Derivation](#ssec-import-from-derivation), which is not allowed in Nixpkgs.
If you are packaging something outside Nixpkgs, consider the following:
There are some other options available that can't be used inside nixpkgs. Those other options are written in Nix. Importing them in nixpkgs will require moving the source code into nixpkgs. Using [Import From Derivation](https://nixos.wiki/wiki/Import_From_Derivation) is not allowed in Hydra at present. If you are packaging something outside nixpkgs, those can be considered
### npmlock2nix {#javascript-npmlock2nix}
[npmlock2nix](https://github.com/nix-community/npmlock2nix) aims at building `node_modules` without code generation. It hasn't reached v1 yet, the API might be subject to change.
[npmlock2nix](https://github.com/nix-community/npmlock2nix) aims at building node_modules without code generation. It hasn't reached v1 yet, the API might be subject to change.
#### Pitfalls {#javascript-npmlock2nix-pitfalls}
@@ -348,7 +344,7 @@ There are some [problems with npm v7](https://github.com/tweag/npmlock2nix/issue
### nix-npm-buildpackage {#javascript-nix-npm-buildpackage}
[nix-npm-buildpackage](https://github.com/serokell/nix-npm-buildpackage) aims at building `node_modules` without code generation. It hasn't reached v1 yet, the API might change. It supports both `package-lock.json` and yarn.lock.
[nix-npm-buildpackage](https://github.com/serokell/nix-npm-buildpackage) aims at building node_modules without code generation. It hasn't reached v1 yet, the API might change. It supports both package-lock.json and yarn.lock.
#### Pitfalls {#javascript-nix-npm-buildpackage-pitfalls}

View File

@@ -183,7 +183,7 @@ luaposix = buildLuarocksPackage {
src = fetchurl {
url = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/luaposix-34.0.4-1.src.rock";
hash = "sha256-4mLJG8n4m6y4Fqd0meUDfsOb9RHSR0qa/KD5KCwrNXs=";
sha256 = "0yrm5cn2iyd0zjd4liyj27srphvy0gjrjx572swar6zqr4dwjqp2";
};
disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
propagatedBuildInputs = [ bit32 lua std_normalize ];

View File

@@ -25,7 +25,7 @@ nimPackages.buildNimPackage rec {
src = fetchurl {
url = "https://git.sr.ht/~ehmry/hottext/archive/v${version}.tar.gz";
hash = "sha256-hIUofi81zowSMbt1lUsxCnVzfJGN3FEiTtN8CEFpwzY=";
sha256 = "sha256-hIUofi81zowSMbt1lUsxCnVzfJGN3FEiTtN8CEFpwzY=";
};
buildInputs = with nimPackages; [
@@ -65,7 +65,7 @@ buildNimPackage rec {
version = "2.0.4";
src = fetchNimble {
inherit pname version;
hash = "sha256-qDtVSnf+7rTq36WAxgsUZ8XoUk4sKwHyt8EJcY5WP+o=";
hash = "sha256-Vtcj8goI4zZPQs2TbFoBFlcR5UqDtOldaXSH/+/xULk=";
};
propagatedBuildInputs = [ SDL2 ];
}

View File

@@ -79,7 +79,7 @@ buildDunePackage rec {
owner = "inhabitedtype";
repo = pname;
rev = version;
hash = "sha256-MK8o+iPGANEhrrTc1Kz9LBilx2bDPQt7Pp5P2libucI=";
sha256 = "1hmrkdcdlkwy7rxhngf3cv3sa61cznnd9p5lmqhx20664gx2ibrh";
};
checkInputs = [ alcotest ppx_let ];
@@ -110,7 +110,7 @@ buildDunePackage rec {
src = fetchurl {
url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
hash = "sha256-d5/3KUBAWRj8tntr4RkJ74KWW7wvn/B/m1nx0npnzyc=";
sha256 = "09ygcxxd5warkdzz17rgpidrd0pg14cy2svvnvy1hna080lzg7vp";
};
meta = with lib; {
@@ -129,8 +129,3 @@ 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
behavior.

View File

@@ -39,7 +39,7 @@ ClassC3 = buildPerlPackage rec {
version = "0.21";
src = fetchurl {
url = "mirror://cpan/authors/id/F/FL/FLORA/${pname}-${version}.tar.gz";
hash = "sha256-/5GE5xHT0uYGOQxroqj6LMU7CtKn2s6vMVoSXxL4iK4=";
sha256 = "1bl8z095y4js66pwxnm7s853pi9czala4sqc743fdlnk27kq94gz";
};
};
```
@@ -78,7 +78,7 @@ buildPerlPackage rec {
src = fetchurl {
url = "mirror://cpan/authors/id/P/PM/PMQS/${pname}-${version}.tar.gz";
hash = "sha256-4Y+HGgGQqcOfdiKcFIyMrWBEccVNVAMDBWZlFTMorh8=";
sha256 = "07xf50riarb60l1h6m2dqmql8q5dij619712fsgw7ach04d8g3z1";
};
preConfigure = ''
@@ -96,7 +96,7 @@ ClassC3Componentised = buildPerlPackage rec {
version = "1.0004";
src = fetchurl {
url = "mirror://cpan/authors/id/A/AS/ASH/${pname}-${version}.tar.gz";
hash = "sha256-ASO9rV/FzJYZ0BH572Fxm2ZrFLMZLFATJng1NuU4FHc=";
sha256 = "0xql73jkcdbq4q9m0b0rnca6nrlvf5hyzy8is0crdk65bynvs8q1";
};
propagatedBuildInputs = [
ClassC3 ClassInspector TestException MROCompat
@@ -111,11 +111,11 @@ On Darwin, if a script has too many `-Idir` flags in its first line (its “sheb
ImageExifTool = buildPerlPackage {
pname = "Image-ExifTool";
version = "12.50";
version = "11.50";
src = fetchurl {
url = "https://exiftool.org/${pname}-${version}.tar.gz";
hash = "sha256-vOhB/FwQMC8PPvdnjDvxRpU6jAZcC6GMQfc0AH4uwKg=";
url = "https://www.sno.phy.queensu.ca/~phil/exiftool/${pname}-${version}.tar.gz";
sha256 = "0d8v48y94z8maxkmw1rv7v9m0jg2dc8xbp581njb6yhr7abwqdv3";
};
buildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
@@ -146,7 +146,7 @@ $ nix-generate-from-cpan XML::Simple
version = "2.22";
src = fetchurl {
url = "mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-2.22.tar.gz";
hash = "sha256-uUUO8i6pZErl1q2ghtxDAPoQW+BQogMOvU79KMGY60k=";
sha256 = "b9450ef22ea9644ae5d6ada086dc4300fa105be050a2030ebd4efd28c198eb49";
};
propagatedBuildInputs = [ XMLNamespaceSupport XMLSAX XMLSAXExpat ];
meta = {

View File

@@ -1,51 +0,0 @@
# pkg-config {#sec-pkg-config}
*pkg-config* is a unified interface for declaring and querying built C/C++ libraries.
Nixpkgs provides a couple of facilities for working with this tool.
## Writing packages providing pkg-config modules
Packages should set `meta.pkgConfigModules` with the list of package config modules they provide.
They should also use `testers.testMetaPkgConfig` to check that the final built package matches that list.
Additionally, the [`validatePkgConfig` setup hook](https://nixos.org/manual/nixpkgs/stable/#validatepkgconfig), will do extra checks on to-be-installed pkg-config modules.
A good example of all these things is zlib:
```
{ pkg-config, testers, ... }:
stdenv.mkDerivation (finalAttrs: {
...
nativeBuildInputs = [ pkg-config validatePkgConfig ];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
...
pkgConfigModules = [ "zlib" ];
};
})
```
## Accessing packages via pkg-config module name
### Within Nixpkgs
A [setup hook](#setup-hook-pkg-config) is bundled in the `pkg-config` package to bring a derivation's declared build inputs into the environment.
This will populate environment variables like `PKG_CONFIG_PATH`, `PKG_CONFIG_PATH_FOR_BUILD`, and `PKG_CONFIG_PATH_HOST` based on:
- how `pkg-config` itself is depended upon
- how other dependencies are depended upon
For more details see the section on [specifying dependencies in general](#ssec-stdenv-dependencies).
Normal pkg-config commands to look up dependencies by name will then work with those environment variables defined by the hook.
### Externally
The `defaultPkgConfigPackages` package set is a set of aliases, named after the modules they provide.
This is meant to be used by language-to-nix integrations.
Hand-written packages should use the normal Nixpkgs attribute name instead.

View File

@@ -58,7 +58,7 @@ with a nix-shell that has `numpy` and `toolz` in Python 3.9; then we will create
a re-usable environment in a single-file Python script; then we will create a
full Python environment for development with this same environment.
Philosophically, this should be familiar to users who are used to a `venv` style
Philosphically, this should be familiar to users who are used to a `venv` style
of development: individual projects create their own Python environments without
impacting the global environment or each other.
@@ -356,7 +356,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
hash = "sha256-CP3V73yWSArRHBLUct4hrNMjWZlvaaUlkpm1QP66RWA=";
sha256 = "08fdd5ef7c96480ad11c12d472de21acd32359996f69a5259299b540feba4560";
};
doCheck = false;
@@ -401,7 +401,7 @@ with import <nixpkgs> {};
src = python39.pkgs.fetchPypi {
inherit pname version;
hash = "sha256-CP3V73yWSArRHBLUct4hrNMjWZlvaaUlkpm1QP66RWA=";
sha256 = "08fdd5ef7c96480ad11c12d472de21acd32359996f69a5259299b540feba4560";
};
doCheck = false;
@@ -436,7 +436,7 @@ arguments `buildInputs` and `propagatedBuildInputs` to specify dependencies. If
something is exclusively a build-time dependency, then the dependency should be
included in `buildInputs`, but if it is (also) a runtime dependency, then it
should be added to `propagatedBuildInputs`. Test dependencies are considered
build-time dependencies and passed to `nativeCheckInputs`.
build-time dependencies and passed to `checkInputs`.
The following example shows which arguments are given to `buildPythonPackage` in
order to build [`datashape`](https://github.com/blaze/datashape).
@@ -450,10 +450,10 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
hash = "sha256-FLLvdm1MllKrgTGC6Gb0k0deZeVYvtCCLji/B7uhong=";
sha256 = "14b2ef766d4c9652ab813182e866f493475e65e558bed0822e38bf07bba1a278";
};
nativeCheckInputs = [ pytest ];
checkInputs = [ pytest ];
propagatedBuildInputs = [ numpy multipledispatch python-dateutil ];
meta = with lib; {
@@ -466,7 +466,7 @@ buildPythonPackage rec {
```
We can see several runtime dependencies, `numpy`, `multipledispatch`, and
`python-dateutil`. Furthermore, we have one `nativeCheckInputs`, i.e. `pytest`. `pytest` is a
`python-dateutil`. Furthermore, we have one `checkInputs`, i.e. `pytest`. `pytest` is a
test runner and is only used during the `checkPhase` and is therefore not added
to `propagatedBuildInputs`.
@@ -484,7 +484,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
hash = "sha256-s9NiusRxFydHzaNRMjjxFcvWxfi45jGb9ql6eJJyQJk=";
sha256 = "16a0fa97hym9ysdk3rmqz32xdjqmy4w34ld3rm3jf5viqjx65lxk";
};
buildInputs = [ pkgs.libxml2 pkgs.libxslt ];
@@ -517,7 +517,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
hash = "sha256-9ru2r6kwhUCaskiFoaPNuJCfCVoUL01J40byvRt4kHQ=";
sha256 = "f6bbb6afa93085409ab24885a1a3cdb8909f095a142f4d49e346f2bd1b789074";
};
buildInputs = [ pkgs.fftw pkgs.fftwFloat pkgs.fftwLongDouble];
@@ -569,14 +569,8 @@ Pytest is the most common test runner for python repositories. A trivial
test run would be:
```
nativeCheckInputs = [ pytest ];
checkPhase = ''
runHook preCheck
pytest
runHook postCheck
'';
checkInputs = [ pytest ];
checkPhase = "pytest";
```
However, many repositories' test suites do not translate well to nix's build
@@ -585,14 +579,10 @@ sandbox, and will generally need many tests to be disabled.
To filter tests using pytest, one can do the following:
```
nativeCheckInputs = [ pytest ];
checkInputs = [ pytest ];
# avoid tests which need additional data or touch network
checkPhase = ''
runHook preCheck
pytest tests/ --ignore=tests/integration -k 'not download and not update'
runHook postCheck
'';
```
@@ -615,10 +605,10 @@ been removed, in this case, it's recommended to use `pytestCheckHook`.
`test` command for a `checkPhase` which runs `pytest`. This is also beneficial
when a package may need many items disabled to run the test suite.
Using the example above, the analogous `pytestCheckHook` usage would be:
Using the example above, the analagous `pytestCheckHook` usage would be:
```
nativeCheckInputs = [ pytestCheckHook ];
checkInputs = [ pytestCheckHook ];
# requires additional data
pytestFlagsArray = [ "tests/" "--ignore=tests/integration" ];
@@ -634,7 +624,7 @@ Using the example above, the analogous `pytestCheckHook` usage would be:
];
```
This is especially useful when tests need to be conditionally disabled,
This is expecially useful when tests need to be conditionally disabled,
for example:
```
@@ -744,17 +734,17 @@ work in any of the formats supported by `buildPythonPackage` currently,
with the exception of `other` (see `format` in
[`buildPythonPackage` parameters](#buildpythonpackage-parameters) for more details).
#### Using unittestCheckHook {#using-unittestcheckhook}
### Using unittestCheckHook {#using-unittestcheckhook}
`unittestCheckHook` is a hook which will substitute the setuptools `test` command for a `checkPhase` which runs `python -m unittest discover`:
```
nativeCheckInputs = [ unittestCheckHook ];
checkInputs = [ unittestCheckHook ];
unittestFlagsArray = [ "-s" "tests" "-v" ];
unittestFlags = [ "-s" "tests" "-v" ];
```
#### Using sphinxHook {#using-sphinxhook}
##### Using sphinxHook {#using-sphinxhook}
The `sphinxHook` is a helpful tool to build documentation and manpages
using the popular Sphinx documentation generator.
@@ -865,7 +855,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
hash = "sha256-CP3V73yWSArRHBLUct4hrNMjWZlvaaUlkpm1QP66RWA=";
sha256 = "08fdd5ef7c96480ad11c12d472de21acd32359996f69a5259299b540feba4560";
};
meta = with lib; {
@@ -998,7 +988,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
hash = "sha256-z4Q23FnYaVNG/NOrKW3kZCXsqwDWQJbOvnn7Ueyy65M=";
sha256 = "cf8436dc59d8695346fcd3ab296de46425ecab00d64096cebe79fb51ecb2eb93";
};
postPatch = ''
@@ -1006,7 +996,7 @@ buildPythonPackage rec {
rm testing/test_argcomplete.py
'';
nativeCheckInputs = [ hypothesis ];
checkInputs = [ hypothesis ];
nativeBuildInputs = [ setuptools-scm ];
propagatedBuildInputs = [ attrs py setuptools six pluggy ];
@@ -1028,7 +1018,7 @@ The `buildPythonPackage` mainly does four things:
* In the `installCheck` phase, `${python.interpreter} setup.py test` is run.
By default tests are run because `doCheck = true`. Test dependencies, like
e.g. the test runner, should be added to `nativeCheckInputs`.
e.g. the test runner, should be added to `checkInputs`.
By default `meta.platforms` is set to the same value
as the interpreter unless overridden otherwise.
@@ -1082,7 +1072,7 @@ because their behaviour is different:
* `buildInputs ? []`: Build and/or run-time dependencies that need to be
compiled for the host machine. Typically non-Python libraries which are being
linked.
* `nativeCheckInputs ? []`: Dependencies needed for running the `checkPhase`. These
* `checkInputs ? []`: Dependencies needed for running the `checkPhase`. These
are added to `nativeBuildInputs` when `doCheck = true`. Items listed in
`tests_require` go here.
* `propagatedBuildInputs ? []`: Aside from propagating dependencies,
@@ -1108,7 +1098,7 @@ with import <nixpkgs> {};
src = super.fetchPypi {
pname = "pandas";
inherit version;
hash = "sha256-JQn+rtpy/OA2deLszSKEuxyttqBzcAil50H+JDHUdCE=";
sha256 = "08blshqj9zj1wyjhhw3kl2vas75vhhicvv72flvf1z3jvapgw295";
};
});
};
@@ -1168,7 +1158,7 @@ python3.pkgs.buildPythonApplication rec {
src = python3.pkgs.fetchPypi {
inherit pname version;
hash = "sha256-Pe229rT0aHwA98s+nTHQMEFKZPo/yw6sot8MivFDvAw=";
sha256 = "035w8gqql36zlan0xjrzz9j4lh9hs0qrsgnbyw07qs7lnkvbdv9x";
};
propagatedBuildInputs = with python3.pkgs; [ tornado python-daemon ];
@@ -1416,13 +1406,9 @@ example of such a situation is when `py.test` is used.
buildPythonPackage {
# ...
# assumes the tests are located in tests
nativeCheckInputs = [ pytest ];
checkInputs = [ pytest ];
checkPhase = ''
runHook preCheck
py.test -k 'not function_name and not other_function' tests
runHook postCheck
'';
}
```
@@ -1688,9 +1674,9 @@ If you need to change a package's attribute(s) from `configuration.nix` you coul
packageOverrides = python-self: python-super: {
twisted = python-super.twisted.overridePythonAttrs (oldAttrs: {
src = super.fetchPypi {
pname = "Twisted";
pname = "twisted";
version = "19.10.0";
hash = "sha256-c5S6fycq5yKnTz2Wnc9Zm8TvCTvDkgOHSKSQ8XJKUV0=";
sha256 = "7394ba7f272ae722a74f3d969dcf599bc4ef093bc392038748a490f1724a515d";
extension = "tar.bz2";
};
});
@@ -1726,9 +1712,9 @@ self: super: {
packageOverrides = python-self: python-super: {
twisted = python-super.twisted.overrideAttrs (oldAttrs: {
src = super.fetchPypi {
pname = "Twisted";
pname = "twisted";
version = "19.10.0";
hash = "sha256-c5S6fycq5yKnTz2Wnc9Zm8TvCTvDkgOHSKSQ8XJKUV0=";
sha256 = "7394ba7f272ae722a74f3d969dcf599bc4ef093bc392038748a490f1724a515d";
extension = "tar.bz2";
};
});
@@ -1768,7 +1754,7 @@ In a `setup.py` or `setup.cfg` it is common to declare dependencies:
* `setup_requires` corresponds to `nativeBuildInputs`
* `install_requires` corresponds to `propagatedBuildInputs`
* `tests_require` corresponds to `nativeCheckInputs`
* `tests_require` corresponds to `checkInputs`
## Contributing {#contributing}

View File

@@ -2,11 +2,14 @@
Writing Nix expressions for Qt libraries and applications is largely similar as for other C++ software.
This section assumes some knowledge of the latter.
There are two problems that the Nixpkgs Qt infrastructure addresses,
which are not shared by other C++ software:
The major caveat with Qt applications is that Qt uses a plugin system to load additional modules at runtime,
from a list of well-known locations. In Nixpkgs, we patch QtCore to instead use an environment variable,
and wrap Qt applications to set it to the right paths. This effectively makes the runtime dependencies
pure and explicit at build-time, at the cost of introducing an extra indirection.
1. There are usually multiple supported versions of Qt in Nixpkgs.
All of a package's dependencies must be built with the same version of Qt.
This is similar to the version constraints imposed on interpreted languages like Python.
2. Qt makes extensive use of runtime dependency detection.
Runtime dependencies are made into build dependencies through wrappers.
## Nix expression for a Qt package (default.nix) {#qt-default-nix}
@@ -92,3 +95,66 @@ stdenv.mkDerivation {
This means that scripts won't be automatically wrapped so you'll need to manually wrap them as previously mentioned.
An example of when you'd always need to do this is with Python applications that use PyQt.
:::
## Adding a library to Nixpkgs {#adding-a-library-to-nixpkgs}
Add Qt libraries to `qt5-packages.nix` to make them available for every
supported Qt version.
### Example adding a Qt library {#qt-library-all-packages-nix}
The following represents the contents of `qt5-packages.nix`.
```nix
{
# ...
mylib = callPackage ../path/to/mylib {};
# ...
}
```
Libraries are built with every available version of Qt.
Use the `meta.broken` attribute to disable the package for unsupported Qt versions:
```nix
{ stdenv, lib, qtbase }:
stdenv.mkDerivation {
# ...
# Disable this library with Qt < 5.9.0
meta.broken = lib.versionOlder qtbase.version "5.9.0";
}
```
## Adding an application to Nixpkgs {#adding-an-application-to-nixpkgs}
Add Qt applications to `qt5-packages.nix`. Add an alias to `all-packages.nix`
to select the Qt 5 version used for the application.
### Example adding a Qt application {#qt-application-all-packages-nix}
The following represents the contents of `qt5-packages.nix`.
```nix
{
# ...
myapp = callPackage ../path/to/myapp {};
# ...
}
```
The following represents the contents of `all-packages.nix`.
```nix
{
# ...
myapp = libsForQt5.myapp;
# ...
}
```

View File

@@ -30,10 +30,10 @@ rustPlatform.buildRustPackage rec {
owner = "BurntSushi";
repo = pname;
rev = version;
hash = "sha256-+s5RBC3XSgb8omTbUNLywZnP6jSxZBKSS1BmXOjRF8M=";
sha256 = "1hqps7l5qrjh9f914r5i6kmcz6f1yb951nv4lby0cjnp5l253kps";
};
cargoHash = "sha256-jtBw4ahSl88L0iuCXxQgZVm1EcboWRJMNtjxLVTtzts=";
cargoSha256 = "03wf9r2csi6jpa7v5sw5lpxkrk4wfzwmzx7k3991q3bdjzcwnnwp";
meta = with lib; {
description = "A fast line-oriented regex search tool, similar to ag and ack";
@@ -97,10 +97,10 @@ rustPlatform.buildRustPackage rec {
src = fetchCrate {
inherit pname version;
sha256 = "sha256-aDQA4A5mScX9or3Lyiv/5GyAehidnpKKE0grhbP1Ctc=";
sha256 = "1mqaynrqaas82f5957lx31x80v74zwmwmjxxlbywajb61vh00d38";
};
cargoHash = "sha256-tbrTbutUs5aPSV+yE0IBUZAAytgmZV7Eqxia7g+9zRs=";
cargoHash = "sha256-JmBZcDVYJaK1cK05cxx5BrnGWp4t8ca6FLUbvIot67s=";
cargoDepsName = pname;
# ...
@@ -186,23 +186,6 @@ added. To find the correct hash, you can first use `lib.fakeSha256` or
`lib.fakeHash` as a stub hash. Building the package (and thus the
vendored dependencies) will then inform you of the correct hash.
For usage outside nixpkgs, `allowBuiltinFetchGit` could be used to
avoid having to specify `outputHashes`. For example:
```nix
rustPlatform.buildRustPackage rec {
pname = "myproject";
version = "1.0.0";
cargoLock = {
lockFile = ./Cargo.lock;
allowBuiltinFetchGit = true;
};
# ...
}
```
### Cargo features {#cargo-features}
You can disable default features using `buildNoDefaultFeatures`, and
@@ -336,7 +319,7 @@ The above are just guidelines, and exceptions may be granted on a case-by-case b
However, please check if it's possible to disable a problematic subset of the
test suite and leave a comment explaining your reasoning.
This can be achieved with `--skip` in `checkFlags`:
This can be achived with `--skip` in `checkFlags`:
```nix
rustPlatform.buildRustPackage {
@@ -348,20 +331,6 @@ rustPlatform.buildRustPackage {
}
```
#### Using `cargo-nextest` {#using-cargo-nextest}
Tests can be run with [cargo-nextest](https://github.com/nextest-rs/nextest)
by setting `useNextest = true`. The same options still apply, but nextest
accepts a different set of arguments and the settings might need to be
adapted to be compatible with cargo-nextest.
```nix
rustPlatform.buildRustPackage {
/* ... */
useNextest = true;
}
```
#### Setting `test-threads` {#setting-test-threads}
`buildRustPackage` will use parallel test threads by default,
@@ -434,8 +403,8 @@ cargoDeps = rustPlatform.fetchCargoTarball {
```
The `src` attribute is required, as well as a hash specified through
one of the `hash` attribute. The following optional attributes can
also be used:
one of the `sha256` or `hash` attributes. The following optional
attributes can also be used:
* `name`: the name that is used for the dependencies tarball. If
`name` is not specified, then the name `cargo-deps` will be used.
@@ -505,9 +474,6 @@ you of the correct hash.
flags can be passed to the tests using `checkFlags` and
`checkFlagsArray`. By default, tests are run in parallel. This can
be disabled by setting `dontUseCargoParallelTests`.
* `cargoNextestHook`: run tests using
[cargo-nextest](https://github.com/nextest-rs/nextest). The same
options for `cargoCheckHook` also applies to `cargoNextestHook`.
* `cargoInstallHook`: install binaries and static/shared libraries
that were built using `cargoBuildHook`.
* `bindgenHook`: for crates which use `bindgen` as a build dependency, lets
@@ -548,7 +514,7 @@ buildPythonPackage rec {
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src sourceRoot;
name = "${pname}-${version}";
hash = "sha256-miW//pnOmww2i6SOGbkrAIdc/JMDT4FJLqdMFojZeoY=";
hash = "sha256-BoHIN/519Top1NUBjpB/oEMqi86Omt3zTQcXFWqrek0=";
};
sourceRoot = "source/bindings/python";
@@ -585,7 +551,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
hash = "sha256-xGDilsjLOnls3MfVbGKnj80KCUCczZxlis5PmHzpNcQ=";
sha256 = "1i1mx5y9hkyfi9jrrkcw804hmkcglxi6rmf7vin7jfnbr2bf4q64";
};
cargoDeps = rustPlatform.fetchCargoTarball {
@@ -625,7 +591,7 @@ buildPythonPackage rec {
owner = "Qiskit";
repo = "retworkx";
rev = version;
hash = "sha256-11n30ldg3y3y6qxg3hbj837pnbwjkqw3nxq6frds647mmmprrd20=";
sha256 = "11n30ldg3y3y6qxg3hbj837pnbwjkqw3nxq6frds647mmmprrd20";
};
cargoDeps = rustPlatform.fetchCargoTarball {
@@ -642,6 +608,227 @@ buildPythonPackage rec {
}
```
## `buildRustCrate`: Compiling Rust crates using Nix instead of Cargo {#compiling-rust-crates-using-nix-instead-of-cargo}
### Simple operation {#simple-operation}
When run, `cargo build` produces a file called `Cargo.lock`,
containing pinned versions of all dependencies. Nixpkgs contains a
tool called `carnix` (`nix-env -iA nixos.carnix`), which can be used
to turn a `Cargo.lock` into a Nix expression.
That Nix expression calls `rustc` directly (hence bypassing Cargo),
and can be used to compile a crate and all its dependencies. Here is
an example for a minimal `hello` crate:
```ShellSession
$ cargo new hello
$ cd hello
$ cargo build
Compiling hello v0.1.0 (file:///tmp/hello)
Finished dev [unoptimized + debuginfo] target(s) in 0.20 secs
$ carnix -o hello.nix --src ./. Cargo.lock --standalone
$ nix-build hello.nix -A hello_0_1_0
```
Now, the file produced by the call to `carnix`, called `hello.nix`, looks like:
```nix
# Generated by carnix 0.6.5: carnix -o hello.nix --src ./. Cargo.lock --standalone
{ stdenv, buildRustCrate, fetchgit }:
let kernel = stdenv.buildPlatform.parsed.kernel.name;
# ... (content skipped)
in
rec {
hello = f: hello_0_1_0 { features = hello_0_1_0_features { hello_0_1_0 = f; }; };
hello_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
crateName = "hello";
version = "0.1.0";
authors = [ "pe@pijul.org <pe@pijul.org>" ];
src = ./.;
inherit dependencies buildDependencies features;
};
hello_0_1_0 = { features?(hello_0_1_0_features {}) }: hello_0_1_0_ {};
hello_0_1_0_features = f: updateFeatures f (rec {
hello_0_1_0.default = (f.hello_0_1_0.default or true);
}) [ ];
}
```
In particular, note that the argument given as `--src` is copied
verbatim to the source. If we look at a more complicated
dependencies, for instance by adding a single line `libc="*"` to our
`Cargo.toml`, we first need to run `cargo build` to update the
`Cargo.lock`. Then, `carnix` needs to be run again, and produces the
following nix file:
```nix
# Generated by carnix 0.6.5: carnix -o hello.nix --src ./. Cargo.lock --standalone
{ stdenv, buildRustCrate, fetchgit }:
let kernel = stdenv.buildPlatform.parsed.kernel.name;
# ... (content skipped)
in
rec {
hello = f: hello_0_1_0 { features = hello_0_1_0_features { hello_0_1_0 = f; }; };
hello_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
crateName = "hello";
version = "0.1.0";
authors = [ "pe@pijul.org <pe@pijul.org>" ];
src = ./.;
inherit dependencies buildDependencies features;
};
libc_0_2_36_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
crateName = "libc";
version = "0.2.36";
authors = [ "The Rust Project Developers" ];
sha256 = "01633h4yfqm0s302fm0dlba469bx8y6cs4nqc8bqrmjqxfxn515l";
inherit dependencies buildDependencies features;
};
hello_0_1_0 = { features?(hello_0_1_0_features {}) }: hello_0_1_0_ {
dependencies = mapFeatures features ([ libc_0_2_36 ]);
};
hello_0_1_0_features = f: updateFeatures f (rec {
hello_0_1_0.default = (f.hello_0_1_0.default or true);
libc_0_2_36.default = true;
}) [ libc_0_2_36_features ];
libc_0_2_36 = { features?(libc_0_2_36_features {}) }: libc_0_2_36_ {
features = mkFeatures (features.libc_0_2_36 or {});
};
libc_0_2_36_features = f: updateFeatures f (rec {
libc_0_2_36.default = (f.libc_0_2_36.default or true);
libc_0_2_36.use_std =
(f.libc_0_2_36.use_std or false) ||
(f.libc_0_2_36.default or false) ||
(libc_0_2_36.default or false);
}) [];
}
```
Here, the `libc` crate has no `src` attribute, so `buildRustCrate`
will fetch it from [crates.io](https://crates.io). A `sha256`
attribute is still needed for Nix purity.
### Handling external dependencies {#handling-external-dependencies}
Some crates require external libraries. For crates from
[crates.io](https://crates.io), such libraries can be specified in
`defaultCrateOverrides` package in nixpkgs itself.
Starting from that file, one can add more overrides, to add features
or build inputs by overriding the hello crate in a separate file.
```nix
with import <nixpkgs> {};
((import ./hello.nix).hello {}).override {
crateOverrides = defaultCrateOverrides // {
hello = attrs: { buildInputs = [ openssl ]; };
};
}
```
Here, `crateOverrides` is expected to be a attribute set, where the
key is the crate name without version number and the value a function.
The function gets all attributes passed to `buildRustCrate` as first
argument and returns a set that contains all attribute that should be
overwritten.
For more complicated cases, such as when parts of the crate's
derivation depend on the crate's version, the `attrs` argument of
the override above can be read, as in the following example, which
patches the derivation:
```nix
with import <nixpkgs> {};
((import ./hello.nix).hello {}).override {
crateOverrides = defaultCrateOverrides // {
hello = attrs: lib.optionalAttrs (lib.versionAtLeast attrs.version "1.0") {
postPatch = ''
substituteInPlace lib/zoneinfo.rs \
--replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
'';
};
};
}
```
Another situation is when we want to override a nested
dependency. This actually works in the exact same way, since the
`crateOverrides` parameter is forwarded to the crate's
dependencies. For instance, to override the build inputs for crate
`libc` in the example above, where `libc` is a dependency of the main
crate, we could do:
```nix
with import <nixpkgs> {};
((import hello.nix).hello {}).override {
crateOverrides = defaultCrateOverrides // {
libc = attrs: { buildInputs = []; };
};
}
```
### Options and phases configuration {#options-and-phases-configuration}
Actually, the overrides introduced in the previous section are more
general. A number of other parameters can be overridden:
- The version of `rustc` used to compile the crate:
```nix
(hello {}).override { rust = pkgs.rust; };
```
- Whether to build in release mode or debug mode (release mode by
default):
```nix
(hello {}).override { release = false; };
```
- Whether to print the commands sent to `rustc` when building
(equivalent to `--verbose` in cargo:
```nix
(hello {}).override { verbose = false; };
```
- Extra arguments to be passed to `rustc`:
```nix
(hello {}).override { extraRustcOpts = "-Z debuginfo=2"; };
```
- Phases, just like in any other derivation, can be specified using
the following attributes: `preUnpack`, `postUnpack`, `prePatch`,
`patches`, `postPatch`, `preConfigure` (in the case of a Rust crate,
this is run before calling the "build" script), `postConfigure`
(after the "build" script),`preBuild`, `postBuild`, `preInstall` and
`postInstall`. As an example, here is how to create a new module
before running the build script:
```nix
(hello {}).override {
preConfigure = ''
echo "pub const PATH=\"${hi.out}\";" >> src/path.rs"
'';
};
```
### Features {#features}
One can also supply features switches. For example, if we want to
compile `diesel_cli` only with the `postgres` feature, and no default
features, we would write:
```nix
(callPackage ./diesel.nix {}).diesel {
default = false;
postgres = true;
}
```
Where `diesel.nix` is the file generated by Carnix, as explained above.
## Setting Up `nix-shell` {#setting-up-nix-shell}
Oftentimes you want to develop code from within `nix-shell`. Unfortunately
@@ -699,7 +886,7 @@ let src = fetchFromGitHub {
repo = "nixpkgs-mozilla";
# commit from: 2019-05-15
rev = "9f35c4b09fd44a77227e79ff0c1b4b6a69dff533";
hash = "sha256-18h0nvh55b5an4gmlgfbvwbyqj91bklf1zymis6lbdh75571qaz0=";
sha256 = "18h0nvh55b5an4gmlgfbvwbyqj91bklf1zymis6lbdh75571qaz0";
};
in
with import "${src.out}/rust-overlay.nix" pkgs pkgs;
@@ -790,7 +977,7 @@ rustPlatform.buildRustPackage rec {
owner = "BurntSushi";
repo = "ripgrep";
rev = version;
hash = "sha256-1hqps7l5qrjh9f914r5i6kmcz6f1yb951nv4lby0cjnp5l253kps=";
sha256 = "1hqps7l5qrjh9f914r5i6kmcz6f1yb951nv4lby0cjnp5l253kps";
};
cargoSha256 = "03wf9r2csi6jpa7v5sw5lpxkrk4wfzwmzx7k3991q3bdjzcwnnwp";

View File

@@ -1,176 +0,0 @@
# Swift {#swift}
The Swift compiler is provided by the `swift` package:
```sh
# Compile and link a simple executable.
nix-shell -p swift --run 'swiftc -' <<< 'print("Hello world!")'
# Run it!
./main
```
The `swift` package also provides the `swift` command, with some caveats:
- Swift Package Manager (SwiftPM) is packaged separately as `swiftpm`. If you
need functionality like `swift build`, `swift run`, `swift test`, you must
also add the `swiftpm` package to your closure.
- On Darwin, the `swift repl` command requires an Xcode installation. This is
because it uses the system LLDB debugserver, which has special entitlements.
## Module search paths {#ssec-swift-module-search-paths}
Like other toolchains in Nixpkgs, the Swift compiler executables are wrapped
to help Swift find your application's dependencies in the Nix store. These
wrappers scan the `buildInputs` of your package derivation for specific
directories where Swift modules are placed by convention, and automatically
add those directories to the Swift compiler search paths.
Swift follows different conventions depending on the platform. The wrappers
look for the following directories:
- On Darwin platforms: `lib/swift/macosx`
(If not targeting macOS, replace `macosx` with the Xcode platform name.)
- On other platforms: `lib/swift/linux/x86_64`
(Where `linux` and `x86_64` are from lowercase `uname -sm`.)
- For convenience, Nixpkgs also adds simply `lib/swift` to the search path.
This can save a bit of work packaging Swift modules, because many Nix builds
will produce output for just one target any way.
## Core libraries {#ssec-swift-core-libraries}
In addition to the standard library, the Swift toolchain contains some
additional 'core libraries' that, on Apple platforms, are normally distributed
as part of the OS or Xcode. These are packaged separately in Nixpkgs, and can
be found (for use in `buildInputs`) as:
- `swiftPackages.Dispatch`
- `swiftPackages.Foundation`
- `swiftPackages.XCTest`
## Packaging with SwiftPM {#ssec-swift-packaging-with-swiftpm}
Nixpkgs includes a small helper `swiftpm2nix` that can fetch your SwiftPM
dependencies for you, when you need to write a Nix expression to package your
application.
The first step is to run the generator:
```sh
cd /path/to/my/project
# Enter a Nix shell with the required tools.
nix-shell -p swift swiftpm swiftpm2nix
# First, make sure the workspace is up-to-date.
swift package resolve
# Now generate the Nix code.
swiftpm2nix
```
This produces some files in a directory `nix`, which will be part of your Nix
expression. The next step is to write that expression:
```nix
{ stdenv, swift, swiftpm, swiftpm2nix, fetchFromGitHub }:
let
# Pass the generated files to the helper.
generated = swiftpm2nix.helpers ./nix;
in
stdenv.mkDerivation rec {
pname = "myproject";
version = "0.0.0";
src = fetchFromGitHub {
owner = "nixos";
repo = pname;
rev = version;
hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
};
# Including SwiftPM as a nativeBuildInput provides a buildPhase for you.
# This by default performs a release build using SwiftPM, essentially:
# swift build -c release
nativeBuildInputs = [ swift swiftpm ];
# The helper provides a configure snippet that will prepare all dependencies
# in the correct place, where SwiftPM expects them.
configurePhase = generated.configure;
installPhase = ''
# This is a special function that invokes swiftpm to find the location
# of the binaries it produced.
binPath="$(swiftpmBinPath)"
# Now perform any installation steps.
mkdir -p $out/bin
cp $binPath/myproject $out/bin/
'';
}
```
### Custom build flags {#ssec-swiftpm-custom-build-flags}
If you'd like to build a different configuration than `release`:
```nix
swiftpmBuildConfig = "debug";
```
It is also possible to provide additional flags to `swift build`:
```nix
swiftpmFlags = [ "--disable-dead-strip" ];
```
The default `buildPhase` already passes `-j` for parallel building.
If these two customization options are insufficient, simply provide your own
`buildPhase` that invokes `swift build`.
### Running tests {#ssec-swiftpm-running-tests}
Including `swiftpm` in your `nativeBuildInputs` also provides a default
`checkPhase`, but it must be enabled with:
```nix
doCheck = true;
```
This essentially runs: `swift test -c release`
### Patching dependencies {#ssec-swiftpm-patching-dependencies}
In some cases, it may be necessary to patch a SwiftPM dependency. SwiftPM
dependencies are located in `.build/checkouts`, but the `swiftpm2nix` helper
provides these as symlinks to read-only `/nix/store` paths. In order to patch
them, we need to make them writable.
A special function `swiftpmMakeMutable` is available to replace the symlink
with a writable copy:
```
configurePhase = generated.configure ++ ''
# Replace the dependency symlink with a writable copy.
swiftpmMakeMutable swift-crypto
# Now apply a patch.
patch -p1 -d .build/checkouts/swift-crypto -i ${./some-fix.patch}
'';
```
## Considerations for custom build tools {#ssec-swift-considerations-for-custom-build-tools}
### Linking the standard library {#ssec-swift-linking-the-standard-library}
The `swift` package has a separate `lib` output containing just the Swift
standard library, to prevent Swift applications needing a dependency on the
full Swift compiler at run-time. Linking with the Nixpkgs Swift toolchain
already ensures binaries correctly reference the `lib` output.
Sometimes, Swift is used only to compile part of a mixed codebase, and the
link step is manual. Custom build tools often locate the standard library
relative to the `swift` compiler executable, and while the result will work,
when this path ends up in the binary, it will have the Swift compiler as an
unintended dependency.
In this case, you should investigate how your build process discovers the
standard library, and override the path. The correct path will be something
like: `"${swift.swift.lib}/${swift.swiftModuleSubdir}"`

View File

@@ -55,11 +55,11 @@ let
srcs = [
(fetchurl {
url = "http://mirrors.ctan.org/macros/latex/contrib/foiltex/foiltex.dtx";
hash = "sha256-/2I2xHXpZi0S988uFsGuPV6hhMw8e0U5m/P8myf42R0=";
sha256 = "07frz0krpz7kkcwlayrwrj2a2pixmv0icbngyw92srp9fp23cqpz";
})
(fetchurl {
url = "http://mirrors.ctan.org/macros/latex/contrib/foiltex/foiltex.ins";
hash = "sha256-KTm3pkd+Cpu0nSE2WfsNEa56PeXBaNfx/sOO2Vv0kyc=";
sha256 = "09wkyidxk3n3zvqxfs61wlypmbhi1pxmjdi1kns9n2ky8ykbff99";
})
];

View File

@@ -10,21 +10,12 @@ At the moment we support two different methods for managing plugins:
- Vim packages (*recommended*)
- vim-plug (vim only)
Right now two Vim packages are available: `vim` which has most features that require extra
dependencies disabled and `vim-full` which has them configurable and enabled by default.
::: {.note}
`vim_configurable` is a deprecated alias for `vim-full` and refers to the fact that its
build-time features are configurable. It has nothing to do with user configuration,
and both the `vim` and `vim-full` packages can be customized as explained in the next section.
:::
## Custom configuration {#custom-configuration}
Adding custom .vimrc lines can be done using the following code:
```nix
vim-full.customize {
vim_configurable.customize {
# `name` optionally specifies the name of the executable and package
name = "vim-with-plugins";
@@ -71,7 +62,7 @@ neovim-qt.override {
To store your plugins in Vim packages (the native Vim plugin manager, see `:help packages`) the following example can be used:
```nix
vim-full.customize {
vim_configurable.customize {
vimrcConfig.packages.myVimPackage = with pkgs.vimPlugins; {
# loaded on launch
start = [ youcompleteme fugitive ];
@@ -110,7 +101,7 @@ The resulting package can be added to `packageOverrides` in `~/.nixpkgs/config.n
```nix
{
packageOverrides = pkgs: with pkgs; {
myVim = vim-full.customize {
myVim = vim_configurable.customize {
# `name` specifies the name of the executable and package
name = "vim-with-plugins";
# add here code from the example section
@@ -140,7 +131,7 @@ let
owner = "dkprice";
repo = "vim-easygrep";
rev = "d0c36a77cc63c22648e792796b1815b44164653a";
hash = "sha256-bL33/S+caNmEYGcMLNCanFZyEYUOUmSsedCVBn4tV3g=";
sha256 = "0y2p5mz0d5fhg6n68lhfhl8p4mlwkb82q337c22djs4w5zyzggbc";
};
};
in
@@ -199,7 +190,7 @@ To use [vim-plug](https://github.com/junegunn/vim-plug) to manage your Vim
plugins the following example can be used:
```nix
vim-full.customize {
vim_configurable.customize {
vimrcConfig.packages.myVimPackage = with pkgs.vimPlugins; {
# loaded on launch
plug.plugins = [ youcompleteme fugitive phpCompletion elm-vim ];

View File

@@ -1,32 +0,0 @@
{
"gnunet.conf(5)": "https://docs.gnunet.org/users/configuration.html",
"mpd(1)": "https://mpd.readthedocs.io/en/latest/mpd.1.html",
"mpd.conf(5)": "https://mpd.readthedocs.io/en/latest/mpd.conf.5.html",
"nix.conf(5)": "https://nixos.org/manual/nix/stable/command-ref/conf-file.html",
"journald.conf(5)": "https://www.freedesktop.org/software/systemd/man/journald.conf.html",
"logind.conf(5)": "https://www.freedesktop.org/software/systemd/man/logind.conf.html",
"networkd.conf(5)": "https://www.freedesktop.org/software/systemd/man/networkd.conf.html",
"systemd.automount(5)": "https://www.freedesktop.org/software/systemd/man/systemd.automount.html",
"systemd.exec(5)": "https://www.freedesktop.org/software/systemd/man/systemd.exec.html",
"systemd.link(5)": "https://www.freedesktop.org/software/systemd/man/systemd.link.html",
"systemd.mount(5)": "https://www.freedesktop.org/software/systemd/man/systemd.mount.html",
"systemd.netdev(5)": "https://www.freedesktop.org/software/systemd/man/systemd.netdev.html",
"systemd.network(5)": "https://www.freedesktop.org/software/systemd/man/systemd.network.html",
"systemd.nspawn(5)": "https://www.freedesktop.org/software/systemd/man/systemd.nspawn.html",
"systemd.path(5)": "https://www.freedesktop.org/software/systemd/man/systemd.path.html",
"systemd.resource-control(5)": "https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html",
"systemd.scope(5)": "https://www.freedesktop.org/software/systemd/man/systemd.scope.html",
"systemd.service(5)": "https://www.freedesktop.org/software/systemd/man/systemd.service.html",
"systemd.slice(5)": "https://www.freedesktop.org/software/systemd/man/systemd.slice.html",
"systemd.socket(5)": "https://www.freedesktop.org/software/systemd/man/systemd.socket.html",
"systemd.timer(5)": "https://www.freedesktop.org/software/systemd/man/systemd.timer.html",
"systemd.unit(5)": "https://www.freedesktop.org/software/systemd/man/systemd.unit.html",
"systemd-system.conf(5)": "https://www.freedesktop.org/software/systemd/man/systemd-system.conf.html",
"systemd-user.conf(5)": "https://www.freedesktop.org/software/systemd/man/systemd-user.conf.html",
"timesyncd.conf(5)": "https://www.freedesktop.org/software/systemd/man/timesyncd.conf.html",
"tmpfiles.d(5)": "https://www.freedesktop.org/software/systemd/man/tmpfiles.d.html",
"systemd.time(7)": "https://www.freedesktop.org/software/systemd/man/systemd.time.html",
"systemd-fstab-generator(8)": "https://www.freedesktop.org/software/systemd/man/systemd-fstab-generator.html",
"systemd-networkd-wait-online.service(8)": "https://www.freedesktop.org/software/systemd/man/systemd-networkd-wait-online.service.html"
}

View File

@@ -61,7 +61,7 @@ stdenv.mkDerivation {
builder = ./builder.sh;
src = fetchurl {
url = "http://ftp.nluug.nl/gnu/binutils/binutils-2.16.1.tar.bz2";
hash = "sha256-14pv+YKrL3NyFwbnv9MoWsZHgEZk5+pHhuZtAfkcVsU=";
sha256 = "1ian3kwh2vg6hr3ymrv48s04gijs539vzrq62xr76bxbhbwnz2np";
};
inherit noSysDirs;
configureFlags = [ "--target=arm-linux" ];
@@ -85,7 +85,7 @@ stdenv.mkDerivation {
builder = ./builder.sh;
src = fetchurl {
url = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.13.1.tar.bz2";
hash = "sha256-qtICDjfiA1HxWBrHqtB5DCv9s9/HyznKV1C6IxCrHYs=";
sha256 = "12qxmc827fjhaz53kjy7vyrzsaqcg78amiqsb3qm20z26w705lma";
};
}
---
@@ -151,8 +151,8 @@ stdenv.mkDerivation {
name = "gcc-4.0.2-arm";
builder = ./builder.sh;
src = fetchurl {
url = "ftp://ftp.nluug.nl/pub/gnu/gcc/gcc-4.0.2/gcc-core-4.0.2.tar.bz2";
hash = "sha256-LANmXRS7/fN2zF5JUJVd8OjNA5aCDsGLQKhSpxWA3Qk=";
url = ftp://ftp.nluug.nl/pub/gnu/gcc/gcc-4.0.2/gcc-core-4.0.2.tar.bz2;
sha256 = "02fxh0asflm8825w23l2jq1wvs7hbnam0jayrivg7zdv2ifnc0rc";
};
# !!! apply only if noSysDirs is set
patches = [./no-sys-dirs.patch ./gcc-inhibit.patch];
@@ -303,7 +303,7 @@ One of the compiler flags that GCC uses for this compiler is called X_CFLAGS.
This is used by the Nix build process to set the dynamic linker, glibc
in the case of i686-linux using the default Nix packages collection.
Obviously, since we need to compile libstc++ for arm-linux with uClibc linking
Obiously, since we need to compile libstc++ for arm-linux with uClibc linking
will not be done correctly: you can't link object files built for arm-linux
with a glibc built for i686-linux.

View File

@@ -24,8 +24,8 @@ Packages, including the Nix packages collection, are distributed through
[channels](https://nixos.org/nix/manual/#sec-channels). The collection is
distributed for users of Nix on non-NixOS distributions through the channel
`nixpkgs`. Users of NixOS generally use one of the `nixos-*` channels, e.g.
`nixos-22.11`, which includes all packages and modules for the stable NixOS
22.11. Stable NixOS releases are generally only given
`nixos-19.09`, which includes all packages and modules for the stable NixOS
19.09. Stable NixOS releases are generally only given
security updates. More up to date packages and modules are available via the
`nixos-unstable` channel.
@@ -43,4 +43,4 @@ The binaries are made available via a [binary cache](https://cache.nixos.org).
The current Nix expressions of the channels are available in the
[`nixpkgs`](https://github.com/NixOS/nixpkgs) repository in branches
that correspond to the channel names (e.g. `nixos-22.11-small`).
that correspond to the channel names (e.g. `nixos-19.09-small`).

View File

@@ -150,7 +150,7 @@ depsBuildBuild = [ buildPackages.stdenv.cc ];
Add the following to your `mkDerivation` invocation.
```nix
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
```
#### Package using Meson needs to run binaries for the host platform during build. {#cross-meson-runs-host-code}

View File

@@ -11,12 +11,58 @@ meta = with lib; {
'';
homepage = "https://www.gnu.org/software/hello/manual/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ eelco ];
maintainers = [ maintainers.eelco ];
platforms = platforms.all;
};
```
Meta-attributes are not passed to the builder of the package. Thus, a change to a meta-attribute doesnt trigger a recompilation of the package.
Meta-attributes are not passed to the builder of the package. Thus, a change to a meta-attribute doesnt trigger a recompilation of the package. The value of a meta-attribute must be a string.
The meta-attributes of a package can be queried from the command-line using `nix-env`:
```ShellSession
$ nix-env -qa hello --json
{
"hello": {
"meta": {
"description": "A program that produces a familiar, friendly greeting",
"homepage": "https://www.gnu.org/software/hello/manual/",
"license": {
"fullName": "GNU General Public License version 3 or later",
"shortName": "GPLv3+",
"url": "http://www.fsf.org/licensing/licenses/gpl.html"
},
"longDescription": "GNU Hello is a program that prints \"Hello, world!\" when you run it.\nIt is fully customizable.\n",
"maintainers": [
"Ludovic Court\u00e8s <ludo@gnu.org>"
],
"platforms": [
"i686-linux",
"x86_64-linux",
"armv5tel-linux",
"armv7l-linux",
"mips32-linux",
"x86_64-darwin",
"i686-cygwin",
"i686-freebsd13",
"x86_64-freebsd13",
"i686-openbsd",
"x86_64-openbsd"
],
"position": "/home/user/dev/nixpkgs/pkgs/applications/misc/hello/default.nix:14"
},
"name": "hello-2.9",
"system": "x86_64-linux"
}
}
```
`nix-env` knows about the `description` field specifically:
```ShellSession
$ nix-env -qa hello --description
hello-2.3 A program that produces a familiar, friendly greeting
```
## Standard meta-attributes {#sec-standard-meta-attributes}
@@ -66,7 +112,7 @@ For details, see [Licenses](#sec-meta-license).
### `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 ]`.
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”, and reference maintainers with `maintainers = with lib.maintainers; [ alice bob ]`.
### `mainProgram` {#var-meta-mainProgram}

View File

@@ -29,7 +29,7 @@ NixOS provides two ways to select the outputs to install for packages listed in
`nix-env` lacks an easy way to select the outputs to install. When installing a package, `nix-env` always installs the outputs listed in `meta.outputsToInstall`, even when the user explicitly selects an output.
::: {.warning}
`nix-env` silently disregards the outputs selected by the user, and instead installs the outputs from `meta.outputsToInstall`. For example,
`nix-env` silenty disregards the outputs selected by the user, and instead installs the outputs from `meta.outputsToInstall`. For example,
```ShellSession
$ nix-env -iA nixpkgs.coreutils.info

View File

@@ -11,7 +11,7 @@ stdenv.mkDerivation {
name = "libfoo-1.2.3";
src = fetchurl {
url = "http://example.org/libfoo-1.2.3.tar.bz2";
hash = "sha256-tWxU/LANbQE32my+9AXyt3nCT7NBVfJ45CX757EMT3Q=";
sha256 = "0x2g1jqygyr5wiwg4ma1nd7w4ydpy82z9gkcv8vh2v8dn3y58v5m";
};
}
```
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
version = "1.2.3";
src = fetchurl {
url = "http://example.org/libfoo-source-${version}.tar.bz2";
hash = "sha256-tWxU/LANbQE32my+9AXyt3nCT7NBVfJ45CX757EMT3Q=";
sha256 = "0x2g1jqygyr5wiwg4ma1nd7w4ydpy82z9gkcv8vh2v8dn3y58v5m";
};
}
```
@@ -95,27 +95,6 @@ installPhase() {
genericBuild
```
### Building a `stdenv` package in `nix-shell` {#sec-building-stdenv-package-in-nix-shell}
To build a `stdenv` package in a [`nix-shell`](https://nixos.org/manual/nix/unstable/command-ref/nix-shell.html), use
```bash
nix-shell '<nixpkgs>' -A some_package
eval ${unpackPhase:-unpackPhase}
cd $sourceRoot
eval ${patchPhase:-patchPhase}
eval ${configurePhase:-configurePhase}
eval ${buildPhase:-buildPhase}
```
To modify a [phase](#sec-stdenv-phases), first print it with
```bash
type buildPhase
```
then change it in a text editor, and paste it back to the terminal.
## Tools provided by `stdenv` {#sec-tools-of-stdenv}
The standard environment provides the following packages:
@@ -137,82 +116,6 @@ On Linux, `stdenv` also includes the `patchelf` utility.
## Specifying dependencies {#ssec-stdenv-dependencies}
Build systems often require more dependencies than just what `stdenv` provides. This section describes attributes accepted by `stdenv.mkDerivation` that can be used to make these dependencies available to the build system.
### Overview {#ssec-stdenv-dependencies-overview}
A full reference of the different kinds of dependencies is provided in [](#ssec-stdenv-dependencies-reference), but here is an overview of the most common ones.
It should cover most use cases.
Add dependencies to `nativeBuildInputs` if they are executed during the build:
- those which are needed on `$PATH` during the build, for example `cmake` and `pkg-config`
- [setup hooks](#ssec-setup-hooks), for example [`makeWrapper`](#fun-makeWrapper)
- interpreters needed by [`patchShebangs`](#patch-shebangs.sh) for build scripts (with the `--build` flag), which can be the case for e.g. `perl`
Add dependencies to `buildInputs` if they will end up copied or linked into the final output or otherwise used at runtime:
- libraries used by compilers, for example `zlib`,
- interpreters needed by [`patchShebangs`](#patch-shebangs.sh) for scripts which are installed, which can be the case for e.g. `perl`
::: {.note}
These criteria are independent.
For example, software using Wayland usually needs the `wayland` library at runtime, so `wayland` should be added to `buildInputs`.
But it also executes the `wayland-scanner` program as part of the build to generate code, so `wayland` should also be added to `nativeBuildInputs`.
:::
Dependencies needed only to run tests are similarly classified between native (executed during build) and non-native (executed at runtime):
- `nativeCheckInputs` for test tools needed on `$PATH` (such as `ctest`) and [setup hooks](#ssec-setup-hooks) (for example [`pytestCheckHook`](#python))
- `checkInputs` for libraries linked into test executables (for example the `qcheck` OCaml package)
These dependencies are only injected when [`doCheck`](#var-stdenv-doCheck) is set to `true`.
#### Example {#ssec-stdenv-dependencies-overview-example}
Consider for example this simplified derivation for `solo5`, a sandboxing tool:
```nix
stdenv.mkDerivation rec {
pname = "solo5";
version = "0.7.5";
src = fetchurl {
url = "https://github.com/Solo5/solo5/releases/download/v${version}/solo5-v${version}.tar.gz";
sha256 = "sha256-viwrS9lnaU8sTGuzK/+L/PlMM/xRRtgVuK5pixVeDEw=";
};
nativeBuildInputs = [ makeWrapper pkg-config ];
buildInputs = [ libseccomp ];
postInstall = ''
substituteInPlace $out/bin/solo5-virtio-mkimage \
--replace "/usr/lib/syslinux" "${syslinux}/share/syslinux" \
--replace "/usr/share/syslinux" "${syslinux}/share/syslinux" \
--replace "cp " "cp --no-preserve=mode "
wrapProgram $out/bin/solo5-virtio-mkimage \
--prefix PATH : ${lib.makeBinPath [ dosfstools mtools parted syslinux ]}
'';
doCheck = true;
nativeCheckInputs = [ util-linux qemu ];
checkPhase = '' [elided] '';
}
```
- `makeWrapper` is a setup hook, i.e., a shell script sourced by the generic builder of `stdenv`.
It is thus executed during the build and must be added to `nativeBuildInputs`.
- `pkg-config` is a build tool which the configure script of `solo5` expects to be on `$PATH` during the build:
therefore, it must be added to `nativeBuildInputs`.
- `libseccomp` is a library linked into `$out/bin/solo5-elftool`.
As it is used at runtime, it must be added to `buildInputs`.
- Tests need `qemu` and `getopt` (from `util-linux`) on `$PATH`, these must be added to `nativeCheckInputs`.
- Some dependencies are injected directly in the shell code of phases: `syslinux`, `dosfstools`, `mtools`, and `parted`.
In this specific case, they will end up in the output of the derivation (`$out` here).
As Nix marks dependencies whose absolute path is present in the output as runtime dependencies, adding them to `buildInputs` is not required.
For more complex cases, like libraries linked into an executable which is then executed as part of the build system, see [](#ssec-stdenv-dependencies-reference).
### Reference {#ssec-stdenv-dependencies-reference}
As described in the Nix manual, almost any `*.drv` store path in a derivations attribute set will induce a dependency on that derivation. `mkDerivation`, however, takes a few attributes intended to include all the dependencies of a package. This is done both for structure and consistency, but also so that certain other setup can take place. For example, certain dependencies need their bin directories added to the `PATH`. That is built-in, but other setup is done via a pluggable mechanism that works in conjunction with these dependency attributes. See [](#ssec-setup-hooks) for details.
Dependencies can be broken down along three axes: their host and target platforms relative to the new derivations, and whether they are propagated. The platform distinctions are motivated by cross compilation; see [](#chap-cross) for exactly what each platform means. [^footnote-stdenv-ignored-build-platform] But even if one is not cross compiling, the platforms imply whether or not the dependency is needed at run-time or build-time, a concept that makes perfect sense outside of cross compilation. By default, the run-time/build-time distinction is just a hint for mental clarity, but with `strictDeps` set it is mostly enforced even in the native case.
@@ -284,21 +187,21 @@ Because of the bounds checks, the uncommon cases are `h = t` and `h + 2 = t`. In
Overall, the unifying theme here is that propagation shouldnt be introducing transitive dependencies involving platforms the depending package is unaware of. \[One can imagine the dependending package asking for dependencies with the platforms it knows about; other platforms it doesnt know how to ask for. The platform description in that scenario is a kind of unforagable capability.\] The offset bounds checking and definition of `mapOffset` together ensure that this is the case. Discovering a new offset is discovering a new platform, and since those platforms werent in the derivation “spec” of the needing package, they cannot be relevant. From a capability perspective, we can imagine that the host and target platforms of a package are the capabilities a package requires, and the depending package must provide the capability to the dependency.
#### Variables specifying dependencies {#variables-specifying-dependencies}
### Variables specifying dependencies {#variables-specifying-dependencies}
##### `depsBuildBuild` {#var-stdenv-depsBuildBuild}
#### `depsBuildBuild` {#var-stdenv-depsBuildBuild}
A list of dependencies whose host and target platforms are the new derivations build platform. These are programs and libraries used at build time that produce programs and libraries also used at build time. If the dependency doesnt care about the target platform (i.e. isnt a compiler or similar tool), put it in `nativeBuildInputs` instead. The most common use of this `buildPackages.stdenv.cc`, the default C compiler for this role. That example crops up more than one might think in old commonly used C libraries.
Since these packages are able to be run at build-time, they are always added to the `PATH`, as described above. But since these packages are only guaranteed to be able to run then, they shouldnt persist as run-time dependencies. This isnt currently enforced, but could be in the future.
##### `nativeBuildInputs` {#var-stdenv-nativeBuildInputs}
#### `nativeBuildInputs` {#var-stdenv-nativeBuildInputs}
A list of dependencies whose host platform is the new derivations build platform, and target platform is the new derivations host platform. These are programs and libraries used at build-time that, if they are a compiler or similar tool, produce code to run at run-time—i.e. tools used to build the new derivation. If the dependency doesnt care about the target platform (i.e. isnt a compiler or similar tool), put it here, rather than in `depsBuildBuild` or `depsBuildTarget`. This could be called `depsBuildHost` but `nativeBuildInputs` is used for historical continuity.
Since these packages are able to be run at build-time, they are added to the `PATH`, as described above. But since these packages are only guaranteed to be able to run then, they shouldnt persist as run-time dependencies. This isnt currently enforced, but could be in the future.
##### `depsBuildTarget` {#var-stdenv-depsBuildTarget}
#### `depsBuildTarget` {#var-stdenv-depsBuildTarget}
A list of dependencies whose host platform is the new derivations build platform, and target platform is the new derivations target platform. These are programs used at build time that produce code to run with code produced by the depending package. Most commonly, these are tools used to build the runtime or standard library that the currently-being-built compiler will inject into any code it compiles. In many cases, the currently-being-built-compiler is itself employed for that task, but when that compiler wont run (i.e. its build and host platform differ) this is not possible. Other times, the compiler relies on some other tool, like binutils, that is always built separately so that the dependency is unconditional.
@@ -306,41 +209,41 @@ This is a somewhat confusing concept to wrap ones head around, and for good r
Since these packages are able to run at build time, they are added to the `PATH`, as described above. But since these packages are only guaranteed to be able to run then, they shouldnt persist as run-time dependencies. This isnt currently enforced, but could be in the future.
##### `depsHostHost` {#var-stdenv-depsHostHost}
#### `depsHostHost` {#var-stdenv-depsHostHost}
A list of dependencies whose host and target platforms match the new derivations host platform. In practice, this would usually be tools used by compilers for macros or a metaprogramming system, or libraries used by the macros or metaprogramming code itself. Its always preferable to use a `depsBuildBuild` dependency in the derivation being built over a `depsHostHost` on the tool doing the building for this purpose.
##### `buildInputs` {#var-stdenv-buildInputs}
#### `buildInputs` {#var-stdenv-buildInputs}
A list of dependencies whose host platform and target platform match the new derivations. This would be called `depsHostTarget` but for historical continuity. If the dependency doesnt care about the target platform (i.e. isnt a compiler or similar tool), put it here, rather than in `depsBuildBuild`.
These are often programs and libraries used by the new derivation at *run*-time, but that isnt always the case. For example, the machine code in a statically-linked library is only used at run-time, but the derivation containing the library is only needed at build-time. Even in the dynamic case, the library may also be needed at build-time to appease the linker.
##### `depsTargetTarget` {#var-stdenv-depsTargetTarget}
#### `depsTargetTarget` {#var-stdenv-depsTargetTarget}
A list of dependencies whose host platform matches the new derivations target platform. These are packages that run on the target platform, e.g. the standard library or run-time deps of standard library that a compiler insists on knowing about. Its poor form in almost all cases for a package to depend on another from a future stage \[future stage corresponding to positive offset\]. Do not use this attribute unless you are packaging a compiler and are sure it is needed.
##### `depsBuildBuildPropagated` {#var-stdenv-depsBuildBuildPropagated}
#### `depsBuildBuildPropagated` {#var-stdenv-depsBuildBuildPropagated}
The propagated equivalent of `depsBuildBuild`. This perhaps never ought to be used, but it is included for consistency \[see below for the others\].
##### `propagatedNativeBuildInputs` {#var-stdenv-propagatedNativeBuildInputs}
#### `propagatedNativeBuildInputs` {#var-stdenv-propagatedNativeBuildInputs}
The propagated equivalent of `nativeBuildInputs`. This would be called `depsBuildHostPropagated` but for historical continuity. For example, if package `Y` has `propagatedNativeBuildInputs = [X]`, and package `Z` has `buildInputs = [Y]`, then package `Z` will be built as if it included package `X` in its `nativeBuildInputs`. If instead, package `Z` has `nativeBuildInputs = [Y]`, then `Z` will be built as if it included `X` in the `depsBuildBuild` of package `Z`, because of the sum of the two `-1` host offsets.
##### `depsBuildTargetPropagated` {#var-stdenv-depsBuildTargetPropagated}
#### `depsBuildTargetPropagated` {#var-stdenv-depsBuildTargetPropagated}
The propagated equivalent of `depsBuildTarget`. This is prefixed for the same reason of alerting potential users.
##### `depsHostHostPropagated` {#var-stdenv-depsHostHostPropagated}
#### `depsHostHostPropagated` {#var-stdenv-depsHostHostPropagated}
The propagated equivalent of `depsHostHost`.
##### `propagatedBuildInputs` {#var-stdenv-propagatedBuildInputs}
#### `propagatedBuildInputs` {#var-stdenv-propagatedBuildInputs}
The propagated equivalent of `buildInputs`. This would be called `depsHostTargetPropagated` but for historical continuity.
##### `depsTargetTargetPropagated` {#var-stdenv-depsTargetTargetPropagated}
#### `depsTargetTargetPropagated` {#var-stdenv-depsTargetTargetPropagated}
The propagated equivalent of `depsTargetTarget`. This is prefixed for the same reason of alerting potential users.
@@ -350,7 +253,7 @@ The propagated equivalent of `depsTargetTarget`. This is prefixed for the same r
#### `NIX_DEBUG` {#var-stdenv-NIX_DEBUG}
A number between 0 and 7 indicating how much information to log. If set to 1 or higher, `stdenv` will print moderate debugging information during the build. In particular, the `gcc` and `ld` wrapper scripts will print out the complete command line passed to the wrapped tools. If set to 6 or higher, the `stdenv` setup script will be run with `set -x` tracing. If set to 7 or higher, the `gcc` and `ld` wrapper scripts will also be run with `set -x` tracing.
A natural number indicating how much information to log. If set to 1 or higher, `stdenv` will print moderate debugging information during the build. In particular, the `gcc` and `ld` wrapper scripts will print out the complete command line passed to the wrapped tools. If set to 6 or higher, the `stdenv` setup script will be run with `set -x` tracing. If set to 7 or higher, the `gcc` and `ld` wrapper scripts will also be run with `set -x` tracing.
### Attributes affecting build properties {#attributes-affecting-build-properties}
@@ -723,7 +626,7 @@ Before and after running `make`, the hooks `preBuild` and `postBuild` are called
### The check phase {#ssec-check-phase}
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.
The check phase checks whether the package was built correctly by running its test suite. The default `checkPhase` calls `make check`, but only if the `doCheck` variable is enabled.
#### Variables controlling the check phase {#variables-controlling-the-check-phase}
@@ -743,8 +646,7 @@ See the [build phase](#var-stdenv-makeFlags) for details.
##### `checkTarget` {#var-stdenv-checkTarget}
The `make` target that runs the tests.
If unset, use `check` if it exists, otherwise `test`; if neither is found, do nothing.
The make target that runs the tests. Defaults to `check`.
##### `checkFlags` / `checkFlagsArray` {#var-stdenv-checkFlags}
@@ -752,11 +654,7 @@ A list of strings passed as additional flags to `make`. Like `makeFlags` and `ma
##### `checkInputs` {#var-stdenv-checkInputs}
A list of host dependencies used by the phase, usually libraries linked into executables built during tests. This gets included in `buildInputs` when `doCheck` is set.
##### `nativeCheckInputs` {#var-stdenv-nativeCheckInputs}
A list of native dependencies used by the phase, notably tools needed on `$PATH`. This gets included in `nativeBuildInputs` when `doCheck` is set.
A list of dependencies used by the phase. This gets included in `nativeBuildInputs` when `doCheck` is set.
##### `preCheck` {#var-stdenv-preCheck}
@@ -821,11 +719,11 @@ If set, libraries and executables are not stripped. By default, they are.
##### `dontStripHost` {#var-stdenv-dontStripHost}
Like `dontStrip`, but only affects the `strip` command targeting the packages host platform. Useful when supporting cross compilation, but otherwise feel free to ignore.
Like `dontStrip`, but only affects the `strip` command targetting the packages host platform. Useful when supporting cross compilation, but otherwise feel free to ignore.
##### `dontStripTarget` {#var-stdenv-dontStripTarget}
Like `dontStrip`, but only affects the `strip` command targeting the packages target platform. Useful when supporting cross compilation, but otherwise feel free to ignore.
Like `dontStrip`, but only affects the `strip` command targetting the packages target platform. Useful when supporting cross compilation, but otherwise feel free to ignore.
##### `dontMoveSbin` {#var-stdenv-dontMoveSbin}
@@ -923,11 +821,7 @@ A list of strings passed as additional flags to `make`. Like `makeFlags` and `ma
##### `installCheckInputs` {#var-stdenv-installCheckInputs}
A list of host dependencies used by the phase, usually libraries linked into executables built during tests. This gets included in `buildInputs` when `doInstallCheck` is set.
##### `nativeInstallCheckInputs` {#var-stdenv-nativeInstallCheckInputs}
A list of native dependencies used by the phase, notably tools needed on `$PATH`. This gets included in `nativeBuildInputs` when `doInstallCheck` is set.
A list of dependencies used by the phase. This gets included in `nativeBuildInputs` when `doInstallCheck` is set.
##### `preInstallCheck` {#var-stdenv-preInstallCheck}
@@ -943,10 +837,6 @@ The distribution phase is intended to produce a source distribution of the packa
#### Variables controlling the distribution phase {#variables-controlling-the-distribution-phase}
##### `doDist` {#var-stdenv-doDist}
If set, the distribution phase is executed.
##### `distTarget` {#var-stdenv-distTarget}
The make target that produces the distribution. Defaults to `dist`.
@@ -1100,32 +990,6 @@ Convenience function for `makeWrapper` that replaces `<\executable\>` with a wra
If you will apply it multiple times, it will overwrite the wrapper file and you will end up with double wrapping, which should be avoided.
### `prependToVar` \<variableName\> \<elements...\> {#fun-prependToVar}
Prepend elements to a variable.
Example:
```shellSession
$ configureFlags="--disable-static"
$ prependToVar configureFlags --disable-dependency-tracking --enable-foo
$ echo $configureFlags
--disable-dependency-tracking --enable-foo --disable-static
```
### `appendToVar` \<variableName\> \<elements...\> {#fun-appendToVar}
Append elements to a variable.
Example:
```shellSession
$ configureFlags="--disable-static"
$ appendToVar configureFlags --disable-dependency-tracking --enable-foo
$ echo $configureFlags
--disable-static --disable-dependency-tracking --enable-foo
```
## Package setup hooks {#ssec-setup-hooks}
Nix itself considers a build-time dependency as merely something that should previously be built and accessible at build time—packages themselves are on their own to perform any additional setup. In most cases, that is fine, and the downstream derivation can deal with its own dependencies. But for a few common tasks, that would result in almost every package doing the same sort of setup work—depending not on the package itself, but entirely on which dependencies were used.

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