Merge release-26.05 into staging-next-26.05

This commit is contained in:
nixpkgs-ci[bot] 2026-06-21 00:57:18 +00:00 committed by GitHub
commit 0c0891a9cb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
28 changed files with 3430 additions and 4033 deletions

View file

@ -26,11 +26,7 @@ let
fmt =
let
treefmtNixSrc = fetchTarball {
inherit (pinned.treefmt-nix) url;
sha256 = pinned.treefmt-nix.hash;
};
treefmtEval = (import treefmtNixSrc).evalModule pkgs ./treefmt.nix;
treefmt = pkgs.treefmt.withConfig ./treefmt.nix;
fs = pkgs.lib.fileset;
nixFilesSrc = fs.toSource {
root = ../.;
@ -38,9 +34,8 @@ let
};
in
{
shell = treefmtEval.config.build.devShell;
pkg = treefmtEval.config.build.wrapper;
check = treefmtEval.config.build.check nixFilesSrc;
pkg = treefmt;
check = treefmt.check nixFilesSrc;
};
in

View file

@ -12,19 +12,6 @@
"revision": "8c91a71d13451abc40eb9dae8910f972f979852f",
"url": "https://github.com/NixOS/nixpkgs/archive/8c91a71d13451abc40eb9dae8910f972f979852f.tar.gz",
"hash": "sha256-fnzKKPvS+oieI/pTzotA5tkoM47EB1NpaBcgk4R97hE="
},
"treefmt-nix": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "numtide",
"repo": "treefmt-nix"
},
"branch": "main",
"submodules": false,
"revision": "db947814a175b7ca6ded66e21383d938df01c227",
"url": "https://github.com/numtide/treefmt-nix/archive/db947814a175b7ca6ded66e21383d938df01c227.tar.gz",
"hash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM="
}
},
"version": 8

View file

@ -1,122 +1,172 @@
{ pkgs, ... }: {
# Important: The auto-rebase script uses `git filter-branch --tree-filter`,
# which creates trees within the Git repository under `.git-rewrite/t`,
# notably without having a `.git` themselves.
# So if this projectRootFile were the default `.git/config`,
# having the auto-rebase script use treefmt on such a tree would make it
# format all files in the _parent_ Git tree as well.
projectRootFile = ".git-blame-ignore-revs";
# Be a bit more verbose by default, so we can see progress happening
settings.verbose = 1;
# By default it's info, which is too noisy since we have many unmatched files
settings.on-unmatched = "debug";
programs.actionlint.enable = true;
programs.biome = {
enable = true;
# Disable settings validation because its inputs are liable to hash mismatch
validate.enable = false;
settings.formatter = {
useEditorconfig = true;
};
settings.javascript.formatter = {
quoteStyle = "single";
semicolons = "asNeeded";
};
settings.json.formatter.enabled = false;
};
settings.formatter.biome.excludes = [
"*.min.js"
"pkgs/*"
];
programs.keep-sorted.enable = true;
# This uses nixfmt underneath, the default formatter for Nix code.
# See https://github.com/NixOS/nixfmt
programs.nixfmt = {
enable = true;
package = pkgs.nixfmt;
};
programs.yamlfmt = {
enable = true;
settings.formatter = {
retain_line_breaks = true;
};
};
settings.formatter.yamlfmt.excludes = [
# Aligns comments with whitespace
"pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml"
# TODO: Fix formatting for auto-generated file
"pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml"
];
programs.nixf-diagnose = {
enable = true;
ignore = [
# Rule names can currently be looked up here:
# https://github.com/nix-community/nixd/blob/main/libnixf/src/Basic/diagnostic.py
# TODO: Remove the following and fix things.
"sema-unused-def-lambda-noarg-formal"
"sema-unused-def-lambda-witharg-arg"
"sema-unused-def-lambda-witharg-formal"
"sema-unused-def-let"
# Keep this rule, because we have `lib.or`.
"or-identifier"
# TODO: remove after outstanding prelude diagnostics issues are fixed:
# https://github.com/nix-community/nixd/issues/761
# https://github.com/nix-community/nixd/issues/762
"sema-primop-removed-prefix"
"sema-primop-overridden"
"sema-constant-overridden"
"sema-primop-unknown"
];
};
settings.formatter.nixf-diagnose = {
# Ensure nixfmt cleans up after nixf-diagnose.
priority = -1;
{
lib,
pkgs,
...
}:
{
settings = {
# numtide/treefmt-nix defaults
excludes = [
# Auto-generated; violates sema-extra-with
# Can only sensibly be removed when --auto-fix supports multiple fixes at once:
# https://github.com/inclyc/nixf-diagnose/issues/13
"pkgs/servers/home-assistant/component-packages.nix"
# https://github.com/nix-community/nixd/issues/708
"nixos/maintainers/scripts/azure-new/examples/basic/system.nix"
"*.lock"
"*.patch"
"*.diff"
"package-lock.json"
"go.mod"
"go.sum"
".gitattributes"
".gitignore"
".gitmodules"
"COPYING"
"LICENSE"
];
};
settings.formatter.editorconfig-checker = {
command = "${pkgs.lib.getExe pkgs.editorconfig-checker}";
options = [
"-disable-indent-size"
# TODO: Remove this once this upstream issue is fixed:
# https://github.com/editorconfig-checker/editorconfig-checker/issues/505
"-disable-charset"
];
includes = [ "*" ];
priority = 1;
};
# Be a bit more verbose by default, so we can see progress happening
verbose = 1;
# TODO: Upstream this into treefmt-nix eventually:
# https://github.com/numtide/treefmt-nix/issues/387
settings.formatter.markdown-code-runner = {
command = pkgs.lib.getExe pkgs.markdown-code-runner;
options =
let
config = pkgs.writers.writeTOML "markdown-code-runner-config" {
presets.nixfmt = {
language = "nix";
command = [ (pkgs.lib.getExe pkgs.nixfmt) ];
};
};
in
[ "--config=${config}" ];
includes = [ "*.md" ];
};
# By default it's info, which is too noisy since we have many unmatched files
on-unmatched = "debug";
programs.zizmor.enable = true;
formatter = {
# keep-sorted start block=yes newline_separated=yes
actionlint = {
command = lib.getExe pkgs.actionlint;
includes = [
".github/workflows/*.yml"
".github/workflows/*.yaml"
];
};
biome = {
command = lib.getExe pkgs.biome;
excludes = [
"*.min.js"
"pkgs/*"
];
includes = [
"*.js"
"*.ts"
"*.mjs"
"*.mts"
"*.cjs"
"*.cts"
"*.jsx"
"*.tsx"
"*.d.ts"
"*.d.cts"
"*.d.mts"
"*.css"
];
options = [
"check"
"--write"
"--no-errors-on-unmatched"
"--use-editorconfig=true"
"--javascript-formatter-quote-style=single"
"--semicolons=as-needed"
];
};
editorconfig-checker = {
command = lib.getExe pkgs.editorconfig-checker;
options = [
"-disable-indent-size"
# TODO: Remove this once this upstream issue is fixed:
# https://github.com/editorconfig-checker/editorconfig-checker/issues/505
"-disable-charset"
];
includes = [ "*" ];
priority = 1;
};
keep-sorted = {
command = lib.getExe pkgs.keep-sorted;
includes = [ "*" ];
};
markdown-code-runner = {
command = lib.getExe pkgs.markdown-code-runner;
options =
let
config = pkgs.writers.writeTOML "markdown-code-runner-config" {
presets.nixfmt = {
language = "nix";
command = [ (lib.getExe pkgs.nixfmt) ];
};
};
in
[ "--config=${config}" ];
includes = [ "*.md" ];
};
nixf-diagnose = {
command = lib.getExe pkgs.nixf-diagnose;
excludes = [
# Auto-generated; violates sema-extra-with
# Can only sensibly be removed when --auto-fix supports multiple fixes at once:
# https://github.com/inclyc/nixf-diagnose/issues/13
"pkgs/servers/home-assistant/component-packages.nix"
# https://github.com/nix-community/nixd/issues/708
"nixos/maintainers/scripts/azure-new/examples/basic/system.nix"
];
includes = [ "*.nix" ];
options = [
"--auto-fix"
# Rule names can currently be looked up here:
# https://github.com/nix-community/nixd/blob/main/libnixf/src/Basic/diagnostic.py
# TODO: Remove the following and fix things.
"--ignore=sema-unused-def-lambda-noarg-formal"
"--ignore=sema-unused-def-lambda-witharg-arg"
"--ignore=sema-unused-def-lambda-witharg-formal"
"--ignore=sema-unused-def-let"
# Keep this rule, because we have `lib.or`.
"--ignore=or-identifier"
# TODO: remove after outstanding prelude diagnostics issues are fixed:
# https://github.com/nix-community/nixd/issues/761
# https://github.com/nix-community/nixd/issues/762
"--ignore=sema-primop-removed-prefix"
"--ignore=sema-primop-overridden"
"--ignore=sema-constant-overridden"
"--ignore=sema-primop-unknown"
];
# Ensure nixfmt cleans up after nixf-diagnose.
priority = -1;
};
# This uses nixfmt underneath, the default formatter for Nix code.
# See https://github.com/NixOS/nixfmt
nixfmt = {
command = lib.getExe pkgs.nixfmt;
includes = [ "*.nix" ];
};
yamlfmt = {
command = lib.getExe pkgs.yamlfmt;
excludes = [
# Aligns comments with whitespace
"pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml"
# TODO: Fix formatting for auto-generated file
"pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml"
];
includes = [
"*.yaml"
"*.yml"
];
options = [
"-formatter"
"retain_line_breaks=true"
];
};
zizmor = {
command = lib.getExe pkgs.zizmor;
includes = [
".github/workflows/*.yml"
".github/workflows/*.yaml"
".github/actions/**/*.yml"
".github/actions/**/*.yaml"
];
};
# keep-sorted end
};
};
}

View file

@ -567,7 +567,6 @@ with lib.maintainers;
ethancedwards8
phanirithvij
prince213
wegank
];
scope = "Maintain NGI-supported software.";
shortName = "NGI";

View file

@ -17,6 +17,8 @@ in
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ pkgs.sniffnet ];
security.wrappers.sniffnet = {
owner = "root";
group = "root";

View file

@ -113,6 +113,7 @@ in
"AF_INET"
"AF_INET6"
"AF_NETLINK"
"AF_UNIX"
];
RestrictNamespaces = true;
RestrictRealtime = true;

View file

@ -1,7 +1,7 @@
{
symlinkJoin,
writeTextFile,
runCommand,
runCommandLocal,
testers,
}:
@ -31,7 +31,7 @@ let
text = "qux";
};
emulatedSymlinkJoinFooBarStrip = runCommand "symlinkJoin-strip-foo-bar" { } ''
emulatedSymlinkJoinFooBarStrip = runCommandLocal "symlinkJoin-strip-foo-bar" { } ''
mkdir $out
ln -s ${foo}/etc/test.d/foo $out/
ln -s ${bar}/etc/test.d/bar $out/
@ -48,7 +48,7 @@ in
baz
];
};
expected = runCommand "symlinkJoin-foo-bar-baz" { } ''
expected = runCommandLocal "symlinkJoin-foo-bar-baz" { } ''
mkdir -p $out/{var/lib/arbitrary,etc/test.d}
ln -s {${foo},${bar}}/etc/test.d/* $out/etc/test.d
ln -s ${baz}/var/lib/arbitrary/baz $out/var/lib/arbitrary/
@ -66,7 +66,7 @@ in
baz
];
};
expected = runCommand "symlinkJoin-foo-bar-baz" { } ''
expected = runCommandLocal "symlinkJoin-foo-bar-baz" { } ''
mkdir -p $out/{var/lib/arbitrary,etc/test.d}
ln -s {${foo},${bar}}/etc/test.d/* $out/etc/test.d
ln -s ${baz}/var/lib/arbitrary/baz $out/var/lib/arbitrary/
@ -115,7 +115,7 @@ in
};
symlinkJoin-fails-on-missing =
runCommand "symlinkJoin-fails-on-missing"
runCommandLocal "symlinkJoin-fails-on-missing"
{
failed = testBuildFailure (symlinkJoin {
name = "symlinkJoin-fail";
@ -134,7 +134,7 @@ in
'';
symlinkJoin-fails-on-file =
runCommand "symlinkJoin-fails-on-file"
runCommandLocal "symlinkJoin-fails-on-file"
{
failed = testBuildFailure (symlinkJoin {
name = "symlinkJoin-fail";

View file

@ -232,6 +232,7 @@ python.pkgs.buildPythonApplication rec {
mono
ocaml
odt2txt
oggvideotools
openssh
pdftk
perl
@ -255,8 +256,6 @@ python.pkgs.buildPythonApplication rec {
r2pipe
# docx2txt, nixpkgs packages another project named the same, which does not work
])
# oggvideotools is broken on Darwin, please put it back when it will be fixed?
++ lib.optionals stdenv.hostPlatform.isLinux [ oggvideotools ]
# Causes an eval failure
# See https://github.com/NixOS/nixpkgs/issues/463873
++ lib.optionals (!stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch64) [
@ -273,6 +272,20 @@ python.pkgs.buildPythonApplication rec {
"-vv"
];
preCheck = lib.optionalString (enableBloat && stdenv.hostPlatform.isDarwin) ''
# h5dump is in hdf5's bin output, but its dylibs are in the out output.
export DYLD_LIBRARY_PATH="${lib.makeLibraryPath [ hdf5 ]}''${DYLD_LIBRARY_PATH:+:''${DYLD_LIBRARY_PATH}}"
'';
makeWrapperArgs = lib.optionals enableBloat (
[
"--prefix PATH : ${lib.makeBinPath [ hdf5 ]}"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
"--prefix DYLD_LIBRARY_PATH : ${lib.makeLibraryPath [ hdf5 ]}"
]
);
postInstall = ''
make -C doc
installManPage doc/diffoscope.1

View file

@ -23,6 +23,11 @@
wrapGAppsHook3,
yelp-tools,
gitUpdater,
gnome,
libavif,
libheif,
libjxl,
webp-pixbuf-loader,
}:
stdenv.mkDerivation (finalAttrs: {
@ -64,6 +69,21 @@ stdenv.mkDerivation (finalAttrs: {
enableParallelBuilding = true;
postInstall = ''
# In postInstall to run before gappsWrapperArgsHook.
export GDK_PIXBUF_MODULE_FILE="${
gnome._gdkPixbufCacheBuilder_DO_NOT_USE {
extraLoaders = [
libavif
libheif.lib
libjxl
librsvg
webp-pixbuf-loader
];
}
}"
'';
passthru.updateScript = gitUpdater {
odd-unstable = true;
rev-prefix = "v";

View file

@ -19,14 +19,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "faugus-launcher";
version = "1.20.4";
version = "1.22.4";
pyproject = false;
src = fetchFromGitHub {
owner = "Faugus";
repo = "faugus-launcher";
tag = finalAttrs.version;
hash = "sha256-Kt6ZZ5yivbRzlgV+ovWiZVolxjmquAifJ/0lk1oL4fA=";
hash = "sha256-Npfoqa6A1YSNSxV3zcIQL6prlht47dVaZYpq9+Dx9LY=";
};
nativeBuildInputs = [
@ -53,15 +53,10 @@ python3Packages.buildPythonApplication (finalAttrs: {
substituteInPlace faugus-launcher \
--replace-fail "/usr/bin/python3" "${python3Packages.python.interpreter}"
substituteInPlace faugus/launcher.py \
--replace-fail "PathManager.user_data('faugus-launcher/umu-run')" "'${lib.getExe umu-launcher}'" \
--replace-fail "/usr/lib/extensions/vulkan/lsfgvk/lib/liblsfg-vk.so" "${lsfg-vk}/lib/liblsfg-vk.so" \
--replace-fail "/usr/lib/liblsfg-vk.so" "${lsfg-vk}/lib/liblsfg-vk.so"
substituteInPlace faugus/runner.py \
substituteInPlace faugus/path_manager.py \
--replace-fail "PathManager.user_data('faugus-launcher/umu-run')" "'${lib.getExe umu-launcher}'"
substituteInPlace faugus/shortcut.py \
substituteInPlace faugus/launcher.py faugus/shortcut.py \
--replace-fail "/usr/lib/extensions/vulkan/lsfgvk/lib/liblsfg-vk.so" "${lsfg-vk}/lib/liblsfg-vk.so" \
--replace-fail "/usr/lib/liblsfg-vk.so" "${lsfg-vk}/lib/liblsfg-vk.so"
'';

View file

@ -8,13 +8,13 @@
buildGoModule (finalAttrs: {
pname = "golds";
version = "0.8.3";
version = "0.8.4";
src = fetchFromGitHub {
owner = "go101";
repo = "golds";
tag = "v${finalAttrs.version}";
hash = "sha256-s4vzQ+ntty1XLe65sEBxxN+Amp162k40LmJ7AT2/26U=";
hash = "sha256-Jt0Q6Ie1HSqRs4+zlmNOXlSMXfWu0nSIOjglduq4FUE=";
};
# nixpkgs is not using the go distpack archive and missing a VERSION file in the source

View file

@ -6,19 +6,19 @@
buildGoModule (finalAttrs: {
pname = "grafana-image-renderer";
version = "5.7.3";
version = "5.8.11";
src = fetchFromGitHub {
owner = "grafana";
repo = "grafana-image-renderer";
tag = "v${finalAttrs.version}";
hash = "sha256-CrJkBx2BMGlFtqXR174A5CVTH2GIZHTVxxwJjCi68pg=";
hash = "sha256-qNi268XHyKQ2kvT24ovhzUEREaYMXWlGHfcuyRHjRYQ=";
};
vendorHash = "sha256-3nd0m0PltTiJX5e1tbQ7LSgUmDRXC8nRktOVAIgHOCU=";
vendorHash = "sha256-QiseTdsFOBg3aDYpdmLHfXL9eFll6iJo4wSKwXvdGnM=";
postPatch = ''
substituteInPlace go.mod --replace-fail 'go 1.26.1' 'go 1.25.7'
substituteInPlace go.mod --replace-fail 'go 1.26.4' 'go 1.26.3'
'';
subPackages = [ "." ];

View file

@ -11,16 +11,16 @@
# it's updated.
buildGo126Module (finalAttrs: {
pname = "gtree";
version = "1.13.6";
version = "1.14.2";
src = fetchFromGitHub {
owner = "ddddddO";
repo = "gtree";
tag = "v${finalAttrs.version}";
hash = "sha256-E3Nri8kFMh6NYp29vFFNAlJxdfOvLR1inbD+KALXZms=";
hash = "sha256-LMVXC22fTrPt4S5HkErMrpZwwanN5blY/TPUE8bg95s=";
};
vendorHash = "sha256-Pkc2UV/77YdKm5ZWKCSKE0dljUzC5dw1f08T+3MvFTE=";
vendorHash = "sha256-Vd5VKKl79Qu5R7jOYS1CTtQuAis9vWUbpBWnEI7sgpk=";
subPackages = [
"cmd/gtree"

File diff suppressed because it is too large Load diff

View file

@ -7,16 +7,16 @@
buildNpmPackage (finalAttrs: {
pname = "meshcentral";
version = "1.1.59";
version = "1.2.0";
src = fetchFromGitHub {
owner = "Ylianst";
repo = "MeshCentral";
tag = finalAttrs.version;
hash = "sha256-qfiIofwFOXHzxnqyJyXCgwMqBhONjBiU/5YLOE7u4n8=";
hash = "sha256-a+vqNjmKP866O2t+UsedpgYtWFbjeoYNtuCziAa436A=";
};
npmDepsHash = "sha256-UYPx3OIeT1HUgyjY743F/DTwsfIRTlsQLJxK99LbA/k=";
npmDepsHash = "sha256-ZnSpqw4pn6OI8Gh9qLseTLH24jtj1zPGfHiMlUX+l/s=";
# Using the npmDeps with a newer nodejs causes `npm ci` errors, also upstream
# states they stick to the LTS version of nodejs:
# https://meshcentral.com/docs/MeshCentral2InstallGuide.pdf

View file

@ -12,14 +12,14 @@
let
pname = "mochi";
version = "1.21.14";
version = "1.21.16";
linux = appimageTools.wrapType2 rec {
inherit pname version meta;
src = fetchurl {
url = "https://download.mochi.cards/releases/Mochi-${version}.AppImage";
hash = "sha256-+iMT8xofQB2m1V4rNZHR6loRfxNGgcptD3FPlFXC5Mw=";
hash = "sha256-LWwv/+2/djc2bdqhnJiG5etXg+MFaEZbpttewVBZdeg=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };
@ -44,9 +44,9 @@ let
url = "https://download.mochi.cards/releases/Mochi-${version}${lib.optionalString stdenv.hostPlatform.isAarch64 "-arm64"}.dmg";
hash =
if stdenv.hostPlatform.isAarch64 then
"sha256-/ML5jWTBVLzitZDaBoU6sVJ0iNmq0jjMIV33yLnX1io="
"sha256-dtdQZYGrukT/UgfNdsnGxOYmpuebJCDHXW8cAGN2GZE="
else
"sha256-vldyC/VkHf+BofpKvOxzCTM8F77k2aX9CxFP+frKvKc=";
"sha256-FdNFpuIOMgRzniB9Aze3GUpNY27h++StTdwqfF1k07I=";
};
sourceRoot = ".";

View file

@ -3,6 +3,8 @@
stdenv,
fetchurl,
fetchpatch,
fetchDebianPatch,
libresample,
cmake,
pkg-config,
boost,
@ -22,29 +24,71 @@ stdenv.mkDerivation (finalAttrs: {
};
patches = [
# Fix pending upstream inclusion for missing includes:
# https://sourceforge.net/p/oggvideotools/bugs/12/
(fetchpatch {
name = "gcc-10.patch";
url = "https://sourceforge.net/p/oggvideotools/bugs/12/attachment/fix-compile.patch";
hash = "sha256-mJttoC3jCLM3vmPhlyqh+W0ryp2RjJGIBXd6sJfLJA4=";
# Avoid crashing in oggjoin on bogus input
(fetchDebianPatch {
inherit (finalAttrs) pname version;
debianRevision = "7";
patch = "mayhem-crash-oggjoin.patch";
hash = "sha256-0D22P+Qdf9Sfp6vptSnL4E33NVUL/XL72gNE36BF6QI=";
})
# Fix pending upstream inclusion for build failure on gcc-12:
# https://sourceforge.net/p/oggvideotools/bugs/13/
# Fix typos in manpages
(fetchDebianPatch {
inherit (finalAttrs) pname version;
debianRevision = "7";
patch = "manual-typos.patch";
hash = "sha256-yGzHGEADlSRnWZIN8x6xfg9ChAn8WKFQgZAJmbKtKq8=";
})
# Avoid crash on unknown command-line arguments
(fetchDebianPatch {
inherit (finalAttrs) pname version;
debianRevision = "7";
patch = "oggThumb-zero-getopt-long.patch";
hash = "sha256-LBgmpyyxmeAFE3zpeHRryuxboMBdBztUEGxbs0Ay+HU=";
})
# Prevent uninitialized read
(fetchDebianPatch {
inherit (finalAttrs) pname version;
debianRevision = "7";
patch = "init-for-valgrind.patch";
hash = "sha256-7BtdAGHHW860hFZYlRWDVfEw6CDkb18HfFROZHl+guY=";
})
# Fix compilation due to missing include
(fetchDebianPatch {
inherit (finalAttrs) pname version;
debianRevision = "7";
patch = "import-cstring.patch";
hash = "sha256-KMs4nyILveKY+ZmcSONmtS5+sAPPB+ypNUi9yzxBsXQ=";
})
# Fix out-of-bounds read
(fetchpatch {
name = "gcc-12.patch";
url = "https://sourceforge.net/p/oggvideotools/bugs/13/attachment/fix-gcc-12.patch";
hash = "sha256-zuDXe86djWkR8SgYZHkuAJJ7Lf2VYsVRBrlEaODtMKE=";
# svn patch, rely on prefix added by fetchpatch:
extraPrefix = "";
url = "https://salsa.debian.org/multimedia-team/oggvideotools/-/raw/ed006e5d78f9509508dbc72277de8ab3c06d2362/debian/patches/1010-kate-header-buffer-read-past-end.patch";
hash = "sha256-CEkNG9tHZIggCvKRPj2pKI855pVWQUdudLfpda/ZVME=";
})
# Fix null pointer crash (CVE-2020-21723)
(fetchpatch {
url = "https://salsa.debian.org/multimedia-team/oggvideotools/-/raw/122047a7cf644e282906370f277ae83b4672e5e4/debian/patches/1020-CVE-2020-21723-null-pointer-crash.patch";
hash = "sha256-dUkMfEaB5Hn9I5+QbE/002X6ij+xIzzqjc8QTom1ITk=";
})
# Unbundle libresample
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/oggvideotools/raw/23f918f39278d87adb5a5ab2e57d5cc1816e1e8a/f/0005-unbundle-libresample.patch";
hash = "sha256-JSuH8ScYBi6zAgEhrFdPOGCSXzDk+lEnSHX9wuctAsg=";
})
# Fix buffer overflow (CVE-2020-21724)
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/oggvideotools/raw/2dd078ea81773a34cc0c4817ebbf3c4038b8098c/f/stream-serializer.diff";
hash = "sha256-3HkAuCBaNjKoTN8Q3oW89e3zXo13Ev5g7VJ/RPO3zRA=";
})
];
postPatch = ''
# Don't disable optimisations
substituteInPlace CMakeLists.txt --replace " -O0 " ""
'';
substituteInPlace CMakeLists.txt --replace-fail " -O0 " ""
''
# Fix "src/effect/pictureBlend.cpp:28:11: error: no matching conversion for functional-style cast from 'const char[39]' to 'OggException'"
+ (lib.optionalString stdenv.hostPlatform.isDarwin ''
sed -i '1i #include <string>' src/effect/pictureBlend.cpp
'');
nativeBuildInputs = [
cmake
@ -55,6 +99,7 @@ stdenv.mkDerivation (finalAttrs: {
boost
gd
libogg
libresample
libtheora
libvorbis
];
@ -69,9 +114,5 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://sourceforge.net/projects/oggvideotools/";
license = lib.licenses.gpl2Only;
maintainers = [ ];
# Compilation error on Darwin:
# error: invalid argument '--std=c++0x' not allowed with 'C'
# make[2]: *** [src/libresample/CMakeFiles/resample.dir/build.make:76: src/libresample/CMakeFiles/resample.dir/filterkit.c.o] Error 1
broken = stdenv.hostPlatform.isDarwin;
};
})

View file

@ -1,40 +1,62 @@
{
buildGoModule,
lib,
buildGoModule,
fetchFromGitHub,
udev,
nix-update-script,
versionCheckHook,
pkg-config,
pipewire,
udev,
usbutils,
}:
buildGoModule rec {
buildGoModule (finalAttrs: {
pname = "openlinkhub";
version = "0.7.5";
version = "0.8.4";
src = fetchFromGitHub {
owner = "jurkovic-nikola";
repo = "OpenLinkHub";
tag = version;
hash = "sha256-Jq31ZcJtl0ZmjNsMOiTTt2eZIIYn2DRVPE4Q5FTx6OM=";
tag = finalAttrs.version;
hash = "sha256-yxLRwYsBvwpPVeQWx8R9bfbtdkGu2qUsDiyoijcTD2g=";
};
proxyVendor = true;
vendorHash = "sha256-/itomxsbTDT7ML52bpUfDZIBZ/Rh/zx4Blg+PP7m7gE=";
vendorHash = "sha256-xpIaQzl2jrWRIUe/1woODKLlwxQrdlCLkIk0qmWs7m0=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [
pipewire
udev
usbutils
];
env.CGO_CFLAGS_ALLOW = "-fno-strict-overflow";
installPhase = ''
runHook preInstall
install -Dm 644 -t $out/etc/udev/rules.d 99-openlinkhub.rules
install -Dm 755 -t $out/bin $GOPATH/bin/OpenLinkHub
mkdir -p $out/opt/OpenLinkHub
cp -r {database,static,web} $out/opt/OpenLinkHub
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://github.com/jurkovic-nikola/OpenLinkHub";
platforms = lib.platforms.linux;
description = "Open source interface for iCUE LINK Hub and other Corsair AIOs, Hubs for Linux";
maintainers = with lib.maintainers; [ bot-wxt1221 ];
license = lib.licenses.gpl3Only;
changelog = "https://github.com/jurkovic-nikola/OpenLinkHub/releases/tag/${finalAttrs.version}";
mainProgram = "OpenLinkHub";
changelog = "https://github.com/jurkovic-nikola/OpenLinkHub/releases/tag/${version}";
license = lib.licenses.gpl3Only;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [
bot-wxt1221
mikaeladev
];
};
}
})

View file

@ -10,23 +10,23 @@
let
pname = "osu-lazer-bin";
version = "2026.518.0";
version = "2026.620.0";
src =
{
aarch64-darwin = fetchzip {
url = "https://github.com/ppy/osu/releases/download/${version}-lazer/osu.app.Apple.Silicon.zip";
hash = "sha256-T/uoriXCXfK+HnLqMZ3xQ79qmlT5rVaoeEi5Wgu1Oc4=";
hash = "sha256-SHqi+RFMwYkChmCc0i1X/bmMajVSLaWuNCx9+cDkg7E=";
stripRoot = false;
};
x86_64-darwin = fetchzip {
url = "https://github.com/ppy/osu/releases/download/${version}-lazer/osu.app.Intel.zip";
hash = "sha256-G/l2WSgl7GcIMHmb86K4qzryMirebe5dmnMrsSlYNfY=";
hash = "sha256-WXMyeoTixCNPin+hIK+1v2bX26MWnsQ7ZQGwJQ7jbyc=";
stripRoot = false;
};
x86_64-linux = fetchurl {
url = "https://github.com/ppy/osu/releases/download/${version}-lazer/osu.AppImage";
hash = "sha256-4LLNjrKEBS77LIbq+O6Xpxj6CvufGDApNqs61HN2JmA=";
hash = "sha256-rLom/UwqVOXUk/ayLvekRQMD49p5MB9BA6RCohtuPfg=";
};
}
.${stdenvNoCC.system} or (throw "osu-lazer-bin: ${stdenvNoCC.system} is unsupported.");

View file

@ -306,73 +306,73 @@
},
{
"pname": "MessagePack",
"version": "3.1.4",
"hash": "sha256-oju/hX+vwZFqSa9ORSa58ToM3cE7fF8x34i2oNLGNVo="
"version": "3.1.7",
"hash": "sha256-py3XIEui3oKewH1Mqs9LfC+2KU3QgfiAH5BF3kB34FI="
},
{
"pname": "MessagePack.Annotations",
"version": "3.1.4",
"hash": "sha256-YZGKa20siabb4VIQri5dMuFwnDxX19Htf51nGrIPx28="
"version": "3.1.7",
"hash": "sha256-9J/VyKzBsEkxVoQ4JAwKVf76qeBOSYHXbq/9Ld8mzNw="
},
{
"pname": "MessagePackAnalyzer",
"version": "3.1.4",
"hash": "sha256-qc+mzydfbZ/0O4j7pPDjp+x8aQ4KYqMeCDRIPhb1oe8="
"version": "3.1.7",
"hash": "sha256-JWbvORWWLK3bcGPPYGrgYCFlAoT2GRkvxEuaLwPw9O4="
},
{
"pname": "Microsoft.AspNetCore.Connections.Abstractions",
"version": "10.0.5",
"hash": "sha256-ciMnBkc2qy6/I3qhYspbf/OHQGUBPaxHvA0+y1xCJYE="
"version": "10.0.9",
"hash": "sha256-HJCo8Awo3HV11ybVilXgPpTSDlbyDoC82CZgRcaL5F0="
},
{
"pname": "Microsoft.AspNetCore.Http.Connections.Client",
"version": "10.0.5",
"hash": "sha256-gX/cRqxkee+v4RD0w17OdshRH0iVxx1zCyl7/G79WQs="
"version": "10.0.9",
"hash": "sha256-XHRobssPKBWW5yXnZz4MCqRGes2woFGErmDSGyGYguc="
},
{
"pname": "Microsoft.AspNetCore.Http.Connections.Common",
"version": "10.0.5",
"hash": "sha256-pM90k96qeIWJHCn9LBTHQ6ODvrRdn0GShbiH/I/RYk8="
"version": "10.0.9",
"hash": "sha256-RQUuuzrCAckTG12w4pSanj2skwVa9uUiYzUTIJoTXyM="
},
{
"pname": "Microsoft.AspNetCore.SignalR.Client",
"version": "10.0.5",
"hash": "sha256-avbFNCuSi4xFK8QHhQ2Bz3UfRqaEpbbl1x+LhqQvKv4="
"version": "10.0.9",
"hash": "sha256-6q1J47w83YmG/rHlfuqVWf90GhdwRm1AdtVN8WOoVcY="
},
{
"pname": "Microsoft.AspNetCore.SignalR.Client.Core",
"version": "10.0.5",
"hash": "sha256-0kLjqwX7lvdDU2gjTAbHtS5KVA5uA9qeE8kh8zxDq1k="
"version": "10.0.9",
"hash": "sha256-zzV5Po6eXf3jgWXnSkn6zQLuqGTmEf5rIsh1+Zou0/k="
},
{
"pname": "Microsoft.AspNetCore.SignalR.Common",
"version": "10.0.5",
"hash": "sha256-oVs3VUtFd8zRls5nHpX/y6SJiVcI7x+rD6xw3kJrl5M="
"version": "10.0.9",
"hash": "sha256-B4bEaTOTJOMKNtcw+yxKqZZqQ8NS2NMa7wf8sVATcPw="
},
{
"pname": "Microsoft.AspNetCore.SignalR.Protocols.Json",
"version": "10.0.5",
"hash": "sha256-m3zjs4Pc9NERMkXnPaegB2ZMuLHcRRqtjmD83CXQ13g="
"version": "10.0.9",
"hash": "sha256-lMpbw7f4Im8BxD57s3s+mii5svedLbEifXGkUXrNe74="
},
{
"pname": "Microsoft.AspNetCore.SignalR.Protocols.MessagePack",
"version": "10.0.5",
"hash": "sha256-9fiZVKUrsx+X9YU3l+RmUbtHucVSy32/vPwH3HDc0PU="
"version": "10.0.9",
"hash": "sha256-AfeFVE0qIi+8H5Sl+T/GnRV5nOw019g+Y6CW0EgJ0h0="
},
{
"pname": "Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson",
"version": "10.0.5",
"hash": "sha256-pWyollxtDu+Cz/82c6THEJWTuti+fWcvygMbiPKvP8Q="
"version": "10.0.9",
"hash": "sha256-fX+3drOpOxdYVd2fNVG31/MhLCziPScTe57TpzCX25A="
},
{
"pname": "Microsoft.Bcl.AsyncInterfaces",
"version": "10.0.5",
"hash": "sha256-HLhS6ysB8lh2TRtFn1EiE2MOjd3og1uniEFFVaz96UU="
"version": "10.0.9",
"hash": "sha256-grzyENbFc7Ct0dgmUgSn1Tr3ndM1fdlQGiSBLzYtC9c="
},
{
"pname": "Microsoft.Bcl.TimeProvider",
"version": "10.0.5",
"hash": "sha256-kkfOuLkIDFosDpC/ro4Pfh7fEHUyNwkx7GLZEftUn0Y="
"version": "10.0.9",
"hash": "sha256-ZU53Uxx7+a4ECqkzdkP6HpHLVbJbvAN8p3iTI9tcFsA="
},
{
"pname": "Microsoft.CodeAnalysis.BannedApiAnalyzers",
@ -386,8 +386,8 @@
},
{
"pname": "Microsoft.Data.Sqlite.Core",
"version": "10.0.5",
"hash": "sha256-A69tzaD9RjkxdHPj3Jm1WizdBM9QfLQyHuhs9TGrwqA="
"version": "10.0.9",
"hash": "sha256-qecYi4Zv3k1rMG66B5NUGv0GfUZwJ/CuFOZx/McApYk="
},
{
"pname": "Microsoft.Diagnostics.NETCore.Client",
@ -401,8 +401,8 @@
},
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
"version": "10.0.5",
"hash": "sha256-DNK+lL2jeHFYyd43zfgVY32UskEfQ4YsTapztuQbYwo="
"version": "10.0.9",
"hash": "sha256-pliaksEAQdxyPURUVSlXpfF3LzJB93zHaeEDsaF5QJE="
},
{
"pname": "Microsoft.Extensions.DependencyInjection",
@ -411,8 +411,8 @@
},
{
"pname": "Microsoft.Extensions.DependencyInjection",
"version": "10.0.5",
"hash": "sha256-ofDRirUV9XLSz4oksCqErwBJFtAieHACFfyZukHKFng="
"version": "10.0.9",
"hash": "sha256-YIqgDknwTq48X88Imdrfav3tmQ6tZwIOYsLt6dT40M8="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
@ -421,8 +421,8 @@
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "10.0.5",
"hash": "sha256-KrP+hE3gk7pATbJYZsJ1LHiXjzLA+ntHW7G/VGgHk2g="
"version": "10.0.9",
"hash": "sha256-YzQpGAsrjLU18s016LmM7DMJKml0MzKl1bPPYJ/erEk="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
@ -431,18 +431,18 @@
},
{
"pname": "Microsoft.Extensions.Features",
"version": "10.0.5",
"hash": "sha256-OazAQa1XfjiLGxEbmovB8UeXYHXpdxlA/58qFQmBFl8="
"version": "10.0.9",
"hash": "sha256-WjjD+W+IyQKy0/WWcAHmr+Ob3VQ3yKRnTf2qDQIxcsg="
},
{
"pname": "Microsoft.Extensions.Logging",
"version": "10.0.5",
"hash": "sha256-4gVrKZfo/YHZKgKNsgGZZYqa79XWK9wDUuiVfguUV6U="
"version": "10.0.9",
"hash": "sha256-644xYxPB+PtwGUTAKJV9wByXHWFkR5Ol0p08wFQwMm4="
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
"version": "10.0.5",
"hash": "sha256-e3A/l+II+n+D7/OPwjdyQM1IBtKHfHeIdlkJmuRw77w="
"version": "10.0.9",
"hash": "sha256-su2q/OZuG7nB3wnUTVcimy3oHSdetFh4hhmjI3f/ym8="
},
{
"pname": "Microsoft.Extensions.ObjectPool",
@ -451,8 +451,8 @@
},
{
"pname": "Microsoft.Extensions.Options",
"version": "10.0.5",
"hash": "sha256-nw+m6VWXjmaBqZ1aH/l9SR9Oy62N9dmiMKloJ78kxv8="
"version": "10.0.9",
"hash": "sha256-/fc1g1SDJI81nOZRS7W4LZIAC0ssmasqaWhgJK+9rRs="
},
{
"pname": "Microsoft.Extensions.Options",
@ -461,8 +461,8 @@
},
{
"pname": "Microsoft.Extensions.Primitives",
"version": "10.0.5",
"hash": "sha256-uvrur+0dg4zAAQcpLkkhPA77ST0tA3+EpGdDlCckC+E="
"version": "10.0.9",
"hash": "sha256-WEPtmlEexm6QSFR4ITlBHuUD5/bqMfecOxFe5hkbAPU="
},
{
"pname": "Microsoft.Extensions.Primitives",
@ -581,8 +581,8 @@
},
{
"pname": "ppy.LocalisationAnalyser",
"version": "2025.1208.0",
"hash": "sha256-klogAaNxpEVJKd1NcySgTUwv5WwrvaUXBRypj5wKX5Y="
"version": "2026.611.0",
"hash": "sha256-qcqIMQum8hCgZrvwbP5KjwJTLUyRwogTXhNFrhDP2+4="
},
{
"pname": "ppy.LocalisationAnalyser.Tools",
@ -616,8 +616,8 @@
},
{
"pname": "ppy.osu.Framework",
"version": "2026.513.0",
"hash": "sha256-9mrCn7mBxDYUAhD4cJSDRanPD1fghDlmJEu3rqExJbY="
"version": "2026.616.0",
"hash": "sha256-Q9pyMPIpyiAp63VYiWEM8Zbiek0aXdsNBZY2ECaaZ/U="
},
{
"pname": "ppy.osu.Framework.NativeLibs",
@ -631,8 +631,8 @@
},
{
"pname": "ppy.osu.Game.Resources",
"version": "2026.516.0",
"hash": "sha256-jMm4uJBhaqfi8QKayMWlN4IDn8mR+gtHDGRZgzbYFtI="
"version": "2026.523.0",
"hash": "sha256-BLSFNtPU9d+Qv/sGY6d1c7rnKyJkKu66zRZGsw1oS4M="
},
{
"pname": "ppy.osuTK.NS20",
@ -646,8 +646,8 @@
},
{
"pname": "ppy.SDL3-CS",
"version": "2026.512.0",
"hash": "sha256-JWa1njiqY0Cz1bME5uQ4jSxfY9VCThNcmMttMXKGH5Y="
"version": "2026.520.0",
"hash": "sha256-Owz9gClqs1Dnb+EHk4Xpl/tdbXSOwqrL67tTatj+HRU="
},
{
"pname": "ppy.Veldrid",
@ -951,13 +951,13 @@
},
{
"pname": "Sentry",
"version": "6.2.0",
"hash": "sha256-mGCqvgqXvCxXZcreXHDzyZqSnIkHFSwNWGaPzX5AQFY="
"version": "6.6.0",
"hash": "sha256-IDDBHUcJkxliwRtn+xjh6Dy4vpmfvyBdXF1VMeUh2pw="
},
{
"pname": "SharpCompress",
"version": "0.48.0",
"hash": "sha256-2MXainbTJeuBwRA6eJU+AlUT8ireNrWxHYNCMkFG8Lc="
"version": "0.49.1",
"hash": "sha256-o2IpO605TKJ2mJLKnxWBHtCFnFJPnRj6zMQJBCGgNGw="
},
{
"pname": "SharpFNT",
@ -981,18 +981,18 @@
},
{
"pname": "SourceGear.sqlite3",
"version": "3.50.4.2",
"hash": "sha256-NsahZ3lW1JYXMq4NOH5nM/EhdjV05sbrhjsGNIinb+M="
"version": "3.50.4.5",
"hash": "sha256-yPOyLiK4QoTfE3IED0hFl1JJYjmt8RBB3fp1a1CwvqE="
},
{
"pname": "SQLitePCLRaw.bundle_e_sqlite3",
"version": "3.0.2",
"hash": "sha256-l3LqZUP4iVNyMJuBxr1VYDJr28VqoCPUPmXX6JC2ldU="
"version": "3.0.3",
"hash": "sha256-TPRW+2PX4EPVC79or+ZxxD1cJtzf1CRckvEuGq2rY0o="
},
{
"pname": "SQLitePCLRaw.config.e_sqlite3",
"version": "3.0.2",
"hash": "sha256-Q8wi2rEqnE1n53DZ1wnaM8Dr5h/Bic1/EiytK3XQzrU="
"version": "3.0.3",
"hash": "sha256-Hwzxtx+/KLkZNWSs1btOMJMkgt23P0p98t7hUhbKShw="
},
{
"pname": "SQLitePCLRaw.core",
@ -1001,13 +1001,13 @@
},
{
"pname": "SQLitePCLRaw.core",
"version": "3.0.2",
"hash": "sha256-AK1Yc78ykY3H0Jq1INq3O1x278CtcWH7dF9heKhWvno="
"version": "3.0.3",
"hash": "sha256-MLuN7KzfhWyVX3i4pi55KQp9J8JR83sCCveeUusDKqw="
},
{
"pname": "SQLitePCLRaw.provider.e_sqlite3",
"version": "3.0.2",
"hash": "sha256-LOD39Pqx58tMjP4uc4j8BvzhnsIRFocX9e5a8I1ZgPg="
"version": "3.0.3",
"hash": "sha256-brVPu6YEBbKtfKrf5PV8sDZZsmlZFgL5Kse6FP01uF0="
},
{
"pname": "StbiSharp",
@ -1071,8 +1071,8 @@
},
{
"pname": "System.Diagnostics.DiagnosticSource",
"version": "10.0.5",
"hash": "sha256-yVXEbpbQRF+B4oYUJEWUgMUmOvZTFZzK3CWrr9pynVY="
"version": "10.0.9",
"hash": "sha256-atVKtt+sHv0bAcJwchFYYT5PO/dcDnaeidrN42GqgSg="
},
{
"pname": "System.Diagnostics.DiagnosticSource",
@ -1146,13 +1146,13 @@
},
{
"pname": "System.IO.Packaging",
"version": "10.0.5",
"hash": "sha256-nR3shhnchCqZq//ypgn+/l2QDiiSbNKpSswqZ43rxoM="
"version": "10.0.9",
"hash": "sha256-uVRTp58+SM5CsYG3ya4i6v7kJ2jpSao9YkOgmU5FCk0="
},
{
"pname": "System.IO.Pipelines",
"version": "10.0.5",
"hash": "sha256-zV+G9x2d3ugEaq7ClmZbMhQe0901hxj0WtleEEglpcE="
"version": "10.0.9",
"hash": "sha256-mOoa73lPXvGGA56igef9alNU/nc+nQEOHPJu44dHepc="
},
{
"pname": "System.Linq",
@ -1194,11 +1194,6 @@
"version": "4.5.5",
"hash": "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="
},
{
"pname": "System.Memory",
"version": "4.6.3",
"hash": "sha256-JgeK63WMmumF6L+FH5cwJgYdpqXrSDcgTQwtIgTHKVU="
},
{
"pname": "System.Net.Http",
"version": "4.3.0",
@ -1221,8 +1216,8 @@
},
{
"pname": "System.Net.ServerSentEvents",
"version": "10.0.5",
"hash": "sha256-kIFzD6o58dtrWohy2lZFAkPPJvTwAcKVDBGryke5mtM="
"version": "10.0.9",
"hash": "sha256-wwBwbcl48xHSvZ5UBMRVMlPTVuwe64pV9kZgB1QlRXI="
},
{
"pname": "System.Net.Sockets",
@ -1486,13 +1481,13 @@
},
{
"pname": "System.Text.Encodings.Web",
"version": "10.0.5",
"hash": "sha256-8dXorb9rjnaqD8EpGlyHkvKrwgcxZblQdzeLYDdk6lw="
"version": "10.0.9",
"hash": "sha256-YBpgyDvUYB44J84TtkIJkDh4c42grtn9fmxgV073FxQ="
},
{
"pname": "System.Text.Json",
"version": "10.0.5",
"hash": "sha256-Phy+3UAOvqk8U0yeCSpr4n6H7JjKMTHdrHlV2bZfiUU="
"version": "10.0.9",
"hash": "sha256-7LNfBJ5Q/yxOuFa6d0mEIBNJEfO/UN5J13qbIFIo/5A="
},
{
"pname": "System.Text.RegularExpressions",
@ -1511,8 +1506,8 @@
},
{
"pname": "System.Threading.Channels",
"version": "10.0.5",
"hash": "sha256-mk27zxVvlbgOSOsKl0NqV6aHbdyJkMMM8CGh5MZdTqI="
"version": "10.0.9",
"hash": "sha256-S5yngTQadsNpAO/BMISwF1metuXXzq0A6vUUR4nqaZ0="
},
{
"pname": "System.Threading.Channels",

View file

@ -22,13 +22,13 @@
buildDotnetModule rec {
pname = "osu-lazer";
version = "2026.518.0";
version = "2026.620.0";
src = fetchFromGitHub {
owner = "ppy";
repo = "osu";
tag = "${version}-lazer";
hash = "sha256-ELtK5itKM7QIdVWzy3bHurp76AJvXA1a15OkYJgFcvU=";
hash = "sha256-I2cziF/XRZhMRZCyjoec7G03IxldDMNQ//A7CmFW6/Y=";
};
projectFile = "osu.Desktop/osu.Desktop.csproj";

View file

@ -240,7 +240,7 @@ stdenv.mkDerivation (finalAttrs: {
} \
--prefix LD_LIBRARY_PATH : "$librarypath" \
--prefix PATH : "${zenity}/bin" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime=true}}"
--run 'if [[ "''${NIXOS_OZONE_WL:-default}" == "1" ]]; then unset DISPLAY; fi'
runHook postFixup
'';

View file

@ -1077,14 +1077,17 @@ fn login1_proxy(conn: &LocalConnection) -> Proxy<'_, &LocalConnection> {
fn block_on_jobs(
conn: &LocalConnection,
submitted_jobs: &Rc<RefCell<HashMap<dbus::Path<'static>, Job>>>,
) {
) -> anyhow::Result<()> {
while !submitted_jobs.borrow().is_empty() {
log::debug!(
"waiting for submitted jobs to finish, still have {} job(s)",
submitted_jobs.borrow().len()
);
_ = conn.process(DBUS_PROCESS_TIME);
_ = conn
.process(DBUS_PROCESS_TIME)
.context("Failed to process dbus messages while waiting for jobs")?;
}
Ok(())
}
fn remove_file_if_exists(p: impl AsRef<Path>) -> std::io::Result<()> {
@ -1525,7 +1528,7 @@ fn do_user_switch(parent_exe: String) -> anyhow::Result<()> {
submitted_jobs.borrow_mut().insert(job_path, Job::Stop);
}
}
block_on_jobs(&dbus_conn, &submitted_jobs);
block_on_jobs(&dbus_conn, &submitted_jobs)?;
if !units_to_skip.is_empty() {
print_units("NOT restarting", &units_to_skip);
@ -1551,7 +1554,7 @@ fn do_user_switch(parent_exe: String) -> anyhow::Result<()> {
}
}
}
block_on_jobs(&dbus_conn, &submitted_jobs);
block_on_jobs(&dbus_conn, &submitted_jobs)?;
remove_file_if_exists(&reload_list)
.with_context(|| format!("Failed to remove {}", reload_list.display()))?;
@ -1567,7 +1570,7 @@ fn do_user_switch(parent_exe: String) -> anyhow::Result<()> {
}
}
}
block_on_jobs(&dbus_conn, &submitted_jobs);
block_on_jobs(&dbus_conn, &submitted_jobs)?;
remove_file_if_exists(&restart_list)
.with_context(|| format!("Failed to remove {}", restart_list.display()))?;
@ -1584,7 +1587,7 @@ fn do_user_switch(parent_exe: String) -> anyhow::Result<()> {
}
}
}
block_on_jobs(&dbus_conn, &submitted_jobs);
block_on_jobs(&dbus_conn, &submitted_jobs)?;
remove_file_if_exists(&start_list)
.with_context(|| format!("Failed to remove {}", start_list.display()))?;
@ -1681,7 +1684,7 @@ fn do_user_switch(parent_exe: String) -> anyhow::Result<()> {
}
}
}
block_on_jobs(&dbus_conn, &submitted_jobs);
block_on_jobs(&dbus_conn, &submitted_jobs)?;
print_units("restarting (post-activation)", &to_restart);
for unit in to_restart.keys() {
@ -1695,7 +1698,7 @@ fn do_user_switch(parent_exe: String) -> anyhow::Result<()> {
}
}
}
block_on_jobs(&dbus_conn, &submitted_jobs);
block_on_jobs(&dbus_conn, &submitted_jobs)?;
let to_start_filtered = filter_units(&units_to_filter, &to_start);
print_units("starting (post-activation)", &to_start_filtered);
@ -1710,7 +1713,7 @@ fn do_user_switch(parent_exe: String) -> anyhow::Result<()> {
}
}
}
block_on_jobs(&dbus_conn, &submitted_jobs);
block_on_jobs(&dbus_conn, &submitted_jobs)?;
}
let finished = finished_jobs.borrow();
@ -2202,7 +2205,7 @@ won't take effect until you reboot the system.
};
}
block_on_jobs(&dbus_conn, &submitted_jobs);
block_on_jobs(&dbus_conn, &submitted_jobs)?;
}
if !units_to_skip.is_empty() {
@ -2218,7 +2221,7 @@ won't take effect until you reboot the system.
}
// Wait for all stop jobs to finish
block_on_jobs(&dbus_conn, &submitted_jobs);
block_on_jobs(&dbus_conn, &submitted_jobs)?;
let mut exit_code = 0;
@ -2441,7 +2444,7 @@ won't take effect until you reboot the system.
}
// Wait for the restart job of sysinit-reactivation.service to finish
block_on_jobs(&dbus_conn, &submitted_jobs);
block_on_jobs(&dbus_conn, &submitted_jobs)?;
// Before reloading we need to ensure that the units are still active. They may have been
// deactivated because one of their requirements got stopped. If they are inactive but should
@ -2496,7 +2499,7 @@ won't take effect until you reboot the system.
}
}
block_on_jobs(&dbus_conn, &submitted_jobs);
block_on_jobs(&dbus_conn, &submitted_jobs)?;
remove_file_if_exists(RELOAD_LIST_FILE)
.with_context(|| format!("Failed to remove {RELOAD_LIST_FILE}"))?;
@ -2524,7 +2527,7 @@ won't take effect until you reboot the system.
}
}
block_on_jobs(&dbus_conn, &submitted_jobs);
block_on_jobs(&dbus_conn, &submitted_jobs)?;
remove_file_if_exists(RESTART_LIST_FILE)
.with_context(|| format!("Failed to remove {RESTART_LIST_FILE}"))?;
@ -2557,7 +2560,7 @@ won't take effect until you reboot the system.
}
}
block_on_jobs(&dbus_conn, &submitted_jobs);
block_on_jobs(&dbus_conn, &submitted_jobs)?;
remove_file_if_exists(START_LIST_FILE)
.with_context(|| format!("Failed to remove {START_LIST_FILE}"))?;

View file

@ -19,13 +19,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "waywall";
version = "0.2026.02.06";
version = "0.2026.06.13";
src = fetchFromGitHub {
owner = "tesselslate";
repo = "waywall";
tag = finalAttrs.version;
hash = "sha256-SlT7B01sAKE3n9HVnE+t9hcbQnr5qcCBsBAy4btN0mw=";
hash = "sha256-y4haKw4Z8wqtOT5eTEt/tUqbr4FoYf5EbH63uyTGDow=";
};
nativeBuildInputs = [

View file

@ -24,14 +24,14 @@
buildPythonPackage rec {
pname = "py7zr";
version = "1.1.0";
version = "1.1.3";
pyproject = true;
src = fetchFromGitHub {
owner = "miurahr";
repo = "py7zr";
tag = "v${version}";
hash = "sha256-lWZni9yhS5otWL1cyi8qZx2JLExbDiTPTadKKnDB2Ds=";
hash = "sha256-/sorvv5/kwlY/DtxW33ytHhyrR06p6aNgGW9oH+lpUw=";
};
build-system = [

View file

@ -524,6 +524,27 @@ let
"test-esm-import-meta-main-eval"
"test-worker-debug"
]
# These network/fetch/inspector tests fail on riscv64
++ lib.optionals (majorVersion == "24" && stdenv.hostPlatform.isRiscV64) [
"test-fetch"
"test-http2-allow-http1-upgrade-ws"
"test-http-proxy-fetch"
"test-http-set-global-proxy-from-env-fetch"
"test-http-set-global-proxy-from-env-fetch-default"
"test-http-set-global-proxy-from-env-fetch-empty"
"test-http-set-global-proxy-from-env-fetch-no-proxy"
"test-http-set-global-proxy-from-env-fetch-restore"
"test-http-set-global-proxy-from-env-override-fetch"
"test-inspector-invalid-protocol"
"test-inspector-network-content-type"
"test-inspector-network-fetch"
"test-inspector-network-websocket"
"test-report-exclude-network"
"test-tls-set-default-ca-certificates-append-fetch"
"test-tls-set-default-ca-certificates-reset-fetch"
"test-use-env-proxy-cli-http"
"test-wasm-web-api"
]
# Those are annoyingly flaky, but not enough to be marked as such upstream.
++ lib.optional (majorVersion == "22") "test-child-process-stdout-flush-exit"
++ lib.optional (

View file

@ -6,6 +6,7 @@
lib,
runCommand,
testers,
writeText,
}:
let
inherit (testers) testEqualContents testBuildFailure;
@ -22,7 +23,7 @@ let
};
expected = mkExpectation (
builtins.toFile "source.txt" ''
writeText "source.txt" ''
All human beings are born free and are the same in dignity and rights.
They are endowed with reason and conscience and should act towards
one another in a spirit of shared humanity.
@ -53,7 +54,7 @@ let
{
failed =
let
src = builtins.toFile "source.txt" ''
src = writeText "source.txt" ''
Header.
before @whatIsThis@ middle @It'sOdd2Me@ after.
@cannot detect due to space@
@ -86,7 +87,7 @@ let
};
expected = mkExpectation (
builtins.toFile "source.txt" ''
writeText "source.txt" ''
All human beings are born free and are the same in dignity and rights.
They are endowed with reason and conscience and should act towards
one another in a spirit of @brotherhood@.
@ -101,7 +102,7 @@ let
{
failed =
let
src = builtins.toFile "source.txt" ''
src = writeText "source.txt" ''
@a@
@b@
@c@
@ -127,7 +128,7 @@ let
{
failed =
let
src = builtins.toFile "source.txt" ''
src = writeText "source.txt" ''
@a@
@b@
'';

View file

@ -28,15 +28,14 @@ let
in
curPkgs
// pkgs.mkShellNoCC {
inputsFrom = [
fmt.shell
];
packages = with pkgs; [
packages = [
# Helper to review Nixpkgs PRs
# See CONTRIBUTING.md
nixpkgs-reviewFull
pkgs.nixpkgs-reviewFull
# Command-line utility for working with GitHub
# Used by nixpkgs-review to fetch eval results
gh
pkgs.gh
# treefmt wrapper
fmt.pkg
];
}