···22name: Unreproducible package
33about: A package that does not produce a bit-by-bit reproducible result each time it is built
44title: ''
55-labels: '0.kind: enhancement', '6.topic: reproducible builds'
55+labels: [ '0.kind: enhancement', '6.topic: reproducible builds' ]
66assignees: ''
7788---
···5353 This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/using/syntax.html#targets-and-cross-referencing).
54545555- []{#ssec-contributing-markup-inline-roles}
5656- 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`.
5656+ 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`.
57575858 A few markups for other kinds of literals are also available:
5959
···11131113 visible = true;
11141114 warn = false;
11151115 use = id;
11161116- wrapDescription = lib.id;
11171116 };
1118111711191118 /* Transitional version of mkAliasOptionModule that uses MD docs. */
···11221121 visible = true;
11231122 warn = false;
11241123 use = id;
11241124+ markdown = true;
11251125 };
1126112611271127 /* mkDerivedConfig : Option a -> (a -> Definition b) -> Definition b
···11441144 (opt.highestPrio or defaultOverridePriority)
11451145 (f opt.value);
1146114611471147- doRename = { from, to, visible, warn, use, withPriority ? true, wrapDescription ? lib.mdDoc }:
11471147+ doRename = { from, to, visible, warn, use, withPriority ? true, markdown ? false }:
11481148 { config, options, ... }:
11491149 let
11501150 fromOpt = getAttrFromPath from options;
···11551155 {
11561156 options = setAttrByPath from (mkOption {
11571157 inherit visible;
11581158- description = wrapDescription "Alias of {option}`${showOption to}`.";
11581158+ description = if markdown
11591159+ then lib.mdDoc "Alias of {option}`${showOption to}`."
11601160+ else "Alias of <option>${showOption to}</option>.";
11591161 apply = x: use (toOf config);
11601162 } // optionalAttrs (toType != null) {
11611163 type = toType;
+1-1
maintainers/scripts/db-to-md.sh
···4141 # - diagram-generator.lua (we do not support that in NixOS manual to limit dependencies)
4242 # - media extraction (was only required for diagram generator)
4343 # - myst-reader/roles.lua (only relevant for MyST → DocBook)
4444- # - link-unix-man-references.lua (links should only be added to display output)
4444+ # - link-manpages.lua (links should only be added to display output)
4545 # - docbook-writer/rst-roles.lua (only relevant for → DocBook)
4646 # - docbook-writer/labelless-link-is-xref.lua (only relevant for → DocBook)
4747 "--lua-filter=$DIR/../../doc/build-aux/pandoc-filters/docbook-reader/citerefentry-to-rst-role.lua"
+3-1
nixos/doc/manual/md-to-db.sh
···88DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
99pushd "$DIR"
10101111+link_manpages_filter=$(nix-build --no-out-link "$DIR/../../../doc/build-aux/pandoc-filters/link-manpages.nix")
1212+1113# NOTE: Keep in sync with Nixpkgs manual (/doc/Makefile).
1214# TODO: Remove raw-attribute when we can get rid of DocBook altogether.
1315pandoc_commonmark_enabled_extensions=+attributes+fenced_divs+footnotes+bracketed_spans+definition_lists+pipe_tables+raw_attribute
···1719 # - media extraction (was only required for diagram generator)
1820 # - docbook-reader/citerefentry-to-rst-role.lua (only relevant for DocBook → MarkDown/rST/MyST)
1921 "--lua-filter=$DIR/../../../doc/build-aux/pandoc-filters/myst-reader/roles.lua"
2020- "--lua-filter=$DIR/../../../doc/build-aux/pandoc-filters/link-unix-man-references.lua"
2222+ "--lua-filter=$link_manpages_filter"
2123 "--lua-filter=$DIR/../../../doc/build-aux/pandoc-filters/docbook-writer/rst-roles.lua"
2224 "--lua-filter=$DIR/../../../doc/build-aux/pandoc-filters/docbook-writer/html-elements.lua"
2325 "--lua-filter=$DIR/../../../doc/build-aux/pandoc-filters/docbook-writer/labelless-link-is-xref.lua"
+3
nixos/lib/make-options-doc/default.nix
···4141# characteristics but (hopefully) indistinguishable output.
4242, allowDocBook ? true
4343# whether lib.mdDoc is required for descriptions to be read as markdown.
4444+# !!! when this is eventually flipped to true, `lib.doRename` should also default to emitting Markdown
4445, markdownByDefault ? false
4546}:
4647···130131 if baseOptionsJSON == null
131132 then builtins.toFile "base.json" "{}"
132133 else baseOptionsJSON;
134134+135135+ MANPAGE_URLS = pkgs.path + "/doc/manpage-urls.json";
133136 }
134137 ''
135138 # Export list of options in different format.
···6060 `asDropin` creates a drop-in file named `overrides.conf`.
6161 Mainly needed to define instances for systemd template units (e.g. `systemd-nspawn@mycontainer.service`).
62626363- See also systemd.unit(1).
6363+ See also {manpage}`systemd.unit(5)`.
6464 '';
6565 };
6666···86868787 This option creates a `.wants` symlink in the given target that exists
8888 statelessly without the need for running `systemctl enable`.
8989- The in systemd.unit(5) manpage described `[Install]` section however is
8989+ The `[Install]` section described in {manpage}`systemd.unit(5)` however is
9090 not supported because it is a stateful process that does not fit well
9191 into the NixOS design.
9292 '';
+1-1
nixos/modules/services/backup/restic.nix
···132132 OnCalendar = "daily";
133133 };
134134 description = lib.mdDoc ''
135135- When to run the backup. See man systemd.timer for details.
135135+ When to run the backup. See {manpage}`systemd.timer(5)` for details.
136136 '';
137137 example = {
138138 OnCalendar = "00:05";
+3-3
nixos/modules/services/networking/kresd.nix
···7979 example = [ "53" ];
8080 description = lib.mdDoc ''
8181 What addresses and ports the server should listen on.
8282- For detailed syntax see ListenStream in man systemd.socket.
8282+ For detailed syntax see ListenStream in {manpage}`systemd.socket(5)`.
8383 '';
8484 };
8585 listenTLS = mkOption {
···8888 example = [ "198.51.100.1:853" "[2001:db8::1]:853" "853" ];
8989 description = lib.mdDoc ''
9090 Addresses and ports on which kresd should provide DNS over TLS (see RFC 7858).
9191- For detailed syntax see ListenStream in man systemd.socket.
9191+ For detailed syntax see ListenStream in {manpage}`systemd.socket(5)`.
9292 '';
9393 };
9494 listenDoH = mkOption {
···9797 example = [ "198.51.100.1:443" "[2001:db8::1]:443" "443" ];
9898 description = lib.mdDoc ''
9999 Addresses and ports on which kresd should provide DNS over HTTPS/2 (see RFC 8484).
100100- For detailed syntax see ListenStream in man systemd.socket.
100100+ For detailed syntax see ListenStream in {manpage}`systemd.socket(5)`.
101101 '';
102102 };
103103 instances = mkOption {
+9-10
nixos/modules/services/security/fail2ban.nix
···6262 };
63636464 packageFirewall = mkOption {
6565- default = pkgs.iptables;
6666- defaultText = literalExpression "pkgs.iptables";
6565+ default = config.networking.firewall.package;
6666+ defaultText = literalExpression "config.networking.firewall.package";
6767 type = types.package;
6868- example = literalExpression "pkgs.nftables";
6969- description = lib.mdDoc "The firewall package used by fail2ban service.";
6868+ description = lib.mdDoc "The firewall package used by fail2ban service. Defaults to the package for your firewall (iptables or nftables).";
7069 };
71707271 extraPackages = mkOption {
···8685 };
87868887 banaction = mkOption {
8989- default = "iptables-multiport";
8888+ default = if config.networking.nftables.enable then "nftables-multiport" else "iptables-multiport";
8989+ defaultText = literalExpression '' if config.networking.nftables.enable then "nftables-multiport" else "iptables-multiport" '';
9090 type = types.str;
9191- example = "nftables-multiport";
9291 description = lib.mdDoc ''
9392 Default banning action (e.g. iptables, iptables-new, iptables-multiport,
9494- iptables-ipset-proto6-allports, shorewall, etc) It is used to
9393+ iptables-ipset-proto6-allports, shorewall, etc). It is used to
9594 define action_* variables. Can be overridden globally or per
9695 section within jail.local file
9796 '';
9897 };
999810099 banaction-allports = mkOption {
101101- default = "iptables-allport";
100100+ default = if config.networking.nftables.enable then "nftables-allport" else "iptables-allport";
101101+ defaultText = literalExpression '' if config.networking.nftables.enable then "nftables-allport" else "iptables-allport" '';
102102 type = types.str;
103103- example = "nftables-allport";
104103 description = lib.mdDoc ''
105104 Default banning action (e.g. iptables, iptables-new, iptables-multiport,
106106- shorewall, etc) It is used to define action_* variables. Can be overridden
105105+ shorewall, etc) for "allports" jails. It is used to define action_* variables. Can be overridden
107106 globally or per section within jail.local file
108107 '';
109108 };
+1-1
nixos/modules/system/boot/systemd/user.nix
···4646 type = types.lines;
4747 example = "DefaultCPUAccounting=yes";
4848 description = lib.mdDoc ''
4949- Extra config options for systemd user instances. See man systemd-user.conf for
4949+ Extra config options for systemd user instances. See {manpage}`systemd-user.conf(5)` for
5050 available options.
5151 '';
5252 };
+18-5
nixos/modules/system/etc/setup-etc.pl
···1313 my $tmp = "$target.tmp";
1414 unlink $tmp;
1515 symlink $source, $tmp or return 0;
1616- rename $tmp, $target or return 0;
1717- return 1;
1616+ if (rename $tmp, $target) {
1717+ return 1;
1818+ } else {
1919+ unlink $tmp;
2020+ return 0;
2121+ }
1822}
19232024···87918892sub link {
8993 my $fn = substr $File::Find::name, length($etc) + 1 or next;
9494+9595+ # nixos-enter sets up /etc/resolv.conf as a bind mount, so skip it.
9696+ if ($fn eq "resolv.conf" and $ENV{'IN_NIXOS_ENTER'}) {
9797+ return;
9898+ }
9999+90100 my $target = "/etc/$fn";
91101 File::Path::make_path(dirname $target);
92102 $created{$fn} = 1;
···103113 if (-e "$_.mode") {
104114 my $mode = read_file("$_.mode"); chomp $mode;
105115 if ($mode eq "direct-symlink") {
106106- atomicSymlink readlink("$static/$fn"), $target or warn;
116116+ atomicSymlink readlink("$static/$fn"), $target or warn "could not create symlink $target";
107117 } else {
108118 my $uid = read_file("$_.uid"); chomp $uid;
109119 my $gid = read_file("$_.gid"); chomp $gid;
···112122 $gid = getgrnam $gid unless $gid =~ /^\+/;
113123 chown int($uid), int($gid), "$target.tmp" or warn;
114124 chmod oct($mode), "$target.tmp" or warn;
115115- rename "$target.tmp", $target or warn;
125125+ unless (rename "$target.tmp", $target) {
126126+ warn "could not create target $target";
127127+ unlink "$target.tmp";
128128+ }
116129 }
117130 push @copied, $fn;
118131 print CLEAN "$fn\n";
119132 } elsif (-l "$_") {
120120- atomicSymlink "$static/$fn", $target or warn;
133133+ atomicSymlink "$static/$fn", $target or warn "could not create symlink $target";
121134 }
122135}
123136
···7272 ./0002-disable-gnc-fq-update.patch
7373 # this patch prevents the building of gnucash-valgrind
7474 ./0003-remove-valgrind.patch
7575+ # this patch makes gnucash exec the Finance::Quote helpers directly
7676+ ./0004-exec-fq-helpers.patch
7577 ];
76787779 # this needs to be an environment variable and not a cmake flag to suppress
···11-{ lib, stdenv, fetchurl, unzip
11+{ lib, stdenv, fetchzip, fontforge
22, bdftopcf, xorg
33}:
44···8899 outputs = [ "out" "bdf" ];
10101111- src = fetchurl {
1212- url = "http://www.donationcoder.com/Software/Jibz/Dina/downloads/Dina.zip";
1313- sha256 = "1kq86lbxxgik82aywwhawmj80vsbz3hfhdyhicnlv9km7yjvnl8z";
1111+ src = fetchzip {
1212+ url = "https://www.dcmembers.com/jibsen/download/61/?wpdmdl=61";
1313+ hash = "sha256-JK+vnOyhAbwT825S+WKbQuWgRrfZZHfyhaMQ/6ljO8s=";
1414+ extension = "zip";
1515+ stripRoot = false;
1416 };
15171618 nativeBuildInputs =
1717- [ unzip bdftopcf xorg.mkfontscale xorg.fonttosfnt ];
1818-1919- postPatch = ''
2020- sed -i 's/microsoft-cp1252/ISO8859-1/' *.bdf
2121- '';
1919+ [ fontforge bdftopcf xorg.mkfontscale xorg.fonttosfnt ];
22202321 buildPhase = ''
2422 runHook preBuild
25232624 newName() {
2727- test "''${1:5:1}" = i && _it=Italic || _it=
2828- case ''${1:6:3} in
2929- 400) test -z $it && _weight=Medium ;;
3030- 700) _weight=Bold ;;
3131- esac
3232- _pt=''${1%.bdf}
3333- _pt=''${_pt#*-}
3434- echo "Dina$_weight$_it$_pt"
2525+ local name=''${1##*/}
2626+ test "''${name:5:1}" = i && _it=Italic || _it=
2727+ case ''${name:6:3} in
2828+ 400) _weight=Medium ;;
2929+ 700) _weight=Bold ;;
3030+ esac
3131+ _pt=''${1%.bdf}
3232+ _pt=''${_pt#*-}
3333+ echo "Dina$_weight$_it$_pt"
3534 }
3535+3636+ # Re-encode the provided BDF files from CP1252 to Unicode as fonttosfnt does
3737+ # not support the former.
3838+ # We could generate the PCF and OTB files with fontforge directly, but that
3939+ # results in incorrect spacing in various places.
4040+ for f in BDF/*.bdf; do
4141+ basename=''${f##*/} basename=''${basename%.*}
4242+ fontforge -lang=ff -c "Open(\"$f\"); Reencode(\"win\", 1); Reencode(\"unicode\"); Generate(\"$basename.bdf\")"
4343+ mv "$basename"-*.bdf "$basename".bdf # remove the superfluous added size suffix
4444+ done
36453746 for f in *.bdf; do
3847 name=$(newName "$f")
···6271 relatively compact to allow a lot of code on screen, while (hopefully)
6372 clear enough to remain readable even at high resolutions.
6473 '';
6565- homepage = "https://www.donationcoder.com/Software/Jibz/Dina/";
6666- downloadPage = "https://www.donationcoder.com/Software/Jibz/Dina/";
7474+ homepage = "https://www.dcmembers.com/jibsen/download/61/";
6775 license = licenses.free;
6868- maintainers = [ maintainers.prikhi ];
7676+ maintainers = with maintainers; [ prikhi ncfavier ];
6977 };
7078}
+2-2
pkgs/development/interpreters/php/8.0.nix
···2233let
44 base = callPackage ./generic.nix (_args // {
55- version = "8.0.26";
66- hash = "sha256-bfh6+W8nWnWIns5uP+ShOr2Tp2epmShjvcDpDx6Ifuc=";
55+ version = "8.0.27";
66+ hash = "sha256-X9iCsUN3wVjBtVzGrOkfuMGbd8WW1YMa0ST7u8kC28g=";
77 });
8899in
+2-2
pkgs/development/interpreters/php/8.1.nix
···2233let
44 base = callPackage ./generic.nix (_args // {
55- version = "8.1.13";
66- hash = "sha256-k/z9+qo9CUoP2xjOCNIPINUm7j8HoUaoqOyCzgCyN8o=";
55+ version = "8.1.14";
66+ hash = "sha256-FMqZMz3WBKUEojaJRkhaw103nE2pbSjcUV1+tQLf+jI=";
77 });
8899in
+2-2
pkgs/development/interpreters/php/8.2.nix
···2233let
44 base = callPackage ./generic.nix (_args // {
55- version = "8.2.0";
66- hash = "sha256-G/T8pmP5PZ4LSQm9bq4Fg6HOOD5/Bd8Sbyjycvof1Ro=";
55+ version = "8.2.1";
66+ hash = "sha256-ddb482WZPsDR2cYoHUVX5v7sWiYZSkaLiwFFnRd++yk=";
77 });
8899in
-3
pkgs/development/libraries/qca-qt5/default.nix
···2626 maintainers = with maintainers; [ ttuegel ];
2727 license = licenses.lgpl21Plus;
2828 platforms = with platforms; unix;
2929- # until macOS SDK supports Qt 5.15, 2.3.2 is the highest version of qca-qt5
3030- # that works on darwin
3131- broken = stdenv.isDarwin;
3229 };
3330}
···11+Metadata-Version: 2.1
22+Version: @VTK_VER@
33+Summary: VTK is an open-source toolkit for 3D computer graphics, image processing, and visualization
44+Platform: UNKNOWN
···2727 };
28282929 postPatch = ''
3030- # Discovery of 'vtk' in setuptools is not working properly, due to a missing
3131- # .egg-info in the vtk package. It does however import and run just fine.
3232- substituteInPlace mayavi/__init__.py --replace "'vtk'" ""
3333-3430 # building the docs fails with the usual Qt xcb error, so skip:
3531 substituteInPlace setup.py \
3632 --replace "build.build.run(self)" "build.build.run(self); return"