|
|
|
@ -2,7 +2,7 @@
|
|
|
|
|
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
|
|
|
|
|
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
|
|
|
|
|
pkgname=signal-desktop
|
|
|
|
|
pkgver=7.31.0
|
|
|
|
|
pkgver=7.34.0
|
|
|
|
|
pkgrel=0
|
|
|
|
|
pkgdesc="A messaging app for simple private communication with friends"
|
|
|
|
|
url="https://github.com/signalapp/Signal-Desktop/"
|
|
|
|
@ -65,9 +65,9 @@ makedepends="
|
|
|
|
|
options="net !check"
|
|
|
|
|
|
|
|
|
|
# use _check_depends to validate this
|
|
|
|
|
_libsignalver=0.58.0
|
|
|
|
|
_ringrtcver=2.48.3
|
|
|
|
|
_webrtcver=6613c
|
|
|
|
|
_libsignalver=0.60.2
|
|
|
|
|
_ringrtcver=2.48.7
|
|
|
|
|
_webrtcver=6723a
|
|
|
|
|
_stokenizerver=0.2.1
|
|
|
|
|
|
|
|
|
|
source="
|
|
|
|
@ -77,8 +77,8 @@ source="
|
|
|
|
|
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
|
|
|
|
|
libsignal-auditable.patch
|
|
|
|
|
signal-use-system-sqlcipher.patch
|
|
|
|
|
signal-disable-updates.patch
|
|
|
|
|
signal-update-links.patch
|
|
|
|
|
signal-show-window-please.patch
|
|
|
|
@ -122,7 +122,8 @@ _check_depends() {
|
|
|
|
|
local _ringrtcver=$(curl --silent https://raw.githubusercontent.com/signalapp/Signal-Desktop/v$pkgver/package-lock.json | grep "@signalapp/ringrtc\": \"" | awk '{print $2}' | tr -d ',' | tr -d '"' | head -n 1)
|
|
|
|
|
local _bsqlitever=$(curl --silent https://raw.githubusercontent.com/signalapp/Signal-Desktop/v$pkgver/package-lock.json | grep "@signalapp/better-sqlite3\": \"" | awk '{print $2}' | tr -d ',' | tr -d '"' | head -n 1)
|
|
|
|
|
local _webrtcver=$(curl --silent https://raw.githubusercontent.com/signalapp/ringrtc/v$_ringrtcver/config/version.properties | awk -F '=' '{if($1 == "webrtc.version"){print $2}}' | head -n 1)
|
|
|
|
|
local _stokenizerver=$(curl --silent https://raw.githubusercontent.com/signalapp/better-sqlite3/v$_bsqlitever/deps/download.js | grep "const TOKENIZER_VERSION" | awk '{print $4}' | tr -d "'" | tr -d ';' | head -n 1)
|
|
|
|
|
local _extensionver=$(curl --silent https://raw.githubusercontent.com/signalapp/better-sqlite3/v$_bsqlitever/deps/download.js | grep "const EXTENSION_VERSION" | awk '{print $4}' | tr -d "'" | tr -d ';' | head -n 1)
|
|
|
|
|
local _stokenizerver=$(curl --silent https://raw.githubusercontent.com/signalapp/Signal-Sqlcipher-Extension/refs/tags/v$_extensionver/Cargo.lock | sed -n "/^name = \"signal-tokenizer\"$/,/^$/p" | awk -F ' = ' '{if($1=="version"){print $2}}' | tr -d '"')
|
|
|
|
|
|
|
|
|
|
echo _libsignalver=$_libsignalver
|
|
|
|
|
echo _ringrtcver=$_ringrtcver
|
|
|
|
@ -179,38 +180,19 @@ target_cpu_only = True
|
|
|
|
|
mcli cp "$SRCDEST"/webrtc-$_webrtcver.tar.zst "$_distbucket"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# manual patches
|
|
|
|
|
default_prepare() { :; }
|
|
|
|
|
|
|
|
|
|
prepare() {
|
|
|
|
|
default_prepare
|
|
|
|
|
msg "Applying patches"
|
|
|
|
|
for x in $source; do
|
|
|
|
|
case "$x" in
|
|
|
|
|
signal-*.patch)
|
|
|
|
|
msg "$x"
|
|
|
|
|
patch -p1 -i "$srcdir"/$x -d "$srcdir"/Signal-Desktop-$pkgver
|
|
|
|
|
;;
|
|
|
|
|
libsignal-*.patch)
|
|
|
|
|
msg "$x"
|
|
|
|
|
patch -p1 -i "$srcdir"/$x -d "$srcdir"/libsignal-$_libsignalver
|
|
|
|
|
;;
|
|
|
|
|
ringrtc-*.patch)
|
|
|
|
|
msg "$x"
|
|
|
|
|
patch -p1 -i "$srcdir"/$x -d "$srcdir"/ringrtc-$_ringrtcver
|
|
|
|
|
;;
|
|
|
|
|
webrtc-*.patch)
|
|
|
|
|
msg "$x"
|
|
|
|
|
patch -p1 -i "$srcdir"/$x -d "$srcdir"/webrtc-$_webrtcver
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
# Moves to builddir to use abuild patch logics
|
|
|
|
|
for i in libsignal-$_libsignalver ringrtc-$_ringrtcver webrtc-$_webrtcver Signal-FTS5-Extension-$_stokenizerver; do
|
|
|
|
|
mv "$srcdir"/$i "$builddir"/${i%-*}
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
msg "Installing signal-desktop JS dependencies"
|
|
|
|
|
npm ci --ignore-scripts
|
|
|
|
|
|
|
|
|
|
default_prepare
|
|
|
|
|
|
|
|
|
|
(
|
|
|
|
|
cd "$srcdir"/webrtc-$_webrtcver
|
|
|
|
|
cd "$builddir"/webrtc
|
|
|
|
|
|
|
|
|
|
local use_system="
|
|
|
|
|
brotli
|
|
|
|
@ -271,35 +253,35 @@ prepare() {
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
(
|
|
|
|
|
cd "$srcdir"/ringrtc-$_ringrtcver/src/rust
|
|
|
|
|
cd "$builddir"/ringrtc/src/rust
|
|
|
|
|
|
|
|
|
|
msg "Installing ringrtc rust dependencies"
|
|
|
|
|
cargo fetch --target="$CTARGET" --locked
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
(
|
|
|
|
|
cd "$srcdir"/libsignal-$_libsignalver
|
|
|
|
|
cd "$builddir"/libsignal
|
|
|
|
|
|
|
|
|
|
msg "Installing libsignal rust dependencies"
|
|
|
|
|
cargo fetch --target="$CTARGET" --locked
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
(
|
|
|
|
|
cd "$srcdir"/Signal-FTS5-Extension-$_stokenizerver
|
|
|
|
|
cd "$builddir"/Signal-FTS5-Extension
|
|
|
|
|
|
|
|
|
|
msg "Installing signal tokenizer rust dependencies"
|
|
|
|
|
cargo fetch --target="$CTARGET" --locked
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
(
|
|
|
|
|
cd "$srcdir"/ringrtc-$_ringrtcver/src/node
|
|
|
|
|
cd "$builddir"/ringrtc/src/node
|
|
|
|
|
|
|
|
|
|
msg "Installing ringrtc js dependencies"
|
|
|
|
|
npm ci --ignore-scripts
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
(
|
|
|
|
|
cd "$srcdir"/libsignal-$_libsignalver/node
|
|
|
|
|
cd "$builddir"/libsignal/node
|
|
|
|
|
|
|
|
|
|
# fix target
|
|
|
|
|
sed -i 's/unknown-linux-gnu/alpine-linux-musl/g' binding.gyp
|
|
|
|
@ -317,7 +299,7 @@ build() {
|
|
|
|
|
|
|
|
|
|
# required dependency of ringrtc
|
|
|
|
|
(
|
|
|
|
|
cd "$srcdir"/webrtc-$_webrtcver
|
|
|
|
|
cd "$builddir"/webrtc
|
|
|
|
|
export PATH="$PWD/path:$PATH"
|
|
|
|
|
|
|
|
|
|
# shellcheck disable=2089
|
|
|
|
@ -349,18 +331,18 @@ build() {
|
|
|
|
|
use_lld=true
|
|
|
|
|
use_sysroot=false
|
|
|
|
|
"
|
|
|
|
|
mkdir -p "$srcdir"/ringrtc-$_ringrtcver/out/release
|
|
|
|
|
mkdir -p "$builddir"/ringrtc/out/release
|
|
|
|
|
msg "Building signal's webrtc"
|
|
|
|
|
# shellcheck disable=2090,2116
|
|
|
|
|
gn gen "$srcdir"/ringrtc-$_ringrtcver/out/release --args="$(echo $webrtc_args)"
|
|
|
|
|
ninja -C "$srcdir"/ringrtc-$_ringrtcver/out/release signaldeswebrtc
|
|
|
|
|
gn gen "$builddir"/ringrtc/out/release --args="$(echo $webrtc_args)"
|
|
|
|
|
ninja -C "$builddir"/ringrtc/out/release signaldeswebrtc
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
(
|
|
|
|
|
cd "$srcdir"/ringrtc-$_ringrtcver
|
|
|
|
|
cd "$builddir"/ringrtc
|
|
|
|
|
|
|
|
|
|
msg "Building libringrtc"
|
|
|
|
|
OUTPUT_DIR="$srcdir"/ringrtc-$_ringrtcver/out \
|
|
|
|
|
OUTPUT_DIR="$builddir"/ringrtc/out \
|
|
|
|
|
cargo auditable build --features electron --release -p ringrtc
|
|
|
|
|
|
|
|
|
|
mkdir -p src/node/build/linux
|
|
|
|
@ -369,7 +351,7 @@ build() {
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
(
|
|
|
|
|
cd "$srcdir"/ringrtc-$_ringrtcver/src/node
|
|
|
|
|
cd "$builddir"/ringrtc/src/node
|
|
|
|
|
msg "Building ringrtc JS glue code"
|
|
|
|
|
npm run build
|
|
|
|
|
|
|
|
|
@ -379,7 +361,7 @@ build() {
|
|
|
|
|
|
|
|
|
|
# module on npm intentionally unbuildable: https://github.com/signalapp/libsignal/issues/464#issuecomment-1160665052
|
|
|
|
|
(
|
|
|
|
|
cd "$srcdir"/libsignal-$_libsignalver/node
|
|
|
|
|
cd "$builddir"/libsignal/node
|
|
|
|
|
|
|
|
|
|
msg "Building libsignal"
|
|
|
|
|
node-gyp configure --nodedir=/usr/include/electron/node_headers --build-from-source
|
|
|
|
@ -396,7 +378,7 @@ build() {
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
(
|
|
|
|
|
cd "$srcdir"/Signal-FTS5-Extension-$_stokenizerver
|
|
|
|
|
cd "$builddir"/Signal-FTS5-Extension
|
|
|
|
|
|
|
|
|
|
msg "Building signal tokenizer"
|
|
|
|
|
cargo auditable build --features extension --release --frozen
|
|
|
|
@ -422,25 +404,15 @@ build() {
|
|
|
|
|
|
|
|
|
|
# use our libsignal
|
|
|
|
|
rm -rf node_modules/@signalapp/libsignal-client/
|
|
|
|
|
mv "$srcdir"/libsignal-$_libsignalver/node/ node_modules/@signalapp/libsignal-client
|
|
|
|
|
mv libsignal/node/ node_modules/@signalapp/libsignal-client
|
|
|
|
|
|
|
|
|
|
# use our libringrtc
|
|
|
|
|
rm -rf node_modules/@signalapp/ringrtc/
|
|
|
|
|
mv "$srcdir"/ringrtc-$_ringrtcver/src/node/ node_modules/@signalapp/ringrtc
|
|
|
|
|
|
|
|
|
|
# patch the sqlcipher module
|
|
|
|
|
for x in $source; do
|
|
|
|
|
case "$x" in
|
|
|
|
|
bettersqlite-*.patch)
|
|
|
|
|
msg "$x"
|
|
|
|
|
patch -Np1 -i "$srcdir"/$x -d "$srcdir"/Signal-Desktop-$pkgver/node_modules/@signalapp/better-sqlite3/
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
done
|
|
|
|
|
mv ringrtc/src/node/ node_modules/@signalapp/ringrtc
|
|
|
|
|
|
|
|
|
|
mkdir node_modules/@signalapp/better-sqlite3/tokenizer
|
|
|
|
|
mv "$srcdir"/Signal-FTS5-Extension-$_stokenizerver/target/release/libsignal_tokenizer.a node_modules/@signalapp/better-sqlite3/tokenizer/
|
|
|
|
|
mv "$srcdir"/Signal-FTS5-Extension-$_stokenizerver/target/release/signal-tokenizer.h node_modules/@signalapp/better-sqlite3/tokenizer/
|
|
|
|
|
mv Signal-FTS5-Extension/target/release/libsignal_tokenizer.a node_modules/@signalapp/better-sqlite3/tokenizer/
|
|
|
|
|
mv Signal-FTS5-Extension/target/release/signal-tokenizer.h node_modules/@signalapp/better-sqlite3/tokenizer/
|
|
|
|
|
|
|
|
|
|
npm rebuild \
|
|
|
|
|
sharp @signalapp/better-sqlite3 spellchecker websocket \
|
|
|
|
@ -464,9 +436,9 @@ package() {
|
|
|
|
|
install -Dm644 signal.desktop "$pkgdir"/usr/share/applications/$pkgname.desktop
|
|
|
|
|
|
|
|
|
|
# this should be in /usr/lib/signal-desktop. however, it does not simply work and I stopped to care
|
|
|
|
|
install -Dm755 "$srcdir"/ringrtc-$_ringrtcver/out/release/libsignaldeswebrtc.so "$pkgdir"/usr/lib/libsignaldeswebrtc.so
|
|
|
|
|
install -Dm755 "$builddir"/ringrtc/out/release/libsignaldeswebrtc.so "$pkgdir"/usr/lib/libsignaldeswebrtc.so
|
|
|
|
|
|
|
|
|
|
install -Dm755 "$srcdir"/$pkgname "$pkgdir"/usr/bin/$pkgname
|
|
|
|
|
install -Dm755 "$srcdir"/signal-desktop "$pkgdir"/usr/bin/signal-desktop
|
|
|
|
|
|
|
|
|
|
while read -r size; do
|
|
|
|
|
install -Dm644 icons/$size.png "$pkgdir"/usr/share/icons/hicolor/$size/apps/$pkgname.png
|
|
|
|
@ -474,19 +446,19 @@ package() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sha512sums="
|
|
|
|
|
ed9acf4f9effbd4bb6cf66d7057ce9faf63ec456d0874620424067a7c1f1832ccc865993f2644dd72384d8d051c01933da8f15aa5eefc7ddf995aeeef183a899 Signal-Desktop-7.31.0.tar.gz
|
|
|
|
|
6fb62213d8177ac5abe83ea71a18ea4b1c7b323983c41087166658fe9c47c1fd39e5323ca6acefe3db2a9a9376b6f385b5f2c006154da3ab705741d848b28943 libsignal-0.58.0.tar.gz
|
|
|
|
|
6777354b60650c6c3d359714f3aff92a315996f3725ba05c74ed054d3c4ba5506406b30c940853b5ba426ac0271cdb4dd930a759c570f486a70e1f5adc5a2aae ringrtc-2.48.3.tar.gz
|
|
|
|
|
fe04fcf13f55b124f03ce9d516b1c53fc4f20c6a016819c62eeaa0500eda92c5a0c0d7dc5d1e360a27691dfd404c254e91bed9fb25d0fc40a27795c1b674a82e webrtc-6613c.tar.zst
|
|
|
|
|
30e06721b01e580414c5e57b63350fc42edbe837b0a60a9cd100bc6ab1758fa6fd5744dc3a35d991db62f363eab791c45b43e1d9d5c81af9e67685114ae2e630 Signal-Desktop-7.34.0.tar.gz
|
|
|
|
|
26780a0a6a529cee18f5c3b58f0395c6b5b630dbc8d2bbaa345dd7dd319a0e8548575c915dc16de6ac5d421fffdbe898f2dedb1fa3b4eab5d26debdfc1da515b libsignal-0.60.2.tar.gz
|
|
|
|
|
e5e5ab27dc3bd37ef577c248d450e70fa11e72bdfab00fef233aad84d3d8aa3434166c03267f6b95b69d593e9da2f37017b5b7a0913f68499f387354742ba50a ringrtc-2.48.7.tar.gz
|
|
|
|
|
64eed5c2a6f5a505d014bc4fa80e15b21103df1ea27825eaa1dfecc23c269f198a7e98472f29de7cae4ac7fa4fede6e837c27494b8ec4d03e36b85b029c64831 webrtc-6723a.tar.zst
|
|
|
|
|
84a1f2fc29262a12842e94698d124a85b823128e72a493b0be8ea92fbb72c5c268499f4a6827cdedaae06ec73cce4039a39fe5c5d536cbef330e59ba0183da28 stokenizer-0.2.1.tar.gz
|
|
|
|
|
be5b4e823543b79175a12314f10c6326d9f0d59f470136962daed4665887006acc05b48b40dc1b67747396d8f6f7d23be298c1e110ccdd35ff9b09d5e6b80bab bettersqlite-use-system-sqlcipher.patch
|
|
|
|
|
2e5fadff725f1d62e7134c8929c672ec88cae602b065480f1b799d34160daa0cb1ad0f5511e60676f81464ae8752c3bec7b3d7bc5a432533be004b4d20ac32c2 libsignal-auditable.patch
|
|
|
|
|
8d2d2d82c8546c2dd1fef161b61df79918f8c22235a56a46adb375a0beb4acef12c5fe53e67242a4be97f77adc522ff79b47949c352956c742a70d50f4179f7f libsignal-auditable.patch
|
|
|
|
|
cee74edb504ee5ae685e8a449ac35fabf949c33bfee5905778f850c3b18e17f9ae9bd501c89a7fd2c9c81a5bb2b0af0c0b3c72e32128603b3923c32d2a493ce9 signal-use-system-sqlcipher.patch
|
|
|
|
|
152435231cdcf52a17a9e24aadf95d77511258e818172941ba074a73a90a541f0136feb58868674f2bcb19191a6d12933fe6cd5baf3ee99e508915c72523163b signal-disable-updates.patch
|
|
|
|
|
d50eb5724502df9ea4d795db8cfc27af767c25168d7db2af512e615be7cc2ca290210a9ae78e1abb153c0198677e858ad3d74926c958099d0319295e7d9e7f1d signal-update-links.patch
|
|
|
|
|
bfc8acdd13aa48d29c7657311733cc9d33c4899782efbd1ef6d25ad1698be4de7cc67e829324bc0309715d69ae37ea9f782cf54887317e817213e110d73d68e7 signal-show-window-please.patch
|
|
|
|
|
b11fdd930943ca327650e4738ed85cd6b5eea779455a5895bccebba98e449bafc6b0f09bcf4545f2b2e16644355664e9768dd6d4d62f87619207c430367f72c5 ringrtc-webrtc-renamed.patch
|
|
|
|
|
0888673ba687747beda61cd50efbc25095f4a3d26f1dd58bf003e3a0bf1d302c3f2ebd1deecf630fbf04aedb7b8cd409e9efda4d1e6fda63234c9a9b9755bff4 webrtc-shared-libs.patch
|
|
|
|
|
e07ae8544988d402aaf0fbd95ea36a64c94c59566c561132578aa6dcf8ff11a34058530e64dc204e5cadc2482f1401e74b32384a144e5e08017c663d0cf7c2fc webrtc-compiler.patch
|
|
|
|
|
88515d8b8cc82355c9f9b0f44fac83b7ff149b13e9fb102fd46036ec5234cfb2385fa5ad58a0520ee604b93dc4ddd6ae18a7005978ef207841645724ef7a9749 webrtc-gcc13.patch
|
|
|
|
|
10284e0d86ab88de161ae689871082194f689ce416f3ebada8991d5db707994ea1cb8b4212756dd93ba5a3469964050988220f18afc37e38f3404a6e17ec8caf ringrtc-webrtc-renamed.patch
|
|
|
|
|
98a7e4df27c3ed56c5968ebc3ae8e08bfb54362d0c910f9af1d414079a6d5fe0f18aa570ae3c38042f4691af6a130cb3ff689625e26a3987720dd319a5f587b1 webrtc-shared-libs.patch
|
|
|
|
|
fe78cdc58c18826fc4227cc8e9377980766229390544578f6a1a6f7322bc3243c066963b589323dbfe4f2bfd37f8859ad84f63cb3783317892e5ae3652270a3a webrtc-compiler.patch
|
|
|
|
|
48ab5c733e643eaff08ccbe839086bebbb68d397984ad7c5c5b68df8071f75d2dfe92c3f52d9fbf9b81754934bdfa8a67c69addd476ce4265b978592fb4ff9bd webrtc-gcc13.patch
|
|
|
|
|
87534e7b5ad7365509eab75629e6bd1a9ed61ee92f7e358405a0abaf0df57de14623fb3894eb082f8785422e5c087e1c50f9e2e5cafbb2529591fd7bf447f7f5 signal-desktop
|
|
|
|
|
"
|
|
|
|
|