[3.19] backports/signal-desktop: upgrade to 7.22.2 #592

Merged
forge merged 1 commit from signal-destop/upgrade-7.22.2-319 into v3.19 2024-09-05 23:11:25 +00:00
5 changed files with 83 additions and 48 deletions
Showing only changes of commit 43367b302d - Show all commits

View file

@ -1,7 +1,7 @@
# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
pkgname=signal-desktop
pkgver=7.14.0
pkgver=7.22.2
pkgrel=0
pkgdesc="A messaging app for simple private communication with friends"
url="https://github.com/signalapp/Signal-Desktop/"
@ -42,6 +42,7 @@ makedepends="
libsecret-dev
libvpx-dev
libwebp-dev
libxml2-dev
lld
llvm-dev
mesa-dev
@ -63,14 +64,14 @@ makedepends="
options="net !check"
# follow signal-desktop package.json -> @signalapp/libsignal-client
_libsignalver=0.51.1
_libsignalver=0.55.1
# follow signal-desktop package.json -> @signalapp/ringrtc
_ringrtcver=2.44.0
_ringrtcver=2.46.1
# follow ringrtc (on version above) -> config/version.properties -> webrtc.version
# downloading tarball generated with abuild snapshot (with gclient dependencies fetched)
_webrtcver=6261l
_webrtcver=6478j
# follow @signalapp/better-sqlite3 (on version in package.json) -> deps/download.js -> TOKENIZER_VERSION
# last bsqlite version: 8.7.1
@ -80,7 +81,7 @@ source="
https://github.com/signalapp/Signal-Desktop/archive/refs/tags/v$pkgver/Signal-Desktop-$pkgver.tar.gz
https://github.com/signalapp/libsignal/archive/refs/tags/v$_libsignalver/libsignal-$_libsignalver.tar.gz
https://github.com/signalapp/ringrtc/archive/refs/tags/v$_ringrtcver/ringrtc-$_ringrtcver.tar.gz
https://ab-sn.lnl.gay/webrtc-$_webrtcver.tar.zst
https://ayakael.net/api/packages/mirrors/generic/webrtc/$_webrtcver/webrtc-$_webrtcver.tar.zst
https://github.com/signalapp/Signal-FTS5-Extension/archive/refs/tags/v$_stokenizerver/stokenizer-$_stokenizerver.tar.gz
bettersqlite-use-system-sqlcipher.patch
@ -89,9 +90,10 @@ source="
signal-update-links.patch
signal-show-window-please.patch
ringrtc-webrtc-renamed.patch
webrtc-shared-like-my-wife.patch
webrtc-shared-libs.patch
webrtc-compiler.patch
webrtc-gcc13.patch
webrtc-boringssl-c7019036-do-not-define-crypto_addc.patch
signal-desktop
"
@ -194,8 +196,7 @@ prepare() {
done
msg "Installing signal-desktop JS dependencies"
echo 'ignore-engines true' > .yarnrc
yarn --ignore-scripts --frozen-lockfile
npm ci --ignore-scripts
(
cd "$srcdir"/webrtc-$_webrtcver
@ -282,7 +283,7 @@ prepare() {
cd "$srcdir"/ringrtc-$_ringrtcver/src/node
msg "Installing ringrtc js dependencies"
yarn --frozen-lockfile --ignore-scripts
npm ci --ignore-scripts
)
(
@ -292,7 +293,7 @@ prepare() {
sed -i 's/unknown-linux-gnu/alpine-linux-musl/g' binding.gyp
msg "Installing libsignal js dependencies"
yarn --ignore-scripts --frozen-lockfile
npm install --ignore-scripts
)
# remove shipped fonts for system-provided (part 1)
@ -358,10 +359,11 @@ build() {
(
cd "$srcdir"/ringrtc-$_ringrtcver/src/node
msg "Building ringrtc JS glue code"
yarn build
npm ci --ignore-scripts
npm run build
msg "Cleaning dev dependencies for ringrtc"
yarn --ignore-scripts --frozen-lockfile --production
npm prune --ignore-scripts --omit=dev
)
# module on npm intentionally unbuildable: https://github.com/signalapp/libsignal/issues/464#issuecomment-1160665052
@ -369,17 +371,18 @@ build() {
cd "$srcdir"/libsignal-$_libsignalver/node
msg "Building libsignal"
yarn node-gyp configure --nodedir=/usr/include/electron/node_headers --build-from-source
yarn node-gyp build --nodedir=/usr/include/electron/node_headers --build-from-source
node-gyp configure --nodedir=/usr/include/electron/node_headers --build-from-source
node-gyp build --nodedir=/usr/include/electron/node_headers --build-from-source
mkdir -p prebuilds/linux-$chromium_arch
mv build/Release/libsignal_client_linux_$chromium_arch.node prebuilds/linux-$chromium_arch/node.napi.node
msg "Building libsignal glue code"
yarn tsc
npm ci --ignore-scripts
npm run tsc
msg "Cleaning dev dependencies for libsignal"
yarn --ignore-scripts --frozen-lockfile --production
npm prune -ignore-scripts --omit=dev
)
(
@ -391,31 +394,21 @@ build() {
)
# from package.json postinstall
yarn build:acknowledgments
yarn patch-package
npm run build:acknowledgments
npm exec patch-package
rm -rf node_modules/dtrace-provider
# get esbuild installed (needed for next step)
npm rebuild esbuild
npm install esbuild
# build front
NODE_ENV=production \
SIGNAL_ENV=production \
NODE_OPTIONS=--openssl-legacy-provider \
yarn build:dev
npm run build:dev
# purge non-production deps
yarn install --ignore-scripts --frozen-lockfile --production
# XXX: the previous step undoes the patches. and removes the patch applier.
# please force me to just implement packaging without dev modules in tasje. -lnl
for x in patches/*.patch; do
# some of these patches are made for devDependencies
if [ -d "$(grep -Eo 'node_modules/(@[a-z\d_-]+/)?[a-z\d_-]+/' "$x" | head -n1)" ]; then
msg "$x"
patch -Np1 -i ./"$x"
fi
done
npm prune --ignore-scripts --omit=dev
# use our libsignal
rm -rf node_modules/@signalapp/libsignal-client/
@ -450,7 +443,7 @@ build() {
check() {
# tests run against downloaded build of electron for glibc, probably can be patched
yarn test
npm run test
}
package() {
@ -471,19 +464,20 @@ package() {
}
sha512sums="
44374149f9e0e6ebad0e8f1e6bef3fd7b5d0d8d8f28b15e25b83270164eae2175e6932fccb3de505422e656f2b55bbcbb16e488f31ba47f1c0a0e220f22085fd Signal-Desktop-7.14.0.tar.gz
6fb2084cff88aa18019e7117cf06ff5c29e63c1de6a31caf38c1e3f07225919ca86085c46a99b13973b3626e833fc2bb28d2134a62a1cb707e38ddae3efb295a libsignal-0.51.1.tar.gz
097fe40bff8165f0e0f55790556d8b08d3ed8e4fa71dfa23be5e2cd88e5deaee4ae1029e64a75b72ac942cbd414a678e6950863523709294ebe6f7c02d86fae1 ringrtc-2.44.0.tar.gz
dc2acaf14b01821ae04d5fe578d37c09cda73191b76e94cce8c94558f944c61c95b092abf2c71a6eed1ae90ffc6990c5f258a957471e0e3981853efdb3fce18a webrtc-6261l.tar.zst
20d09f64ddb8e42f314aa1538df55e4fa18b1b1b647a1434bd38122fe26cbf18c699f81d415e751dbec1888d0eb5020fb366129bf293cd28e26eaacf456bcbfb Signal-Desktop-7.22.2.tar.gz
2179eb6862ceb9e3a1df04a4e9b9bb3d64ce84f017d3048f0aaafdd4960843230216443139ff1a8127b6901e9859a2f2ed59e12f2ba9ffc906f79107d7fc161f libsignal-0.55.1.tar.gz
c941e7016e96acbba615a9ba12d91882f83b64656b40b6de26e1dc21abf4aea29ed49459c5bd60e43df65a93103cb6878d3d7bb17c597fd88a807c3f6e71c41e ringrtc-2.46.1.tar.gz
0de4999800eea98bd38d785fcf6683a6f431f98483ca91dcf8ca721d5eecd197043db564bacd2dc583442fe3b43affda61c02230b044b4d4c05fbb6e11741ea5 webrtc-6478j.tar.zst
84a1f2fc29262a12842e94698d124a85b823128e72a493b0be8ea92fbb72c5c268499f4a6827cdedaae06ec73cce4039a39fe5c5d536cbef330e59ba0183da28 stokenizer-0.2.1.tar.gz
be5b4e823543b79175a12314f10c6326d9f0d59f470136962daed4665887006acc05b48b40dc1b67747396d8f6f7d23be298c1e110ccdd35ff9b09d5e6b80bab bettersqlite-use-system-sqlcipher.patch
fb7c5c193eb9256ca71b260dd58eaef180f8201b2b7660d6ba1c598213cdbadda5dd56823b8ecca739267fa9eeadaec9443cc678738f496725011492ebca7438 libsignal-auditable.patch
2e5fadff725f1d62e7134c8929c672ec88cae602b065480f1b799d34160daa0cb1ad0f5511e60676f81464ae8752c3bec7b3d7bc5a432533be004b4d20ac32c2 libsignal-auditable.patch
152435231cdcf52a17a9e24aadf95d77511258e818172941ba074a73a90a541f0136feb58868674f2bcb19191a6d12933fe6cd5baf3ee99e508915c72523163b signal-disable-updates.patch
d50eb5724502df9ea4d795db8cfc27af767c25168d7db2af512e615be7cc2ca290210a9ae78e1abb153c0198677e858ad3d74926c958099d0319295e7d9e7f1d signal-update-links.patch
646d303fe58cae3f0896ae0275a66695b902fae6ddde7c568cc9798157dee9f45ceff907bc951fadc4c511d512a73d114b4e4f7c8914e2311c63929d29e1621a signal-show-window-please.patch
bfc8acdd13aa48d29c7657311733cc9d33c4899782efbd1ef6d25ad1698be4de7cc67e829324bc0309715d69ae37ea9f782cf54887317e817213e110d73d68e7 signal-show-window-please.patch
b11fdd930943ca327650e4738ed85cd6b5eea779455a5895bccebba98e449bafc6b0f09bcf4545f2b2e16644355664e9768dd6d4d62f87619207c430367f72c5 ringrtc-webrtc-renamed.patch
9d92389637cdda83a0a7039fa6c52516d7bc491d0b1e42d5374b9d1f4fa7b9c930642f2dca896da17a2dc3344fa1bb97434c8dddd0539a4fedfd0dec809fc875 webrtc-shared-like-my-wife.patch
f4e80ed7e67b98d6988c69ab5025286be17db29dc90f90bf837133cd8ae737f46293e6a2432b02f98c300ed461653b5a66801ff957a418c6a7c33877e3fe0443 webrtc-shared-libs.patch
e07ae8544988d402aaf0fbd95ea36a64c94c59566c561132578aa6dcf8ff11a34058530e64dc204e5cadc2482f1401e74b32384a144e5e08017c663d0cf7c2fc webrtc-compiler.patch
88515d8b8cc82355c9f9b0f44fac83b7ff149b13e9fb102fd46036ec5234cfb2385fa5ad58a0520ee604b93dc4ddd6ae18a7005978ef207841645724ef7a9749 webrtc-gcc13.patch
2721dce75ed1b6cd8bff129cd90d05ea07ce61cafd9145913748cb1f4e58d4c042c3c43efc578ad84e15624937b7ed67b8d5fec3d764e7feb26ff28f86cacd77 webrtc-boringssl-c7019036-do-not-define-crypto_addc.patch
87534e7b5ad7365509eab75629e6bd1a9ed61ee92f7e358405a0abaf0df57de14623fb3894eb082f8785422e5c087e1c50f9e2e5cafbb2529591fd7bf447f7f5 signal-desktop
"

View file

@ -1,6 +1,8 @@
--- ./node/build_node_bridge.py.orig
+++ ./node/build_node_bridge.py
@@ -67,7 +67,7 @@
diff --git a/node/build_node_bridge.py.orig b/node/build_node_bridge.py
index e75c2d0..3bdb328 100755
--- a/node/build_node_bridge.py.orig
+++ b/node/build_node_bridge.py
@@ -97,7 +97,7 @@ def main(args: Optional[List[str]] = None) -> int:
if 'npm_config_libsignal_debug_level_logs' not in os.environ:
features.append('log/release_max_level_info')

View file

@ -1,11 +1,13 @@
--- ./app/main.ts.orig
+++ ./app/main.ts
@@ -721,7 +721,7 @@
const titleBarOverlay = await getTitleBarOverlay();
diff --git a/app/main.ts.orig b/app/main.ts
index aa1bec8..bd7c1d5 100644
--- a/app/main.ts.orig
+++ b/app/main.ts
@@ -690,7 +690,7 @@ async function createWindow() {
: DEFAULT_HEIGHT;
const windowOptions: Electron.BrowserWindowConstructorOptions = {
- show: false,
+ show: true,
width: DEFAULT_WIDTH,
height: DEFAULT_HEIGHT,
width,
height,
minWidth: MIN_WIDTH,

View file

@ -0,0 +1,25 @@
diff --git a/third_party/boringssl/src/crypto/internal.h b/third_party/boringssl/src/crypto/internal.h
index a77102d76..a45f97bcc 100644
--- a/third_party/boringssl/src/crypto/internal.h
+++ b/third_party/boringssl/src/crypto/internal.h
@@ -1174,6 +1174,11 @@ static inline uint64_t CRYPTO_rotr_u64(uint64_t value, int shift) {
// Arithmetic functions.
+// The most efficient versions of these functions on GCC and Clang depend on C11
+// |_Generic|. If we ever need to call these from C++, we'll need to add a
+// variant that uses C++ overloads instead.
+#if !defined(__cplusplus)
+
// CRYPTO_addc_* returns |x + y + carry|, and sets |*out_carry| to the carry
// bit. |carry| must be zero or one.
#if OPENSSL_HAS_BUILTIN(__builtin_addc)
@@ -1275,6 +1280,8 @@ static inline uint64_t CRYPTO_subc_u64(uint64_t x, uint64_t y, uint64_t borrow,
#define CRYPTO_subc_w CRYPTO_subc_u32
#endif
+#endif // !__cplusplus
+
// FIPS functions.

View file

@ -26,3 +26,15 @@
suppressed_configs += [ "//build/config/compiler:thin_archive" ]
defines = []
diff --git a/third_party/googletest/BUILD.gn.orig b/third_party/googletest/BUILD.gn
index 14089f0..b7dc621 100644
--- a/third_party/googletest/BUILD.gn.orig
+++ b/third_party/googletest/BUILD.gn
@@ -48,7 +48,6 @@ config("gtest_config") {
configs = [
"//third_party/abseil-cpp:absl_include_config",
- "//third_party/re2:re2_config",
]
}