Skip to content

Commit 83fd733

Browse files
Merge master into staging-next
2 parents 8daf95d + 0242d91 commit 83fd733

84 files changed

Lines changed: 542 additions & 374 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

maintainers/scripts/luarocks-packages.csv

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ lrexlib-oniguruma,,,,,,junestepp
4848
lrexlib-pcre,,,,,,
4949
lrexlib-posix,,,,,,
5050
lsp-progress.nvim,,,,,5.1,gepbird
51+
lsqlite3,,,,,,
5152
lua-cjson,,,,,,
5253
lua-cmsgpack,,,,,,
5354
lua-curl,,,,,,
@@ -113,6 +114,7 @@ lzextras,,,,,,birdee
113114
lzn-auto-require,,,,,,mrcjkb
114115
magick,,,,,5.1,donovanglover
115116
markdown,,,,,,
117+
md5,,,,,,
116118
mediator_lua,,,,,,
117119
middleclass,,,,,,
118120
mimetypes,,,,,,
@@ -158,6 +160,7 @@ toml-edit,,,,,5.1,mrcjkb
158160
tree-sitter-http,,,,0.0.33-1,,
159161
tree-sitter-norg,,,,,5.1,mrcjkb
160162
tree-sitter-orgmode,,,,,5.1,
163+
utf8,,,,,,
161164
vstruct,,,,,,
162165
vusted,,,,,,
163166
xml2lua,,,,,,teto

nixos/modules/services/web-apps/calibre-web.nix

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ in
2727

2828
package = lib.mkPackageOption pkgs "calibre-web" { };
2929

30+
calibrePackage = lib.mkPackageOption pkgs "calibre" { };
31+
3032
listen = {
3133
ip = mkOption {
3234
type = types.str;
@@ -149,8 +151,8 @@ in
149151
cfg.options.calibreLibrary != null
150152
) "config_calibre_dir = '${cfg.options.calibreLibrary}'"
151153
++ optionals cfg.options.enableBookConversion [
152-
"config_converterpath = '${pkgs.calibre}/bin/ebook-convert'"
153-
"config_binariesdir = '${pkgs.calibre}/bin/'"
154+
"config_converterpath = '${cfg.calibrePackage}/bin/ebook-convert'"
155+
"config_binariesdir = '${cfg.calibrePackage}/bin/'"
154156
]
155157
++ optional cfg.options.enableKepubify "config_kepubifypath = '${pkgs.kepubify}/bin/kepubify'"
156158
);

nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ let
102102

103103
finalSystemdBootBuilder = pkgs.writeScript "install-systemd-boot.sh" ''
104104
#!${pkgs.runtimeShell}
105+
set -euo pipefail
105106
${systemdBootBuilder}/bin/systemd-boot "$@"
106107
${cfg.extraInstallCommands}
107108
'';

nixos/tests/bpf.nix

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,25 +21,19 @@
2121
# simple BEGIN probe (user probe on bpftrace itself)
2222
print(machine.succeed("bpftrace -e 'BEGIN { print(\"ok\\n\"); exit(); }'"))
2323
# tracepoint
24-
# workaround: this needs more than the default of 1k FD to attach ~350 probes, bump fd limit
25-
# see https://github.com/bpftrace/bpftrace/issues/2110
26-
print(machine.succeed("""
27-
ulimit -n 2048
28-
bpftrace -e 'tracepoint:syscalls:sys_enter_* { print(probe); exit() }'
29-
"""))
24+
print(machine.succeed("bpftrace -e 'tracepoint:syscalls:sys_enter_* { print(probe); exit() }'"))
3025
# kprobe
3126
print(machine.succeed("bpftrace -e 'kprobe:schedule { print(probe); exit() }'"))
3227
# BTF
3328
print(machine.succeed("bpftrace -e 'kprobe:schedule { "
3429
" printf(\"tgid: %d\\n\", ((struct task_struct*) curtask)->tgid); exit() "
3530
"}'"))
3631
# module BTF (bpftrace >= 0.17)
37-
# test is currently disabled on aarch64 as kfunc does not work there yet
38-
# https://github.com/iovisor/bpftrace/issues/2496
39-
print(machine.succeed("uname -m | grep aarch64 || "
40-
"bpftrace -e 'kfunc:nft_trans_alloc_gfp { "
32+
print(machine.succeed(
33+
"bpftrace -e 'fentry:nft_delchain { "
4134
" printf(\"portid: %d\\n\", args->ctx->portid); "
42-
"} BEGIN { exit() }'"))
35+
"} BEGIN { exit() }'"
36+
))
4337
# glibc includes
4438
print(machine.succeed("bpftrace -e '#include <errno.h>\n"
4539
"BEGIN { printf(\"ok %d\\n\", EINVAL); exit(); }'"))

nixos/tests/radicle.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ in
188188
)
189189
with subtest("bob can sync bob's repository from the seed"):
190190
bob.succeed(
191-
"cd /tmp/repo && rad sync --fetch --seed ${seed-nid}",
191+
"cd /tmp/repo && rad sync --seed ${seed-nid}",
192192
"cd /tmp/repo && git pull"
193193
)
194194
assert bob.succeed("cat /tmp/repo/testfile") == "hello bob\n"

nixos/tests/systemd-homed.nix

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -46,27 +46,25 @@ in
4646
4747
with subtest("create systemd-homed user on first boot prompt"):
4848
machine.wait_for_unit("systemd-homed.service")
49-
machine.wait_until_tty_matches("1", "-- Press any key to proceed --")
50-
machine.send_chars(" ")
51-
machine.wait_until_tty_matches("1", "Please enter user name")
49+
machine.wait_until_tty_matches("1", "Please enter user name to create")
5250
machine.send_chars("${username}\n")
53-
machine.wait_until_tty_matches("1", "Please enter an auxiliary group")
54-
machine.send_chars("wheel\n")
55-
machine.wait_until_tty_matches("1", "Please enter an auxiliary group")
56-
machine.send_chars("\n")
57-
machine.wait_until_tty_matches("1", "Please enter the shell to use")
58-
machine.send_chars("/bin/sh\n")
59-
machine.wait_until_tty_matches("1", "Please enter new password")
51+
machine.wait_until_tty_matches("1", "Please enter new password for user ${username}:")
6052
machine.send_chars("${initialPassword}\n")
6153
machine.wait_until_tty_matches("1", "(repeat)")
6254
machine.send_chars("${initialPassword}\n")
55+
machine.wait_for_unit("systemd-homed-firstboot.service")
56+
57+
# The firstboot wizard doesn't prompt for groups; add wheel here so the
58+
# later sudo subtest works. Leaving the shell unset also exercises the
59+
# NixOS default-user-shell meson option.
60+
machine.succeed("homectl update ${username} --offline -G wheel")
6361
6462
with subtest("login as homed user"):
6563
machine.wait_until_tty_matches("1", "login: ")
6664
machine.send_chars("${username}\n")
6765
machine.wait_until_tty_matches("1", "Password: ")
6866
machine.send_chars("${initialPassword}\n")
69-
machine.wait_until_succeeds("pgrep -u ${username} -t tty1 sh")
67+
machine.wait_until_succeeds("pgrep -u ${username} -t tty1 bash")
7068
machine.send_chars("whoami > /tmp/2\n")
7169
machine.wait_for_file("/tmp/2")
7270
assert "${username}" in machine.succeed("cat /tmp/2")
@@ -122,11 +120,11 @@ in
122120
sshClient.send_chars("ssh -o StrictHostKeyChecking=no -i /tmp/id_ed25519 ${username}@machine\n")
123121
sshClient.wait_until_tty_matches("1", "Please enter password for user")
124122
sshClient.send_chars("${newPassword}\n")
125-
machine.wait_until_succeeds("pgrep -u ${username} sh")
123+
machine.wait_until_succeeds("pgrep -u ${username} bash")
126124
sshClient.send_chars("whoami > /tmp/5\n")
127125
machine.wait_for_file("/tmp/5")
128126
assert "${username}" in machine.succeed("cat /tmp/5")
129127
sshClient.send_chars("exit\n") # ssh
130-
sshClient.send_chars("exit\n") # sh
128+
sshClient.send_chars("exit\n") # bash
131129
'';
132130
}

pkgs/applications/editors/eclipse/eclipses.json

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,90 +1,90 @@
11
{
22
"platform_major": "4",
3-
"platform_minor": "38",
4-
"version": "4.38",
5-
"year": "2025",
6-
"month": "12",
7-
"buildmonth": "12",
8-
"dayHourMinute": "010920",
3+
"platform_minor": "39",
4+
"version": "4.39",
5+
"year": "2026",
6+
"month": "03",
7+
"buildmonth": "02",
8+
"dayHourMinute": "260420",
99
"eclipses": {
1010
"cpp": {
1111
"description": "Eclipse IDE for C/C++ Developers",
1212
"dropUrl": false,
1313
"hashes": {
14-
"x86_64": "sha256-wlYGwfxKnF26qMSrUl0fsTDbECgXIL+ZIAr1BzwnK1Y=",
15-
"aarch64": "sha256-xuTi++OZzj+jh7edNi3WQN0ie0HJB0Zrg023MT3px/c="
14+
"x86_64": "sha256-2Mnh73FgzNjR4EU6KMG6MvGDeIIYXMj3mZFYR31pqfY=",
15+
"aarch64": "sha256-kq94vQYN2CEHodme8V6V0EZ33Pf96fmj/zMD/vkJbp8="
1616
}
1717
},
1818
"dsl": {
1919
"description": "Eclipse IDE for Java and DSL Developers",
2020
"dropUrl": false,
2121
"hashes": {
22-
"x86_64": "sha256-I6AcXthzv/uLlO5+Y27ZsbeftA3zzvUlApISsquS0sY=",
23-
"aarch64": "sha256-j0gj5Tcfbyj3sQ6gHEexee6d4SNbOYMODTeZDbKbUBo="
22+
"x86_64": "sha256-dOvQSOk4tPiLiNFHn4+a+gA69BhXjp9IbEZMJET7BfU=",
23+
"aarch64": "sha256-EPLQccE19bYITjaWnZjcB9/c7M95/7gbfJVPHkrXAWM="
2424
}
2525
},
2626
"embedcpp": {
2727
"description": "Eclipse IDE for Embedded C/C++ Developers",
2828
"dropUrl": false,
2929
"hashes": {
30-
"x86_64": "sha256-sPyqRadyBQ24oO38bEy4VP4dTj6V+FwMVjxyniyTn5o=",
31-
"aarch64": "sha256-CahsB9yBC8bLzwdfOOaidsP1VXXiELoot+DN8Zz2QqU="
30+
"x86_64": "sha256-zX0MMRGMANowMxWxCxpz2oQAXFEF8HRXQ0q76B4NnEY=",
31+
"aarch64": "sha256-XRfs2dJL/mXMWF7akXBw1Plh8jabSvhULOrC7dWGg7Q="
3232
}
3333
},
3434
"modeling": {
3535
"description": "Eclipse Modeling Tools",
3636
"dropUrl": false,
3737
"hashes": {
38-
"x86_64": "sha256-jw1Ij7HG8J9usWT6cKXeZbZDxQTWp2pBZtG2BdU2Guw=",
39-
"aarch64": "sha256-e4ieVltHzhBLGEh3NNKrKcfOyUQd0avIrhUB1CYbQls="
38+
"x86_64": "sha256-5yI90w7vJGCnUvYxTnQ19NzZYJpPPmKtjS/rXmowOTE=",
39+
"aarch64": "sha256-SZE4f2CR/FuG1B08Zf0eKrMBKRy7d2CWISGKWVpwhDw="
4040
}
4141
},
4242
"platform": {
4343
"description": "Eclipse Platform ${year}-${month}",
4444
"dropUrl": true,
4545
"hashes": {
46-
"x86_64": "sha256-gicPSSoWyisPTUQXu3ndWrcNiCTgIaCnVCZbTFWp6Cc=",
47-
"aarch64": "sha256-WSs9Y7iwhd+Wd4RQ/DMFGqIR4RjlceJgPCE2BSa55so="
46+
"x86_64": "sha256-VpV40IdWwUdePo1NqOrgnzta1x7jXDLkF+pZ4LWatew=",
47+
"aarch64": "sha256-Q//rkfpyY319BW4w/sK3Bd7Qb4Oi88hnr0aGULquV3g="
4848
}
4949
},
5050
"SDK": {
5151
"description": "Eclipse ${year}-${month} Classic",
5252
"dropUrl": true,
5353
"hashes": {
54-
"x86_64": "sha256-Vx8mnR81KpikZZikNwaHCz+KEfWd3Jvkzf9A6Chc0TE=",
55-
"aarch64": "sha256-VMcPmucV+hZ88nnhdsklXqrrUFG5lrZLeYmC1XC5Wo4="
54+
"x86_64": "sha256-ifXUPmZSvJP/LMCHFmX+01+qF75jVEGFmGxfElBz1K8=",
55+
"aarch64": "sha256-grzJNEFvXhgrJM+hSiS29n0ardlmhM6kIffeWPh/vMs="
5656
}
5757
},
5858
"java": {
5959
"description": "Eclipse IDE for Java Developers",
6060
"dropUrl": false,
6161
"hashes": {
62-
"x86_64": "sha256-Us5HNoQOt9OaTVAhVlFPMqAXD8hZkLs0IGppSpj2UuY=",
63-
"aarch64": "sha256-SHgHlicA30Q7W6yNTGUgaovMYXIHohbhksbJKIRSFGk="
62+
"x86_64": "sha256-DtRK/x4u7YQpjcKYh/9PdAeppjaxTEBTdL/AQhPFIlU=",
63+
"aarch64": "sha256-Gu5d8qMig6cCc9JVnNDMsj+xsYfkbHrTl1MvlSIfmhE="
6464
}
6565
},
6666
"jee": {
6767
"description": "Eclipse IDE for Enterprise Java and Web Developers",
6868
"dropUrl": false,
6969
"hashes": {
70-
"x86_64": "sha256-z0nj/7dmlqjEE+PQEjJngf3GmTIc6O8F8TJm7yBFrQE=",
71-
"aarch64": "sha256-MDBT9OJWBRd0twY5XoBukQaBTG1IP3xKE0g9kc86a/8="
70+
"x86_64": "sha256-86Qi1nZElwyo9gumtLUlsnOxsF2TE4DpXGmPS+C2l2M=",
71+
"aarch64": "sha256-iAtto9kxFjbXo6KQmOlnY6TRskHkx20VJUeW7FO3lZI="
7272
}
7373
},
7474
"committers": {
7575
"description": "Eclipse IDE for Eclipse Committers and Eclipse Platform Plugin Developers",
7676
"dropUrl": false,
7777
"hashes": {
78-
"x86_64": "sha256-meelcKp5AgfVCi13scA0TbPgkK9XsPvtS8HkyAYcUZs=",
79-
"aarch64": "sha256-c/FxP0Snx70bkhZ+owkg/DFXu3AWdJtrPCKyqIqKfPs="
78+
"x86_64": "sha256-fq5dfqqqyxO1fZRMd5aygDWKN116Mx3VqglVsRiTAAE=",
79+
"aarch64": "sha256-/6+0zMMVeARHldxOenRN16sxSkUP97g7ERmePdwxi78="
8080
}
8181
},
8282
"rcp": {
8383
"description": "Eclipse IDE for RCP and RAP Developers",
8484
"dropUrl": false,
8585
"hashes": {
86-
"x86_64": "sha256-0OgiJ11wMGeR1UjoLd3yoApDMhy3oZ1y4P2OxSJyRQA=",
87-
"aarch64": "sha256-IywPOyQlZXTrJdjiRDVAKwlxMZ1+FvN/uxYYoJ++ez8="
86+
"x86_64": "sha256-VQTCGRqb6Fn7DdhM0S1gJX17Rv/H8Ych2rZmBYRiaq4=",
87+
"aarch64": "sha256-o+Rd5vuhvSjs0oLkLnAgHpyq1EuYLZAJY5GTwBEmPog="
8888
}
8989
}
9090
}

pkgs/applications/graphics/gimp/default.nix

Lines changed: 47 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
ninja,
88
pkg-config,
99
babl,
10+
bash-completion,
1011
cfitsio,
1112
gegl,
1213
gtk3,
@@ -41,6 +42,7 @@
4142
python3,
4243
libexif,
4344
gettext,
45+
glibcLocales,
4446
wrapGAppsHook3,
4547
libxslt,
4648
gobject-introspection,
@@ -57,6 +59,7 @@
5759
llvmPackages,
5860
gexiv2,
5961
harfbuzz,
62+
makeFontsConf,
6063
mypaint-brushes1,
6164
libwebp,
6265
libheif,
@@ -81,7 +84,7 @@ let
8184
in
8285
stdenv.mkDerivation (finalAttrs: {
8386
pname = "gimp";
84-
version = "3.0.6";
87+
version = "3.0.8";
8588

8689
outputs = [
8790
"out"
@@ -92,17 +95,10 @@ stdenv.mkDerivation (finalAttrs: {
9295

9396
src = fetchurl {
9497
url = "https://download.gimp.org/gimp/v${lib.versions.majorMinor finalAttrs.version}/gimp-${finalAttrs.version}.tar.xz";
95-
hash = "sha256-JGwiU4PHLvnw3HcDt9cHCEu/F3vSkA6UzkZqYoYuKWs=";
98+
hash = "sha256-/rSYrMAbJoJ8/x/5Wqj7gs3Wpg16v3c8/NGavq/KM4Y=";
9699
};
97100

98101
patches = [
99-
# https://gitlab.gnome.org/GNOME/gimp/-/issues/15257
100-
(fetchpatch {
101-
name = "fix-gegl-bevel-test.patch";
102-
url = "https://gitlab.gnome.org/GNOME/gimp/-/commit/2fd12847496a9a242ca8edc448d400d3660b8009.patch";
103-
hash = "sha256-pjOjyzZxxl+zRqThXBwCBfYHdGhgaMI/IMKaL3XGAMs=";
104-
})
105-
106102
# to remove compiler from the runtime closure, reference was retained via
107103
# gimp --version --verbose output
108104
(replaceVars ./remove-cc-reference.patch {
@@ -122,13 +118,39 @@ stdenv.mkDerivation (finalAttrs: {
122118
(replaceVars ./tests-dbus-conf.patch {
123119
session_conf = "${dbus.out}/share/dbus-1/session.conf";
124120
})
121+
122+
# Allow calling tests from other directories.
123+
# Required for the next patch.
124+
(fetchpatch {
125+
url = "https://gitlab.gnome.org/GNOME/gimp/-/commit/fd58ab3bee7a79cb0a7870c6858f3b64c84a7917.patch";
126+
hash = "sha256-fpysKWwt5rilqp7ukdWx7kutkDquL/6YhYjR1zQfu/Q=";
127+
})
128+
129+
# Do not go through ui for save-and-export test.
130+
# https://gitlab.gnome.org/GNOME/gimp/-/issues/15763
131+
(fetchpatch {
132+
url = "https://gitlab.gnome.org/GNOME/gimp/-/commit/608ad0a528b5b31101c021d96aeb95558d207497.patch";
133+
hash = "sha256-0oA5u+uAT0l3WT90fy0RGOR8xy/fGIHevBb69oUzfGs=";
134+
excludes = [
135+
# Other changes would prevent deletion, removing it from build is sufficient.
136+
"app/tests/test-save-and-export.c"
137+
];
138+
})
139+
140+
# Disable broken UI tests.
141+
# https://gitlab.gnome.org/GNOME/gimp/-/issues/15763
142+
(fetchpatch {
143+
url = "https://gitlab.gnome.org/GNOME/gimp/-/commit/c34fe3e94f1019eafcb38edf1c07bff12a57431e.patch";
144+
hash = "sha256-yVauEpoGEOIfCXnGnWMGWjXbIDizDhJ3hipeCy3XSBM=";
145+
})
125146
];
126147

127148
nativeBuildInputs = [
128149
meson
129150
ninja
130151
pkg-config
131152
gettext
153+
glibcLocales
132154
wrapGAppsHook3
133155
libxslt # for xsltproc
134156
gobject-introspection
@@ -152,6 +174,7 @@ stdenv.mkDerivation (finalAttrs: {
152174
buildInputs = [
153175
appstream # for library
154176
babl
177+
bash-completion
155178
cfitsio
156179
gegl
157180
gtk3
@@ -250,6 +273,11 @@ stdenv.mkDerivation (finalAttrs: {
250273

251274
# Check if librsvg was built with --disable-pixbuf-loader.
252275
PKG_CONFIG_GDK_PIXBUF_2_0_GDK_PIXBUF_MODULEDIR = "${librsvg}/${gdk-pixbuf.moduleDir}";
276+
277+
# Silence fontconfig warnings about missing config during tests
278+
FONTCONFIG_FILE = makeFontsConf {
279+
fontDirectories = [ ];
280+
};
253281
};
254282

255283
postPatch = ''
@@ -260,6 +288,16 @@ stdenv.mkDerivation (finalAttrs: {
260288
chmod +x plug-ins/python/{colorxhtml,file-openraster,foggify,gradients-save-as-css,histogram-export,palette-offset,palette-sort,palette-to-gradient,python-eval,spyro-plus}.py
261289
patchShebangs \
262290
plug-ins/python/{colorxhtml,file-openraster,foggify,gradients-save-as-css,histogram-export,palette-offset,palette-sort,palette-to-gradient,python-eval,spyro-plus}.py
291+
292+
# Use Python from environment not from Meson.
293+
# https://gitlab.gnome.org/GNOME/gimp/-/merge_requests/2607
294+
substituteInPlace meson.build \
295+
--replace-fail "import('python').find_installation()" "import('python').find_installation('python3')"
296+
297+
# Broken test
298+
# https://github.com/NixOS/nixpkgs/pull/484971#issuecomment-3846759517
299+
substituteInPlace app/tests/meson.build \
300+
--replace-fail "{${"\n"} 'name': 'save-and-export',${"\n"} }${"\n"}" ""
263301
'';
264302

265303
preBuild =

0 commit comments

Comments
 (0)