···43 at-spi2-core,
44 libappindicator-gtk3,
45 libgbm,
046 # Runtime dependencies:
47 systemd,
48 libnotify,
···86 runHook postInstall
87 '';
88 });
00000000089in
90stdenv.mkDerivation rec {
91 inherit pname version;
···124 asar extract "$out/${libdir}/resources/app.asar" $out/asar-contents
125 rm -r \
126 "$out/${libdir}/resources/app.asar"{,.unpacked} \
127- $out/asar-contents/node_modules/emoji-datasource-apple
0128 '';
129 };
130···136 # override doesn't preserve splicing https://github.com/NixOS/nixpkgs/issues/132651
137 # Has to use `makeShellWrapper` from `buildPackages` even though `makeShellWrapper` from the inputs is spliced because `propagatedBuildInputs` would pick the wrong one because of a different offset.
138 (buildPackages.wrapGAppsHook3.override { makeWrapper = buildPackages.makeShellWrapper; })
0139 ];
140141 buildInputs = [
···208 # Create required symlinks:
209 ln -s libGLESv2.so "$out/lib/signal-desktop/libGLESv2.so.2"
2100000211 # Copy the Noto Color Emoji PNGs into the ASAR contents. See `src`
212 # for the motivation, and the script for the technical details.
213 emojiPrefix=$(
···270271 # Various npm packages
272 lib.licenses.free
000273 ];
274 maintainers = with lib.maintainers; [
275 mic92
···43 at-spi2-core,
44 libappindicator-gtk3,
45 libgbm,
46+ libwebp,
47 # Runtime dependencies:
48 systemd,
49 libnotify,
···87 runHook postInstall
88 '';
89 });
90+91+ noto-emoji-sheet-32 = fetchurl {
92+ url = "https://raw.githubusercontent.com/iamcal/emoji-data/refs/tags/v15.1.2/sheet_google_32.png";
93+ hash = "sha256-S03NCTbvB5yeQl62WpLNjNGhjNErtgaOB6tAj/X8vPc=";
94+ };
95+ noto-emoji-sheet-64 = fetchurl {
96+ url = "https://raw.githubusercontent.com/iamcal/emoji-data/refs/tags/v15.1.2/sheet_google_64.png";
97+ hash = "sha256-kZYStR5xAuausSpOD6wJZRJZ1K6nPpweE3aYSgWntS4=";
98+ };
99in
100stdenv.mkDerivation rec {
101 inherit pname version;
···134 asar extract "$out/${libdir}/resources/app.asar" $out/asar-contents
135 rm -r \
136 "$out/${libdir}/resources/app.asar"{,.unpacked} \
137+ $out/asar-contents/images/emoji-sheet-32.webp \
138+ $out/asar-contents/images/emoji-sheet-64.webp
139 '';
140 };
141···147 # override doesn't preserve splicing https://github.com/NixOS/nixpkgs/issues/132651
148 # Has to use `makeShellWrapper` from `buildPackages` even though `makeShellWrapper` from the inputs is spliced because `propagatedBuildInputs` would pick the wrong one because of a different offset.
149 (buildPackages.wrapGAppsHook3.override { makeWrapper = buildPackages.makeShellWrapper; })
150+ libwebp
151 ];
152153 buildInputs = [
···220 # Create required symlinks:
221 ln -s libGLESv2.so "$out/lib/signal-desktop/libGLESv2.so.2"
222223+ # Compress the emoji sheets to webp, as signal expects webp images. The flags used are the same as those used upstream.
224+ cwebp -progress -mt -preset icon -alpha_filter best -alpha_q 20 -pass 10 -q 75 ${noto-emoji-sheet-32} -o asar-contents/images/emoji-sheet-32.webp
225+ cwebp -progress -mt -preset icon -alpha_filter best -alpha_q 20 -pass 10 -q 75 ${noto-emoji-sheet-64} -o asar-contents/images/emoji-sheet-64.webp
226+227 # Copy the Noto Color Emoji PNGs into the ASAR contents. See `src`
228 # for the motivation, and the script for the technical details.
229 emojiPrefix=$(
···286287 # Various npm packages
288 lib.licenses.free
289+290+ lib.licenses.asl20 # noto-emoji
291+ lib.licenses.mit # emoji-data
292 ];
293 maintainers = with lib.maintainers; [
294 mic92