diff --git a/pkgs/by-name/si/signal-desktop/package.nix b/pkgs/by-name/si/signal-desktop/package.nix index 0ff11ef9c128..86e080410ce5 100644 --- a/pkgs/by-name/si/signal-desktop/package.nix +++ b/pkgs/by-name/si/signal-desktop/package.nix @@ -11,6 +11,7 @@ pnpmBuildHook, electron_43, python3, + rustPackages_1_97, makeWrapper, callPackage, fetchFromGitHub, @@ -39,19 +40,20 @@ let libsignal-node = callPackage ./libsignal-node.nix { inherit nodejs; }; signal-sqlcipher = callPackage ./signal-sqlcipher.nix { pnpm = pnpm_10; + inherit (rustPackages_1_97) cargo rustPlatform; inherit nodejs; }; webrtc = callPackage ./webrtc.nix { }; ringrtc = callPackage ./ringrtc.nix { inherit webrtc; }; - version = "8.25.0"; + version = "8.26.0"; src = fetchFromGitHub { owner = "signalapp"; repo = "Signal-Desktop"; tag = "v${version}"; - hash = "sha256-eP6EsTUnKgSh1QcAged/rr0Y/9I2P2fJnSQ1666Ddic="; + hash = "sha256-GgNFy7ZNft4rwTmS+OGp4eis6izlc7RGubnmSc8OeKc="; # Emoji font files will be added in `postFetch` if `withAppleEmojis` is enabled. They # are fetched separately below. postFetch = '' @@ -84,7 +86,7 @@ let pnpm config set fetch-timeout 300000 ''; fetcherVersion = 4; - hash = "sha256-y3OVpWiWIUsq4mfjZqar88LCEzu0d2isTT+9DowzTFY="; + hash = "sha256-9LC62SFDnP4GMDqsP8NcSiACUA+BkPwnbdmNnvJ8gKg="; }; strictDeps = true; @@ -191,7 +193,7 @@ stdenv.mkDerivation (finalAttrs: { pnpm config set fetch-timeout 300000 ''; fetcherVersion = 4; - hash = "sha256-y3OVpWiWIUsq4mfjZqar88LCEzu0d2isTT+9DowzTFY="; + hash = "sha256-9LC62SFDnP4GMDqsP8NcSiACUA+BkPwnbdmNnvJ8gKg="; }; env = { @@ -199,7 +201,7 @@ stdenv.mkDerivation (finalAttrs: { SIGNAL_ENV = "production"; # Signal enforces that builds expire 90 days after the last source code change to disallow sending messages from older versions. # We set the source-changed date to match the corresponding upstream release date. - SOURCE_DATE_EPOCH = 1787765339; + SOURCE_DATE_EPOCH = 1788454304; }; preBuild = '' diff --git a/pkgs/by-name/si/signal-desktop/ringrtc.nix b/pkgs/by-name/si/signal-desktop/ringrtc.nix index 82f3ba2712d4..6ed3a4e08334 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.70.2"; + version = "2.71.0"; src = fetchFromGitHub { owner = "signalapp"; repo = "ringrtc"; tag = "v${finalAttrs.version}"; - hash = "sha256-mHve5E7i9uwx4cZbgRWm8J7+zJbgB6KIw2JqAhjxgoE="; + hash = "sha256-MIDdQ23W+IozPoQpycI1xaBwgugCbRtP3HTZMdxUjBU="; }; - cargoHash = "sha256-Yz8CXMvKunM8u940vWK1M7X6DrPXCGWV9gQ+cv/81LY="; + cargoHash = "sha256-VqBm9szPsO6uIpjMSvjV5sWL+amF+lGdDLkOieT7diQ="; preConfigure = '' # Check for matching webrtc version diff --git a/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix b/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix index 4655703dc765..c74013431468 100644 --- a/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix +++ b/pkgs/by-name/si/signal-desktop/signal-sqlcipher.nix @@ -16,13 +16,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "node-sqlcipher"; - version = "4.0.5"; + version = "4.1.0"; src = fetchFromGitHub { owner = "signalapp"; repo = "node-sqlcipher"; tag = "v${finalAttrs.version}"; - hash = "sha256-V+f6cNBHZLBKzrcDg5jMEjcs1TjpoG8mQRG2rG+aT3E="; + hash = "sha256-llNSPeZG3gpajxdu+RAyoNhMQThhl9qPFdS9SfipYHs="; }; pnpmDeps = fetchPnpmDeps { @@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: { cargoDeps = rustPlatform.fetchCargoVendor { name = "sqlcipher-signal-exentsion"; inherit (finalAttrs) src cargoRoot; - hash = "sha256-RF+SHIobW5UAz0MM6c50Ewp9XignCBs6U7IhyZJixbk="; + hash = "sha256-81IYGJ85pNcWDzbTUlq6rQPrOtetXo2Na4rMOPxoECY="; }; strictDeps = true; diff --git a/pkgs/by-name/si/signal-desktop/webrtc-sources.json b/pkgs/by-name/si/signal-desktop/webrtc-sources.json index 330db897c916..0c2bc8f670f2 100644 --- a/pkgs/by-name/si/signal-desktop/webrtc-sources.json +++ b/pkgs/by-name/si/signal-desktop/webrtc-sources.json @@ -1,10 +1,10 @@ { "src": { "args": { - "hash": "sha256-UbMIbMpzNmZ1VsCjyGD1SRuBJQEH56peH1GhivHZroM=", + "hash": "sha256-nWgSnz6M0+SUGSd2mUnp43enRIVJ5EzmCBdQ0xFGn1k=", "owner": "signalapp", "repo": "webrtc", - "tag": "7871e" + "tag": "7871f" }, "fetcher": "fetchFromGitHub" }, diff --git a/pkgs/by-name/si/signal-desktop/webrtc.nix b/pkgs/by-name/si/signal-desktop/webrtc.nix index f1ee17439df6..5c8d719a9190 100644 --- a/pkgs/by-name/si/signal-desktop/webrtc.nix +++ b/pkgs/by-name/si/signal-desktop/webrtc.nix @@ -125,6 +125,15 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail "libpulse.so.0" "${pulseaudio}/lib/libpulse.so.0" '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + # NASM's bundled macOS config enables endian APIs unavailable in our SDK. + # Use machine/endian.h and NASM's own byte-order conversion functions. + for feature in HAVE_ENDIAN_H HAVE_SYS_ENDIAN_H \ + HAVE_HTOBE16 HAVE_HTOBE32 HAVE_HTOBE64 \ + HAVE_HTOLE16 HAVE_HTOLE32 HAVE_HTOLE64; do + substituteInPlace third_party/nasm/config/config-mac.h \ + --replace-fail "#define $feature 1" "/* #undef $feature */" + done + # Fix Darwin Python script shebangs for sandbox builds patchShebangs build/mac/should_use_hermetic_xcode.py build/toolchain/apple/linker_driver.py