From f41e5ca56e8a864687780e038c51d762b6ed6ebe Mon Sep 17 00:00:00 2001 From: Sam Estep Date: Thu, 30 Jul 2026 10:06:46 -0400 Subject: [PATCH 01/13] binaryen: make doCheck test more correct Assisted-by: Claude:opus-5 --- pkgs/development/compilers/binaryen/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/binaryen/default.nix b/pkgs/development/compilers/binaryen/default.nix index 8bc21cff7a10..22ce5575fcfd 100644 --- a/pkgs/development/compilers/binaryen/default.nix +++ b/pkgs/development/compilers/binaryen/default.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { strictDeps = true; preConfigure = '' - if [ $doCheck -eq 1 ]; then + if [ -n "$doCheck" ]; then sed -i '/gtest/d' third_party/CMakeLists.txt rmdir test/spec/testsuite ln -s ${testsuite} test/spec/testsuite From 2acf70a4e29bf7327a7a0e1630cc562d8d3e6086 Mon Sep 17 00:00:00 2001 From: Sam Estep Date: Wed, 29 Jul 2026 20:32:36 +0000 Subject: [PATCH 02/13] binaryen: omit binaryen-unittests in non-cross too Assisted-by: Claude:opus-5 --- pkgs/development/compilers/binaryen/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/compilers/binaryen/default.nix b/pkgs/development/compilers/binaryen/default.nix index 22ce5575fcfd..8868590af83f 100644 --- a/pkgs/development/compilers/binaryen/default.nix +++ b/pkgs/development/compilers/binaryen/default.nix @@ -62,6 +62,14 @@ stdenv.mkDerivation rec { LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib python3 ../check.py $tests ''; + # bin/binaryen-unittests is absent on cross builds which don't have doCheck, + # so delete it on non-cross builds too (thus removing gtest from the closure). + postInstall = '' + if [ -n "$doCheck" ]; then + rm "$out/bin/binaryen-unittests" + fi + ''; + tests = [ "version" "wasm-opt" From 01e6b20722599fa01219db9744ee732a72ff548d Mon Sep 17 00:00:00 2001 From: Angel J <78835633+iamanaws@users.noreply.github.com> Date: Fri, 31 Jul 2026 07:29:57 -0700 Subject: [PATCH 03/13] signal-desktop: 8.18.0 -> 8.21.0 --- .../signal-desktop/chromium-149-llvm-22.patch | 30 ++++ .../si/signal-desktop/libsignal-node.nix | 8 +- pkgs/by-name/si/signal-desktop/package.nix | 26 +-- .../replace-apple-emoji-with-noto-emoji.patch | 10 +- pkgs/by-name/si/signal-desktop/ringrtc.nix | 6 +- .../si/signal-desktop/webrtc-sources.json | 170 +++++++++--------- pkgs/by-name/si/signal-desktop/webrtc.nix | 48 ++--- 7 files changed, 164 insertions(+), 134 deletions(-) create mode 100644 pkgs/by-name/si/signal-desktop/chromium-149-llvm-22.patch diff --git a/pkgs/by-name/si/signal-desktop/chromium-149-llvm-22.patch b/pkgs/by-name/si/signal-desktop/chromium-149-llvm-22.patch new file mode 100644 index 000000000000..256073872316 --- /dev/null +++ b/pkgs/by-name/si/signal-desktop/chromium-149-llvm-22.patch @@ -0,0 +1,30 @@ +diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn +index f977c9fed76e6f50c50351ca22128e8c8c8897b1..81460f3591b734f3354a6f9ac7bb0990e5b28889 100644 +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -589,7 +589,7 @@ config("compiler") { + # Flags for diagnostics. + cflags += [ "-fcolor-diagnostics" ] + if (!is_win) { +- cflags += [ "-fdiagnostics-show-inlining-chain" ] ++ cflags += [ ] + } else { + # Combine after https://github.com/llvm/llvm-project/pull/192241 + cflags += [ "/clang:-fdiagnostics-show-inlining-chain" ] +@@ -1911,7 +1911,7 @@ config("clang_warning_suppression") { + # See also: https://crbug.com/40891132#comment10 + ubsan_hardening("c_array_bounds") { + sanitizer = "array-bounds" +- condition = !(is_asan && target_cpu == "x86") ++ condition = false + + # Because we've enabled array-bounds sanitizing we also want to suppress + # the related warning about "unsafe-buffer-usage-in-static-sized-array", +@@ -1925,6 +1925,7 @@ ubsan_hardening("c_array_bounds") { + # `NOTREACHED()` at the end of such functions. + ubsan_hardening("return") { + sanitizer = "return" ++ condition = false + } + + config("rustc_revision") { diff --git a/pkgs/by-name/si/signal-desktop/libsignal-node.nix b/pkgs/by-name/si/signal-desktop/libsignal-node.nix index b37ef4709c4a..989b0d9288fc 100644 --- a/pkgs/by-name/si/signal-desktop/libsignal-node.nix +++ b/pkgs/by-name/si/signal-desktop/libsignal-node.nix @@ -15,23 +15,23 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "libsignal-node"; - version = "0.96.3"; + version = "0.97.3"; src = fetchFromGitHub { owner = "signalapp"; repo = "libsignal"; tag = "v${finalAttrs.version}"; - hash = "sha256-FOppsfocUvUfWa6AfBPOxAnntGJkzTbnPwqMzzbHnWQ="; + hash = "sha256-mRhArmrrbnAfj4JS4OqWA+FEC57Sf/BEqb95KL3JXp0="; }; - cargoHash = "sha256-wsXlCpNwO+E6rVNaD2R51Mi0sZUv2lhllGxDxzyptYA="; + cargoHash = "sha256-obv5XcGD4kkgTPShszxJRTFsOeig9UWyxdE8cyjbsCY="; npmRoot = "node"; npmDeps = fetchNpmDeps { name = "${finalAttrs.pname}-npm-deps"; inherit (finalAttrs) version src; sourceRoot = "${finalAttrs.src.name}/${finalAttrs.npmRoot}"; - hash = "sha256-p8udihRlXMTnG4BT60D2VlI7D/O3eHV/zCS7ucpeuO4="; + hash = "sha256-jTyEnJBEuL8RXT29VYsRW797FPgINm8BvVBmt3m13EA="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/si/signal-desktop/package.nix b/pkgs/by-name/si/signal-desktop/package.nix index be16d0a387f6..8425fa03dbdd 100644 --- a/pkgs/by-name/si/signal-desktop/package.nix +++ b/pkgs/by-name/si/signal-desktop/package.nix @@ -9,7 +9,7 @@ fetchPnpmDeps, pnpmConfigHook, pnpmBuildHook, - electron_42, + electron_43, python3, makeWrapper, callPackage, @@ -34,7 +34,7 @@ assert lib.warnIf (commandLineArgs != "") let nodejs = nodejs_24; pnpm = pnpm_11; - electron = electron_42; + electron = electron_43; libsignal-node = callPackage ./libsignal-node.nix { inherit nodejs; }; signal-sqlcipher = callPackage ./signal-sqlcipher.nix { @@ -45,13 +45,13 @@ let webrtc = callPackage ./webrtc.nix { }; ringrtc = callPackage ./ringrtc.nix { inherit webrtc; }; - version = "8.18.0"; + version = "8.21.0"; src = fetchFromGitHub { owner = "signalapp"; repo = "Signal-Desktop"; tag = "v${version}"; - hash = "sha256-fynCFGmch3UecT5esNfVVlf0+xDrCdCBGw2HMMqBzWw="; + hash = "sha256-RuGq8ygiZewKqtKQattlqU0pcMMlgdFOJAhmN4J/8Tw="; # Emoji font files will be added in `postFetch` if `withAppleEmojis` is enabled. They # are fetched separately below. postFetch = '' @@ -77,18 +77,13 @@ let pname src version - postPatch pnpmWorkspaces ; inherit pnpm; fetcherVersion = 4; - hash = "sha256-bWNs5W2NPk55Sm7UqwWvXU7bY+AXzevU3o2ji23HxtU="; + hash = "sha256-1n+u0mcZJwjkdKmNY6KE6tk6/UPYuya5WqLrKRJimGw="; }; - postPatch = '' - rm sticker-creator/pnpm-lock.yaml - ''; - strictDeps = true; nativeBuildInputs = [ nodejs @@ -190,13 +185,13 @@ stdenv.mkDerivation (finalAttrs: { ; inherit pnpm; fetcherVersion = 4; - hash = "sha256-bWNs5W2NPk55Sm7UqwWvXU7bY+AXzevU3o2ji23HxtU="; + hash = "sha256-1n+u0mcZJwjkdKmNY6KE6tk6/UPYuya5WqLrKRJimGw="; }; env = { ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; SIGNAL_ENV = "production"; - SOURCE_DATE_EPOCH = 1783606680; + SOURCE_DATE_EPOCH = 1785418091; }; preBuild = '' @@ -259,6 +254,13 @@ stdenv.mkDerivation (finalAttrs: { popd test -f node_modules/@signalapp/windows-ucv/dist/index.js + # @signalapp/types is required at runtime by preload.wrapper.js, but its + # output is normally produced by the prepare script. + pushd packages/types + pnpm run build + popd + test -f node_modules/@signalapp/types/dist/index.std.cjs + cp -r ${electron.dist} electron-dist chmod -R u+w electron-dist cp -r ${sticker-creator} sticker-creator/dist diff --git a/pkgs/by-name/si/signal-desktop/replace-apple-emoji-with-noto-emoji.patch b/pkgs/by-name/si/signal-desktop/replace-apple-emoji-with-noto-emoji.patch index 2b3e50b13af0..71e0b5bd0167 100644 --- a/pkgs/by-name/si/signal-desktop/replace-apple-emoji-with-noto-emoji.patch +++ b/pkgs/by-name/si/signal-desktop/replace-apple-emoji-with-noto-emoji.patch @@ -2,13 +2,13 @@ diff --git a/app/AssetService.main.ts b/app/AssetService.main.ts index a4a21b5bb..3d5ab1eb0 100644 --- a/app/AssetService.main.ts +++ b/app/AssetService.main.ts -@@ -34,7 +34,6 @@ const OPTIONAL_ASSETS = new Map([]); +@@ -34,7 +34,2 @@ const OPTIONAL_ASSETS = new Map([]); - if (!process.mas) { - LOCAL_ASSETS.add('fonts/emoji.woff2'); +-if (!process.mas) { +- LOCAL_ASSETS.add('fonts/emoji.woff2'); - OPTIONAL_ASSETS.set('optional-fonts/emoji-large.woff2', 'emoji-font.woff2'); - } - +-} +- export class AssetService { diff --git a/app/protocol_filter.node.ts b/app/protocol_filter.node.ts index 17c68f0a4..4ed359de6 100644 diff --git a/pkgs/by-name/si/signal-desktop/ringrtc.nix b/pkgs/by-name/si/signal-desktop/ringrtc.nix index c981eb2b9a2d..a1e31cb4f6cb 100644 --- a/pkgs/by-name/si/signal-desktop/ringrtc.nix +++ b/pkgs/by-name/si/signal-desktop/ringrtc.nix @@ -19,16 +19,16 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "ringrtc"; - version = "2.69.4"; + version = "2.70.0"; src = fetchFromGitHub { owner = "signalapp"; repo = "ringrtc"; tag = "v${finalAttrs.version}"; - hash = "sha256-z/9Y9rrlH4yziEVAXrCmkmP42hdDm3frGJnL1O/qOqg="; + hash = "sha256-5RPX1SZhVJaSIDjdY2IvInwSI4YHs0y7TK1b9ixaeZc="; }; - cargoHash = "sha256-a6CEUVW1HXqgIp/S+4Ype83N3QtNCBrutiEepHNW5pY="; + cargoHash = "sha256-tztNtAGYHp+Kh98efwtt51yhRwhqDKeT06Q4B/HrHfQ="; preConfigure = '' # Check for matching webrtc version diff --git a/pkgs/by-name/si/signal-desktop/webrtc-sources.json b/pkgs/by-name/si/signal-desktop/webrtc-sources.json index 5ed34c7a02f6..26f75df52a12 100644 --- a/pkgs/by-name/si/signal-desktop/webrtc-sources.json +++ b/pkgs/by-name/si/signal-desktop/webrtc-sources.json @@ -1,25 +1,25 @@ { "src": { "args": { - "hash": "sha256-kdRUqYFKsEbAR0u4btQc995vtbN+FVcei19PgTf1DyA=", + "hash": "sha256-icy7lsgHBofHMJg6Eo2jxkuo9vHVw6P8TXsti2416bg=", "owner": "signalapp", "repo": "webrtc", - "tag": "7778c" + "tag": "7871d" }, "fetcher": "fetchFromGitHub" }, "src/build": { "args": { - "hash": "sha256-XmuuR4mLcaoAPCr82ka6ldtE4OmYFmXlWjNaP/wM2BQ=", - "rev": "dd54dd5186566a13bda647123c22540666b12ace", + "hash": "sha256-jY47j4gsrzQpNnQsTtb01CUMisejfqPgVsOyWLyI7iA=", + "rev": "d296a9fec6186f2c109758c7d3f93cbef936dfc3", "url": "https://chromium.googlesource.com/chromium/src/build" }, "fetcher": "fetchFromGitiles" }, "src/buildtools": { "args": { - "hash": "sha256-BvGCdJ3EgUZX6MC3jf86YNl4LzUxpxiptCEBv3bqBIo=", - "rev": "95ed44cf5f06dbb5861030b91c9db9ccb4316762", + "hash": "sha256-1xi58KhE/oErrrYnP/YKkWeA3dLfPtcTwbKcn6jr13o=", + "rev": "17495e454aae81b581e8b3caccbb53054509b280", "url": "https://chromium.googlesource.com/chromium/src/buildtools" }, "fetcher": "fetchFromGitiles" @@ -35,40 +35,40 @@ }, "src/testing": { "args": { - "hash": "sha256-tUh/eOrf71OjndY6p6IOJ5MFJUnuisDGWXJzsHHyrHs=", - "rev": "629b7bb6055714e23d8125bf790cfc8d94a94159", + "hash": "sha256-xUfuaftEKZr6GwBtZfAUW/uRkU1f+pJBdiFpGnJQPms=", + "rev": "5c19204b6395adfad25f83bbbd56439af9f86f7f", "url": "https://chromium.googlesource.com/chromium/src/testing" }, "fetcher": "fetchFromGitiles" }, "src/third_party": { "args": { - "hash": "sha256-sLMCkUCadVZIX5bTVovDd5tPn0ZB/CH/d0tQic8lEQg=", - "rev": "4923971b35e39f6bd9be8bc19c4680785a15c80d", + "hash": "sha256-BDOKJiCeO8g3gtSJYK1ZMKymq63BJX1L5EeWpvfCFFM=", + "rev": "7c92732938de0ef7e28f5da231994723f938f407", "url": "https://chromium.googlesource.com/chromium/src/third_party" }, "fetcher": "fetchFromGitiles" }, "src/third_party/boringssl/src": { "args": { - "hash": "sha256-OIaU7GoHYKq1ZyPaW/gLSKNq1ipw5nAgjqcPIFXtGwE=", - "rev": "8dce4fd20ab7e768c0a5103edc1d8cb7e54366ba", + "hash": "sha256-7pKQHAQ218OiuuSNsm1ZRUvUcft7QzUG++xH3y8fR9o=", + "rev": "f91f1447397c6719f9774dfb8e67329378e1f3d3", "url": "https://boringssl.googlesource.com/boringssl.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/breakpad/breakpad": { "args": { - "hash": "sha256-igcX5XwacIwoGbqIcZKwlJYpRWl9Uc32WdpXyHO7UVA=", - "rev": "8be0e3114685fcc1589561067282edf75ea1259a", + "hash": "sha256-JzGeACM7hXKhjFVFoeHqs9HfqDLm2OyWtjhU5lyKuFs=", + "rev": "6d017fa2c0c440f914385bb794fd88de90fef736", "url": "https://chromium.googlesource.com/breakpad/breakpad.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/catapult": { "args": { - "hash": "sha256-f57wYazKyGrjfzcQ7EVqwIG8p+bHLGK0Qb/tZERxwY8=", - "rev": "5a34891efa6e41c8aca8842386b8ee528963ffdf", + "hash": "sha256-XYufVvzOXD4voZUWUvumQQqLNsx9sy0QmQzNzrgNEWg=", + "rev": "2852bb7e91e4995502ffb72b7ed21412ee157914", "url": "https://chromium.googlesource.com/catapult.git" }, "fetcher": "fetchFromGitiles" @@ -83,8 +83,8 @@ }, "src/third_party/clang-format/script": { "args": { - "hash": "sha256-f+BbQ6xIubloSzx/MhPSZ8ymCskmS+9+epDGtPjZqXc=", - "rev": "c2725e0622e1a86d55f14514f2177a39efea4a0e", + "hash": "sha256-Cm6BOOlEyD0kdYxMSmk6Fj1Dnfs3zCzXsm+BOXgBme0=", + "rev": "6eddfb5ec5f92127a531eda66c568d3a11e7ec11", "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git" }, "fetcher": "fetchFromGitiles" @@ -99,16 +99,16 @@ }, "src/third_party/compiler-rt/src": { "args": { - "hash": "sha256-ay0gzhNjAah27LQd/i0ex6EcHEdqpsWBT9Tw510coRM=", - "rev": "bb7645f5e11c9c1d719a890fcb09ccfaaa14580f", + "hash": "sha256-PjH+E+6knLw0YSM7XpoC2taCkh89GQX1EDiviO4ZPPM=", + "rev": "b7f9fa6b211b362d3ca07ab2043419ebaf75d1d0", "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/cpuinfo/src": { "args": { - "hash": "sha256-LnLtCMMRg+DwB7MijBdt/tmCKD/zN5y2oTgXlYw3hTg=", - "rev": "7607ca500436b37ad23fb8d18614bec7796b68a7", + "hash": "sha256-/QsOjDik0TnH3FnK7LOwsJkvX+O+2DRFX4eF3MxD3fc=", + "rev": "ea6b9f1bb6e1001d8b21574d5bc78ddef62e499d", "url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git" }, "fetcher": "fetchFromGitiles" @@ -123,24 +123,24 @@ }, "src/third_party/dav1d/libdav1d": { "args": { - "hash": "sha256-iKq6TYscIBK4ydv+0msNV3tcs82Ljk5ZNr954Qv2lII=", - "rev": "d69235dd804b24c04ed05639cffcc912cd6cfd75", + "hash": "sha256-uR6zXz1Nk75mKzw1M/MvcD33iV7SbVbncD08yhKdEm0=", + "rev": "1718ff9aded99f0a89f5c7940d6afb8948301e33", "url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/depot_tools": { "args": { - "hash": "sha256-r/mmibfbCBpV9reVbHc/S7FKffrtE729y2Mot/JsHgc=", - "rev": "ce1ebad2c35c9387186f01d77edeea28a254c955", + "hash": "sha256-/edPeYK0WF7AmfaTG2uC9ZFWE7DPn+NUs1tgnR3RzFs=", + "rev": "2f9bc10799af5aeb4a0ed903742ad69bb1d0ef75", "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/eigen3/src": { "args": { - "hash": "sha256-/nzzcoJ87L7EVsRfAeok3UbxNKQeAWOFjmwZ3TYmGmI=", - "rev": "002229ce470065878afb7c2f6f96d22c9a9b7ba0", + "hash": "sha256-YjyAr1sTLF6zlNw9G0RL5kBApmRRYsHpUet3sCCsf14=", + "rev": "fc0f148ab491bf36378c5d527d8f6669ccf21b07", "url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git" }, "fetcher": "fetchFromGitiles" @@ -155,8 +155,8 @@ }, "src/third_party/ffmpeg": { "args": { - "hash": "sha256-JHAicFKBvtkwmZPRBKYPT6JVqYqF8hyXxU0H7kfgCBs=", - "rev": "b5e18fb9da84e26ceef30d4e4886696bf59337c0", + "hash": "sha256-41qpsOTedB51WMzzHXDiXA19OIzA7wG/Qgbz6IkmWpk=", + "rev": "ad41607c61898cf7150e0fb20fe4bbabd44922a3", "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git" }, "fetcher": "fetchFromGitiles" @@ -187,16 +187,16 @@ }, "src/third_party/freetype/src": { "args": { - "hash": "sha256-H5RzBFYWIp/QYKyeBM2wfuX7FvXHPbhCAp7qne5Zvhw=", - "rev": "99b479dc34728936b006679a31e12b8cf432fc55", + "hash": "sha256-QOUIW1p9bh7v100iQn8aPq601bNHz+UDA4esd10nQk0=", + "rev": "7e0e56f84fd53cf38378d33c8fc8f92d12ab9ac6", "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/fuzztest/src": { "args": { - "hash": "sha256-0Fk2W4rS1xB6YcXsDbrMfmZUfMxNlGz29xRcBHZbijA=", - "rev": "dc327134097700121e4ecd6e1d54d1d0a832a18d", + "hash": "sha256-nKdSzMuvjgYEP2sbP5/S5yzrT3FL6OsKMbC/uAsUybo=", + "rev": "36a7acd1a4445a722803cd2d41bcf878ec2831ca", "url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git" }, "fetcher": "fetchFromGitiles" @@ -219,8 +219,8 @@ }, "src/third_party/google_benchmark/src": { "args": { - "hash": "sha256-GfqY2d+Nd7ovNrXxzTRm/AYWj7GuxIO6FawzUEzwOVA=", - "rev": "188e8278990a9069ffc84441cb5a024fd0bede37", + "hash": "sha256-M8QkA8+bckoRjlcVneYXNetmPEWEvmWy/mca5JA40Ho=", + "rev": "8abf1e701fbd88c8170f48fe0558247e2e5f8e7d", "url": "https://chromium.googlesource.com/external/github.com/google/benchmark.git" }, "fetcher": "fetchFromGitiles" @@ -235,8 +235,8 @@ }, "src/third_party/grpc/src": { "args": { - "hash": "sha256-LQrig9/ceXS1LclfN9b9DoAvwltIA1R5fSpmHTmaN8s=", - "rev": "5e9fb9cbfb12a10ff9c16fbc360328d224b838d6", + "hash": "sha256-XzKPeOHb7yf0CZdz2/P5CwUiEi5Cquiqqj8nBQ+xkqI=", + "rev": "05ffa9265bd5f4846a5e3dc46d91ba739ad17ef6", "url": "https://chromium.googlesource.com/external/github.com/grpc/grpc.git" }, "fetcher": "fetchFromGitiles" @@ -249,34 +249,34 @@ }, "fetcher": "fetchFromGitiles" }, - "src/third_party/harfbuzz-ng/src": { + "src/third_party/harfbuzz/src": { "args": { - "hash": "sha256-jQZElINbJgiVj1IHhkrtBCL5jGYzZrjJkO7gt+bgMA4=", - "rev": "6f4c5cec306d31e6822303f5ba248a14293d588e", + "hash": "sha256-tSap704OcadjsEUx+K1bTCrqvluH2F0oFW6Aio+Wgn4=", + "rev": "b90b89feb9aad05065b2edfb10aaa969b164275a", "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/icu": { "args": { - "hash": "sha256-hKIzBQVs4C/QJ4BdP3DTm6au9hq8BE0kG1VphtbtHVE=", - "rev": "b4aae6832c06df9d538d41b249403cf0678f16b4", + "hash": "sha256-rNErsn11FZUh8GXAl7jK+NyLHIKrQR3LuoM1qFFGtmM=", + "rev": "3859e64eed5d34544b27fbcab0ac1685ce83df3c", "url": "https://chromium.googlesource.com/chromium/deps/icu.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/instrumented_libs": { "args": { - "hash": "sha256-8kokdsnn5jD9KgM/6g0NuITBbKkGXWEM4BMr1nCrfdU=", - "rev": "69015643b3f68dbd438c010439c59adc52cac808", + "hash": "sha256-5cb9qhSEzb941pF5HH0Br+x9wEH7MiGwQttvErb2mZo=", + "rev": "e8cb570a9a2ee9128e2214c73417ad2a3c47780b", "url": "https://chromium.googlesource.com/chromium/third_party/instrumented_libraries.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/jsoncpp/source": { "args": { - "hash": "sha256-bSLNcoYBz3QCt5VuTR056V9mU2PmBuYBa0W6hFg2m8Q=", - "rev": "42e892d96e47b1f6e29844cc705e148ec4856448", + "hash": "sha256-q+DOwkjRlHacgfWf5UVY02aqfnKK9M/1YRBX6aMce9g=", + "rev": "d4d072177213b117fb81d4cfda140de090616161", "url": "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git" }, "fetcher": "fetchFromGitiles" @@ -291,16 +291,16 @@ }, "src/third_party/libaom/source/libaom": { "args": { - "hash": "sha256-uO+zjmt0g5m780WR823UJ0AmQA+dfVFOjPChTLAciTM=", - "rev": "f3dddebddd0dba76fbfb97b96b6336bcf1d3a30c", + "hash": "sha256-qvwmcnA3dls89y4Uy79c2Lt0W5iT6ASD/MKS5LLzO/A=", + "rev": "c213343c8d32bcae729fe09fcba16e1f371cb23b", "url": "https://aomedia.googlesource.com/aom.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/libc++/src": { "args": { - "hash": "sha256-7O/X2JW8ghkPTjmFZmT9cgG3Ui5zk3gUb436KlPww34=", - "rev": "7ab65651aed6802d2599dcb7a73b1f82d5179d05", + "hash": "sha256-vT1km7JgVpotDoNK+ae1gplSHcwrVNLsv/QAFUrDsIM=", + "rev": "5abc7f839700f0f17338434e1c1c6a8c87c00c11", "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git" }, "fetcher": "fetchFromGitiles" @@ -315,64 +315,64 @@ }, "src/third_party/libgav1/src": { "args": { - "hash": "sha256-gisU0p0HDL7Po/ZXIIZVOTnxnOuVvSE/FYo9DaEUFfo=", - "rev": "40f58ed32ff39071c3f2a51056dbc49a070af0dc", + "hash": "sha256-6/zMaX2DPSKpsaqirhrgi3nL/88Qr2VXacmyL5IyJ3U=", + "rev": "66ac17620652635392f6ab24065c77b035e281c9", "url": "https://chromium.googlesource.com/codecs/libgav1.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/libjpeg_turbo": { "args": { - "hash": "sha256-KGeB/lTjhm8DQBDZVSPENvZEGSHeLTkviJrYsFh5vEM=", - "rev": "d1f5f2393e0d51f840207342ae86e55a86443288", + "hash": "sha256-wor4RTF3/5BFL9EWcGEofY+M4HN2+/KJUaOY+u86K5Q=", + "rev": "640f254ad0fa03f6b1f29f89b7dd9366f2f6e533", "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/libpfm4/src": { "args": { - "hash": "sha256-6YaPJcI6Qk0F1Dv5evfFq3MVSsBpsQ7sIreSuHZmOUo=", - "rev": "41878eab48c50bb9ec5f741a013e971bb5a9dff2", + "hash": "sha256-t4LMG38GksMEM5DktyJ0qLUX1biXErQ57MaMtd7hoeo=", + "rev": "977a25bb3dfe45f653a6cee71ffaae9a92fc3095", "url": "https://chromium.googlesource.com/external/git.code.sf.net/p/perfmon2/libpfm4.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/libsrtp": { "args": { - "hash": "sha256-xC//VEFrI94nCkyLnRa6uQ+hJQqe41v0Qjm4LJ7K84I=", - "rev": "e8383771af8aa4096f5bcfe3743a5ea128f88a9a", + "hash": "sha256-6tIbthIcUw58AgaNzvSenZPp/e5vHVTp5K2bpPF+Zg0=", + "rev": "cd5d177bf1fde755ddb4c7f0d9ff7693f8b49e5e", "url": "https://chromium.googlesource.com/chromium/deps/libsrtp.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/libunwind/src": { "args": { - "hash": "sha256-miwz3+/fq+7Ohsn8J6xrLsQn/VqyezS9vZO9XzEuZZA=", - "rev": "db838d918570d4e381ecf9f5cc70a0098c9c2cd6", + "hash": "sha256-EuaVSYiR7qrlYqBR0UqdWCvwdzJSn0RS2wC/lnP19AE=", + "rev": "d6c7a21e978f0adaa43accaad53bc64f0b64f6ec", "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/libvpx/source/libvpx": { "args": { - "hash": "sha256-8vej9g9+L73eOIuXZNfOWe6pV/cNr4JZOihZUtRxbFA=", - "rev": "3fce57ecc905d95a4619f33d09851d68c5a88663", + "hash": "sha256-fCwegoFUwDg5/tGBH4SlO3YeAR2wkYgIoajXVtt0eYk=", + "rev": "31af37b1bd2774d11a932c1cd9a3849328375f64", "url": "https://chromium.googlesource.com/webm/libvpx.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/libyuv": { "args": { - "hash": "sha256-DW7PuRqA1x0K8/uJbxBJ4Cn9YEPFhZ9vhuGVVyGKK98=", - "rev": "30809ff64a9ca5e45f86439c0d474c2d3eef3d05", + "hash": "sha256-Bq9LM+9sdFzKzbTzrW2cloSOFUhCfyvYqwBweIhiDQI=", + "rev": "de63bd90f4396313f864ad58b65279e7894451a9", "url": "https://chromium.googlesource.com/libyuv/libyuv.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/llvm-libc/src": { "args": { - "hash": "sha256-nrd+E7LRTclF/Qa3wBvlutJ/wbLQKr73LOBk9k0qFOI=", - "rev": "adccc443070c58badd6414fd9a4380ca8c78e7c4", + "hash": "sha256-NaQb2UvNqIL4LL5PSshRRMKWdXFjWPnf2YJpVegGtag=", + "rev": "be95a36286a288c9437f5ed991720ccece1a6391", "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git" }, "fetcher": "fetchFromGitiles" @@ -387,16 +387,16 @@ }, "src/third_party/nasm": { "args": { - "hash": "sha256-0KsHYi76IaVNwk0dBhem2AnUXd9PpeS+jUsY+zPmeJ8=", - "rev": "45252858722aad12e545819b2d0f370eb865431b", + "hash": "sha256-uC6bGxSdz1V2SXIQjMsDd6555b3gAPN1Y0ZQtWoqDww=", + "rev": "525a09a813be0f75b646ee93fc2a31c27b87d722", "url": "https://chromium.googlesource.com/chromium/deps/nasm.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/neon_2_sse/src": { "args": { - "hash": "sha256-4OzG4wIPwnKbFD9LG+stxHt5O4qB85ZIXVeSrNqDAyM=", - "rev": "662a85912e8f86ec808f9b15ce77f8715ba53316", + "hash": "sha256-ydHSMPJS+axvW7KIR/9SLWNFq/lP67dpg9Yt7shLCng=", + "rev": "ed59be8546632d5126ff69c87122ae5de20ffe4f", "url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git" }, "fetcher": "fetchFromGitiles" @@ -411,8 +411,8 @@ }, "src/third_party/perfetto": { "args": { - "hash": "sha256-ZDQsBVFq9TgGGf5r2vv8nsHvFy03NM+SkbaXPoa345Q=", - "rev": "40b1342aa7bd47d9c963c3617fd98ec1551528f9", + "hash": "sha256-2RXnxNmF5ZSWs7H4slVVTSLh9bfQMMfMRrELVZUN/Vo=", + "rev": "82ad4b69cbaf64e26c639061b1712756a9cc5e20", "url": "https://chromium.googlesource.com/external/github.com/google/perfetto.git" }, "fetcher": "fetchFromGitiles" @@ -427,8 +427,8 @@ }, "src/third_party/pthreadpool/src": { "args": { - "hash": "sha256-Es9QNblzo5b+x4K7myQJwIiUKvqyP16QExWPhGqqDO8=", - "rev": "9003ee6c137cea3b94161bd5c614fb43be523ee1", + "hash": "sha256-4EHJzZT+Gbhs8SkOhjSvDIPEqIQU93oJmtF3c/T+qjw=", + "rev": "02460584c6092e527c8b89f7df4de143d70e801f", "url": "https://chromium.googlesource.com/external/github.com/google/pthreadpool.git" }, "fetcher": "fetchFromGitiles" @@ -449,26 +449,34 @@ }, "fetcher": "fetchFromGitiles" }, + "src/third_party/sframe/src": { + "args": { + "hash": "sha256-bw+6ycUpnFZJhtXFUzr7XTOljNrs+7oFdVY+LN0Rqek=", + "rev": "b14090904433bed0d4ec3f875b9b39f3e0555930", + "url": "https://chromium.googlesource.com/external/github.com/cisco/sframe" + }, + "fetcher": "fetchFromGitiles" + }, "src/third_party/tflite/src": { "args": { - "hash": "sha256-nvU3p6TzEqBkDtZEoxCZGPsQA0oZNJID8raqHBDS0ko=", - "rev": "8fd527849069a358ad6c2980b9a9b34a53c53717", + "hash": "sha256-eSqaWXtzZ4Bi9ilaJYGdZamzUjmo+AtDZ9KeZhsc/fY=", + "rev": "999d49c10046e240cd5366d349d3a5f6af16a0d4", "url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git" }, "fetcher": "fetchFromGitiles" }, "src/third_party/xnnpack/src": { "args": { - "hash": "sha256-vOUwMXZJbYxTGPpdD5uc9ATfPIpThCDHV/YTlWN0ajw=", - "rev": "97f3177fd836fff03b48a886bb130591866ad7ca", + "hash": "sha256-uw3r5g5rWamlFubBkXDb4KRx3hkOAoQyFo8l95GYGZI=", + "rev": "56ac34b3f45fae2eca1f32584f7f0b279be2cf1f", "url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git" }, "fetcher": "fetchFromGitiles" }, "src/tools": { "args": { - "hash": "sha256-PDjcHq8BTDLD6OsYFfvjw8ffmam/4YSx8SF0G/NvebY=", - "rev": "f363a79871a91f36322e845e3134e2f04e1fc18a", + "hash": "sha256-Et9KyslSik7y5v2Jzai/vpxogpT0RlZ5b+u7/VwHc28=", + "rev": "8e4d26ef387bfa4c07e66dd1c7399c3d53ef1451", "url": "https://chromium.googlesource.com/chromium/src/tools" }, "fetcher": "fetchFromGitiles" diff --git a/pkgs/by-name/si/signal-desktop/webrtc.nix b/pkgs/by-name/si/signal-desktop/webrtc.nix index 9f6465a4e84b..4fb2a9066d3c 100644 --- a/pkgs/by-name/si/signal-desktop/webrtc.nix +++ b/pkgs/by-name/si/signal-desktop/webrtc.nix @@ -86,42 +86,32 @@ stdenv.mkDerivation (finalAttrs: { alsa-lib ]; - patches = [ - # https://github.com/NixOS/nixpkgs/blob/8e689a91c5b4e47b57dee488dd7e319cc704eb9d/pkgs/applications/networking/browsers/chromium/common.nix#L604-L612 - # clang++: error: unknown argument: '-fsanitize-ignore-for-ubsan-feature=array-bounds' - (fetchpatch { - name = "chromium-146-revert-Update-fsanitizer=array-bounds-config.patch"; - # https://chromium-review.googlesource.com/c/chromium/src/+/7539408 - url = "https://chromium.googlesource.com/chromium/src/+/acb47d9a6b56c4889a2ed4216e9968cfc740086c^!?format=TEXT"; - decode = "base64 -d"; - revert = true; - hash = "sha256-WZsN2qm6lX121bDf7SoN75flXtCTmPPpwtHK0ayjkPc="; - }) + env = { + BUILD_CC = "$CC_FOR_BUILD"; + BUILD_CXX = "$CXX_FOR_BUILD"; + BUILD_AR = "$AR_FOR_BUILD"; + BUILD_NM = "$NM_FOR_BUILD"; + NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isLinux "-Wno-changes-meaning"; + }; - # https://github.com/NixOS/nixpkgs/blob/8e689a91c5b4e47b57dee488dd7e319cc704eb9d/pkgs/applications/networking/browsers/chromium/common.nix#L620-L623 + patches = [ # clang++: error: unknown argument: '-fno-lifetime-dse' ./chromium-147-llvm-22.patch - # https://github.com/NixOS/nixpkgs/blob/8e689a91c5b4e47b57dee488dd7e319cc704eb9d/pkgs/applications/networking/browsers/chromium/common.nix#L624-L644 + # Keep in sync with Chromium's LLVM 22 compatibility patches. + # clang++: error: unknown argument: '-fdiagnostics-show-inlining-chain' + # clang++: error: unknown argument: '-fsanitize-ignore-for-ubsan-feature=array-bounds' # clang++: error: unknown argument: '-fsanitize-ignore-for-ubsan-feature=return' + ./chromium-149-llvm-22.patch + + # ninja: error: 'ar', needed by 'obj/third_party/protobuf/libprotoc_lib.a', + # missing and no known rule to make it (fetchpatch { - name = "chromium-148-revert-build-Add--fsanitizer=return-config.patch"; - # https://chromium-review.googlesource.com/c/chromium/src/+/7629257 - url = "https://chromium.googlesource.com/chromium/src/+/99ba1f5302f9433efdb4df302cb7b7de56c72e4c^!?format=TEXT"; + name = "chromium-150-backport-build--Omit-ar-from-inputs-when-resolved-via--PATH.patch"; + # https://chromium-review.googlesource.com/c/chromium/src/+/7904982 + url = "https://chromium.googlesource.com/chromium/src/+/60f987d8d5f7272793a40290d060b8f50933f825^!?format=TEXT"; decode = "base64 -d"; - revert = true; - hash = "sha256-/qzzxwTdPMwIdsqD/G02S7kKHCj3QxECL+g1WYEaWmU="; - }) - # ERROR Unresolved dependencies. - # //apps:apps(//build/toolchain/linux/unbundle:default) - # needs //build/config/compiler:sanitize_return(//build/toolchain/linux/unbundle:default) - (fetchpatch { - name = "chromium-148-revert-build-Enable--fsanitizer=return-config.patch"; - # https://chromium-review.googlesource.com/c/chromium/src/+/7629258 - url = "https://chromium.googlesource.com/chromium/src/+/9357bfbea03753fe52264c9ec36abe74f48cfef5^!?format=TEXT"; - decode = "base64 -d"; - revert = true; - hash = "sha256-14fTHNh3vGsf4KgeH8uLX+aK3lrjK0VKd1dfK1g7r0I="; + hash = "sha256-MryWxSwBxSIONhl3X1cDxTWwNWy8a4yt/sqkrueSUNs="; }) ]; From 06a4125bce8ca2b61681e22c9b56610a1163c4fd Mon Sep 17 00:00:00 2001 From: Gavin John Date: Fri, 31 Jul 2026 12:29:00 -0400 Subject: [PATCH 04/13] cosmic-wallpapers: use compound license system --- pkgs/by-name/co/cosmic-wallpapers/package.nix | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/co/cosmic-wallpapers/package.nix b/pkgs/by-name/co/cosmic-wallpapers/package.nix index ce5623ea2b27..e7ddf7330560 100644 --- a/pkgs/by-name/co/cosmic-wallpapers/package.nix +++ b/pkgs/by-name/co/cosmic-wallpapers/package.nix @@ -34,18 +34,20 @@ stdenvNoCC.mkDerivation (finalAttrs: { meta = { description = "Wallpapers for the COSMIC Desktop Environment"; homepage = "https://system76.com/cosmic"; - license = with lib.licenses; [ - # A_stormy_stellar_nursery_esa_379309.jpg: https://www.esa.int/ESA_Multimedia/Images/2017/06/A_stormy_stellar_nursery - # webb-inspired-wallpaper-system76.jpg - cc-by-40 + license = + with lib.licenses; + AND [ + # A_stormy_stellar_nursery_esa_379309.jpg: https://www.esa.int/ESA_Multimedia/Images/2017/06/A_stormy_stellar_nursery + # webb-inspired-wallpaper-system76.jpg + cc-by-40 - # otherworldly_earth_nasa_ISS064-E-29444.jpg: https://earthobservatory.nasa.gov/image-use-policy - # phytoplankton_bloom_nasa_oli2_20240121.jpg: https://earthobservatory.nasa.gov/image-use-policy - # orion_nebula_nasa_heic0601a.jpg: https://hubblesite.org/copyright - # tarantula_nebula_nasa_PIA23646.jpg: https://webbtelescope.org/copyright - # round_moons_nasa.jpg: https://www.planetary.org/space-images/the-solar-systems-round-moons - publicDomain - ]; + # otherworldly_earth_nasa_ISS064-E-29444.jpg: https://earthobservatory.nasa.gov/image-use-policy + # phytoplankton_bloom_nasa_oli2_20240121.jpg: https://earthobservatory.nasa.gov/image-use-policy + # orion_nebula_nasa_heic0601a.jpg: https://hubblesite.org/copyright + # tarantula_nebula_nasa_PIA23646.jpg: https://webbtelescope.org/copyright + # round_moons_nasa.jpg: https://www.planetary.org/space-images/the-solar-systems-round-moons + publicDomain + ]; teams = [ lib.teams.cosmic ]; platforms = lib.platforms.unix; }; From db2b32cce36d7ba44e9a307775d6601ef3e3a505 Mon Sep 17 00:00:00 2001 From: baddogssuki-collab Date: Sat, 1 Aug 2026 00:39:17 +0800 Subject: [PATCH 05/13] qq: 2026-07-20 -> 2026-07-30 --- pkgs/by-name/qq/qq/sources.nix | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/qq/qq/sources.nix b/pkgs/by-name/qq/qq/sources.nix index 2eccbf9ae49f..45a99322f586 100644 --- a/pkgs/by-name/qq/qq/sources.nix +++ b/pkgs/by-name/qq/qq/sources.nix @@ -1,26 +1,26 @@ # Generated by ./update.sh - do not update manually! -# Last updated: 2026-07-30 +# Last updated: 2026-08-01 { fetchurl }: { aarch64-darwin = { - version = "6.9.98-2026-07-20"; + version = "6.9.99-2026-07-30"; src = fetchurl { - url = "https://qqdl.gtimg.cn/qqfile/QQNT/9.9.32/release/7ee184e7/QQ_6.9.98_260710_01.dmg"; - hash = "sha256-pDkK46kO5KxcGcDaQptKkgkH4XYEVUrUhxHvIXT1be4="; + url = "https://qqdl.gtimg.cn/qqfile/QQNT/9.9.33/release/57c59cd0/QQ_6.9.99_260730_01.dmg"; + hash = "sha256-9ukIv0kmCpRtfiLoQxyjO5ZhRmYDJZ4j0YpZhCPV/mg="; }; }; aarch64-linux = { - version = "3.2.31-2026-07-20"; + version = "3.2.32-2026-07-30"; src = fetchurl { - url = "https://qqdl.gtimg.cn/qqfile/QQNT/9.9.32/release/c390e792/QQ_3.2.31_260710_arm64_01.deb"; - hash = "sha256-rGBDcfXEhqz2y/g91mfmIu4fSH0Mi9QlYn3m1o/jSXQ="; + url = "https://qqdl.gtimg.cn/qqfile/QQNT/9.9.33/release/c97651b2/QQ_3.2.32_260730_arm64_01.deb"; + hash = "sha256-7MAuJ7CuVaunIfBnHUSpGcJmQ0VmdKGFei0M3oBuDX4="; }; }; x86_64-linux = { - version = "3.2.31-2026-07-20"; + version = "3.2.32-2026-07-30"; src = fetchurl { - url = "https://qqdl.gtimg.cn/qqfile/QQNT/9.9.32/release/c390e792/QQ_3.2.31_260710_amd64_01.deb"; - hash = "sha256-AvZ3/rHOAe0pOjx3YeXdhb15k29X3KpM21MXiuMOPW0="; + url = "https://qqdl.gtimg.cn/qqfile/QQNT/9.9.33/release/c97651b2/QQ_3.2.32_260730_amd64_01.deb"; + hash = "sha256-ga4rhULvUxH8cuz1PJpSOSPINFacew2lLgv0Nguctfk="; }; }; } From f07095d73102a09ad6f9d4bc996b3baeabe17499 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 31 Jul 2026 17:21:04 +0000 Subject: [PATCH 06/13] dolt: 2.2.2 -> 2.2.3 --- pkgs/by-name/do/dolt/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/do/dolt/package.nix b/pkgs/by-name/do/dolt/package.nix index a64297a736d9..25b6d11e48f5 100644 --- a/pkgs/by-name/do/dolt/package.nix +++ b/pkgs/by-name/do/dolt/package.nix @@ -7,18 +7,18 @@ buildGoModule (finalAttrs: { pname = "dolt"; - version = "2.2.2"; + version = "2.2.3"; src = fetchFromGitHub { owner = "dolthub"; repo = "dolt"; tag = "v${finalAttrs.version}"; - hash = "sha256-vy5Bw8hALFlsQAYFoTnk0AX87ebiDDu0nGqVbaZ3P5E="; + hash = "sha256-KCefzDqFMXpqtPPVOyD41hdM9j7p1kftO1cNaGzDT0w="; }; modRoot = "./go"; subPackages = [ "cmd/dolt" ]; - vendorHash = "sha256-DO3lR4sjxFOSiO2YIri8PqH3cpNuxD45FWX7Ushov3s="; + vendorHash = "sha256-CEqdHw9cFLcoewQyd4Y1yXdkSAdaQ/cRyVTxa5qCyMM="; proxyVendor = true; doCheck = false; From 30e4c6ce1ad7bd8f6630edcc88fc325133927aa0 Mon Sep 17 00:00:00 2001 From: Bart Oostveen Date: Fri, 31 Jul 2026 21:13:24 +0200 Subject: [PATCH 07/13] bind: disable tests on loongarch --- pkgs/by-name/bi/bind/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/bi/bind/package.nix b/pkgs/by-name/bi/bind/package.nix index 2b13d020cd6c..616adca2fb72 100644 --- a/pkgs/by-name/bi/bind/package.nix +++ b/pkgs/by-name/bi/bind/package.nix @@ -113,7 +113,7 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; __structuredAttrs = true; - doCheck = with stdenv.hostPlatform; !isStatic && isLinux; + doCheck = with stdenv.hostPlatform; !isStatic && isLinux && !isLoongArch64; checkTarget = "unit"; checkInputs = [ cmocka From 3800e94280a6b0883f8e4909ab0d9c7c796cbde9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 31 Jul 2026 22:35:21 +0000 Subject: [PATCH 08/13] home-assistant-custom-components.local_luftdaten: 2.4.0 -> 2.5.1 --- .../custom-components/local_luftdaten/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/home-assistant/custom-components/local_luftdaten/package.nix b/pkgs/servers/home-assistant/custom-components/local_luftdaten/package.nix index 62031f8dcbce..ad6f5b3939f7 100644 --- a/pkgs/servers/home-assistant/custom-components/local_luftdaten/package.nix +++ b/pkgs/servers/home-assistant/custom-components/local_luftdaten/package.nix @@ -7,13 +7,13 @@ buildHomeAssistantComponent rec { owner = "lichtteil"; domain = "local_luftdaten"; - version = "2.4.0"; + version = "2.5.1"; src = fetchFromGitHub { owner = "lichtteil"; repo = "local_luftdaten"; tag = version; - hash = "sha256-K8sQ/xm9aoJ6EBF9H9Y87m7a0OZN4y6T3DFZcSpPYOI="; + hash = "sha256-VVMTZjxcfq/nAh4FhlDlkmLV45M9y5fkWa5s68Qd8oI="; }; meta = { From 7a797c06f7cfa2f0fa7650ca4155aa841d683cfe Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 31 Jul 2026 23:11:02 +0000 Subject: [PATCH 09/13] home-assistant-custom-components.dreo: 1.10.6 -> 1.11.0 --- .../servers/home-assistant/custom-components/dreo/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/home-assistant/custom-components/dreo/package.nix b/pkgs/servers/home-assistant/custom-components/dreo/package.nix index 6f6ab53c18a7..8746a17150aa 100644 --- a/pkgs/servers/home-assistant/custom-components/dreo/package.nix +++ b/pkgs/servers/home-assistant/custom-components/dreo/package.nix @@ -12,13 +12,13 @@ buildHomeAssistantComponent rec { owner = "JeffSteinbok"; domain = "dreo"; - version = "1.10.6"; + version = "1.11.0"; src = fetchFromGitHub { inherit owner; repo = "hass-dreo"; tag = "v${version}"; - hash = "sha256-vfp5b5g9Rin0zN/eGhFNdxc77ulVKA8QnQNV70BvIy8="; + hash = "sha256-oVAjt5OEknQnZnS1mn31QXqD/drXCt0hGsNt9PhrdFs="; }; dependencies = [ websockets ]; From 5f63e876759c2ff1fbfb05ffbc1f0a1dd9a24299 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 31 Jul 2026 23:24:10 +0000 Subject: [PATCH 10/13] home-assistant-custom-lovelace-modules.material-you-utilities: 2.1.20 -> 2.1.21 --- .../material-you-utilities/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix index 195ae2d85635..61694e1cbefe 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix @@ -6,16 +6,16 @@ buildNpmPackage rec { pname = "material-you-utilities"; - version = "2.1.20"; + version = "2.1.21"; src = fetchFromGitHub { owner = "Nerwyn"; repo = "material-you-utilities"; tag = version; - hash = "sha256-viSavtA0eTiPdCgt00whBLvIL5RZSsC1zpJ0tQmGBRg="; + hash = "sha256-jA27OFyEmxJ8wfOuw54omp87o+ckBvQmznv1cvCM/3o="; }; - npmDepsHash = "sha256-c/ZM2sMG3M4/cTdClu6I3Pnx2GJ/1jFgJVmCKrbiIsI="; + npmDepsHash = "sha256-gLFuF9AsL0QHGFzZFUrIgL5ueFDn3UTcRL8jdw9xQps="; installPhase = '' runHook preInstall From 5e51996eaa2f8264c89f908a0d219ad11de3838d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20=22Capypara=22=20K=C3=B6pcke?= Date: Sat, 1 Aug 2026 01:52:42 +0200 Subject: [PATCH 11/13] sshp: init at 1.1.4 Co-authored-by: Sandro Co-authored-by: h7x4 --- pkgs/by-name/ss/sshp/package.nix | 52 ++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 pkgs/by-name/ss/sshp/package.nix diff --git a/pkgs/by-name/ss/sshp/package.nix b/pkgs/by-name/ss/sshp/package.nix new file mode 100644 index 000000000000..d0e0fea6110b --- /dev/null +++ b/pkgs/by-name/ss/sshp/package.nix @@ -0,0 +1,52 @@ +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "sshp"; + version = "1.1.4"; + + strictDeps = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "bahamas10"; + repo = "sshp"; + tag = "v${finalAttrs.version}"; + hash = "sha256-4DrNGQQ1ETKuLiB3N+3KnRxx4BEhrCOgskpowbF/KWc="; + }; + + outputs = [ + "out" + "man" + ]; + + nativeBuildInputs = [ + installShellFiles + ]; + + installPhase = '' + runHook preInstall + install -D sshp "$out/bin/sshp" + installManPage man/sshp.1 + runHook postInstall + ''; + + meta = { + description = "Parallel SSH Executor"; + mainProgram = "sshp"; + longDescription = '' + sshp manages multiple ssh processes and handles coalescing the output to the terminal. + By default, sshp will read a file of newline-separated hostnames or IPs and fork ssh + subprocesses for them, redirecting the stdout and stderr streams of the child + line-by-line to stdout of sshp itself. + ''; + homepage = "https://github.com/bahamas10/sshp"; + license = lib.licenses.mit; + platforms = with lib.platforms; linux ++ darwin ++ freebsd; + maintainers = with lib.maintainers; [ theCapypara ]; + }; +}) From a430a19c1b8e4ca4e8ac512d94a7453f04955d45 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 1 Aug 2026 02:23:09 +0000 Subject: [PATCH 12/13] fzf: 0.74.1 -> 0.74.2 --- pkgs/by-name/fz/fzf/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fz/fzf/package.nix b/pkgs/by-name/fz/fzf/package.nix index 36c51ab58110..dc2cab4f97ac 100644 --- a/pkgs/by-name/fz/fzf/package.nix +++ b/pkgs/by-name/fz/fzf/package.nix @@ -11,7 +11,7 @@ buildGoModule (finalAttrs: { pname = "fzf"; - version = "0.74.1"; + version = "0.74.2"; __structuredAttrs = true; @@ -19,10 +19,10 @@ buildGoModule (finalAttrs: { owner = "junegunn"; repo = "fzf"; tag = "v${finalAttrs.version}"; - hash = "sha256-Dmd/Vpw/W/pz9Hhkwb22zPQyHGLbs3cDjDHVM8ymkrc="; + hash = "sha256-b/dQOebD8pbg+oX2Q9n4hNqdKgW/xLp4HhoGKp6BaTM="; }; - vendorHash = "sha256-MLuoKPEAqrpCbUphYOCpHdo8MdW5kvueeDU/3loK33Q="; + vendorHash = "sha256-NojjUf/3c4q4B96eQ/qcI+GdRvHakHUyMRaQ6/IZpEw="; env.CGO_ENABLED = 0; From 8fb237ffd2da92f4eb36ea950120cc2dd110c951 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Le=C3=B3n=20Bohn?= Date: Fri, 24 Jul 2026 22:42:17 +0200 Subject: [PATCH 13/13] python3Package.paho-mqtt: backport fix for flaky tests During testing, MQTT clients are spawned as subprocesses and then stopped via SIGINT. Whether or not the SIGINT signal arrives before or after the client has completed the initial setup and reached its `loop_forever()` or `wait_for_keyboard_input()` call is timing-dependent. This limitaiton is known by the upstream developers (as witnessed by the comment in the custom implementation of `wait_for_keyboard_interrupt`). As a consequence, people are getting failures during teardown for different tests depending on the machine as the timing is slightly different, see #542586. This has been fixed upstream in eclipse-paho/paho.mqtt.python#934 by introducing a signaling mechanism. This PR backports the fix. Assited-by: Claude Sonnet 5 --- .../python-modules/paho-mqtt/default.nix | 5 + .../fix-flaky-tests-backport-934.patch | 184 ++++++++++++++++++ 2 files changed, 189 insertions(+) create mode 100644 pkgs/development/python-modules/paho-mqtt/fix-flaky-tests-backport-934.patch diff --git a/pkgs/development/python-modules/paho-mqtt/default.nix b/pkgs/development/python-modules/paho-mqtt/default.nix index d54bc7dd25ac..e597e41a23a3 100644 --- a/pkgs/development/python-modules/paho-mqtt/default.nix +++ b/pkgs/development/python-modules/paho-mqtt/default.nix @@ -35,6 +35,11 @@ buildPythonPackage rec { url = "https://github.com/eclipse-paho/paho.mqtt.python/pull/931.diff"; hash = "sha256-A7rWwpR4PnCi77F1VqsQKHBxHNrdeHgmVM6BGMeUpjs="; }) + # backports an upstream fix for flaky tests as repoted here: + # https://github.com/NixOS/nixpkgs/issues/542586 + # the fix has already landed in master of paho-mqtt: + # https://github.com/eclipse-paho/paho.mqtt.python/pull/934 + ./fix-flaky-tests-backport-934.patch ]; build-system = [ diff --git a/pkgs/development/python-modules/paho-mqtt/fix-flaky-tests-backport-934.patch b/pkgs/development/python-modules/paho-mqtt/fix-flaky-tests-backport-934.patch new file mode 100644 index 000000000000..dd7511d61c56 --- /dev/null +++ b/pkgs/development/python-modules/paho-mqtt/fix-flaky-tests-backport-934.patch @@ -0,0 +1,184 @@ +diff --git a/tests/lib/conftest.py b/tests/lib/conftest.py +index 98bbebe..5999085 100644 +--- a/tests/lib/conftest.py ++++ b/tests/lib/conftest.py +@@ -2,6 +2,7 @@ import os + import signal + import subprocess + import sys ++import time + + import pytest + +@@ -45,7 +46,29 @@ def alpn_ssl_server_socket(monkeypatch, ssl_certs_path): + yield from _yield_server(monkeypatch, create_server_socket_ssl(path=ssl_certs_path, alpn_protocols=["paho-test-protocol"])) + + +-def stop_process(proc: subprocess.Popen) -> None: ++def terminate_process(proc: subprocess.Popen) -> None: ++ proc.terminate() ++ try: ++ # At least on Unix, terminate() isn't an unconditional kill, process ++ # could ignore/handle it. ++ proc.wait(1) ++ except subprocess.TimeoutExpired: ++ # So use kill which is unstoppable on Unix ++ proc.kill() ++ proc.wait(1) # If here we timeout, there is nothing more to do. ++ ++ ++def stop_process(proc: subprocess.Popen, ready_file) -> None: ++ deadline = time.monotonic() + 5 ++ while proc.poll() is None and not ready_file.exists(): ++ if time.monotonic() >= deadline: ++ terminate_process(proc) ++ raise RuntimeError("Client did not become ready to stop") ++ time.sleep(0.01) ++ ++ if proc.poll() is not None: ++ return ++ + if sys.platform == "win32": + proc.send_signal(signal.CTRL_C_EVENT) + else: +@@ -53,17 +76,19 @@ def stop_process(proc: subprocess.Popen) -> None: + try: + proc.wait(5) + except subprocess.TimeoutExpired: +- proc.terminate() ++ terminate_process(proc) + + + @pytest.fixture() +-def start_client(request: pytest.FixtureRequest, ssl_certs_path): ++def start_client(request: pytest.FixtureRequest, ssl_certs_path, tmp_path): + def starter(name: str, expected_returncode: int = 0) -> None: + client_path = clients_path / name + if not client_path.exists(): + raise FileNotFoundError(client_path) ++ ready_file = tmp_path / f"{name}.ready" + env = dict( + os.environ, ++ PAHO_TEST_READY_FILE=str(ready_file), + PAHO_SSL_PATH=str(ssl_certs_path), + PYTHONPATH=f"{tests_path}{os.pathsep}{os.environ.get('PYTHONPATH', '')}", + ) +@@ -74,7 +99,7 @@ def start_client(request: pytest.FixtureRequest, ssl_certs_path): + ], env=env) + + def fin(): +- stop_process(proc) ++ stop_process(proc, ready_file) + if proc.returncode != expected_returncode: + raise RuntimeError(f"Client {name} exited with code {proc.returncode}, expected {expected_returncode}") + +diff --git a/tests/paho_test.py b/tests/paho_test.py +index 3df996e..188ceef 100644 +--- a/tests/paho_test.py ++++ b/tests/paho_test.py +@@ -402,6 +402,11 @@ def pack_remaining_length(remaining_length): + if remaining_length == 0: + return s + ++def signal_client_ready(): ++ ready_file = os.environ.get("PAHO_TEST_READY_FILE") ++ if ready_file is not None: ++ with open(ready_file, "w"): ++ pass + + def loop_until_keyboard_interrupt(mqttc): + """ +@@ -413,6 +418,7 @@ def loop_until_keyboard_interrupt(mqttc): + and stop the client gracefully. + """ + try: ++ signal_client_ready() + while True: + mqttc.loop() + except KeyboardInterrupt: +@@ -431,6 +437,7 @@ def wait_for_keyboard_interrupt(): + """ + yield # If we get a KeyboardInterrupt during the block, it's too soon! + try: ++ signal_client_ready() + while True: + time.sleep(0.1) + except KeyboardInterrupt: +diff --git a/tests/test_client.py b/tests/test_client.py +index 09e4606..86652ca 100644 +--- a/tests/test_client.py ++++ b/tests/test_client.py +@@ -864,19 +864,19 @@ class TestCompatibility: + disconnect_packet = paho_test.gen_disconnect() + fake_broker.expect_packet("disconnect", disconnect_packet) + +- assert callback_called == [ +- "on_connect", +- "on_subscribe", +- "on_publish", +- "on_message", +- "on_unsubscribe", +- "on_disconnect", +- ] +- + finally: + mqttc.disconnect() + mqttc.loop_stop() + ++ assert callback_called == [ ++ "on_connect", ++ "on_subscribe", ++ "on_publish", ++ "on_message", ++ "on_unsubscribe", ++ "on_disconnect", ++ ] ++ + packet_in = fake_broker.receive_packet(1) + assert not packet_in # Check connection is closed + +@@ -1004,18 +1004,18 @@ class TestCompatibility: + disconnect_packet = paho_test.gen_disconnect() + fake_broker.expect_packet("disconnect", disconnect_packet) + +- assert callback_called == [ +- "on_connect", +- "on_subscribe", +- "on_publish", +- "on_message", +- "on_unsubscribe", +- "on_disconnect", +- ] +- + finally: + mqttc.disconnect() + mqttc.loop_stop() + ++ assert callback_called == [ ++ "on_connect", ++ "on_subscribe", ++ "on_publish", ++ "on_message", ++ "on_unsubscribe", ++ "on_disconnect", ++ ] ++ + packet_in = fake_broker.receive_packet(1) + assert not packet_in # Check connection is closed +diff --git a/tests/testsupport/broker.py b/tests/testsupport/broker.py +index e08cf73..a587599 100644 +--- a/tests/testsupport/broker.py ++++ b/tests/testsupport/broker.py +@@ -59,8 +59,10 @@ class FakeBroker: + if self._conn is None: + raise ValueError('Connection is not open') + +- packet_in = self._conn.recv(num_bytes) +- return packet_in ++ try: ++ return self._conn.recv(num_bytes) ++ except ConnectionResetError: ++ return b"" + + def send_packet(self, packet_out): + if self._conn is None: