···52in
53rec {
5455- /* !!! The interface of this function is kind of messed up, since
56- it's way too overloaded and almost but not quite computes a
57- topological sort of the depstrings. */
000000000000000000000000000000000000000000000000000000000000000058000000059 textClosureList = predefined: arg:
60 let
61 f = done: todo:
···52in
53rec {
5455+ /**
56+ Topologically sort a collection of dependent strings.
57+ Only the values to keys listed in `arg` and their dependencies will be included in the result.
58+59+ ::: {.note}
60+ This function doesn't formally fulfill the definition of topological sorting, but it's good enough for our purposes in Nixpkgs.
61+ :::
62+63+ # Inputs
64+65+ `predefined` (attribute set)
66+67+ : strings with annotated dependencies (strings or attribute set)
68+ A value can be a simple string if it has no dependencies.
69+ Otherwise, is can be an attribute set with the following attributes:
70+ - `deps` (list of strings)
71+ - `text` (Any
72+73+ `arg` (list of strings)
74+75+ : Keys for which the values in the dependency closure will be included in the result
76+77+ # Type
78+79+ ```
80+ textClosureList :: { ${phase} :: { deps :: [String]; text :: String; } | String; } -> [String] -> [String]
81+ ```
82+83+ # Examples
84+ :::{.example}
85+ ## `lib.stringsWithDeps.textClosureList` usage example
86+87+ ```nix
88+ textClosureList {
89+ a = {
90+ deps = [ "b" "c" "e" ];
91+ text = "a: depends on b, c and e";
92+ };
93+ b = {
94+ deps = [ ];
95+ text = "b: no dependencies";
96+ };
97+ c = {
98+ deps = [ "b" ];
99+ text = "c: depends on b";
100+ };
101+ d = {
102+ deps = [ "c" ];
103+ text = "d: not being depended on by anything in `arg`";
104+ };
105+ e = {
106+ deps = [ "c" ];
107+ text = "e: depends on c, depended on by a, not in `arg`";
108+ };
109+ } [
110+ "a"
111+ "b"
112+ "c"
113+ ]
114+ => [
115+ "b: no dependencies"
116+ "c: depends on b"
117+ "e: depends on c, depended on by a, not in `arg`"
118+ "a: depends on b, c and e"
119+ ]
120+ ```
121+ :::
122123+ Common real world usages are:
124+ - Ordering the dependent phases of `system.activationScripts`
125+ - Ordering the dependent phases of `system.userActivationScripts`
126+127+ For further examples see: [NixOS activation script](https://nixos.org/manual/nixos/stable/#sec-activation-script)
128+129+ */
130 textClosureList = predefined: arg:
131 let
132 f = done: todo:
···343 and returning a set with TOML-specific attributes `type` and
344 `generate` as specified [below](#pkgs-formats-result).
345000000346`pkgs.formats.elixirConf { elixir ? pkgs.elixir }`
347348: A function taking an attribute set with values
···343 and returning a set with TOML-specific attributes `type` and
344 `generate` as specified [below](#pkgs-formats-result).
345346+`pkgs.formats.cdn` { }
347+348+: A function taking an empty attribute set (for future extensibility)
349+ and returning a set with [CDN](https://github.com/dzikoysk/cdn)-specific
350+ attributes `type` and `generate` as specified [below](#pkgs-formats-result).
351+352`pkgs.formats.elixirConf { elixir ? pkgs.elixir }`
353354: A function taking an attribute set with values
+4
nixos/doc/manual/release-notes/rl-2505.section.md
···156 access or want to access home directory via `killHook`, hardening setting can
157 be changed via, e.g. `systemd.services.earlyoom.serviceConfig.ProtectSystem`.
1580000159- `nodePackages.vls` has been deprecated, as the upstream consumer of it, vetur, has been deprecated by upstream. Upstream suggests migrating to Volar for Vue LSP tooling instead.
160161- `nodePackages.create-react-native-app` has been removed, as it is deprecated. Upstream suggests using a framework for React Native apps instead.
···156 access or want to access home directory via `killHook`, hardening setting can
157 be changed via, e.g. `systemd.services.earlyoom.serviceConfig.ProtectSystem`.
158159+ `services.earlyoom.extraArgs` is now shell-escaped for each element without
160+ word-breaking. So you want to write `extraArgs = [ "--prefer" "spaced pat" ]`
161+ rather than previous `extraArgs = [ "--prefer 'spaced pat'" ]`.
162+163- `nodePackages.vls` has been deprecated, as the upstream consumer of it, vetur, has been deprecated by upstream. Upstream suggests migrating to Volar for Vue LSP tooling instead.
164165- `nodePackages.create-react-native-app` has been removed, as it is deprecated. Upstream suggests using a framework for React Native apps instead.
+1
nixos/modules/installer/cd-dvd/iso-image.nix
···870 # Create the ISO image.
871 image.extension = if config.isoImage.compressImage then "iso.zst" else "iso";
872 image.filePath = "iso/${config.image.fileName}";
0873 system.build.image = config.system.build.isoImage;
874 system.build.isoImage = pkgs.callPackage ../../../lib/make-iso9660-image.nix ({
875 inherit (config.isoImage) compressImage volumeID contents;
···139 default = [ ];
140 example = [
141 "-g"
142- "--prefer '(^|/)(java|chromium)$'"
0143 ];
144- description = "Extra command-line arguments to be passed to earlyoom.";
0000145 };
146 };
147
···139 default = [ ];
140 example = [
141 "-g"
142+ "--prefer"
143+ "(^|/)(java|chromium)$"
144 ];
145+ description = ''
146+ Extra command-line arguments to be passed to earlyoom. Each element in
147+ the value list will be escaped as an argument without further
148+ word-breaking.
149+ '';
150 };
151 };
152
···1+libcob: Fix include for xmlCleanupParser
2+3+common.c uses xmlCleanupParser, which is defined in libxml/parser.h.
4+---
5+6+--- a/libcob/common.c 2025-01-01 03:03:49.762316279 +0100
7++++ b/libcob/common.c 2025-01-01 03:01:56.632597306 +0100
8+@@ -136,6 +136,7 @@
9+ #if defined (WITH_XML2)
10+ #include <libxml/xmlversion.h>
11+ #include <libxml/xmlwriter.h>
12++#include <libxml/parser.h>
13+ #endif
14+15+ #if defined (WITH_CJSON)
16+
+4
pkgs/by-name/gn/gnucobol/package.nix
···63 # XXX: Without this, we get a cycle between bin and dev
64 propagatedBuildOutputs = [ ];
65000066 # Skips a broken test
67 postPatch = ''
68 sed -i '/^AT_CHECK.*crud\.cob/i AT_SKIP_IF([true])' tests/testsuite.src/listings.at
···63 # XXX: Without this, we get a cycle between bin and dev
64 propagatedBuildOutputs = [ ];
6566+ patches = [
67+ ./fix-libxml2-include.patch
68+ ];
69+70 # Skips a broken test
71 postPatch = ''
72 sed -i '/^AT_CHECK.*crud\.cob/i AT_SKIP_IF([true])' tests/testsuite.src/listings.at
···67buildGoModule rec {
8 pname = "melange";
9- version = "0.18.2";
1011 src = fetchFromGitHub {
12 owner = "chainguard-dev";
13 repo = pname;
14 rev = "v${version}";
15- hash = "sha256-DlFGB0uVAPUd9EqTWEQm1AKtUbTgm1z5ftENzPMkAz4=";
16 # populate values that require us to use git. By doing this in postFetch we
17 # can delete .git afterwards and maintain better reproducibility of the src.
18 leaveDotGit = true;
···67buildGoModule rec {
8 pname = "melange";
9+ version = "0.18.3";
1011 src = fetchFromGitHub {
12 owner = "chainguard-dev";
13 repo = pname;
14 rev = "v${version}";
15+ hash = "sha256-bFlILwA8Vy7u8pJFx8PHvfYaeh8M2SRzrTpdDMYz6+M=";
16 # populate values that require us to use git. By doing this in postFetch we
17 # can delete .git afterwards and maintain better reproducibility of the src.
18 leaveDotGit = true;
···8nix_args=(--arg nixos "import <nixpkgs/nixos> { }")
9flake=""
10000000000000000000000000000011while [[ $# -gt 0 ]]; do
12 case "$1" in
13 --help)
···66fi
6768if [[ -n "$flake" ]]; then
69- echo >&2 "[WARN] Flake support in nixos-option is experimental and has known issues."
70-71 if [[ $flake =~ ^(.*)\#([^\#\"]*)$ ]]; then
72 flake="${BASH_REMATCH[1]}"
73 flakeAttr="${BASH_REMATCH[2]}"
74 fi
75 # Unlike nix cli, builtins.getFlake infer path:// when a path is given
76 # See https://github.com/NixOS/nix/issues/5836
77- # Using `git rev-parse --show-toplevel` since we can't assume the flake dir
78- # itself is a git repo, because the flake could be in a sub directory
79- if [[ -d "$flake" ]] && git -C "$flake" rev-parse --show-toplevel &>/dev/null; then
80- flake="git+file://$(realpath "$flake")"
081 fi
82 if [[ -z "${flakeAttr:-}" ]]; then
83 hostname=$(< /proc/sys/kernel/hostname)
···8nix_args=(--arg nixos "import <nixpkgs/nixos> { }")
9flake=""
1011+12+discover_git() {
13+ if [[ $# -ne 1 ]]; then
14+ echo "$0 directory"
15+ return 1
16+ fi
17+ local previous=
18+ local current=$1
19+20+ while [[ -d "$current" && "$current" != "$previous" ]]; do
21+ # .git can be a file for worktrees otherwise it's a directory
22+ if [[ -d "$current/.git" ]]; then
23+ echo "$current"
24+ return
25+ elif [[ -f "$current/.git" ]]; then
26+ # resolve worktree
27+ dotgit=$(<"$current/.git")
28+ if [[ ${dotgit[0]} =~ gitdir:\ (.*) ]]; then
29+ echo "${BASH_REMATCH[1]}"
30+ return
31+ fi
32+ else
33+ previous=$current
34+ current=$(dirname "$current")
35+ fi
36+ done
37+}
38+39while [[ $# -gt 0 ]]; do
40 case "$1" in
41 --help)
···94fi
9596if [[ -n "$flake" ]]; then
0097 if [[ $flake =~ ^(.*)\#([^\#\"]*)$ ]]; then
98 flake="${BASH_REMATCH[1]}"
99 flakeAttr="${BASH_REMATCH[2]}"
100 fi
101 # Unlike nix cli, builtins.getFlake infer path:// when a path is given
102 # See https://github.com/NixOS/nix/issues/5836
103+ if [[ -d "$flake" ]]; then
104+ repo=$(discover_git "$(realpath "$flake")")
105+ if [[ -n "$repo" ]]; then
106+ flake="git+file://$repo"
107+ fi
108 fi
109 if [[ -z "${flakeAttr:-}" ]]; then
110 hostname=$(< /proc/sys/kernel/hostname)
···3637 doCheck = false;
3839+ # /nix/store/.../bin/ld: internal/mkcw/embed/entrypoint_amd64.o: relocation R_X86_64_32S against `.rodata.1' can not be used when making a PIE object; recompile with -fPIE
40+ hardeningDisable = [ "pie" ];
41+42 nativeBuildInputs = [
43 go-md2man
44 installShellFiles