diff --git a/pkgs/by-name/si/signal-desktop/package.nix b/pkgs/by-name/si/signal-desktop/package.nix index bc85b6048099..9fd84b6a07e2 100644 --- a/pkgs/by-name/si/signal-desktop/package.nix +++ b/pkgs/by-name/si/signal-desktop/package.nix @@ -60,7 +60,10 @@ let owner = "signalapp"; repo = "Signal-Desktop"; tag = "v${version}"; - hash = "sha256-hzeioXrO9kdFFTGhhY4klrCxRgS1eoGY7+7fTGsN4cY="; + hash = "sha256-r1RB6vtG2mdRJifaKNrmQvxJxXOqkpHoWivvPPpesow="; + postCheckout = '' + git -C "$out" show -s --format=%ct > "$out"/GIT_COMMIT_TIME + ''; }; sticker-creator = stdenv.mkDerivation (finalAttrs: { @@ -127,6 +130,10 @@ stdenv.mkDerivation (finalAttrs: { # it at runtime. substituteInPlace app/updateDefaultSession.main.ts \ --replace-fail "\''${process.versions.electron}" "`jq -r '.devDependencies.electron' < package.json`" + + # https://github.com/signalapp/Signal-Desktop/issues/7667 + substituteInPlace ts/util/version.std.ts \ + --replace-fail 'isAdhoc(version)' 'true' ''; pnpmDeps = fetchPnpmDeps { @@ -148,9 +155,12 @@ stdenv.mkDerivation (finalAttrs: { env = { ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; SIGNAL_ENV = "production"; - SOURCE_DATE_EPOCH = 1766066770; }; + preConfigure = '' + export SOURCE_DATE_EPOCH=`cat GIT_COMMIT_TIME` + ''; + preBuild = '' if [ "`jq -r '.engines.node' < package.json | cut -d. -f1`" != "${lib.versions.major nodejs.version}" ] then diff --git a/pkgs/by-name/si/signal-desktop/update.sh b/pkgs/by-name/si/signal-desktop/update.sh index d4dca6e74ef8..a39078678c1d 100755 --- a/pkgs/by-name/si/signal-desktop/update.sh +++ b/pkgs/by-name/si/signal-desktop/update.sh @@ -13,8 +13,6 @@ releaseInfo="`curl_github \ "https://api.github.com/repos/signalapp/Signal-Desktop/releases/latest"`" releaseTag="`jq -r ".tag_name" <<< $releaseInfo`" -releaseDate="`jq -r ".created_at" <<< $releaseInfo`" -releaseEpoch=`date -d $releaseDate +%s` packageJson="`curl_github "https://raw.githubusercontent.com/signalapp/Signal-Desktop/refs/tags/$releaseTag/package.json"`" @@ -29,7 +27,6 @@ webrtcVersion="`grep --only-matching "^webrtc.version=.*$" <<< $ringrtcVersionPr sed -E -i "s/(nodejs_)../\1$nodeVersion/" $SCRIPT_DIR/package.nix sed -E -i "s/(electron_)../\1$electronVersion/" $SCRIPT_DIR/package.nix -sed -E -i "s/(SOURCE_DATE_EPOCH = )[0-9]+/\1$releaseEpoch/" $SCRIPT_DIR/package.nix sed -E -i "s/(withAppleEmojis \? )false/\1true/" $SCRIPT_DIR/package.nix nix-update signal-desktop --subpackage sticker-creator --version="$latestVersion"