Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2026-08-01 06:51:19 +00:00
committed by GitHub
19 changed files with 451 additions and 170 deletions

View File

@@ -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

View File

@@ -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;
};

View File

@@ -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;

View File

@@ -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;

View File

@@ -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=";
};
};
}

View File

@@ -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") {

View File

@@ -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 = [

View File

@@ -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

View File

@@ -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<string, string>([]);
@@ -34,7 +34,2 @@ const OPTIONAL_ASSETS = new Map<string, string>([]);
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

View File

@@ -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

View File

@@ -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"

View File

@@ -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=";
})
];

View File

@@ -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 ];
};
})

View File

@@ -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"

View File

@@ -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 = [

View File

@@ -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:

View File

@@ -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 ];

View File

@@ -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 = {

View File

@@ -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