Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2026-07-17 12:11:46 +00:00
committed by GitHub
17 changed files with 240 additions and 92 deletions

View File

@@ -16424,6 +16424,11 @@
githubId = 83420438;
name = "Lewis";
};
lubsch = {
github = "lubsch";
githubId = 33580245;
name = "Benjamin Lohmar";
};
luc65r = {
email = "lucas@ransan.fr";
github = "luc65r";

View File

@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "mednafen-pce-fast";
version = "0-unstable-2026-07-03";
version = "0-unstable-2026-07-10";
src = fetchFromGitHub {
owner = "libretro";
repo = "beetle-pce-fast-libretro";
rev = "744a9ffb6120e7531c153aa468f34adb3fab9057";
hash = "sha256-n5Mz0a2bIbQEDsX8PZzji58D8L/yFoQVghrMTg7Srd0=";
rev = "0bc6c86928343ca4202c5b6ef33fa4387c47fc12";
hash = "sha256-TgUueogxf5KZ1S5pt0WiYtoHXWQI81C6QUts1xJClh8=";
};
makefile = "Makefile";

View File

@@ -837,7 +837,7 @@
}
},
"ungoogled-chromium": {
"version": "150.0.7871.124",
"version": "150.0.7871.128",
"deps": {
"depot_tools": {
"rev": "f4fadaf6a5ba1bced9d3d9021060667b563bf583",
@@ -849,16 +849,16 @@
"hash": "sha256-/1A+DkzAQj2zGPe/A/G0Z3VrYJXUxq4Hd/+d/o5p3G8="
},
"ungoogled-patches": {
"rev": "150.0.7871.124-1",
"hash": "sha256-3dwDG3YuX/l5bOLcC3lICM2qmGnwVAPPJraDRaHZSe8="
"rev": "150.0.7871.128-1",
"hash": "sha256-GxSsGTC68IEMPt85RLBCVDT0dTl7ZVVPc8o4vxc50H8="
},
"npmHash": "sha256-pF0JtwFpPC4/fodbhSJnQKkczA9WlDg4VqEAy9aDVLg="
},
"DEPS": {
"src": {
"url": "https://chromium.googlesource.com/chromium/src.git",
"rev": "9261fd0a595ac4964ea84e6bd4a025c1173a2ffa",
"hash": "sha256-YKkZfxFZ7mitD6YqJZW+NQByq71UVb0jCFIBXj0SyzU=",
"rev": "81891e5ca708047763816c778216799ef14c66cb",
"hash": "sha256-lGHZZ2xIih+TaH145CZwEwyXsM1ZQWwqXsIQjWQ/jvk=",
"recompress": true
},
"src/third_party/clang-format/script": {
@@ -1663,8 +1663,8 @@
},
"src/v8": {
"url": "https://chromium.googlesource.com/v8/v8.git",
"rev": "209c9cea0db17d8caf23e9d2c7de08c351609744",
"hash": "sha256-3jUyRERu1r+Fl2uSAaRchV2L99XLp8XO9DHctk0lMjY="
"rev": "2b2f69158528fdd9d86b778cfcc2d0a1c4f8c59f",
"hash": "sha256-bqzCZSpKdXgKv3O1I7ck1PEXCa/2jBT7hpBEKW0LgTA="
},
"src/agents/shared": {
"url": "https://chromium.googlesource.com/chromium/agents.git",

View File

@@ -5,18 +5,17 @@
meson,
ninja,
pkg-config,
unstableGitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "adslib";
version = "0-unstable-2026-04-27";
version = "113.0.34-1";
src = fetchFromGitHub {
owner = "stlehmann";
repo = "ADS";
rev = "77953d58f2690436e82db9954e2e55878c5edaa4";
hash = "sha256-UDPuzqD1krEZa7436k1NvE0lJUmNYG4kiP5fstoRDMc=";
tag = finalAttrs.version;
hash = "sha256-Kh8BDioZdwSdATHPgZ7Ar3/E0y3eRRpG/38/2uHZEEQ=";
};
nativeBuildInputs = [
@@ -27,12 +26,10 @@ stdenv.mkDerivation (finalAttrs: {
postInstall = ''
# Downstream consumers (e.g. pyads) load the shared library as
# `adslib.so` rather than the meson default `libadslib.so`.
ln -s libadslib.so $out/lib/adslib.so
# `adslib.so` rather than the meson default `libAdsLib.so`.
ln -s libAdsLib.so $out/lib/adslib.so
'';
passthru.updateScript = unstableGitUpdater { };
meta = {
description = "Beckhoff protocol to communicate with TwinCAT devices";
homepage = "https://github.com/stlehmann/ADS";

View File

@@ -16,12 +16,12 @@
let
pname = "autobrr";
version = "1.81.0";
version = "1.82.1";
src = fetchFromGitHub {
owner = "autobrr";
repo = "autobrr";
tag = "v${version}";
hash = "sha256-Xm5cYtQabHkoiVZ6v71qWKIpx44obzr0Om2hahFUyO8=";
hash = "sha256-dB/lk05v9L8GAF//N1We3byhsK+156rzRT+r9Q+EVD4=";
};
autobrr-web = stdenvNoCC.mkDerivation {
@@ -46,7 +46,7 @@ let
;
pnpm = pnpm_11;
fetcherVersion = 4;
hash = "sha256-VDW1B8OVFZ72nBl8IYM5nXqit2za1Q8mXI6UhcmEeSo=";
hash = "sha256-wlikd38tAfgaSSD9L7DiSXRQFYcfVq5YA1eWs5NE4n8=";
};
postBuild = ''
@@ -65,7 +65,7 @@ buildGoModule (finalAttrs: {
src
;
vendorHash = "sha256-mOsiQXuhhNSbViEFecmlNk549LyfUIuc8FxwDma9XNI=";
vendorHash = "sha256-tsGl0uiQV25aemEQvedZUISrlO4IPE+V87nl31m8hZI=";
preBuild = ''
cp -r ${finalAttrs.passthru.autobrr-web}/* web/dist

View File

@@ -22,10 +22,10 @@
}:
mkDerivation {
pname = "bruijn";
version = "0-unstable-2026-07-05";
version = "0-unstable-2026-07-16";
src = fetchzip {
url = "https://github.com/marvinborner/bruijn/archive/29a4a3e9620702f47d839a154d64489b8fdce1a7.tar.gz";
sha256 = "18vxzgd6faq8djgpav4na1nvp0jid44vd52gn9a8smwr2xk44wnz";
url = "https://github.com/marvinborner/bruijn/archive/9f1ac8856d09666a7444874f80b91b876929eecf.tar.gz";
sha256 = "18mcwp2xn7wgr81mgqr38irvkf24rf0nvwzi8janasq5favim0vy";
};
isLibrary = true;
isExecutable = true;

View File

@@ -11,11 +11,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cgal";
version = "6.1.1";
version = "6.2";
src = fetchurl {
url = "https://github.com/CGAL/cgal/releases/download/v${finalAttrs.version}/CGAL-${finalAttrs.version}.tar.xz";
sha256 = "sha256-UlBpNfcOJH7Sd348ZfIOhveSCMKi0OGArnR12vEclu8=";
sha256 = "sha256-+8MoFnRehxpcvetiRTF+nb8QrhqVewqx7bALT94Auo0=";
};
patches = [ ./cgal_path.patch ];

View File

@@ -11,7 +11,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "dezoomify-rs";
version = "2.16.0";
version = "2.17.0";
__structuredAttrs = true;
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "lovasoa";
repo = "dezoomify-rs";
tag = "v${finalAttrs.version}";
hash = "sha256-45Vlgle605s3uvPh+Lr+KAk72AzIoolnSuhFzRCORC4=";
hash = "sha256-iRcRMzUW3K0pzRP9Y7ID29Kxpi3dPxRCC4WY+2ydAyE=";
};
nativeBuildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [
@@ -36,7 +36,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
passthru.updateScript = nix-update-script { };
cargoHash = "sha256-tfeknHPrY11rSmHyEAUvJgCLDwmIpo9jk8BLgzgQCrc=";
cargoHash = "sha256-Tou+t4rbN/KfUAr9AVWD/aAzz+u50v9UZwo5mGXmjy4=";
# hyper uses SystemConfiguration.framework to read system proxy settings.
# Allow access to the Mach service to prevent the tests from failing.

View File

@@ -10,13 +10,13 @@
}:
buildNpmPackage (finalAttrs: {
pname = "flood";
version = "4.14.2";
version = "4.15.0";
src = fetchFromGitHub {
owner = "jesec";
repo = "flood";
tag = "v${finalAttrs.version}";
hash = "sha256-gSjkpAGkvgRRh8WDpL/F7fS8KDxHRJUuWVqHGcFEGAc=";
hash = "sha256-wd+9owJi9W9pf6c1JuO0X/6JWxLq8XIypj6r4rQUemM=";
};
nativeBuildInputs = [ pnpm_10 ];
@@ -31,7 +31,7 @@ buildNpmPackage (finalAttrs: {
;
pnpm = pnpm_10;
fetcherVersion = 4;
hash = "sha256-yNRC5sCBn002gxUfHMUvh3DZeVYOokfz4MTvqXR2MzI=";
hash = "sha256-a1PoQ5pXw1SgyGFRa3+7AOr6vpyGyHxkMU7KQEFlZ04=";
};
passthru = {

View File

@@ -11,17 +11,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "mago";
version = "1.29.0";
version = "1.43.0";
src = fetchFromGitHub {
owner = "carthage-software";
repo = "mago";
tag = finalAttrs.version;
hash = "sha256-e/LKOQ+GAtdDye/poJdbX/98gDWle3NWIZ2zHwkGkcQ=";
hash = "sha256-AWnPhylz41E6d1M7PxVpH4EbyYeO9T6jlWVlzBqiOhQ=";
forceFetchGit = true; # Does not download all files otherwise
};
cargoHash = "sha256-stjjP8VRHy5k9zMXWGikVNExXRFte0gVBEsbKmPY6U4=";
cargoHash = "sha256-f7HZTJ0ESx7QTKgBqd2FOH1nCeIzgODMM9Sb0tQpfdE=";
env = {
# Get openssl-sys to use pkg-config

View File

@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
# nativeBuildInputs
cmake,
@@ -36,15 +37,25 @@
stdenv.mkDerivation (finalAttrs: {
pname = "musescore";
version = "4.7.3";
version = "4.7.4";
src = fetchFromGitHub {
owner = "musescore";
repo = "MuseScore";
tag = "v${finalAttrs.version}";
hash = "sha256-wWqFJkXLRi3JtnEW3STTG/jBBIQK1dIYPZdKCiBn0m0=";
hash = "sha256-ny6s5hQUxopb6c45KJugYEZULkC8fLP+Au5ghic0KvI=";
};
patches = [
# Fix for https://github.com/musescore/MuseScore/issues/34091 also reported
# downstream at: https://github.com/NixOS/nixpkgs/issues/540783. PR to
# track: https://github.com/musescore/MuseScore/pull/34204
(fetchpatch {
url = "https://github.com/musescore/MuseScore/commit/f273501e418842351c4bda10cce32b0e329eaff1.patch";
hash = "sha256-zrZRzeAHSFGtCuw/o4A3b1Blbo3FxKGxw1UDu9IggzY=";
})
];
cmakeFlags = [
(lib.cmakeFeature "MUSE_APP_BUILD_MODE" "release")
# Disable the build and usage of the `/bin/crashpad_handler` utility - it's

View File

@@ -0,0 +1,13 @@
diff --git i/meson.build w/meson.build
index 5c3032d..5ec2e56 100644
--- i/meson.build
+++ w/meson.build
@@ -22,7 +22,7 @@ project(
version: '0.8.0',
license: 'Apache-2.0',
meson_version: '>=0.58.0',
- default_options: ['c_std=c99', 'warning_level=2', 'cpp_std=c++17'],
+ default_options: ['c_std=c99', 'warning_level=2', 'cpp_std=c++20'],
)
cc = meson.get_compiler('c')

View File

@@ -30,6 +30,12 @@ stdenv.mkDerivation (finalAttrs: {
tag = "apache-arrow-nanoarrow-${finalAttrs.version}";
hash = "sha256-1iLbT1eeyZaoB75uYTgg4qns+C7b4DErqMwJ9nQPRls=";
};
patches = [
# Fixes an issue between our `arrow-cpp` and this version of `nanoarrow`.
# Not applicable for upstreaming so it seems. See discussion:
# https://github.com/apache/arrow-nanoarrow/issues/902
./cpp20-arrow-cpp-fix.diff
];
nativeBuildInputs = [
meson

View File

@@ -12,13 +12,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "qrupdate";
version = "1.1.5";
version = "1.2.0";
src = fetchFromGitHub {
owner = "mpimd-csc";
repo = "qrupdate-ng";
rev = "v${finalAttrs.version}";
hash = "sha256-dHxLPrN00wwozagY2JyfZkD3sKUD2+BcnbjNgZepzFg=";
hash = "sha256-d5bc9JJOM3Tn41yZfqq3/rPMqZQxxICJo49oELSwxjc=";
};
cmakeFlags =

View File

@@ -7,16 +7,16 @@
buildGoModule (finalAttrs: {
pname = "routedns";
version = "0.1.209";
version = "0.1.223";
src = fetchFromGitHub {
owner = "folbricht";
repo = "routedns";
rev = "v${finalAttrs.version}";
hash = "sha256-fzBiF0xIArHchV2umdiO6Q2LPe/nZ7QUVKa2w7onO/0=";
hash = "sha256-RUGKdTtCIljqJlDOOSh0rEh7J+kF9m0dasAhlqpnkyw=";
};
vendorHash = "sha256-e19ZqeVA+WQOILZrju7xFDii/lxmZceXk30tWY74cmM=";
vendorHash = "sha256-WN94s9eRr+Um2WYPnUSDKXRDeNYVy6R920eaCTNd86w=";
subPackages = [ "./cmd/routedns" ];

View File

@@ -0,0 +1,47 @@
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
installShellFiles,
nix-update-script,
versionCheckHook,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zsh-patina";
version = "1.7.0";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "michel-kraemer";
repo = "zsh-patina";
tag = finalAttrs.version;
hash = "sha256-sPlIT3UHtq+5+bpfrSPPfVXTdmqjEq+6k9tPShhG7h0=";
};
cargoHash = "sha256-j2MwEwQhSCUCwANAxr0aZjJ9iS0cGzRRttfK8LONEpg=";
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
install -Dm644 LICENSE $out/share/licenses/zsh-patina/LICENSE
''
+ lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd zsh-patina --zsh <($out/bin/zsh-patina completion)
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Zsh syntax highlighter";
homepage = "https://github.com/michel-kraemer/zsh-patina";
changelog = "https://github.com/michel-kraemer/zsh-patina/blob/${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ lubsch ];
platforms = lib.platforms.unix;
mainProgram = "zsh-patina";
};
})

View File

@@ -59,6 +59,7 @@
aacgain,
beautifulsoup4,
chromaprint,
dbus-python,
discogs-client,
ffmpeg,
flac,
@@ -88,6 +89,7 @@
extraNativeBuildInputs ? [ ],
# tests
doCheck ? true,
pytestCheckHook,
pytest-cov-stub,
pytest-factoryboy,
@@ -194,6 +196,8 @@ buildPythonPackage (finalAttrs: {
]
++ finalAttrs.finalPackage.passthru.plugins.wrapperBins;
inherit doCheck;
__darwinAllowLocalNetworking = true;
disabledTestPaths =
@@ -275,7 +279,11 @@ buildPythonPackage (finalAttrs: {
bench.testPaths = [ ];
bpd = { };
bpm.testPaths = [ ];
bpsync.testPaths = [ ];
bpsync = {
# plugin retired: https://github.com/beetbox/beets/issues/3862.
deprecated = true;
testPaths = [ ];
};
bucket = { };
chroma = {
propagatedBuildInputs = [ pyacoustid ];
@@ -288,10 +296,15 @@ buildPythonPackage (finalAttrs: {
propagatedBuildInputs = [ requests ];
testPaths = [ ];
};
discogs.propagatedBuildInputs = [
discogs-client
requests
];
discogs = {
propagatedBuildInputs = [
discogs-client
requests
];
singlePluginTest.config = {
user_token = "test";
};
};
duplicates.testPaths = [ ];
edit = { };
embedart = {
@@ -334,7 +347,10 @@ buildPythonPackage (finalAttrs: {
testPaths = [ ];
};
limit = { };
listenbrainz = { };
listenbrainz.singlePluginTest.config = {
token = "test";
username = "test";
};
loadext = {
propagatedBuildInputs = [ requests ];
testPaths = [ ];
@@ -348,7 +364,10 @@ buildPythonPackage (finalAttrs: {
mbsubmit = { };
mbsync = { };
mbpseudo = { };
metasync.testPaths = [ ];
metasync = {
propagatedBuildInputs = [ dbus-python ];
testPaths = [ ];
};
missing.testPaths = [ ];
mpdstats.propagatedBuildInputs = [ python-mpd2 ];
mpdupdate = {
@@ -363,11 +382,14 @@ buildPythonPackage (finalAttrs: {
plexupdate = { };
random = { };
replace = { };
replaygain.wrapperBins = [
aacgain
ffmpeg
mp3gain
];
replaygain = {
singlePluginTest.config.backend = "gstreamer";
wrapperBins = [
aacgain
ffmpeg
mp3gain
];
};
rewrite.testPaths = [ ];
scrub.testPaths = [ ];
smartplaylist = { };
@@ -375,7 +397,10 @@ buildPythonPackage (finalAttrs: {
propagatedBuildInputs = [ soco ];
testPaths = [ ];
};
spotify = { };
spotify.singlePluginTest.setup = ''
mkdir -p $HOME/.config/beets
echo '{"access_token":"test"}' > $HOME/.config/beets/spotify_token.json
'';
subsonicplaylist = {
propagatedBuildInputs = [ requests ];
testPaths = [ ];
@@ -384,7 +409,7 @@ buildPythonPackage (finalAttrs: {
substitute = {
testPaths = [ ];
};
tidal = { };
tidal.propagatedBuildInputs = [ requests-oauthlib ];
the = { };
titlecase.propagatedBuildInputs = [ titlecase ];
thumbnails = {
@@ -416,23 +441,24 @@ buildPythonPackage (finalAttrs: {
lib.throwIf (finalAttrs.finalPackage.passthru.plugins.builtins.${plugName}.deprecated or false)
"beets evaluation error: Plugin ${plugName} was enabled in pluginOverrides, but it has been removed. Remove the override to fix evaluation."
) pluginOverrides;
all =
lib.mapAttrs
(
n: a:
{
name = n;
enable = !disableAllPlugins;
builtin = false;
propagatedBuildInputs = [ ];
testPaths = [ "test/plugins/test_${n}.py" ];
wrapperBins = [ ];
}
// a
)
(
lib.recursiveUpdate finalAttrs.finalPackage.passthru.plugins.base finalAttrs.finalPackage.passthru.plugins.overrides
);
all = lib.pipe finalAttrs.finalPackage.passthru.plugins.base [
(base: lib.recursiveUpdate base finalAttrs.finalPackage.passthru.plugins.overrides)
(lib.mapAttrs (
n: a:
lib.recursiveUpdate {
name = n;
enable = !disableAllPlugins;
builtin = false;
propagatedBuildInputs = [ ];
singlePluginTest = {
config = { };
setup = "";
};
testPaths = [ "test/plugins/test_${n}.py" ];
wrapperBins = [ ];
} a
))
];
enabled = lib.filterAttrs (_: p: p.enable) finalAttrs.finalPackage.passthru.plugins.all;
disabled = lib.filterAttrs (_: p: !p.enable) finalAttrs.finalPackage.passthru.plugins.all;
disabledTestPaths = lib.flatten (
@@ -443,23 +469,6 @@ buildPythonPackage (finalAttrs: {
);
};
tests = {
gstreamer =
runCommand "beets-gstreamer-test"
{
meta.timeout = 60;
}
''
set -euo pipefail
export HOME=$(mktemp -d)
mkdir $out
cat << EOF > $out/config.yaml
replaygain:
backend: gstreamer
EOF
${finalAttrs.finalPackage}/bin/beet -c $out/config.yaml > /dev/null
'';
with-new-builtin-plugin = finalAttrs.finalPackage.overrideAttrs (
newAttrs: oldAttrs: {
postPatch = (oldAttrs.postPatch or "") + ''
@@ -497,7 +506,66 @@ buildPythonPackage (finalAttrs: {
-c $out/config.yaml \
mpdstats --help 2> $out/mpdstats-help-stderr || true
'';
};
}
# Build and start beets once for each supported built-in plugin. Keeping the
# plugins isolated makes missing optional dependencies visible.
// lib.pipe finalAttrs.finalPackage.passthru.plugins.all [
# Deprecated plugins are not useful regression targets.
(lib.filterAttrs (_: pluginAttrs: !(pluginAttrs.deprecated or false)))
(lib.concatMapAttrs (
pluginName: pluginAttrs:
let
testConfig = {
plugins = [ pluginName ];
}
# Some plugins do not accept an empty attribute set as config.
// lib.optionalAttrs (pluginAttrs.singlePluginTest.config != { }) {
${pluginName} = pluginAttrs.singlePluginTest.config;
};
beetsWithSinglePlugin = beets.override {
disableAllPlugins = true;
pluginOverrides = {
${pluginName}.enable = true;
};
# The runCommand below is the relevant check; avoid running
# the full upstream test suite once per plugin. NOTE that
# testing whether any plugin's `testPaths` is incorrect, is
# done for all plugins via the `beets-minimal` derivation.
doCheck = false;
};
in
{
"with-single-plugin-${pluginName}" = beetsWithSinglePlugin;
"single-plugin-${pluginName}" = runCommand "beets-single-plugin-${pluginName}-test" { } ''
set -euo pipefail
export HOME=$(mktemp -d)
${pluginAttrs.singlePluginTest.setup}
mkdir $out
cat <<'EOF' > $out/config.yaml
${lib.generators.toYAML { } testConfig}
EOF
status=0
${lib.getExe beetsWithSinglePlugin} \
-c "$out/config.yaml" \
--help > "$out/stdout" 2> "$out/stderr" || status=$?
# beet exits successfully when a plugin fails to load, so its
# stderr must also be checked for the diagnostic.
if (( status != 0 )) || grep -Fq "error loading plugin" "$out/stderr"; then
{
printf '%s\n' '----- stdout -----'
cat "$out/stdout"
printf '%s\n' '----- stderr -----'
cat "$out/stderr"
} >&2
exit 1
fi
'';
}
))
];
};
meta = {
@@ -509,6 +577,7 @@ buildPythonPackage (finalAttrs: {
doronbehar
lovesegfault
pjones
staticdev
];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
mainProgram = "beet";