···230231 postInstall = ''
232 substituteInPlace $out/bin/solo5-virtio-mkimage \
233- --replace "/usr/lib/syslinux" "${syslinux}/share/syslinux" \
234- --replace "/usr/share/syslinux" "${syslinux}/share/syslinux" \
235- --replace "cp " "cp --no-preserve=mode "
236237 wrapProgram $out/bin/solo5-virtio-mkimage \
238 --prefix PATH : ${lib.makeBinPath [ dosfstools mtools parted syslinux ]}
···12531254Performs string substitution on the contents of \<infile\>, writing the result to \<outfile\>. The substitutions in \<subs\> are of the following form:
12551256-#### `--replace` \<s1\> \<s2\> {#fun-substitute-replace}
000000000012571258Replace every occurrence of the string \<s1\> by \<s2\>.
012591260#### `--subst-var` \<varName\> {#fun-substitute-subst-var}
1261···12691270```shell
1271substitute ./foo.in ./foo.out \
1272- --replace /usr/bin/bar $bar/bin/bar \
1273- --replace "a string containing spaces" "some other text" \
1274 --subst-var someVar
1275```
1276
···230231 postInstall = ''
232 substituteInPlace $out/bin/solo5-virtio-mkimage \
233+ --replace-fail "/usr/lib/syslinux" "${syslinux}/share/syslinux" \
234+ --replace-fail "/usr/share/syslinux" "${syslinux}/share/syslinux" \
235+ --replace-fail "cp " "cp --no-preserve=mode "
236237 wrapProgram $out/bin/solo5-virtio-mkimage \
238 --prefix PATH : ${lib.makeBinPath [ dosfstools mtools parted syslinux ]}
···12531254Performs string substitution on the contents of \<infile\>, writing the result to \<outfile\>. The substitutions in \<subs\> are of the following form:
12551256+#### `--replace-fail` \<s1\> \<s2\> {#fun-substitute-replace-fail}
1257+1258+Replace every occurrence of the string \<s1\> by \<s2\>.
1259+Will error if no change is made.
1260+1261+#### `--replace-warn` \<s1\> \<s2\> {#fun-substitute-replace-warn}
1262+1263+Replace every occurrence of the string \<s1\> by \<s2\>.
1264+Will print a warning if no change is made.
1265+1266+#### `--replace-quiet` \<s1\> \<s2\> {#fun-substitute-replace-quiet}
12671268Replace every occurrence of the string \<s1\> by \<s2\>.
1269+Will do nothing if no change can be made.
12701271#### `--subst-var` \<varName\> {#fun-substitute-subst-var}
1272···12801281```shell
1282substitute ./foo.in ./foo.out \
1283+ --replace-fail /usr/bin/bar $bar/bin/bar \
1284+ --replace-fail "a string containing spaces" "some other text" \
1285 --subst-var someVar
1286```
1287
···92boot.kernelPackages = pkgs.linuxPackagesFor yourCustomKernel;
93```
9400000000000000000095## Developing kernel modules {#sec-linux-config-developing-modules}
9697This section was moved to the [Nixpkgs manual](https://nixos.org/nixpkgs/manual#sec-linux-kernel-developing-modules).
···92boot.kernelPackages = pkgs.linuxPackagesFor yourCustomKernel;
93```
9495+## Rust {#sec-linux-rust}
96+97+The Linux kernel does not have Rust language support enabled by
98+default. For kernel versions 6.7 or newer, experimental Rust support
99+can be enabled. In a NixOS configuration, set:
100+101+```nix
102+boot.kernelPatches = [
103+ {
104+ name = "Rust Support";
105+ patch = null;
106+ features = {
107+ rust = true;
108+ };
109+ }
110+];
111+```
112+113## Developing kernel modules {#sec-linux-config-developing-modules}
114115This section was moved to the [Nixpkgs manual](https://nixos.org/nixpkgs/manual#sec-linux-kernel-developing-modules).
+4
nixos/doc/manual/release-notes/rl-2405.section.md
···133134- `services.resolved.fallbackDns` can now be used to disable the upstream fallback servers entirely by setting it to an empty list. To get the previous behaviour of the upstream defaults set it to null, the new default, instead.
13500136- `services.avahi.nssmdns` got split into `services.avahi.nssmdns4` and `services.avahi.nssmdns6` which enable the mDNS NSS switch for IPv4 and IPv6 respectively.
137 Since most mDNS responders only register IPv4 addresses, most users want to keep the IPv6 support disabled to avoid long timeouts.
138···230231- The option [`services.nextcloud.config.dbport`] of the Nextcloud module was removed to match upstream.
232 The port can be specified in [`services.nextcloud.config.dbhost`](#opt-services.nextcloud.config.dbhost).
00233234- The Yama LSM is now enabled by default in the kernel, which prevents ptracing
235 non-child processes. This means you will not be able to attach gdb to an
···133134- `services.resolved.fallbackDns` can now be used to disable the upstream fallback servers entirely by setting it to an empty list. To get the previous behaviour of the upstream defaults set it to null, the new default, instead.
135136+- `xxd` has been moved from `vim` default output to its own output to reduce closure size. The canonical way to reference it across all platforms is `unixtools.xxd`.
137+138- `services.avahi.nssmdns` got split into `services.avahi.nssmdns4` and `services.avahi.nssmdns6` which enable the mDNS NSS switch for IPv4 and IPv6 respectively.
139 Since most mDNS responders only register IPv4 addresses, most users want to keep the IPv6 support disabled to avoid long timeouts.
140···232233- The option [`services.nextcloud.config.dbport`] of the Nextcloud module was removed to match upstream.
234 The port can be specified in [`services.nextcloud.config.dbhost`](#opt-services.nextcloud.config.dbhost).
235+236+- `stdenv`: The `--replace` flag in `substitute`, `substituteInPlace`, `substituteAll`, `substituteAllStream`, and `substituteStream` is now deprecated if favor of the new `--replace-fail`, `--replace-warn` and `--replace-quiet`. The deprecated `--replace` equates to `--replace-warn`.
237238- The Yama LSM is now enabled by default in the kernel, which prevents ptracing
239 non-child processes. This means you will not be able to attach gdb to an
···1-From a908a574daf8bac10bb2a0ee3771052d2167a85f Mon Sep 17 00:00:00 2001
2-From: Randy Eckenrode <randy@largeandhighquality.com>
3-Date: Sun, 3 Dec 2023 15:41:20 -0500
4-Subject: [PATCH] Fix test failure on Darwin on a case-sensitive fs
5-6-This was encountered while looking into an issue with
7-https://github.com/NixOS/nixpkgs/pull/268583.
8-9-I run my Nix store on case-sensitive APFS, so the test fails due to
10-trying to link `-framework ldap` instead of `-framework LDAP`.
11----
12- test cases/osx/5 extra frameworks/meson.build | 2 +-
13- 1 file changed, 1 insertion(+), 1 deletion(-)
14-15-diff --git a/test cases/osx/5 extra frameworks/meson.build b/test cases/osx/5 extra frameworks/meson.build
16-index f6c01e63a1bd..96532846c632 100644
17---- a/test cases/osx/5 extra frameworks/meson.build
18-+++ b/test cases/osx/5 extra frameworks/meson.build
19-@@ -7,7 +7,7 @@ dep_main = dependency('Foundation')
20- assert(dep_main.type_name() == 'extraframeworks', 'type_name is ' + dep_main.type_name())
21-22- # https://github.com/mesonbuild/meson/issues/10002
23--ldap_dep = dependency('ldap', method : 'extraframework')
24-+ldap_dep = dependency('LDAP', method : 'extraframework')
25- assert(ldap_dep.type_name() == 'extraframeworks', 'type_name is ' + ldap_dep.type_name())
26-27- stlib = static_library('stat', 'stat.c', install : true, dependencies: [opengl_dep, ldap_dep])
···135 # We pick "/" path to effectively avoid sysroot offset and make it work
136 # as a native case.
137 "--with-build-sysroot=/"
00138 ]
139140 # Basic configuration
···135 # We pick "/" path to effectively avoid sysroot offset and make it work
136 # as a native case.
137 "--with-build-sysroot=/"
138+ # Same with the stdlibc++ headers embedded in the gcc output
139+ "--with-gxx-include-dir=${placeholder "out"}/include/c++/${version}/"
140 ]
141142 # Basic configuration
···12Typical examples are `nix` -> `nlohmann_json` and `pipewire` ->
13`lttng-ust.dev`.
140000000000015Ideally we would like to use `-fmacro-prefix-map=` feature of `gcc` as:
1617- -fmacro-prefix-map=/nix/store/$hash1-nlohmann-json-ver=/nix/store/eeee.eee-nlohmann-json-ver
18 -fmacro-prefix-map=/nix/...
1920In practice it quickly exhausts argument length limit due to `gcc`
···2526Tested as:
2728- $ printf "# 0 \"/nix/store/01234567890123456789012345678901-pppppp-vvvvvvv\" \nconst char * f(void) { return __FILE__; }" | NIX_STORE=/nix/store ./gcc/xgcc -Bgcc -x c - -S -o -
29 ...
30- .string "/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-pppppp-vvvvvvv"
31 ...
3233Mangled successfully.
···43 /* Perform user-specified mapping of filename prefixes. Return the
44 GC-allocated new name corresponding to FILENAME or FILENAME if no
45 remapping was performed. */
46-@@ -76,7 +79,30 @@ remap_filename (file_prefix_map *maps, const char *filename)
47 if (filename_ncmp (filename, map->old_prefix, map->old_len) == 0)
48 break;
49 if (!map)
···51+ {
52+ if (maps == macro_prefix_maps)
53+ {
54-+ /* Remap all fo $NIX_STORE/.{32} paths to
55-+ * equivalent $NIX_STORE/e{32}.
56+ *
57+ * That way we avoid argument parameters explosion
58+ * and still avoid embedding headers into runtime closure:
···66+ {
67+ s = (char *) ggc_alloc_atomic (name_len + 1);
68+ memcpy(s, name, name_len + 1);
69-+ memset(s + nix_store_len + 1, 'e', 32);
0070+ return s;
71+ }
72+ }
···75 name = filename + map->old_len;
76 name_len = strlen (name) + 1;
7778-@@ -90,7 +116,6 @@ remap_filename (file_prefix_map *maps, const char *filename)
79 ignore it in DW_AT_producer (dwarf2out.cc). */
8081 /* Linked lists of file_prefix_map structures. */
···12Typical examples are `nix` -> `nlohmann_json` and `pipewire` ->
13`lttng-ust.dev`.
1415+For this reason we want to remove the occurrences of hashes in the
16+expansion of `__FILE__`. `nuke-references` does it by replacing hashes
17+by `eeeeee...` but those paths are also used for debug symbols. It is
18+handy to be able to invert the transformation to go back to the original
19+store path for debuginfod servers. The chosen solution is to make the
20+hash uppercase:
21+- it does not trigger runtime references (except for all digit hashes,
22+ which are unlikely enough)
23+- it visually looks like a bogus store path
24+- it is easy to find the original store path if required
25+26Ideally we would like to use `-fmacro-prefix-map=` feature of `gcc` as:
2728+ -fmacro-prefix-map=/nix/store/$hash1-nlohmann-json-ver=/nix/store/$HASH1-nlohmann-json-ver
29 -fmacro-prefix-map=/nix/...
3031In practice it quickly exhausts argument length limit due to `gcc`
···3637Tested as:
3839+ $ printf "# 0 \"/nix/store/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-pppppp-vvvvvvv\" \nconst char * f(void) { return __FILE__; }" | NIX_STORE=/nix/store ./gcc/xgcc -Bgcc -x c - -S -o -
40 ...
41+ .string "/nix/store/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-pppppp-vvvvvvv"
42 ...
4344Mangled successfully.
···54 /* Perform user-specified mapping of filename prefixes. Return the
55 GC-allocated new name corresponding to FILENAME or FILENAME if no
56 remapping was performed. */
57+@@ -76,7 +79,31 @@ remap_filename (file_prefix_map *maps, const char *filename)
58 if (filename_ncmp (filename, map->old_prefix, map->old_len) == 0)
59 break;
60 if (!map)
···62+ {
63+ if (maps == macro_prefix_maps)
64+ {
65++ /* Remap the 32 characters after $NIX_STORE/ to uppercase
066+ *
67+ * That way we avoid argument parameters explosion
68+ * and still avoid embedding headers into runtime closure:
···76+ {
77+ s = (char *) ggc_alloc_atomic (name_len + 1);
78+ memcpy(s, name, name_len + 1);
79++ for (int i = nix_store_len + 1; i < nix_store_len + 1 + 32; i++) {
80++ s[i] = TOUPPER(s[i]);
81++ }
82+ return s;
83+ }
84+ }
···87 name = filename + map->old_len;
88 name_len = strlen (name) + 1;
8990+@@ -90,7 +117,6 @@ remap_filename (file_prefix_map *maps, const char *filename)
91 ignore it in DW_AT_producer (dwarf2out.cc). */
9293 /* Linked lists of file_prefix_map structures. */
···12Typical examples are `nix` -> `nlohmann_json` and `pipewire` ->
13`lttng-ust.dev`.
140000000000015Ideally we would like to use `-fmacro-prefix-map=` feature of `gcc` as:
1617- -fmacro-prefix-map=/nix/store/$hash1-nlohmann-json-ver=/nix/store/eeee.eee-nlohmann-json-ver
18 -fmacro-prefix-map=/nix/...
1920In practice it quickly exhausts argument length limit due to `gcc`
···2526Tested as:
2728- $ printf "# 0 \"/nix/store/01234567890123456789012345678901-pppppp-vvvvvvv\" \nconst char * f(void) { return __FILE__; }" | NIX_STORE=/nix/store ./gcc/xgcc -Bgcc -x c - -S -o -
29 ...
30- .string "/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-pppppp-vvvvvvv"
31 ...
3233Mangled successfully.
···43 /* Perform user-specified mapping of filename prefixes. Return the
44 GC-allocated new name corresponding to FILENAME or FILENAME if no
45 remapping was performed. */
46-@@ -102,6 +105,29 @@ remap_filename (file_prefix_map *maps, const char *filename)
47 break;
48 if (!map)
49 {
50+ if (maps == macro_prefix_maps)
51+ {
52-+ /* Remap all fo $NIX_STORE/.{32} paths to
53-+ * equivalent $NIX_STORE/e{32}.
54+ *
55+ * That way we avoid argument parameters explosion
56+ * and still avoid embedding headers into runtime closure:
···64+ {
65+ s = (char *) ggc_alloc_atomic (name_len + 1);
66+ memcpy(s, name, name_len + 1);
67-+ memset(s + nix_store_len + 1, 'e', 32);
0068+ if (realname != filename)
69+ free (const_cast <char *> (realname));
70+ return s;
···73 if (realname != filename)
74 free (const_cast <char *> (realname));
75 return filename;
76-@@ -124,7 +150,6 @@ remap_filename (file_prefix_map *maps, const char *filename)
77 ignore it in DW_AT_producer (gen_command_line_string in opts.cc). */
7879 /* Linked lists of file_prefix_map structures. */
···81 static file_prefix_map *debug_prefix_maps; /* -fdebug-prefix-map */
82 static file_prefix_map *profile_prefix_maps; /* -fprofile-prefix-map */
8384-
···12Typical examples are `nix` -> `nlohmann_json` and `pipewire` ->
13`lttng-ust.dev`.
1415+For this reason we want to remove the occurrences of hashes in the
16+expansion of `__FILE__`. `nuke-references` does it by replacing hashes
17+by `eeeeee...` but those paths are also used for debug symbols. It is
18+handy to be able to invert the transformation to go back to the original
19+store path for debuginfod servers. The chosen solution is to make the
20+hash uppercase:
21+- it does not trigger runtime references (except for all digit hashes,
22+ which are unlikely enough)
23+- it visually looks like a bogus store path
24+- it is easy to find the original store path if required
25+26Ideally we would like to use `-fmacro-prefix-map=` feature of `gcc` as:
2728+ -fmacro-prefix-map=/nix/store/$hash1-nlohmann-json-ver=/nix/store/$HASH1-nlohmann-json-ver
29 -fmacro-prefix-map=/nix/...
3031In practice it quickly exhausts argument length limit due to `gcc`
···3637Tested as:
3839+ $ printf "# 0 \"/nix/store/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-pppppp-vvvvvvv\" \nconst char * f(void) { return __FILE__; }" | NIX_STORE=/nix/store ./gcc/xgcc -Bgcc -x c - -S -o -
40 ...
41+ .string "/nix/store/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-pppppp-vvvvvvv"
42 ...
4344Mangled successfully.
···54 /* Perform user-specified mapping of filename prefixes. Return the
55 GC-allocated new name corresponding to FILENAME or FILENAME if no
56 remapping was performed. */
57+@@ -102,6 +105,30 @@ remap_filename (file_prefix_map *maps, const char *filename)
58 break;
59 if (!map)
60 {
61+ if (maps == macro_prefix_maps)
62+ {
63++ /* Remap all fo $NIX_STORE/.{32} paths to uppercase
064+ *
65+ * That way we avoid argument parameters explosion
66+ * and still avoid embedding headers into runtime closure:
···74+ {
75+ s = (char *) ggc_alloc_atomic (name_len + 1);
76+ memcpy(s, name, name_len + 1);
77++ for (int i = nix_store_len + 1; i < nix_store_len + 1 + 32; i++) {
78++ s[i] = TOUPPER(s[i]);
79++ }
80+ if (realname != filename)
81+ free (const_cast <char *> (realname));
82+ return s;
···85 if (realname != filename)
86 free (const_cast <char *> (realname));
87 return filename;
88+@@ -124,7 +151,6 @@ remap_filename (file_prefix_map *maps, const char *filename)
89 ignore it in DW_AT_producer (gen_command_line_string in opts.cc). */
9091 /* Linked lists of file_prefix_map structures. */
···93 static file_prefix_map *debug_prefix_maps; /* -fdebug-prefix-map */
94 static file_prefix_map *profile_prefix_maps; /* -fprofile-prefix-map */
950
···4, fetchpatch
5, autoreconfHook
6, libunwind
07}:
89stdenv.mkDerivation rec {
···29 nativeBuildInputs = [ autoreconfHook ];
3031 # tcmalloc uses libunwind in a way that works correctly only on non-ARM dynamically linked linux
32- buildInputs = lib.optional (stdenv.isLinux && !(stdenv.hostPlatform.isAarch || stdenv.hostPlatform.isStatic )) libunwind;
03334 # Disable general dynamic TLS on AArch to support dlopen()'ing the library:
35 # https://bugzilla.redhat.com/show_bug.cgi?id=1483558
···4, fetchpatch
5, autoreconfHook
6, libunwind
7+, perl
8}:
910stdenv.mkDerivation rec {
···30 nativeBuildInputs = [ autoreconfHook ];
3132 # tcmalloc uses libunwind in a way that works correctly only on non-ARM dynamically linked linux
33+ buildInputs = [ perl ]
34+ ++ lib.optional (stdenv.isLinux && !(stdenv.hostPlatform.isAarch || stdenv.hostPlatform.isStatic )) libunwind;
3536 # Disable general dynamic TLS on AArch to support dlopen()'ing the library:
37 # https://bugzilla.redhat.com/show_bug.cgi?id=1483558
···58 cmake/Modules/FindOpenSSL_EP.cmake
59 '';
6000061 # (bundled) blosc headers have a warning on some archs that it will be using
62 # unaccelerated routines.
63 cmakeFlags = [
···58 cmake/Modules/FindOpenSSL_EP.cmake
59 '';
6061+ # upstream will hopefully fix this in some newer release
62+ env.CXXFLAGS = "-include random";
63+64 # (bundled) blosc headers have a warning on some archs that it will be using
65 # unaccelerated routines.
66 cmakeFlags = [
···28 enableParallelBuilding = true;
2930 doCheck = true;
31- env.AUTOMATED_TESTING = true; # https://trac.xapian.org/changeset/8be35f5e1/git
000003233 # the configure script thinks that Darwin has ___exp10
34 # but it’s not available on my systems (or hydra apparently)
···28 enableParallelBuilding = true;
2930 doCheck = true;
31+32+ env = {
33+ AUTOMATED_TESTING = true; # https://trac.xapian.org/changeset/8be35f5e1/git
34+ } // lib.optionalAttrs stdenv.is32bit {
35+ NIX_CFLAGS_COMPILE = "-fpermissive";
36+ };
3738 # the configure script thinks that Darwin has ___exp10
39 # but it’s not available on my systems (or hydra apparently)
···60 pytestCheckHook
61 ] ++ lib.concatLists (lib.attrVals ([
62 "woff"
63+ # "interpolatable" is not included because it only contains 2 tests at the time of writing but adds 270 extra dependencies
64 "ufo"
65 ] ++ lib.optionals (!skia-pathops.meta.broken) [
66 "pathops" # broken
···6, isPyPy
7, pythonOlder
89-# https://github.com/matplotlib/matplotlib/blob/main/doc/devel/dependencies.rst
10# build-system
11, certifi
12-, oldest-supported-numpy
13, pkg-config
14, pybind11
15, setuptools
···109 substituteInPlace src/_c_internal_utils.c \
110 --replace libX11.so.6 ${libX11}/lib/libX11.so.6 \
111 --replace libwayland-client.so.0 ${wayland}/lib/libwayland-client.so.0
112- '' +
113- # bring our own system libraries
114- # https://github.com/matplotlib/matplotlib/blob/main/doc/devel/dependencies.rst#c-libraries
115- ''
116- echo "[libs]
117- system_freetype=true
118- system_qhull=true" > mplsetup.cfg
119 '';
120121 nativeBuildInputs = [
122 certifi
123 numpy
124- oldest-supported-numpy # TODO remove after updating to 3.8.0
125 pkg-config
126 pybind11
127 setuptools
···184 libs = {
185 system_freetype = true;
186 system_qhull = true;
187- } // lib.optionalAttrs stdenv.isDarwin {
188 # LTO not working in darwin stdenv, see #19312
189- enable_lto = false;
190 };
191 };
192193 env.MPLSETUPCFG = writeText "mplsetup.cfg" (lib.generators.toINI {} passthru.config);
194195- # Matplotlib needs to be built against a specific version of freetype in
196- # order for all of the tests to pass.
00197 doCheck = false;
198199 meta = with lib; {
···6, isPyPy
7, pythonOlder
809# build-system
10, certifi
011, pkg-config
12, pybind11
13, setuptools
···107 substituteInPlace src/_c_internal_utils.c \
108 --replace libX11.so.6 ${libX11}/lib/libX11.so.6 \
109 --replace libwayland-client.so.0 ${wayland}/lib/libwayland-client.so.0
0000000110 '';
111112 nativeBuildInputs = [
113 certifi
114 numpy
0115 pkg-config
116 pybind11
117 setuptools
···174 libs = {
175 system_freetype = true;
176 system_qhull = true;
0177 # LTO not working in darwin stdenv, see #19312
178+ enable_lto = !stdenv.isDarwin;
179 };
180 };
181182 env.MPLSETUPCFG = writeText "mplsetup.cfg" (lib.generators.toINI {} passthru.config);
183184+ # Encountering a ModuleNotFoundError, as describved and investigated at:
185+ # https://github.com/NixOS/nixpkgs/issues/255262 . It could be that some of
186+ # which may fail due to a freetype version that doesn't match the freetype
187+ # version used by upstream.
188 doCheck = false;
189190 meta = with lib; {
···5, mock
6, six
7, pytestCheckHook
08, pythonOlder
9, zstd
10, stdenv
···32 faker
33 mock
34 pytestCheckHook
035 zstd
36 ];
37···39 sed -i "/--cov/d" setup.cfg
40 '';
4142- disabledTests = [
43- # python-memcached is not available (last release in 2017)
44- "TestClientSocketConnect"
45- ] ++ lib.optionals stdenv.is32bit [
46 # test_compressed_complex is broken on 32-bit platforms
47 # this can be removed on the next version bump
48 # see also https://github.com/pinterest/pymemcache/pull/480
···5, mock
6, six
7, pytestCheckHook
8+, python-memcached
9, pythonOlder
10, zstd
11, stdenv
···33 faker
34 mock
35 pytestCheckHook
36+ python-memcached
37 zstd
38 ];
39···41 sed -i "/--cov/d" setup.cfg
42 '';
4344+ disabledTests = lib.optionals stdenv.is32bit [
00045 # test_compressed_complex is broken on 32-bit platforms
46 # this can be removed on the next version bump
47 # see also https://github.com/pinterest/pymemcache/pull/480
···1-{ lib, buildGoPackage, fetchFromGitHub }:
2-3-buildGoPackage rec {
4- pname = "gocode-unstable";
5- version = "2020-04-06";
6- rev = "4acdcbdea79de6b3dee1c637eca5cbea0fdbe37c";
7-8- goPackagePath = "github.com/mdempsky/gocode";
9-10- # we must allow references to the original `go` package,
11- # because `gocode` needs to dig into $GOROOT to provide completions for the
12- # standard packages.
13- allowGoReference = true;
14-15- src = fetchFromGitHub {
16- inherit rev;
17-18- owner = "mdempsky";
19- repo = "gocode";
20- sha256 = "0i1hc089gb6a4mcgg56vn5l0q96wrlza2n08l4349s3dc2j559fb";
21- };
22-23- goDeps = ./deps.nix;
24-25- meta = with lib; {
26- description = "An autocompletion daemon for the Go programming language";
27- longDescription = ''
28- Gocode is a helper tool which is intended to be integrated with your
29- source code editor, like vim, neovim and emacs. It provides several
30- advanced capabilities, which currently includes:
31-32- - Context-sensitive autocompletion
33-34- It is called daemon, because it uses client/server architecture for
35- caching purposes. In particular, it makes autocompletions very fast.
36- Typical autocompletion time with warm cache is 30ms, which is barely
37- noticeable.
38- '';
39- homepage = "https://github.com/mdempsky/gocode";
40- license = licenses.mit;
41- maintainers = with maintainers; [ kalbasit ];
42- };
43-}
···0000000000000000000000000000000000000000000
-12
pkgs/development/tools/gocode/deps.nix
···1-# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
2-[
3- {
4- goPackagePath = "golang.org/x/tools";
5- fetch = {
6- type = "git";
7- url = "https://go.googlesource.com/tools";
8- rev = "72e4a01eba4315301fd9ce00c8c2f492580ded8a";
9- sha256 = "0a8c7j4w784w441j3j3bh640vy1g6g214641qv485wyi0xj49anf";
10- };
11- }
12-]
···1+{ lib, stdenv, fetchurl, m4, perl, texinfo }:
2+3+# Note: this package is used for bootstrapping fetchurl, and thus
4+# cannot use fetchpatch! All mutable patches (generated by GitHub or
5+# cgit) that are needed here should be included directly in Nixpkgs as
6+# files.
7+8+stdenv.mkDerivation rec {
9+ pname = "autoconf";
10+ version = "2.71";
11+ outputs = [ "out" "doc" ];
12+13+ src = fetchurl {
14+ url = "mirror://gnu/autoconf/autoconf-${version}.tar.xz";
15+ sha256 = "197sl23irn6s9pd54rxj5vcp5y8dv65jb9yfqgr2g56cxg7q6k7i";
16+ };
17+ patches = [
18+ # fix stale autom4te cache race condition:
19+ # https://savannah.gnu.org/support/index.php?110521
20+ ./2.71-fix-race.patch
21+ ];
22+23+ strictDeps = true;
24+ nativeBuildInputs = [ m4 perl texinfo ];
25+ buildInputs = [ m4 ];
26+ postBuild = "
27+ make html
28+ ";
29+30+ postInstall = "
31+ make install-html
32+ ";
33+34+ # Work around a known issue in Cygwin. See
35+ # http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for
36+ # details.
37+ # There are many test failures on `i386-pc-solaris2.11'.
38+ doCheck = ((!stdenv.isCygwin) && (!stdenv.isSunOS));
39+40+ # Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the
41+ # "fixed" path in generated files!
42+ dontPatchShebangs = true;
43+44+ enableParallelBuilding = true;
45+46+ # Make the Autotest test suite run in parallel.
47+ preCheck =''
48+ export TESTSUITEFLAGS="-j$NIX_BUILD_CORES"
49+ '';
50+51+ meta = {
52+ homepage = "https://www.gnu.org/software/autoconf/";
53+ description = "Part of the GNU Build System";
54+55+ longDescription = ''
56+ GNU Autoconf is an extensible package of M4 macros that produce
57+ shell scripts to automatically configure software source code
58+ packages. These scripts can adapt the packages to many kinds of
59+ UNIX-like systems without manual user intervention. Autoconf
60+ creates a configuration script for a package from a template
61+ file that lists the operating system features that the package
62+ can use, in the form of M4 macro calls.
63+ '';
64+65+ license = lib.licenses.gpl3Plus;
66+67+ platforms = lib.platforms.all;
68+ };
69+}
···381 DRM_VC4_HDMI_CEC = yes;
382 };
383384+ # Enables Rust support in the Linux kernel. This is currently not enabled by default, because it occasionally requires
385+ # patching the Linux kernel for the specific Rust toolchain in nixpkgs. These patches usually take a bit
386+ # of time to appear and this would hold up Linux kernel and Rust toolchain updates.
387+ #
388+ # Once Rust in the kernel has more users, we can reconsider enabling it by default.
389+ rust = optionalAttrs ((features.rust or false) && versionAtLeast version "6.7") {
390+ RUST = yes;
391+ GCC_PLUGINS = no;
392+ };
393+394 sound = {
395 SND_DYNAMIC_MINORS = yes;
396 SND_AC97_POWER_SAVE = yes; # AC97 Power-Saving Mode
···1-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2-From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
3-Date: Sun, 6 Dec 2020 08:34:19 +0100
4-Subject: [PATCH] pkg-config: derive prefix from --prefix
5-6-Point prefix to the one configured, instead of `/usr` `systemd` has limited
7-support for making the pkgconfig prefix overridable, and interpolates those
8-values later down.
9-10-So we only need to patch this one value to get the correct paths.
11-See systemd/systemd@bc4e6e27922a2873985ab9367d79fb099f70b505 for details.
12-13-Co-Authored-By: Florian Klink <flokli@flokli.de>
14----
15- src/core/systemd.pc.in | 2 +-
16- 1 file changed, 1 insertion(+), 1 deletion(-)
17-18-diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in
19-index 5932a21b5b..20bf8e316d 100644
20---- a/src/core/systemd.pc.in
21-+++ b/src/core/systemd.pc.in
22-@@ -11,7 +11,7 @@
23- # considered deprecated (though there is no plan to remove them). New names
24- # shall have underscores.
25-26--prefix=/usr
27-+prefix={{PREFIX}}
28- root_prefix={{ROOTPREFIX_NOSLASH}}
29- rootprefix=${root_prefix}
30- sysconf_dir={{SYSCONF_DIR}}
···16 1 file changed, 8 insertions(+)
1718diff --git a/src/core/manager.c b/src/core/manager.c
19-index 771e8e7f16..acf3ead8d7 100644
20--- a/src/core/manager.c
21+++ b/src/core/manager.c
22-@@ -3899,9 +3899,17 @@ static int build_generator_environment(Manager *m, char ***ret) {
23 * adjust generated units to that. Let's pass down some bits of information that are easy for us to
24 * determine (but a bit harder for generator scripts to determine), as environment variables. */
25
···16 1 file changed, 8 insertions(+)
1718diff --git a/src/core/manager.c b/src/core/manager.c
19+index 22cc5cc843..5dc7d4504f 100644
20--- a/src/core/manager.c
21+++ b/src/core/manager.c
22+@@ -3914,9 +3914,17 @@ static int build_generator_environment(Manager *m, char ***ret) {
23 * adjust generated units to that. Let's pass down some bits of information that are easy for us to
24 * determine (but a bit harder for generator scripts to determine), as environment variables. */
25
···1-{ lib, stdenv, fetchurl, lua, jemalloc, pkg-config, nixosTests
2, tcl, which, ps, getconf
3, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd
4# dependency ordering is broken at the moment when building with openssl
···1213stdenv.mkDerivation (finalAttrs: {
14 pname = "redis";
15- version = "7.2.3";
1617 src = fetchurl {
18 url = "https://download.redis.io/releases/redis-${finalAttrs.version}.tar.gz";
19- hash = "sha256-PisZbW603bnnQwiL/CkVzLtC1A9aij7djLaccW7DS+c=";
20 };
2122- patches = lib.optionals useSystemJemalloc [
000000023 # use system jemalloc
24 (fetchurl {
25 url = "https://gitlab.archlinux.org/archlinux/packaging/packages/redis/-/raw/102cc861713c796756abd541bf341a4512eb06e6/redis-5.0-use-system-jemalloc.patch";
···1+{ lib, stdenv, fetchurl, fetchpatch, lua, jemalloc, pkg-config, nixosTests
2, tcl, which, ps, getconf
3, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd
4# dependency ordering is broken at the moment when building with openssl
···1213stdenv.mkDerivation (finalAttrs: {
14 pname = "redis";
15+ version = "7.2.4";
1617 src = fetchurl {
18 url = "https://download.redis.io/releases/redis-${finalAttrs.version}.tar.gz";
19+ hash = "sha256-jRBMJqFUsp/WfWVotPN1ISISrUHgwsqj1mSA5429O1k=";
20 };
2122+ patches = [
23+ # fixes: make test [exception]: Executing test client: permission denied
24+ # https://github.com/redis/redis/issues/12792
25+ (fetchpatch {
26+ url = "https://github.com/redis/redis/pull/12887.diff";
27+ hash = "sha256-VZEMShW7Ckn5hLJHffQvE94Uly41WZW1bwvxny+Y3W8=";
28+ })
29+ ] ++ lib.optionals useSystemJemalloc [
30 # use system jemalloc
31 (fetchurl {
32 url = "https://gitlab.archlinux.org/archlinux/packaging/packages/redis/-/raw/102cc861713c796756abd541bf341a4512eb06e6/redis-5.0-use-system-jemalloc.patch";
+26-1
pkgs/stdenv/generic/setup.sh
···815######################################################################
816# Textual substitution functions.
81700818819substituteStream() {
820 local var=$1
···822 shift 2
823824 while (( "$#" )); do
00825 case "$1" in
000826 --replace)
00000000000827 pattern="$2"
828 replacement="$3"
829 shift 3
···832 eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}'
833 if [ "$pattern" != "$replacement" ]; then
834 if [ "${!var}" == "$savedvar" ]; then
835- echo "substituteStream(): WARNING: pattern '$pattern' doesn't match anything in $description" >&2
0000000836 fi
837 fi
838 ;;
···815######################################################################
816# Textual substitution functions.
817818+# only log once, due to max logging limit on hydra
819+_substituteStream_has_warned_replace_deprecation=""
820821substituteStream() {
822 local var=$1
···824 shift 2
825826 while (( "$#" )); do
827+ local is_required=1
828+ local is_quiet=""
829 case "$1" in
830+ --replace-quiet)
831+ is_quiet=1
832+ ;&
833 --replace)
834+ # deprecated 2023-11-22
835+ # this will either get removed, or switch to the behaviour of --replace-fail in the future
836+ if [ -z "$_substituteStream_has_warned_replace_deprecation" ]; then
837+ echo "substituteStream(): WARNING: '--replace' is deprecated, use --replace-{fail,warn,quiet}. ($description)" >&2
838+ _substituteStream_has_warned_replace_deprecation=1
839+ fi
840+ ;&
841+ --replace-warn)
842+ is_required=""
843+ ;&
844+ --replace-fail)
845 pattern="$2"
846 replacement="$3"
847 shift 3
···850 eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}'
851 if [ "$pattern" != "$replacement" ]; then
852 if [ "${!var}" == "$savedvar" ]; then
853+ if [ -z "$is_required" ]; then
854+ if [ -z "$is_quiet" ]; then
855+ printf "substituteStream(): WARNING: pattern %q doesn't match anything in %s\n" "$pattern" "$description" >&2
856+ fi
857+ else
858+ printf "substituteStream(): ERROR: pattern %q doesn't match anything in %s\n" "$pattern" "$description" >&2
859+ return 1
860+ fi
861 fi
862 fi
863 ;;
···1.
2.if n \{\
3-. \" Character translations for non-keyboard
4-. \" characters - to make them searchable
0000000005. if '\*[.T]'utf8' \{\
6. char \- \N'45'
7. char - \N'45'
8-. char ' \N'39'
9-. char \' \N'39'
00010. \}
011.
12.ds doc-default-operating-system Nixpkgs
13.ds doc-volume-operating-system Nixpkgs
···1.
2.if n \{\
3+. \" With groff 1.23.0 "[t]he 'utf8' output device now maps the input
4+. \" characters '^' (caret, circumflex accent, or 'hat') and '~' (tilde)
5+. \" to U+02C6 (modifier letter circumflex accent) and U+02DC (small tilde),
6+. \" respectively, for consistency with groff's other output devices.
7+. \" This change is expected to expose glyph usage errors in man pages.
8+. \" See [http://git.savannah.gnu.org/cgit/groff.git/tree/PROBLEMS] for
9+. \" a recipe that will conceal these errors"
10+. \" -- https://lists.gnu.org/archive/html/groff/2023-07/msg00051.html
11+. \"
12+. \" Conceal glyph usage errors in man pages with the following
13+. \" character translations for non-keyboard characters to make them searchable.
14. if '\*[.T]'utf8' \{\
15. char \- \N'45'
16. char - \N'45'
17+. char \' \[aq]
18+. char ' \[aq]
19+. char ` \[ga]
20+. char ^ \[ha]
21+. char ~ \[ti]
22. \}
23+.\}
24.
25.ds doc-default-operating-system Nixpkgs
26.ds doc-volume-operating-system Nixpkgs
+4-4
pkgs/tools/video/rav1e/default.nix
···1516rustPlatform.buildRustPackage rec {
17 pname = "rav1e";
18- version = "0.6.6";
1920 src = fetchCrate {
21 inherit pname version;
22- sha256 = "sha256-urYMT1sJUMBj1L/2Hi+hcYbWbi0ScSls0pm9gLj9H3o=";
23 };
2425- cargoHash = "sha256-qQfEpynhlIEKU1Ptq/jM1Wdtn+BVCZT1lmou2S1GL4I=";
2627 depsBuildBuild = [ pkg-config ];
28···38 # Darwin uses `llvm-strip`, which results in link errors when using `-x` to strip the asm library
39 # and linking it with cctools ld64.
40 postPatch = lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) ''
41- substituteInPlace build.rs --replace 'cmd.arg("-x")' 'cmd.arg("-S")'
42 '';
4344 checkType = "debug";
···1516rustPlatform.buildRustPackage rec {
17 pname = "rav1e";
18+ version = "0.7.1";
1920 src = fetchCrate {
21 inherit pname version;
22+ sha256 = "sha256-Db7qb7HBAy6lniIiN07iEzURmbfNtuhmgJRv7OUagUM=";
23 };
2425+ cargoHash = "sha256-VyQ6n2kIJ7OjK6Xlf0T0GNsBvgESRETzKZDZzAn8ZuY=";
2627 depsBuildBuild = [ pkg-config ];
28···38 # Darwin uses `llvm-strip`, which results in link errors when using `-x` to strip the asm library
39 # and linking it with cctools ld64.
40 postPatch = lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) ''
41+ substituteInPlace build.rs --replace-fail '.arg("-x")' '.arg("-S")'
42 '';
4344 checkType = "debug";
+1-14
pkgs/tools/virtualization/mkosi/default.nix
···30let
31 # For systemd features used by mkosi, see
32 # https://github.com/systemd/mkosi/blob/19bb5e274d9a9c23891905c4bcbb8f68955a701d/action.yaml#L64-L72
33- systemdForMkosi = (systemd.overrideAttrs (oldAttrs: {
34- patches = oldAttrs.patches ++ [
35- # Enable setting a deterministic verity seed for systemd-repart. Remove when upgrading to systemd 255.
36- (fetchpatch {
37- url = "https://github.com/systemd/systemd/commit/81e04781106e3db24e9cf63c1d5fdd8215dc3f42.patch";
38- hash = "sha256-KO3poIsvdeepPmXWQXNaJJCPpmBb4sVmO+ur4om9f5k=";
39- })
40- # repart: make sure rewinddir() is called before readdir() when performing rm -rf. Remove when upgrading to systemd 255.
41- (fetchpatch {
42- url = "https://github.com/systemd/systemd/commit/6bbb893b90e2dcb05fb310ba4608f9c9dc587845.patch";
43- hash = "sha256-A6cF2QAeYHGc0u0V1JMxIcV5shzf5x3Q6K+blZOWSn4=";
44- })
45- ];
46- })).override {
47 withRepart = true;
48 withBootloader = true;
49 withSysusers = true;
···30let
31 # For systemd features used by mkosi, see
32 # https://github.com/systemd/mkosi/blob/19bb5e274d9a9c23891905c4bcbb8f68955a701d/action.yaml#L64-L72
33+ systemdForMkosi = systemd.override {
000000000000034 withRepart = true;
35 withBootloader = true;
36 withSysusers = true;
+38-28
pkgs/top-level/aliases.nix
···24 # to appear while listing all the packages available.
25 removeRecurseForDerivations = alias: with lib;
26 if alias.recurseForDerivations or false
27- then removeAttrs alias ["recurseForDerivations"]
28 else alias;
2930 # Disabling distribution prevents top-level aliases for non-recursed package
···41 else alias;
4243 mapAliases = aliases:
44- lib.mapAttrs (n: alias:
45- removeDistribute
46- (removeRecurseForDerivations
47- (checkInPkgs n alias)))
048 aliases;
49in
50···59 a4term = a4; # Added 2023-10-06
60 aether = throw "aether has been removed from nixpkgs; upstream unmaintained, security issues"; # Added 2023-10-03
61 airfield = throw "airfield has been removed due to being unmaintained"; # Added 2023-05-19
62- alertmanager-bot = throw "alertmanager-bot is broken and has been archived by upstream" ; # Added 2023-07-28
63 alsa-project = throw "alsa-project was removed and its sub-attributes were promoted to top-level."; # Added 2023-11-12
64 alsaLib = alsa-lib; # Added 2021-06-09
65 alsaOss = alsa-oss; # Added 2021-06-10
···102 bitwig-studio2 = throw "bitwig-studio2 has been removed, you can upgrade to 'bitwig-studio'"; # Added 2023-01-03
103 blender-with-packages = args:
104 lib.warn "blender-with-packages is deprecated in favor of blender.withPackages, e.g. `blender.withPackages(ps: [ ps.foobar ])`"
105- (blender.withPackages (_: args.packages)).overrideAttrs (lib.optionalAttrs (args ? name) { pname = "blender-" + args.name; }); # Added 2023-10-30
0106 bluezFull = throw "'bluezFull' has been renamed to/replaced by 'bluez'"; # Converted to throw 2023-09-10
107 bookletimposer = throw "bookletimposer has been removed from nixpkgs; upstream unmaintained and broke with pypdf3"; # Added 2024-01-01
108 boost168 = throw "boost168 has been deprecated in favor of the latest version"; # Added 2023-06-08
···188 clang16Stdenv = lowPrio llvmPackages_16.stdenv;
189 clang17Stdenv = lowPrio llvmPackages_17.stdenv;
190191- clang-tools_6 = throw "clang-tools_6 has been removed from nixpkgs"; # Added 2024-01-08
192- clang-tools_7 = throw "clang-tools_7 has been removed from nixpkgs"; # Added 2023-11-19
193- clang_6 = throw "clang_6 has been removed from nixpkgs"; # Added 2024-01-08
194- clang_7 = throw "clang_7 has been removed from nixpkgs"; # Added 2023-11-19
195196 ### D ###
197···223 dotnet-sdk_3 = dotnetCorePackages.sdk_3_1; # Added 2020-01-19
224 dotnet-sdk_5 = dotnetCorePackages.sdk_5_0; # Added 2020-09-11
225 drgeo = throw "'drgeo' has been removed as it is outdated and unmaintained"; # Added 2023-10-15
226- dtv-scan-tables_linuxtv = dtv-scan-tables; # Added 2023-03-03
227- dtv-scan-tables_tvheadend = dtv-scan-tables; # Added 2023-03-03
228 dylibbundler = macdylibbundler; # Added 2021-04-24
229230 ### E ###
···344345 gnuradio-with-packages = gnuradio3_7.override {
346 extraPackages = lib.attrVals [
347- "osmosdr" "ais" "gsm" "nacl" "rds" "limesdr"
348- ] gnuradio3_7Packages;
000000349 }; # Added 2020-10-16
350351 gmock = gtest; # moved from top-level 2021-03-14
···371 google-chrome-dev = throw "'google-chrome-dev' has been removed due to the lack of maintenance in nixpkgs. Consider using 'google-chrome' instead."; # Added 2023-10-18
372 google-gflags = throw "'google-gflags' has been renamed to/replaced by 'gflags'"; # Converted to throw 2023-09-10
373 go-thumbnailer = thud; # Added 2023-09-21
0374 govendor = throw "'govendor' has been removed as it is no longer maintained upstream, please use Go modules instead"; # Added 2023-12-26
375 gometer = throw "gometer has been removed from nixpkgs because goLance stopped offering Linux support"; # Added 2023-02-10
376···471 kerberos = libkrb5; # moved from top-level 2021-03-14
472 kexectools = kexec-tools; # Added 2021-09-03
473 keysmith = libsForQt5.kdeGear.keysmith; # Added 2021-07-14
474- kfctl = throw "kfctl is broken and has been archived by upstream" ; # Added 2023-08-21
475 kgx = gnome-console; # Added 2022-02-19
476 kibana7 = throw "Kibana 7.x has been removed from nixpkgs as it depends on an end of life Node.js version and received no maintenance in time."; # Added 2023-30-10
477 kibana = kibana7;
···518 librewolf-wayland = librewolf; # Added 2022-11-15
519 libseat = seatd; # Added 2021-06-24
520 libsigcxx12 = throw "'libsigcxx12' has been removed, please use newer versions"; # Added 2023-10-20
521- libsForQt515 = libsForQt5; # Added 2022-11-24
522 libtensorflow-bin = libtensorflow; # Added 2022-09-25
523 libtorrentRasterbar = libtorrent-rasterbar; # Added 2020-12-20
524 libtorrentRasterbar-1_2_x = libtorrent-rasterbar-1_2_x; # Added 2020-12-20
···705 neochat = libsForQt5.kdeGear.neochat; # added 2022-05-10
706 nitrokey-udev-rules = libnitrokey; # Added 2023-03-25
707 nix-direnv-flakes = nix-direnv;
708- nix-repl = throw ( # Added 2018-08-26
0709 "nix-repl has been removed because it's not maintained anymore, " +
710 "use `nix repl` instead. Also see https://github.com/NixOS/nixpkgs/pull/44903"
711 );
712 nix-review = throw "'nix-review' has been renamed to/replaced by 'nixpkgs-review'"; # Converted to throw 2023-09-10
713- nix-template-rpm = throw "'nix-template-rpm' has been removed as it is broken and unmaintained" ; # Added 2023-11-20
714 nixFlakes = nixVersions.stable; # Added 2021-05-21
715 nixStable = nixVersions.stable; # Added 2022-01-24
716 nixUnstable = nixVersions.unstable; # Added 2022-01-26
···866 qlandkartegt = throw "'qlandkartegt' has been removed from nixpkgs, as it was broken and unmaintained"; # Added 2023-04-17
867 qscintilla = libsForQt5.qscintilla; # Added 2023-09-20
868 qscintilla-qt6 = qt6Packages.qscintilla; # Added 2023-09-20
869- qt515 = qt5; # Added 2022-11-24
870 qt5ct = libsForQt5.qt5ct; # Added 2021-12-27
871 qt6ct = qt6Packages.qt6ct; # Added 2023-03-07
872 qtcurve = libsForQt5.qtcurve; # Added 2020-11-07
···955 sgtpuzzles = throw "'sgtpuzzles' has been renamed to 'sgt-puzzles'"; # Added 2023-10-06
956 sgtpuzzles-mobile = throw "'sgtpuzzles-mobile' has been renamed to 'sgt-puzzles-mobile'"; # Added 2023-10-06
957 inherit (libsForQt5.mauiPackages) shelf; # added 2022-05-17
958- shhgit = throw "shhgit is broken and is no longer maintained. See https://github.com/eth0izzle/shhgit#-shhgit-is-no-longer-maintained-" ; # Added 2023-08-08
959 shipyard = jumppad; # Added 2023-06-06
960 signumone-ks = throw "signumone-ks has been removed from nixpkgs because the developers stopped offering the binaries"; # Added 2023-08-17
961 simplenote = throw "'simplenote' has been removed because it is no longer maintained and insecure"; # Added 2023-10-09
···1074 vamp = { vampSDK = vamp-plugin-sdk; }; # Added 2020-03-26
1075 vaapiIntel = intel-vaapi-driver; # Added 2023-05-31
1076 vaultwarden-vault = vaultwarden.webvault; # Added 2022-12-13
1077- vdirsyncerStable = vdirsyncer; # Added 2020-11-08, see https://github.com/NixOS/nixpkgs/issues/103026#issuecomment-723428168
1078 ventoy-bin = ventoy; # Added 2023-04-12
1079 ventoy-bin-full = ventoy-full; # Added 2023-04-12
1080 ViennaRNA = viennarna; # Added 2023-08-23
···1172 });
11731174 /* If these are in the scope of all-packages.nix, they cause collisions
1175- between mixed versions of qt. See:
1176 https://github.com/NixOS/nixpkgs/pull/101369 */
11771178 inherit (plasma5Packages)
···1195 plasma-vault plasma-workspace plasma-workspace-wallpapers polkit-kde-agent
1196 powerdevil qqc2-breeze-style sddm-kcm skanlite skanpage spectacle
1197 systemsettings xdg-desktop-portal-kde yakuake zanshin
1198- ;
11991200- kalendar = merkuro; # Renamed in 23.08
1201 kfloppy = throw "kfloppy has been removed upstream in KDE Gear 23.08";
12021203 inherit (plasma5Packages.thirdParty)
···1208 kwin-tiling
1209 plasma-applet-caffeine-plus
1210 plasma-applet-virtual-desktop-bar
1211- ;
12121213 inherit (libsForQt5)
1214 sddm
1215- ;
12161217 inherit (pidginPackages)
1218 pidgin-indicator
···1240 tdlib-purple
1241 pidgin-opensteamworks
1242 purple-facebook
1243- ;
12441245})
···24 # to appear while listing all the packages available.
25 removeRecurseForDerivations = alias: with lib;
26 if alias.recurseForDerivations or false
27+ then removeAttrs alias [ "recurseForDerivations" ]
28 else alias;
2930 # Disabling distribution prevents top-level aliases for non-recursed package
···41 else alias;
4243 mapAliases = aliases:
44+ lib.mapAttrs
45+ (n: alias:
46+ removeDistribute
47+ (removeRecurseForDerivations
48+ (checkInPkgs n alias)))
49 aliases;
50in
51···60 a4term = a4; # Added 2023-10-06
61 aether = throw "aether has been removed from nixpkgs; upstream unmaintained, security issues"; # Added 2023-10-03
62 airfield = throw "airfield has been removed due to being unmaintained"; # Added 2023-05-19
63+ alertmanager-bot = throw "alertmanager-bot is broken and has been archived by upstream"; # Added 2023-07-28
64 alsa-project = throw "alsa-project was removed and its sub-attributes were promoted to top-level."; # Added 2023-11-12
65 alsaLib = alsa-lib; # Added 2021-06-09
66 alsaOss = alsa-oss; # Added 2021-06-10
···103 bitwig-studio2 = throw "bitwig-studio2 has been removed, you can upgrade to 'bitwig-studio'"; # Added 2023-01-03
104 blender-with-packages = args:
105 lib.warn "blender-with-packages is deprecated in favor of blender.withPackages, e.g. `blender.withPackages(ps: [ ps.foobar ])`"
106+ (blender.withPackages (_: args.packages)).overrideAttrs
107+ (lib.optionalAttrs (args ? name) { pname = "blender-" + args.name; }); # Added 2023-10-30
108 bluezFull = throw "'bluezFull' has been renamed to/replaced by 'bluez'"; # Converted to throw 2023-09-10
109 bookletimposer = throw "bookletimposer has been removed from nixpkgs; upstream unmaintained and broke with pypdf3"; # Added 2024-01-01
110 boost168 = throw "boost168 has been deprecated in favor of the latest version"; # Added 2023-06-08
···190 clang16Stdenv = lowPrio llvmPackages_16.stdenv;
191 clang17Stdenv = lowPrio llvmPackages_17.stdenv;
192193+ clang-tools_6 = throw "clang-tools_6 has been removed from nixpkgs"; # Added 2024-01-08
194+ clang-tools_7 = throw "clang-tools_7 has been removed from nixpkgs"; # Added 2023-11-19
195+ clang_6 = throw "clang_6 has been removed from nixpkgs"; # Added 2024-01-08
196+ clang_7 = throw "clang_7 has been removed from nixpkgs"; # Added 2023-11-19
197198 ### D ###
199···225 dotnet-sdk_3 = dotnetCorePackages.sdk_3_1; # Added 2020-01-19
226 dotnet-sdk_5 = dotnetCorePackages.sdk_5_0; # Added 2020-09-11
227 drgeo = throw "'drgeo' has been removed as it is outdated and unmaintained"; # Added 2023-10-15
228+ dtv-scan-tables_linuxtv = dtv-scan-tables; # Added 2023-03-03
229+ dtv-scan-tables_tvheadend = dtv-scan-tables; # Added 2023-03-03
230 dylibbundler = macdylibbundler; # Added 2021-04-24
231232 ### E ###
···346347 gnuradio-with-packages = gnuradio3_7.override {
348 extraPackages = lib.attrVals [
349+ "osmosdr"
350+ "ais"
351+ "gsm"
352+ "nacl"
353+ "rds"
354+ "limesdr"
355+ ]
356+ gnuradio3_7Packages;
357 }; # Added 2020-10-16
358359 gmock = gtest; # moved from top-level 2021-03-14
···379 google-chrome-dev = throw "'google-chrome-dev' has been removed due to the lack of maintenance in nixpkgs. Consider using 'google-chrome' instead."; # Added 2023-10-18
380 google-gflags = throw "'google-gflags' has been renamed to/replaced by 'gflags'"; # Converted to throw 2023-09-10
381 go-thumbnailer = thud; # Added 2023-09-21
382+ gocode = throw "'gocode' has been removed as the upstream project was archived. 'gopls' is suggested as replacement"; # Added 2023-12-26
383 govendor = throw "'govendor' has been removed as it is no longer maintained upstream, please use Go modules instead"; # Added 2023-12-26
384 gometer = throw "gometer has been removed from nixpkgs because goLance stopped offering Linux support"; # Added 2023-02-10
385···480 kerberos = libkrb5; # moved from top-level 2021-03-14
481 kexectools = kexec-tools; # Added 2021-09-03
482 keysmith = libsForQt5.kdeGear.keysmith; # Added 2021-07-14
483+ kfctl = throw "kfctl is broken and has been archived by upstream"; # Added 2023-08-21
484 kgx = gnome-console; # Added 2022-02-19
485 kibana7 = throw "Kibana 7.x has been removed from nixpkgs as it depends on an end of life Node.js version and received no maintenance in time."; # Added 2023-30-10
486 kibana = kibana7;
···527 librewolf-wayland = librewolf; # Added 2022-11-15
528 libseat = seatd; # Added 2021-06-24
529 libsigcxx12 = throw "'libsigcxx12' has been removed, please use newer versions"; # Added 2023-10-20
530+ libsForQt515 = libsForQt5; # Added 2022-11-24
531 libtensorflow-bin = libtensorflow; # Added 2022-09-25
532 libtorrentRasterbar = libtorrent-rasterbar; # Added 2020-12-20
533 libtorrentRasterbar-1_2_x = libtorrent-rasterbar-1_2_x; # Added 2020-12-20
···714 neochat = libsForQt5.kdeGear.neochat; # added 2022-05-10
715 nitrokey-udev-rules = libnitrokey; # Added 2023-03-25
716 nix-direnv-flakes = nix-direnv;
717+ nix-repl = throw (
718+ # Added 2018-08-26
719 "nix-repl has been removed because it's not maintained anymore, " +
720 "use `nix repl` instead. Also see https://github.com/NixOS/nixpkgs/pull/44903"
721 );
722 nix-review = throw "'nix-review' has been renamed to/replaced by 'nixpkgs-review'"; # Converted to throw 2023-09-10
723+ nix-template-rpm = throw "'nix-template-rpm' has been removed as it is broken and unmaintained"; # Added 2023-11-20
724 nixFlakes = nixVersions.stable; # Added 2021-05-21
725 nixStable = nixVersions.stable; # Added 2022-01-24
726 nixUnstable = nixVersions.unstable; # Added 2022-01-26
···876 qlandkartegt = throw "'qlandkartegt' has been removed from nixpkgs, as it was broken and unmaintained"; # Added 2023-04-17
877 qscintilla = libsForQt5.qscintilla; # Added 2023-09-20
878 qscintilla-qt6 = qt6Packages.qscintilla; # Added 2023-09-20
879+ qt515 = qt5; # Added 2022-11-24
880 qt5ct = libsForQt5.qt5ct; # Added 2021-12-27
881 qt6ct = qt6Packages.qt6ct; # Added 2023-03-07
882 qtcurve = libsForQt5.qtcurve; # Added 2020-11-07
···965 sgtpuzzles = throw "'sgtpuzzles' has been renamed to 'sgt-puzzles'"; # Added 2023-10-06
966 sgtpuzzles-mobile = throw "'sgtpuzzles-mobile' has been renamed to 'sgt-puzzles-mobile'"; # Added 2023-10-06
967 inherit (libsForQt5.mauiPackages) shelf; # added 2022-05-17
968+ shhgit = throw "shhgit is broken and is no longer maintained. See https://github.com/eth0izzle/shhgit#-shhgit-is-no-longer-maintained-"; # Added 2023-08-08
969 shipyard = jumppad; # Added 2023-06-06
970 signumone-ks = throw "signumone-ks has been removed from nixpkgs because the developers stopped offering the binaries"; # Added 2023-08-17
971 simplenote = throw "'simplenote' has been removed because it is no longer maintained and insecure"; # Added 2023-10-09
···1084 vamp = { vampSDK = vamp-plugin-sdk; }; # Added 2020-03-26
1085 vaapiIntel = intel-vaapi-driver; # Added 2023-05-31
1086 vaultwarden-vault = vaultwarden.webvault; # Added 2022-12-13
1087+ vdirsyncerStable = vdirsyncer; # Added 2020-11-08, see https://github.com/NixOS/nixpkgs/issues/103026#issuecomment-723428168
1088 ventoy-bin = ventoy; # Added 2023-04-12
1089 ventoy-bin-full = ventoy-full; # Added 2023-04-12
1090 ViennaRNA = viennarna; # Added 2023-08-23
···1182 });
11831184 /* If these are in the scope of all-packages.nix, they cause collisions
1185+ between mixed versions of qt. See:
1186 https://github.com/NixOS/nixpkgs/pull/101369 */
11871188 inherit (plasma5Packages)
···1205 plasma-vault plasma-workspace plasma-workspace-wallpapers polkit-kde-agent
1206 powerdevil qqc2-breeze-style sddm-kcm skanlite skanpage spectacle
1207 systemsettings xdg-desktop-portal-kde yakuake zanshin
1208+ ;
12091210+ kalendar = merkuro; # Renamed in 23.08
1211 kfloppy = throw "kfloppy has been removed upstream in KDE Gear 23.08";
12121213 inherit (plasma5Packages.thirdParty)
···1218 kwin-tiling
1219 plasma-applet-caffeine-plus
1220 plasma-applet-virtual-desktop-bar
1221+ ;
12221223 inherit (libsForQt5)
1224 sddm
1225+ ;
12261227 inherit (pidginPackages)
1228 pidgin-indicator
···1250 tdlib-purple
1251 pidgin-opensteamworks
1252 purple-facebook
1253+ ;
12541255})
···356 pyramid_multiauth = pyramid-multiauth; # added 2023-08-24
357 pyreadability = readability-lxml; # added 2022-05-24
358 pyres = throw "pyres has been removed, since it is abandoned and broken"; # added 2023-06-20
0359 pyroute2-core = throw "pyroute2 migrated back to a single package scheme in version 0.7.1"; # added 2022-07-16
360 pyroute2-ethtool = throw "pyroute2 migrated back to a single package scheme in version 0.7.1"; # added 2022-07-16
361 pyroute2-ipdb = throw "pyroute2 migrated back to a single package scheme in version 0.7.1"; # added 2022-07-16
···356 pyramid_multiauth = pyramid-multiauth; # added 2023-08-24
357 pyreadability = readability-lxml; # added 2022-05-24
358 pyres = throw "pyres has been removed, since it is abandoned and broken"; # added 2023-06-20
359+ pyRFC3339 = pyrfc3339; # added 2024-01-07
360 pyroute2-core = throw "pyroute2 migrated back to a single package scheme in version 0.7.1"; # added 2022-07-16
361 pyroute2-ethtool = throw "pyroute2 migrated back to a single package scheme in version 0.7.1"; # added 2022-07-16
362 pyroute2-ipdb = throw "pyroute2 migrated back to a single package scheme in version 0.7.1"; # added 2022-07-16