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 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; }; 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; 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; 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="; }; }; } 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="; }) ]; 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 ]; + }; +}) diff --git a/pkgs/development/compilers/binaryen/default.nix b/pkgs/development/compilers/binaryen/default.nix index 8bc21cff7a10..8868590af83f 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 @@ -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" 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: 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 ]; 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 = { 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