···4242{
4343 nativeBuildInputs = [ installShellFiles ];
44444545- # Sometimes the manpage file has an undesirable name; e.g., it conflicts with
4646- # another software with an equal name. It should be renamed before being
4747- # installed via installManPage
4545+ # Sometimes the manpage file has an undersirable name; e.g., it conflicts with
4646+ # another software with an equal name. To install it with a different name,
4747+ # the installed name must be provided before the path to the file.
4848+ #
4949+ # Below install a manpage "foobar.1" from the source file "./foobar.1", and
5050+ # also installs the manpage "fromsea.3" from the source file "./delmar.3".
5151+ postInstall = ''
5252+ installManPage \
5353+ foobar.1 \
5454+ --name fromsea.3 delmar.3
5555+ '';
5656+}
5757+```
5858+5959+The manpage may be the result of a piped input (e.g. `<(cmd)`), in which
6060+case the name must be provided before the pipe with the `--name` flag.
6161+6262+```nix
6363+{
6464+ nativeBuildInputs = [ installShellFiles ];
6565+6666+ postInstall = ''
6767+ installManPage --name foobar.1 <($out/bin/foobar --manpage)
6868+ '';
6969+}
7070+```
7171+7272+If no parsing of arguments is desired, pass `--` to opt-out of all subsequent
7373+arguments.
7474+7575+```nix
7676+{
7777+ nativeBuildInputs = [ installShellFiles ];
7878+7979+ # Installs a manpage from a file called "--name"
4880 postInstall = ''
4949- mv fromsea.3 delmar.3
5050- installManPage foobar.1 delmar.3
8181+ installManPage -- --name
5182 '';
5283}
5384```
···5889completion files.
59906091By default it will autodetect the shell type from the completion file extension,
6161-but you may also specify it by passing one of `--bash`, `--fish`, or
6262-`--zsh`. These flags apply to all paths listed after them (up until another
9292+but you may also specify it by passing one of `--bash`, `--fish`, `--zsh`, or
9393+`--nushell`. These flags apply to all paths listed after them (up until another
6394shell flag is given). Each path may also have a custom installation name
6495provided by providing a flag `--name NAME` before the path. If this flag is not
6596provided, zsh completions will be renamed automatically such that `foobar.zsh`
···77108 # explicit behavior
78109 installShellCompletion --bash --name foobar.bash share/completions.bash
79110 installShellCompletion --fish --name foobar.fish share/completions.fish
111111+ installShellCompletion --nushell --name foobar share/completions.nu
80112 installShellCompletion --zsh --name _foobar share/completions.zsh
81113 # implicit behavior
8282- installShellCompletion share/completions/foobar.{bash,fish,zsh}
114114+ installShellCompletion share/completions/foobar.{bash,fish,zsh,nu}
83115 '';
84116}
85117```
···104136 installShellCompletion --cmd foobar \
105137 --bash <($out/bin/foobar --bash-completion) \
106138 --fish <($out/bin/foobar --fish-completion) \
139139+ --nushell <($out/bin/foobar --nushell-completion) \
107140 --zsh <($out/bin/foobar --zsh-completion)
108141 '';
109142}
+6
doc/languages-frameworks/go.section.md
···192192193193Defaults to `null`
194194195195+### `buildTestBinaries` {#var-go-buildTestBinaries}
196196+197197+This option allows to compile test binaries instead of the usual binaries produced by a package.
198198+Go can [compile test into binaries](https://pkg.go.dev/cmd/go#hdr-Test_packages) using the `go test -c` command.
199199+These binaries can then be executed at a later point (outside the Nix sandbox) to run the tests.
200200+This is mostly useful for downstream consumers to run integration or end-to-end tests that won't work in the Nix sandbox, for example because they require network access.
195201196202## Versioned toolchains and builders {#ssec-go-toolchain-versions}
197203
···22222323- The `offrss` package was removed due to lack of upstream maintenance since 2012. It's recommended for users to migrate to another RSS reader
24242525+- `installShellFiles`: Allow installManPage to take a piped input, add the `--name` flag for renaming the file when installed. Can also append `--` to opt-out of all subsequent parsing.
2626+2527- GCC 9, 10, 11, and 12 have been removed, as they have reached end‐of‐life upstream and are no longer supported.
26282729- GHCJS 8.10, exposed via `haskell.compiler.ghcjs` and `haskell.compiler.ghcjs810`, has been removed. Downstream users should migrate their projects to the new JavaScript backend of GHC proper which can be used via `pkgsCross.ghcjs` from Nixpkgs. Haskell packaging code, like `haskellPackages.mkDerivation`, `ghcWithPackages` and `hoogleWithPackages`, also no longer supports GHCJS.
···50525153- `kbd` package's `outputs` now include a `man` and `scripts` outputs. The `unicode_start` and `unicode_stop` Bash scripts are now part of the `scripts` output, allowing most usages of the `kbd` package to not pull in `bash`.
52545555+- `spidermonkey_91` has been removed, as it has been EOL since September 2022.
5656+5357- `cudaPackages.cudatoolkit-legacy-runfile` has been removed.
54585559- `conduwuit` was removed due to upstream ceasing development and deleting their repository. For existing data, a migration to `matrix-conduit`, `matrix-continuwuity` or `matrix-tuwunel` may be possible.
···6367 and the given `ghc` otherwise. This approach is not recommended since it results in mismatched GHC versions.
64686569- `gnome-keyring` no longer ships with an SSH agent anymore because it has been deprecated upstream. You should use `gcr_4` instead, which provides the same features. More information on why this was done can be found on [the relevant GCR upstream PR](https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/67).
7070+7171+- `python3Full` and its versioned attributes (python3xxFull) have been removed. Bluetooth support is now enabled in the default python3 attributes. The X11 support built the tkinter module, which is available as a dedicated attribute on the package set.
66726773- `stdenv.mkDerivation` and other derivation builders that use it no longer allow the value of `env` to be anything but an attribute set, for the purpose of setting environment variables that are available to the [builder](https://nix.dev/manual/nix/latest/store/derivation/#builder) process. An environment variable called `env` can still be provided by means of `mkDerivation { env.env = ...; }`, though we recommend to use a more specific name than "env".
6874···155161156162- [`homebox` 0.20.0](https://github.com/sysadminsmedia/homebox/releases/tag/v0.20.0) changed how assets are stored and hashed. It is recommended to back up your database before this update.
157163164164+- `installShellCompletion`: now supports Nushell completion files
165165+158166- New hardening flags, `strictflexarrays1` and `strictflexarrays3` were made available, corresponding to the gcc/clang options `-fstrict-flex-arrays=1` and `-fstrict-flex-arrays=3` respectively.
159167160168- `gramps` has been updated to 6.0.0
···170178171179- `searx` was updated to use `envsubst` instead of `sed` for parsing secrets from environment variables.
172180 If your previous configuration included a secret reference like `server.secret_key = "@SEARX_SECRET_KEY@"`, you must migrate to the new envsubst syntax: `server.secret_key = "$SEARX_SECRET_KEY"`.
181181+182182+- A new hardening flag, `glibcxxassertions` was made available, corresponding to the glibc `_GLIBCXX_ASSERTIONS` option.
173183174184- `versionCheckHook`: Packages that previously relied solely on `pname` to locate the program used to version check, but have a differing `meta.mainProgram` entry, might now fail.
175185
+6
doc/stdenv/stdenv.chapter.md
···16821682sorry, unimplemented: __builtin_clear_padding not supported for variable length aggregates
16831683```
1684168416851685+#### `glibcxxassertions` {#glibcxxassertions}
16861686+16871687+Adds the `-D_GLIBCXX_ASSERTIONS` compiler flag. This flag only has an effect on libstdc++ targets, and when defined, enables extra error checking in the form of precondition assertions, such as bounds checking in c++ strings and null pointer checks when dereferencing c++ smart pointers.
16881688+16891689+These checks may have an impact on performance in some cases.
16901690+16851691#### `pacret` {#pacret}
1686169216871693This flag adds the `-mbranch-protection=pac-ret` compiler option on aarch64-linux targets. This uses ARM v8.3's Pointer Authentication feature to sign function return pointers before adding them to the stack. The pointer's authenticity is then validated before returning to its destination. This dramatically increases the difficulty of ROP exploitation techniques.
···11diff --git a/Documentation/git-send-email.adoc b/Documentation/git-send-email.adoc
22-index 7f223db42d..7e46a07d31 100644
22+index 5d13a856a7..5c9978c1e4 100644
33--- a/Documentation/git-send-email.adoc
44+++ b/Documentation/git-send-email.adoc
55-@@ -177,7 +177,7 @@ Sending
55+@@ -190,7 +190,7 @@ Sending
66 The command will be executed in the shell if necessary. Default
77 is the value of `sendemail.sendmailCmd`. If unspecified, and if
88- --smtp-server is also unspecified, git-send-email will search
99-- for `sendmail` in `/usr/sbin`, `/usr/lib` and $PATH.
1010-+ for `sendmail` in $PATH.
88+ `--smtp-server` is also unspecified, `git send-email` will search
99+- for `sendmail` in `/usr/sbin`, `/usr/lib` and `$PATH`.
1010++ for `sendmail` in `$PATH`.
11111212 --smtp-encryption=<encryption>::
1313 Specify in what way encrypting begins for the SMTP connection.
1414-@@ -233,9 +233,9 @@ a password is obtained using 'git-credential'.
1515- --smtp-server=<host>::
1414+@@ -247,7 +247,7 @@ a password is obtained using linkgit:git-credential[1].
1615 If set, specifies the outgoing SMTP server to use (e.g.
1716 `smtp.example.com` or a raw IP address). If unspecified, and if
1818-- `--sendmail-cmd` is also unspecified, the default is to search
1919-- for `sendmail` in `/usr/sbin`, `/usr/lib` and $PATH if such a
2020-- program is available, falling back to `localhost` otherwise.
2121-+ `--sendmail-cmd` is also unspecified, the default is to search for
2222-+ `sendmail` in $PATH if such a program is available, falling back to
2323-+ `localhost` otherwise.
1717+ `--sendmail-cmd` is also unspecified, the default is to search
1818+- for `sendmail` in `/usr/sbin`, `/usr/lib` and `$PATH` if such a
1919++ for `sendmail` in `$PATH` if such a
2020+ program is available, falling back to `localhost` otherwise.
2421 +
2522 For backward compatibility, this option can also specify a full pathname
2626- of a sendmail-like program instead; the program must support the `-i`
2723diff --git a/git-send-email.perl b/git-send-email.perl
2824index 798d59b84f..69c9cc2a7d 100755
2925--- a/git-send-email.perl
+2-2
pkgs/build-support/build-mozilla-mach/default.nix
···575575 (
576576 if (lib.versionAtLeast version "143") then
577577 nss_latest
578578- else if (lib.versionAtLeast version "129") then
578578+ else if (lib.versionAtLeast version "141") then
579579 nss_3_114
580580 else
581581- nss_esr # 3.90
581581+ nss_esr
582582 )
583583 ]
584584 ++ lib.optional alsaSupport alsa-lib
+5-1
pkgs/build-support/cc-wrapper/add-hardening.sh
···525253535454if (( "${NIX_DEBUG:-0}" >= 1 )); then
5555- declare -a allHardeningFlags=(fortify fortify3 shadowstack stackprotector stackclashprotection nostrictaliasing pacret strictflexarrays1 strictflexarrays3 pie pic strictoverflow format trivialautovarinit zerocallusedregs)
5555+ declare -a allHardeningFlags=(fortify fortify3 shadowstack stackprotector stackclashprotection nostrictaliasing pacret strictflexarrays1 strictflexarrays3 pie pic strictoverflow glibcxxassertions format trivialautovarinit zerocallusedregs)
5656 declare -A hardeningDisableMap=()
57575858 # Determine which flags were effectively disabled so we can report below.
···110110 pacret)
111111 if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling pacret >&2; fi
112112 hardeningCFlagsBefore+=('-mbranch-protection=pac-ret')
113113+ ;;
114114+ glibcxxassertions)
115115+ if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling glibcxxassertions >&2; fi
116116+ hardeningCFlagsBefore+=('-D_GLIBCXX_ASSERTIONS')
113117 ;;
114118 stackprotector)
115119 if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling stackprotector >&2; fi
+19-3
pkgs/build-support/go/module.nix
···6464 # Go build flags.
6565 GOFLAGS ? [ ],
66666767+ # Instead of building binary targets with 'go install', build test binaries with 'go test'.
6868+ # The binaries found in $out/bin can be executed as go tests outside of the sandbox.
6969+ # This is mostly useful outside of nixpkgs, for example to build integration/e2e tests
7070+ # that won't run within the sandbox.
7171+ buildTestBinaries ? false,
7272+6773 ...
6874 }@args:
6975 {
···346352 export NIX_BUILD_CORES=1
347353 fi
348354 for pkg in $(getGoDirs ""); do
349349- echo "Building subPackage $pkg"
350350- buildGoDir install "$pkg"
355355+ ${
356356+ if buildTestBinaries then
357357+ ''
358358+ echo "Building test binary for $pkg"
359359+ buildGoDir "test -c -o $GOPATH/bin/" "$pkg"
360360+ ''
361361+ else
362362+ ''
363363+ echo "Building subPackage $pkg"
364364+ buildGoDir install "$pkg"
365365+ ''
366366+ }
351367 done
352368 ''
353369 + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
···367383 ''
368384 );
369385370370- doCheck = args.doCheck or true;
386386+ doCheck = args.doCheck or (!buildTestBinaries);
371387 checkPhase =
372388 args.checkPhase or ''
373389 runHook preCheck
···32323333 `attrs`
34343535- : An AttrSet with the following definitions. See https://specifications.freedesktop.org/desktop-entry-spec/1.4/recognized-keys.html#id-1.7.6 for definitions.
3535+ : An AttrSet with the following definitions. See https://specifications.freedesktop.org/desktop-entry-spec/1.5/recognized-keys.html#id-1.7.6 for definitions.
36363737 - `name` (string): The name of the desktop file (excluding the .desktop or .directory file extensions)
3838 - `destination` (string): The directory that will contain the desktop entry file (Default: "/share/applications")
···5757 - `startupNotify` (bool): The `StartupNotify` of the desktop entry
5858 - `startupWMClass` (string): The `StartupWMClass` of the desktop entry
5959 - `url` (string): The `URL` of the Link-type desktop entry
6060- - `prefersNonDefaultGPU` (bool): The `PrefersNonDefaultGPU` (non-standard) of the desktop entry
6060+ - `prefersNonDefaultGPU` (bool): The `PrefersNonDefaultGPU` of the desktop entry
6161+ - `singleMainWindow` (bool): The `SingleMainWindow` of the desktop entry
6162 - `extraConfig` (AttrSet): Additional values to be added literally to the final item, e.g. vendor extensions
62636364 # Output
···66676768 # Developer Note
68696969- All possible values are as defined by the spec, version 1.4.
7070+ All possible values are as defined by the spec, version 1.5.
7071 Please keep in spec order for easier maintenance.
7172 When adding a new value, don't forget to update the Version field below!
7273 See https://specifications.freedesktop.org/desktop-entry-spec/latest
···99100 startupWMClass ? null,
100101 url ? null,
101102 prefersNonDefaultGPU ? null,
102102- # not supported until version 1.5, which is not supported by our desktop-file-utils as of 2022-02-23
103103- # singleMainWindow ? null,
103103+ singleMainWindow ? null,
104104 extraConfig ? { }, # Additional values to be added literally to the final item, e.g. vendor extensions
105105 }:
106106 let
···133133 # Please keep in spec order.
134134 mainSection = {
135135 "Type" = type;
136136- "Version" = "1.4";
136136+ "Version" = "1.5";
137137 "Name" = desktopName;
138138 "GenericName" = genericName;
139139 "NoDisplay" = boolOrNullToString noDisplay;
···155155 "StartupWMClass" = startupWMClass;
156156 "URL" = url;
157157 "PrefersNonDefaultGPU" = boolOrNullToString prefersNonDefaultGPU;
158158- # "SingleMainWindow" = boolOrNullToString singleMainWindow;
158158+ "SingleMainWindow" = boolOrNullToString singleMainWindow;
159159 }
160160 // extraConfig;
161161
···1111 # Compress all uncompressed manpages. Don't follow symlinks, etc.
1212 # gzip -f is needed to not error out on hard links.
1313 find "$dir"/share/man/ -type f -a '!' -regex '.*\.\(bz2\|gz\|xz\)$' -print0 \
1414- | xargs -0 -n1 -P "$NIX_BUILD_CORES" gzip -f
1414+ | xargs -0 -n1 -P "$NIX_BUILD_CORES" gzip -n -f
15151616 # Point symlinks to compressed manpages.
1717 find "$dir"/share/man/ -type l -a '!' -regex '.*\.\(bz2\|gz\|xz\)$' -print0 \
+1-1
pkgs/build-support/testers/expect-failure.sh
···4141#
4242# NOTE: This MUST be done after the original builder has finished!
4343# Otherwise we could pollute its environment.
4444-if [ -e "${NIX_ATTRS_SH_FILE:-}" ]; then . "$NIX_ATTRS_SH_FILE"; elif [ -f .attrs.sh ]; then . .attrs.sh; fi
4444+if [ -e "${NIX_ATTRS_SH_FILE:-}" ]; then . "$NIX_ATTRS_SH_FILE"; fi
45454646# Variables injected by replaceVars
4747#
···5353 kyua
5454 ];
55555656+ # Don’t install the test programs for ATF itself; they’re useless
5757+ # other than as part of the `installCheckPhase`, and they contain
5858+ # non‐reproducible references to the build directory.
5959+ postInstall = ''
6060+ rm -r $out/tests
6161+ '';
6262+5663 installCheckPhase = ''
5764 runHook preInstallCheck
5865 HOME=$TMPDIR PATH=$out/bin:$PATH kyua test
···1616#
1717# See comments on each function for more details.
18181919-# installManPage <path> [...<path>]
1919+# installManPage [--name <path>] <path> [...<path>]
2020#
2121# Each argument is checked for its man section suffix and installed into the appropriate
2222# share/man/man<n>/ directory. The function returns an error if any paths don't have the man
2323# section suffix (with optional .gz compression).
2424+#
2525+# Optionally accepts pipes as input, which when provided require the `--name` argument to
2626+# name the output file.
2727+#
2828+# installManPage --name foobar.1 <($out/bin/foobar --manpage)
2429installManPage() {
2525- local path
2626- for path in "$@"; do
2727- if test -z "$path"; then
3030+ local arg name='' continueParsing=1
3131+ while { arg=$1; shift; }; do
3232+ if (( continueParsing )); then
3333+ case "$arg" in
3434+ --name)
3535+ name=$1
3636+ shift || {
3737+ nixErrorLog "${FUNCNAME[0]}: --name flag expected an argument"
3838+ return 1
3939+ }
4040+ continue;;
4141+ --name=*)
4242+ # Treat `--name=foo` that same as `--name foo`
4343+ name=${arg#--name=}
4444+ continue;;
4545+ --)
4646+ continueParsing=0
4747+ continue;;
4848+ esac
4949+ fi
5050+5151+ nixInfoLog "${FUNCNAME[0]}: installing $arg${name:+ as $name}"
5252+ local basename
5353+5454+ # Check if path is empty
5555+ if test -z "$arg"; then
5656+ # It is an empty string
2857 nixErrorLog "${FUNCNAME[0]}: path cannot be empty"
2958 return 1
3059 fi
3131- nixInfoLog "${FUNCNAME[0]}: installing $path"
3232- local basename
3333- basename=$(stripHash "$path") # use stripHash in case it's a nix store path
6060+6161+ if test -n "$name"; then
6262+ # Provided name. Required for pipes, optional for paths
6363+ basename=$name
6464+ elif test -p "$arg"; then
6565+ # Named pipe requires a file name
6666+ nixErrorLog "${FUNCNAME[0]}: named pipe requires --name argument"
6767+ else
6868+ # Normal file without a name
6969+ basename=$(stripHash "$arg") # use stripHash in case it's a nix store path
7070+ fi
7171+7272+ # Check that it is well-formed
3473 local trimmed=${basename%.gz} # don't get fooled by compressed manpages
3574 local suffix=${trimmed##*.}
3675 if test -z "$suffix" -o "$suffix" = "$trimmed"; then
3737- nixErrorLog "${FUNCNAME[0]}: path missing manpage section suffix: $path"
7676+ nixErrorLog "${FUNCNAME[0]}: path missing manpage section suffix: $arg"
3877 return 1
3978 fi
7979+8080+ # Create the out-path
4081 local outRoot
4182 if test "$suffix" = 3; then
4283 outRoot=${!outputDevman:?}
4384 else
4485 outRoot=${!outputMan:?}
4586 fi
4646- local outPath="${outRoot}/share/man/man$suffix/$basename"
4747- install -D --mode=644 --no-target-directory "$path" "$outPath"
8787+ local outPath="${outRoot}/share/man/man$suffix/"
8888+ nixInfoLog "${FUNCNAME[0]}: installing to $outPath"
8989+9090+ # Install
9191+ if test -p "$arg"; then
9292+ # install doesn't work with pipes on Darwin
9393+ mkdir -p "$outPath" && cat "$arg" > "$outPath/$basename"
9494+ else
9595+ install -D --mode=644 --no-target-directory -- "$arg" "$outPath/$basename"
9696+ fi
9797+9898+ # Reset the name for the next page
9999+ name=
48100 done
49101}
5010251103# installShellCompletion [--cmd <name>] ([--bash|--fish|--zsh] [--name <name>] <path>)...
52104#
53105# Each path is installed into the appropriate directory for shell completions for the given shell.
5454-# If one of `--bash`, `--fish`, or `--zsh` is given the path is assumed to belong to that shell.
5555-# Otherwise the file extension will be examined to pick a shell. If the shell is unknown a warning
5656-# will be logged and the command will return a non-zero status code after processing any remaining
5757-# paths. Any of the shell flags will affect all subsequent paths (unless another shell flag is
5858-# given).
106106+# If one of `--bash`, `--fish`, `--zsh`, or `--nushell` is given the path is assumed to belong to
107107+# that shell. Otherwise the file extension will be examined to pick a shell. If the shell is
108108+# unknown a warning will be logged and the command will return a non-zero status code after
109109+# processing any remaining paths. Any of the shell flags will affect all subsequent paths (unless
110110+# another shell flag is given).
59111#
60112# If the shell completion needs to be renamed before installing the optional `--name <name>` flag
61113# may be given. Any name provided with this flag only applies to the next path.
···84136#
85137# installShellCompletion --bash --name foobar.bash share/completions.bash
86138# installShellCompletion --fish --name foobar.fish share/completions.fish
139139+# installShellCompletion --nushell --name foobar share/completions.nu
87140# installShellCompletion --zsh --name _foobar share/completions.zsh
88141#
89142# Or to use shell newline escaping to split a single invocation across multiple lines:
···91144# installShellCompletion --cmd foobar \
92145# --bash <($out/bin/foobar --bash-completion) \
93146# --fish <($out/bin/foobar --fish-completion) \
147147+# --nushell <($out/bin/foobar --nushell-completion)
94148# --zsh <($out/bin/foobar --zsh-completion)
95149#
96150# If any argument is `--` the remaining arguments will be treated as paths.
···100154 # Parse arguments
101155 if (( parseArgs )); then
102156 case "$arg" in
103103- --bash|--fish|--zsh)
157157+ --bash|--fish|--zsh|--nushell)
104158 shell=${arg#--}
105159 continue;;
106160 --name)
···146200 elif [[ -p "$arg" ]]; then
147201 # this is a named fd or fifo
148202 if [[ -z "$curShell" ]]; then
149149- nixErrorLog "${FUNCNAME[0]}: named pipe requires one of --bash, --fish, or --zsh"
203203+ nixErrorLog "${FUNCNAME[0]}: named pipe requires one of --bash, --fish, --zsh, or --nushell"
150204 return 1
151205 elif [[ -z "$name" && -z "$cmdname" ]]; then
152206 nixErrorLog "${FUNCNAME[0]}: named pipe requires one of --cmd or --name"
···161215 case "$argbase" in
162216 ?*.bash) curShell=bash;;
163217 ?*.fish) curShell=fish;;
218218+ ?*.nu) curShell=nushell;;
164219 ?*.zsh) curShell=zsh;;
165220 *)
166221 if [[ "$argbase" = _* && "$argbase" != *.* ]]; then
···182237 elif [[ -n "$cmdname" ]]; then
183238 case "$curShell" in
184239 bash|fish) outName=$cmdname.$curShell;;
240240+ nushell) outName=$cmdname.nu;;
185241 zsh) outName=_$cmdname;;
186242 *)
187243 # Our list of shells is out of sync with the flags we accept or extensions we detect.
···193249 case "$curShell" in
194250 bash) sharePath=bash-completion/completions;;
195251 fish) sharePath=fish/vendor_completions.d;;
252252+ nushell) sharePath=nushell/vendor/autoload;;
196253 zsh)
197254 sharePath=zsh/site-functions
198255 # only apply automatic renaming if we didn't have a manual rename
···11+{
22+ lib,
33+ stdenv,
44+ fetchFromGitLab,
55+ pkg-config,
66+ autoreconfHook,
77+ util-macros,
88+ xorgproto,
99+ libX11,
1010+ libXext,
1111+ testers,
1212+}:
1313+stdenv.mkDerivation (finalAttrs: {
1414+ pname = "libapplewm";
1515+ version = "1.4.1-unstable-2021-01-04";
1616+1717+ src = fetchFromGitLab {
1818+ domain = "gitlab.freedesktop.org";
1919+ owner = "xorg/lib";
2020+ repo = "libapplewm";
2121+ rev = "be972ebc3a97292e7d2b2350eff55ae12df99a42";
2222+ hash = "sha256-NH9YeOEtnEupqpnsMLC21I+LmCOzT7KnfdzNNWqba/Y=";
2323+ };
2424+2525+ strictDeps = true;
2626+2727+ nativeBuildInputs = [
2828+ pkg-config
2929+ autoreconfHook
3030+ util-macros
3131+ ];
3232+3333+ buildInputs = [
3434+ xorgproto
3535+ libX11
3636+ libXext
3737+ ];
3838+3939+ passthru = {
4040+ # updateScript = # no updatescript since we don't use a tagged release (last one was 14 years ago)
4141+ tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
4242+ };
4343+4444+ meta = {
4545+ description = "Xlib-based library for the Apple-WM extension";
4646+ longDescription = ''
4747+ AppleWM is a simple library designed to interface with the Apple-WM extension.
4848+ This extension allows X window managers to better interact with the Mac OS X Aqua user
4949+ interface when running X11 in a rootless mode.
5050+ '';
5151+ homepage = "https://gitlab.freedesktop.org/xorg/lib/libapplewm";
5252+ license = lib.licenses.mit;
5353+ maintainers = [ ];
5454+ pkgConfigModules = [ "applewm" ];
5555+ platforms = lib.platforms.darwin;
5656+ };
5757+})
+3-3
pkgs/by-name/li/libarchive/package.nix
···7474 "libarchive/test/test_read_disk_directory_traversals.c"
7575 "cpio/test/test_option_a.c"
7676 "cpio/test/test_option_t.c"
7777- ]
7878- ++ lib.optionals (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux) [
7979- # only on some aarch64-linux systems?
7777+ # fails tests on filesystems with 64-bit inode values:
7878+ # FAIL: bsdcpio_test
7979+ # bsdcpio: linkfile: large inode number truncated: Numerical result out of range
8080 "cpio/test/test_basic.c"
8181 "cpio/test/test_format_newc.c"
8282 ];
+54
pkgs/by-name/li/libdmx/package.nix
···11+{
22+ lib,
33+ stdenv,
44+ fetchurl,
55+ pkg-config,
66+ xorgproto,
77+ libx11,
88+ libxext,
99+ testers,
1010+}:
1111+stdenv.mkDerivation (finalAttrs: {
1212+ pname = "libdmx";
1313+ version = "1.1.5";
1414+1515+ src = fetchurl {
1616+ url = "mirror://xorg/individual/lib/libdmx-${finalAttrs.version}.tar.xz";
1717+ hash = "sha256-NaTiaosLK0/jZEHcpGNkXD+lLSgqw1IFAaOOqULL908=";
1818+ };
1919+2020+ strictDeps = true;
2121+2222+ nativeBuildInputs = [ pkg-config ];
2323+2424+ buildInputs = [
2525+ xorgproto
2626+ libx11
2727+ libxext
2828+ ];
2929+3030+ configureFlags = lib.optional (
3131+ stdenv.hostPlatform != stdenv.buildPlatform
3232+ ) "--enable-malloc0returnsnull";
3333+3434+ passthru = {
3535+ # updateScript = # libdmx it deprecated and thus needs no updatescript
3636+ tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
3737+ };
3838+3939+ meta = {
4040+ description = "Xlib-based library for the DMX (Distributed Multihead X) extension";
4141+ longDescription = ''
4242+ This library allows X11 clients to use the Distributed Multihead X (DMX) Extension,
4343+ as previously implemented in the Xdmx server.
4444+ X.Org removed support for the Xdmx server from the xorg-server releases in the version 21
4545+ release in 2021. This library is thus now considered deprecated and the version 1.1.5 release
4646+ is the last release X.Org plans to make of libdmx.
4747+ '';
4848+ homepage = "https://gitlab.freedesktop.org/xorg/lib/libdmx";
4949+ license = lib.licenses.mit;
5050+ maintainers = [ ];
5151+ pkgConfigModules = [ "dmx" ];
5252+ platforms = lib.platforms.unix;
5353+ };
5454+})
···11-From 904e9dee373eca499e976dce131f0baee06db2d6 Mon Sep 17 00:00:00 2001
22-From: Alyssa Ross <hi@alyssa.is>
33-Date: Thu, 13 Feb 2025 12:05:17 +0100
44-Subject: [PATCH] api: fix seccomp_export_bpf_mem out-of-bounds read
55-66-*len is the length of the destination buffer, but program->blks is
77-probably not anywhere near that long. It's already been checked above
88-that BPF_PGM_SIZE(program) is less than or equal to *len, so that's
99-the correct value to use here to avoid either reading or writing too
1010-much.
1111-1212-I noticed this because tests/11-basic-basic_errors started failing on
1313-musl after e797591 ("all: add seccomp_precompute() functionality").
1414-1515-Signed-off-by: Alyssa Ross <hi@alyssa.is>
1616----
1717-Link: https://github.com/seccomp/libseccomp/pull/458
1818-1919- src/api.c | 2 +-
2020- 1 file changed, 1 insertion(+), 1 deletion(-)
2121-2222-diff --git a/src/api.c b/src/api.c
2323-index adccef3..65a277a 100644
2424---- a/src/api.c
2525-+++ b/src/api.c
2626-@@ -786,7 +786,7 @@ API int seccomp_export_bpf_mem(const scmp_filter_ctx ctx, void *buf,
2727- if (BPF_PGM_SIZE(program) > *len)
2828- rc = _rc_filter(-ERANGE);
2929- else
3030-- memcpy(buf, program->blks, *len);
3131-+ memcpy(buf, program->blks, BPF_PGM_SIZE(program));
3232- }
3333- *len = BPF_PGM_SIZE(program);
3434-3535---
3636-2.47.0
3737-
···32323333stdenv.mkDerivation rec {
3434 pname = "modemmanager";
3535- version = "1.22.0";
3535+ version = "1.24.0";
36363737 src = fetchFromGitLab {
3838 domain = "gitlab.freedesktop.org";
3939 owner = "mobile-broadband";
4040 repo = "ModemManager";
4141 rev = version;
4242- hash = "sha256-/D9b2rCCUhpDCUfSNAWR65+3EyUywzFdH1R17eSKRDo=";
4242+ hash = "sha256-3jI75aR2esmv5dkE4TrdCHIcCvtdOBKnBC5XLEKoVFs=";
4343 };
44444545 patches = [
4646 # Since /etc is the domain of NixOS, not Nix, we cannot install files there.
4747 # But these are just placeholders so we do not need to install them at all.
4848 ./no-dummy-dirs-in-sysconfdir.patch
4949-5050- (fetchpatch {
5151- name = "GI_TYPELIB_PATH.patch";
5252- url = "https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/commit/daa829287894273879799a383ed4dc373c6111b0.patch";
5353- hash = "sha256-tPQokiZO2SpTlX8xMlkWjP1AIXgoLHW3rJwnmG33z/k=";
5454- })
5549 ];
56505751 strictDeps = true;
+2-12
pkgs/by-name/mo/moltenvk/package.nix
···22 lib,
33 stdenv,
44 fetchFromGitHub,
55- fetchpatch2,
65 gitUpdater,
76 apple-sdk_15,
87 cereal,
···22212322stdenv.mkDerivation (finalAttrs: {
2423 pname = "MoltenVK";
2525- version = "1.2.11";
2424+ version = "1.3.0";
26252726 strictDeps = true;
2827···4847 owner = "KhronosGroup";
4948 repo = "MoltenVK";
5049 rev = "v${finalAttrs.version}";
5151- hash = "sha256-24qQnJ0RnJP2M4zSlSlQ4c4dVZtHutNiCvjrsCDw6wY=";
5050+ hash = "sha256-V69P1t48XP/pAPgpVsnFeCBidhHk60XGHRkHF6AEke0=";
5251 };
5353-5454- patches = [
5555- # Cherry-pick patch to fix build failure due to a hardcoded SPIRV-Cross namespace.
5656- # This can be dropped for MoltenVK 1.2.12.
5757- (fetchpatch2 {
5858- url = "https://github.com/KhronosGroup/MoltenVK/commit/856c8237ac3b32178caae3408effc35bedfdffa1.patch?full_index=1";
5959- hash = "sha256-dVTop8sU19Swdb3ajbI+6S715NaxTqd7d0yQ/FDqxqY=";
6060- })
6161- ];
62526353 postPatch = ''
6454 # Move `mvkGitRevDerived.h` to a stable location
···22 lib,
33 stdenv,
44 fetchFromGitHub,
55- runtimeShell,
65 nixosTests,
76 autoreconfHook,
87 bison,
···4948 "man"
5049 ];
51505252- RUNTIME_SHELL = runtimeShell;
5353-5451 nativeBuildInputs = [
5552 autoreconfHook
5653 bison
···7471 ./keep-path.patch
7572 # Obtain XML resources from XML catalog (patch adapted from gtk-doc)
7673 ./respect-xml-catalog-files-var.patch
7777- ./runtime-shell.patch
7874 ./fix-install-with-tcb.patch
7975 ];
80768181- # The nix daemon often forbids even creating set[ug]id files.
8277 postPatch = ''
7878+ # The nix daemon often forbids even creating set[ug]id files
8379 sed 's/^\(s[ug]idperms\) = [0-9]755/\1 = 0755/' -i src/Makefile.am
8080+8181+ # The default shell is not defined at build time of the package. It is
8282+ # decided at build time of the NixOS configration. Thus, don't decide this
8383+ # here but just point to the location of the shell on the system.
8484+ substituteInPlace configure.ac --replace-fail '$SHELL' /bin/sh
8485 '';
85868687 # `AC_FUNC_SETPGRP' is not cross-compilation capable.
-13
pkgs/by-name/sh/shadow/runtime-shell.patch
···11-diff --git a/configure.ac b/configure.ac
22-index e4c6aaec..03883ad7 100644
33---- a/configure.ac
44-+++ b/configure.ac
55-@@ -682,7 +682,7 @@ if test "$enable_utmpx" = "yes"; then
66- [Define if utmpx should be used])
77- fi
88-99--AC_DEFINE_UNQUOTED(SHELL, ["$SHELL"], [The default shell.])
1010-+AC_DEFINE_UNQUOTED(SHELL, ["$RUNTIME_SHELL"], [The runtime shell.])
1111-1212- AM_GNU_GETTEXT_VERSION(0.16)
1313- AM_GNU_GETTEXT([external], [need-ngettext])
···2929 "2.4.10".sha256 = "sha256-zus5a2nSkT7uBIQcKva+ylw0LOFGTD/j5FPy3hDF4vg=";
3030 # By unofficial and very loose convention we keep the latest version of
3131 # SBCL, and the previous one in case someone quickly needs to roll back.
3232- "2.5.4".sha256 = "sha256-XxS07ZKUKp44dZT6wAC5bbdGfpzlYTBn/8CSPfPsIHI=";
3332 "2.5.5".sha256 = "sha256-ZQJnCvs2G6m+RKL6/pr5tZ57JK5QmnkaZrVIHylVlQs=";
3333+ "2.5.7".sha256 = "sha256-xPr+t5VpnVvP+QhQkazHYtz15V+FI1Yl89eu8SyJ0dM=";
3434 };
3535 # Collection of pre-built SBCL binaries for platforms that need them for
3636 # bootstrapping. Ideally these are to be avoided. If ECL (or any other
+17-16
pkgs/development/compilers/zulu/21.nix
···44 ...
55}@args:
6677+let
88+ # JDK FX can potentially be different version than regular JDK
99+ zuluVersion = if enableJavaFX then "21.44.17" else "21.44.17";
1010+ jdkVersion = "21.0.8";
1111+in
712callPackage ./common.nix (
813 {
914 # Details from https://www.azul.com/downloads/?version=java-21-lts&package=jdk
1015 # Note that the latest build may differ by platform
1116 dists = {
1217 x86_64-linux = {
1313- zuluVersion = "21.36.17";
1414- jdkVersion = "21.0.4";
1818+ inherit zuluVersion jdkVersion;
1519 hash =
1620 if enableJavaFX then
1717- "sha256-Q2bdM0/a2t5aBRCIzXBlhXamf8N7wdSUsK5VhaU9DcY="
2121+ "sha256-T+bGfe0IoYwX1Odh66CdRL1fzbvA63NqM9e2hLCbx2Y="
1822 else
1919- "sha256-MY0MLtPIdvt+oslSlFzc997PtSZMpRrs4VnmNaxT1UQ=";
2323+ "sha256-Y/Vru0aVjPVzUvugjydV4JU3mRleVUWswMipKSC+/x4=";
2024 };
21252226 aarch64-linux = {
2323- zuluVersion = "21.36.17";
2424- jdkVersion = "21.0.4";
2727+ inherit zuluVersion jdkVersion;
2528 hash =
2629 if enableJavaFX then
2727- "sha256-BzNEcDrQo5yOWnEsJxw9JfXYdZGN6/wxnTDB0qC1i/0="
3030+ "sha256-6qFwo2rBV+mbEFDZNoqEs3z+2saj31fsOHG9jToST2Q="
2831 else
2929- "sha256-2jwtfbM2cLz2ZTJEGut/M9zw0ifI2v5841zuZ/aCnEw=";
3232+ "sha256-/38u3R1cFTy2y0k6OqNSNFPimgXsUTslwkqhR37AxyI=";
3033 };
31343235 x86_64-darwin = {
3333- zuluVersion = "21.36.17";
3434- jdkVersion = "21.0.4";
3636+ inherit zuluVersion jdkVersion;
3537 hash =
3638 if enableJavaFX then
3737- "sha256-H3gM2XCCcuUxlAEzX6IO7Cp6NtH85PYHlH54k5XvNAc="
3939+ "sha256-PGnYq+9MskgczsEjx4aH5yDYjZLw8Tk8IZSMOXw03aw="
3840 else
3939- "sha256-XOdaaiR8cCm3TEynz29g/SstaM4eiVb7RI0phDFrX+o=";
4141+ "sha256-KvCAUAtcwoamNTGHx8WbWq/LPtwpwch9H9cbotalI/E=";
4042 };
41434244 aarch64-darwin = {
4343- zuluVersion = "21.36.17";
4444- jdkVersion = "21.0.4";
4545+ inherit zuluVersion jdkVersion;
4546 hash =
4647 if enableJavaFX then
4747- "sha256-lLAb8MABo95A5WcayBLNvsBSdVFptnO4EmhX2gjo6r8="
4848+ "sha256-Bj1cYFfm3dq+HB9tdnFwT7onVQ9Slf0zRFBK4z9LUoY="
4849 else
4949- "sha256-vCdQ+BoWbMbpwwroqrpU8lOoyOydjPwEpVX+IHEse/8=";
5050+ "sha256-0izgX+o+PyjIxZ8sNIvHjulnvxKJpPsoeWzAF3/2yNs=";
5051 };
5152 };
5253 }
···11-WGET_ARGS=( https://download.qt.io/official_releases/qt/6.9/6.9.1/submodules/ -A '*.tar.xz' )
11+WGET_ARGS=( https://download.qt.io/official_releases/qt/6.9/6.9.2/submodules/ -A '*.tar.xz' )
···5252 lapack
5353 ];
54545555- # Prefer finding BLAS and LAPACK via pkg-config.
5656- # Avoid using the Accelerate.framework from the Darwin SDK.
5757- # Also, avoid mistaking BLAS for LAPACK.
5858- env.CMAKE_ARGS = lib.cmakeBool "BLA_PREFER_PKGCONFIG" true;
5555+ cmakeFlags = [
5656+ # Prefer finding BLAS and LAPACK via pkg-config.
5757+ # Avoid using the Accelerate.framework from the Darwin SDK.
5858+ # Also, avoid mistaking BLAS for LAPACK.
5959+ (lib.cmakeBool "BLA_PREFER_PKGCONFIG" true)
6060+ ];
59616062 pythonImportsCheck = [
6163 "basix"
···1717 build-system = [ hatchling ];
18181919 postPatch =
2020- # Do not rely on path lookup at runtime to find the uv binary.
2121- # Use the propagated binary instead.
2020+ # Add the path to the uv binary as a fallback after other path search methods have been exhausted
2221 ''
2322 substituteInPlace python/uv/_find_uv.py \
2424- --replace-fail '"""Return the uv binary path."""' "return '${lib.getExe uv}'"
2323+ --replace-fail \
2424+ 'sysconfig.get_path("scripts", scheme=_user_scheme()),' \
2525+ 'sysconfig.get_path("scripts", scheme=_user_scheme()), "${builtins.baseNameOf (lib.getExe uv)}",'
2526 ''
2627 # Sidestep the maturin build system in favour of reusing the binary already built by nixpkgs,
2728 # to avoid rebuilding the uv binary for every active python package set.
···11-Avoids needing xcrun or xcodebuild in PATH for native package builds
22-33---- a/tools/gyp/pylib/gyp/xcode_emulation.py
44-+++ b/tools/gyp/pylib/gyp/xcode_emulation.py
55-@@ -522,7 +522,13 @@ class XcodeSettings:
66- # Since the CLT has no SDK paths anyway, returning None is the
77- # most sensible route and should still do the right thing.
88- try:
99-- return GetStdoutQuiet(["xcrun", "--sdk", sdk, infoitem])
1010-+ #return GetStdoutQuiet(["xcrun", "--sdk", sdk, infoitem])
1111-+ return {
1212-+ "--show-sdk-platform-path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform",
1313-+ "--show-sdk-path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk",
1414-+ "--show-sdk-build-version": "19A547",
1515-+ "--show-sdk-version": "10.15"
1616-+ }[infoitem]
1717- except GypError:
1818- pass
1919-2020-@@ -1499,7 +1505,8 @@ def XcodeVersion():
2121- version = ""
2222- build = ""
2323- try:
2424-- version_list = GetStdoutQuiet(["xcodebuild", "-version"]).splitlines()
2525-+ #version_list = GetStdoutQuiet(["xcodebuild", "-version"]).splitlines()
2626-+ version_list = []
2727- # In some circumstances xcodebuild exits 0 but doesn't return
2828- # the right results; for example, a user on 10.7 or 10.8 with
2929- # a bogus path set via xcode-select
3030-@@ -1510,7 +1517,8 @@ def XcodeVersion():
3131- version = version_list[0].split()[-1] # Last word on first line
3232- build = version_list[-1].split()[-1] # Last word on last line
3333- except GypError: # Xcode not installed so look for XCode Command Line Tools
3434-- version = CLTVersion() # macOS Catalina returns 11.0.0.0.1.1567737322
3535-+ #version = CLTVersion() # macOS Catalina returns 11.0.0.0.1.1567737322
3636-+ version = "11.0.0.0.1.1567737322"
3737- if not version:
3838- raise GypError("No Xcode or CLT version detected!")
3939- # Be careful to convert "4.2.3" to "0423" and "11.0.0" to "1100":
4040---- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py
4141-+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py
4242-@@ -522,7 +522,13 @@ class XcodeSettings:
4343- # Since the CLT has no SDK paths anyway, returning None is the
4444- # most sensible route and should still do the right thing.
4545- try:
4646-- return GetStdoutQuiet(["xcrun", "--sdk", sdk, infoitem])
4747-+ #return GetStdoutQuiet(["xcrun", "--sdk", sdk, infoitem])
4848-+ return {
4949-+ "--show-sdk-platform-path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform",
5050-+ "--show-sdk-path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk",
5151-+ "--show-sdk-build-version": "19A547",
5252-+ "--show-sdk-version": "10.15"
5353-+ }[infoitem]
5454- except GypError:
5555- pass
5656-5757-@@ -1499,7 +1505,8 @@ def XcodeVersion():
5858- version = ""
5959- build = ""
6060- try:
6161-- version_list = GetStdoutQuiet(["xcodebuild", "-version"]).splitlines()
6262-+ #version_list = GetStdoutQuiet(["xcodebuild", "-version"]).splitlines()
6363-+ version_list = []
6464- # In some circumstances xcodebuild exits 0 but doesn't return
6565- # the right results; for example, a user on 10.7 or 10.8 with
6666- # a bogus path set via xcode-select
6767-@@ -1510,7 +1517,8 @@ def XcodeVersion():
6868- version = version_list[0].split()[-1] # Last word on first line
6969- build = version_list[-1].split()[-1] # Last word on last line
7070- except GypError: # Xcode not installed so look for XCode Command Line Tools
7171-- version = CLTVersion() # macOS Catalina returns 11.0.0.0.1.1567737322
7272-+ #version = CLTVersion() # macOS Catalina returns 11.0.0.0.1.1567737322
7373-+ version = "11.0.0.0.1.1567737322"
7474- if not version:
7575- raise GypError("No Xcode or CLT version detected!")
7676- # Be careful to convert "4.2.3" to "0423" and "11.0.0" to "1100":
···11+Sandboxed builds need a fallback value for the version of the Command Line Tools
22+being used.
33+44+diff --git a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_emulation.py
55+index 508f6ccac3e..44bcd988c4c 100644
66+--- a/tools/gyp/pylib/gyp/xcode_emulation.py
77++++ b/tools/gyp/pylib/gyp/xcode_emulation.py
88+@@ -1495,24 +1495,8 @@ def XcodeVersion():
99+ global XCODE_VERSION_CACHE
1010+ if XCODE_VERSION_CACHE:
1111+ return XCODE_VERSION_CACHE
1212+- version = ""
1313++ version = "11.0.0.0.1.1567737322"
1414+ build = ""
1515+- try:
1616+- version_list = GetStdoutQuiet(["xcodebuild", "-version"]).splitlines()
1717+- # In some circumstances xcodebuild exits 0 but doesn't return
1818+- # the right results; for example, a user on 10.7 or 10.8 with
1919+- # a bogus path set via xcode-select
2020+- # In that case this may be a CLT-only install so fall back to
2121+- # checking that version.
2222+- if len(version_list) < 2:
2323+- raise GypError("xcodebuild returned unexpected results")
2424+- version = version_list[0].split()[-1] # Last word on first line
2525+- build = version_list[-1].split()[-1] # Last word on last line
2626+- except (GypError, OSError):
2727+- # Xcode not installed so look for XCode Command Line Tools
2828+- version = CLTVersion() # macOS Catalina returns 11.0.0.0.1.1567737322
2929+- if not version:
3030+- raise GypError("No Xcode or CLT version detected!")
3131+ # Be careful to convert "4.2.3" to "0423" and "11.0.0" to "1100":
3232+ version = version.split(".")[:3] # Just major, minor, micro
3333+ version[0] = version[0].zfill(2) # Add a leading zero if major is one digit
3434+3535+3636+--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py
3737++++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py
3838+@@ -1495,24 +1495,8 @@ def XcodeVersion():
3939+ global XCODE_VERSION_CACHE
4040+ if XCODE_VERSION_CACHE:
4141+ return XCODE_VERSION_CACHE
4242+- version = ""
4343++ version = "11.0.0.0.1.1567737322"
4444+ build = ""
4545+- try:
4646+- version_list = GetStdoutQuiet(["xcodebuild", "-version"]).splitlines()
4747+- # In some circumstances xcodebuild exits 0 but doesn't return
4848+- # the right results; for example, a user on 10.7 or 10.8 with
4949+- # a bogus path set via xcode-select
5050+- # In that case this may be a CLT-only install so fall back to
5151+- # checking that version.
5252+- if len(version_list) < 2:
5353+- raise GypError("xcodebuild returned unexpected results")
5454+- version = version_list[0].split()[-1] # Last word on first line
5555+- build = version_list[-1].split()[-1] # Last word on last line
5656+- except (GypError, OSError):
5757+- # Xcode not installed so look for XCode Command Line Tools
5858+- version = CLTVersion() # macOS Catalina returns 11.0.0.0.1.1567737322
5959+- if not version:
6060+- raise GypError("No Xcode or CLT version detected!")
6161+ # Be careful to convert "4.2.3" to "0423" and "11.0.0" to "1100":
6262+ version = version.split(".")[:3] # Just major, minor, micro
6363+ version[0] = version[0].zfill(2) # Add a leading zero if major is one digit
···11+From 448f3f2e2065a5ef20010133dae58c5311ecc538 Mon Sep 17 00:00:00 2001
22+From: Yureka <yuka@yuka.dev>
33+Date: Sat, 23 Aug 2025 18:24:07 +0200
44+Subject: [PATCH] sync: uapi: move constants from <linux/kernel.h> to
55+ <linux/const.h>
66+77+This change was applied to the kernel tree in 2020 afaict, to fix redefinition issues with musl-libc.
88+99+I ran into this issue while building with the headers included with libbpf, since it seems they were not synced since then.
1010+1111+Signed-off-by: Yureka Lilian <yuka@yuka.dev>
1212+---
1313+ include/uapi/linux/netlink.h | 2 +-
1414+ 1 file changed, 1 insertion(+), 1 deletion(-)
1515+1616+diff --git a/include/uapi/linux/netlink.h b/include/uapi/linux/netlink.h
1717+index b857821e3..e900b1f88 100644
1818+--- a/include/uapi/linux/netlink.h
1919++++ b/include/uapi/linux/netlink.h
2020+@@ -2,7 +2,7 @@
2121+ #ifndef __LINUX_NETLINK_H
2222+ #define __LINUX_NETLINK_H
2323+2424+-#include <linux/kernel.h>
2525++#include <linux/const.h>
2626+ #include <linux/socket.h> /* for __kernel_sa_family_t */
2727+ #include <linux/types.h>
2828+
···1313# https://github.com/postgres/postgres/blob/7510ac6203bc8e3c56eae95466feaeebfc1b4f31/src/bin/pg_config/pg_config.sh
1414# https://github.com/postgres/postgres/blob/master/src/bin/pg_config/pg_config.c
15151616-source @postgresql-dev@/nix-support/pg_config.env
1616+source @pg_config.env@
17171818help="
1919pg_config provides information about the installed version of PostgreSQL.
···549549 budgiePlugins = throw "The `budgiePlugins` scope has been removed and all packages moved to the top-level"; # Added 2024-07-14
550550 buildBarebox = throw "buildBarebox has been removed due to lack of interest in maintaining it in nixpkgs"; # Added 2025-04-19
551551 buildGo122Module = throw "Go 1.22 is end-of-life, and 'buildGo122Module' has been removed. Please use a newer builder version."; # Added 2025-03-28
552552+ buildGo123Module = throw "Go 1.23 is end-of-life, and 'buildGo123Module' has been removed. Please use a newer builder version."; # Added 2025-08-13
552553 buildGoPackage = throw "`buildGoPackage` has been deprecated and removed, see the Go section in the nixpkgs manual for details"; # Added 2024-11-18
553554 buildXenPackage = throw "'buildXenPackage' has been removed as a custom Xen build can now be achieved by simply overriding 'xen'."; # Added 2025-05-12
554555···10211022 gnupg1orig = throw "'gnupg1orig' has been removed due to lack of active upstream maintainance. Consider using 'gnupg' instead"; # Added 2025-01-11
10221023 gnupg22 = throw "'gnupg22' is end-of-life. Consider using 'gnupg24' instead"; # Added 2025-01-05
10231024 go_1_22 = throw "Go 1.22 is end-of-life and 'go_1_22' has been removed. Please use a newer Go toolchain."; # Added 2024-03-28
10251025+ go_1_23 = throw "Go 1.23 is end-of-life and 'go_1_23' has been removed. Please use a newer Go toolchain."; # Added 2025-08-13
10241026 gogs = throw ''
10251027 Gogs development has stalled. Also, it has several unpatched, critical vulnerabilities that
10261028 weren't addressed within a year: https://github.com/gogs/gogs/issues/7777
···20432045 python = python2; # Added 2022-01-11
20442046 python-swiftclient = throw "'python-swiftclient' has been renamed to/replaced by 'swiftclient'"; # Converted to throw 2024-10-17
20452047 pythonFull = python2Full; # Added 2022-01-11
20482048+ python3Full = throw "python3Full has been removed. Bluetooth support is now enabled by default. The tkinter package is available within the package set.";
20492049+ python310Full = throw "python310Full has been removed. Bluetooth support is now enabled by default. The tkinter package is available within the package set.";
20502050+ python311Full = throw "python311Full has been removed. Bluetooth support is now enabled by default. The tkinter package is available within the package set.";
20512051+ python312Full = throw "python312Full has been removed. Bluetooth support is now enabled by default. The tkinter package is available within the package set.";
20522052+ python313Full = throw "python313Full has been removed. Bluetooth support is now enabled by default. The tkinter package is available within the package set.";
20532053+ python314Full = throw "python314Full has been removed. Bluetooth support is now enabled by default. The tkinter package is available within the package set.";
20462054 pythonPackages = python.pkgs; # Added 2022-01-11
20472055 pypy39 = throw "pypy 3.9 has been removed, use pypy 3.10 instead"; # Added 2025-01-03
20482056···22432251 # spidermonkey is not ABI upwards-compatible, so only allow this for nix-shell
22442252 spidermonkey = throw "'spidermonkey' has been renamed to/replaced by 'spidermonkey_91'"; # Converted to throw 2024-10-17
22452253 spidermonkey_78 = throw "'spidermonkey_78' has been removed because it was unused."; # Added 2025-02-02
22542254+ spidermonkey_91 = throw "'spidermonkey_91 is EOL since 2022/09"; # Added 2025-08-26
22462255 spidermonkey_102 = throw "'spidermonkey_102' is EOL since 2023/03"; # Added 2024-08-07
22472256 spotify-unwrapped = spotify; # added 2022-11-06
22482257 spring-boot = throw "'spring-boot' has been renamed to/replaced by 'spring-boot-cli'"; # Converted to throw 2024-10-17
···25622571 xmlroff = throw "'xmlroff' has been removed as it is unmaintained and broken"; # Added 2025-05-18
25632572 xmr-stak = throw "xmr-stak has been removed from nixpkgs because it was broken"; # Added 2024-07-15
25642573 xmake-core-sv = throw "'xmake-core-sv' has been removed, use 'libsv' instead"; # Added 2024-10-10
25742574+ xorg-autoconf = util-macros; # Added 2025-08-18
25652575 xournal = throw "'xournal' has been removed due to lack of activity upstream and depending on gnome2. Consider using 'xournalpp' instead."; # Added 2024-12-06
25662576 xonsh-unwrapped = python3Packages.xonsh; # Added 2024-06-18
25672577 xplayer = throw "xplayer has been removed as the upstream project was archived"; # Added 2024-12-27