54 lines
1.7 KiB
Diff
54 lines
1.7 KiB
Diff
diff --git a/PKGBUILD b/PKGBUILD
|
|
index 98e2b17..c61fa48 100644
|
|
--- a/PKGBUILD
|
|
+++ b/PKGBUILD
|
|
@@ -8,7 +8,7 @@ pkgver=7.77.1
|
|
pkgrel=1
|
|
pkgdesc="Signal Private Messenger for Linux"
|
|
license=('AGPL-3.0-only')
|
|
-arch=('x86_64')
|
|
+arch=('aarch64') # Only for aarch64 - already in Arch extra repo for x86_64
|
|
url="https://signal.org"
|
|
depends=(
|
|
'alsa-lib' 'libasound.so'
|
|
@@ -67,6 +67,19 @@ prepare() {
|
|
# Allow higher Node versions
|
|
sed 's#"node": "#&>=#' -i package.json
|
|
|
|
+ # Disable .deb packaging to avoid fpm architecture mismatch in cross-compilation
|
|
+ # electron-builder will still create the unpacked directory we need for packaging
|
|
+ # Use node to properly modify the JSON structure
|
|
+ node -e "
|
|
+ const fs = require('fs');
|
|
+ const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
|
|
+ if (pkg.build && pkg.build.linux && pkg.build.linux.target) {
|
|
+ pkg.build.linux.target = ['dir'];
|
|
+ fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2) + '\n');
|
|
+ console.log('Modified package.json to use dir target only');
|
|
+ }
|
|
+ "
|
|
+
|
|
# Install dependencies for sticker-creator
|
|
pnpm --prefix ./sticker-creator/ install
|
|
|
|
@@ -87,8 +100,18 @@ build() {
|
|
package() {
|
|
cd "${_pkgname}-${pkgver}"
|
|
|
|
+ # Determine the architecture-specific directory
|
|
+ case "${CARCH}" in
|
|
+ x86_64)
|
|
+ _releasedir="release/linux-unpacked"
|
|
+ ;;
|
|
+ aarch64)
|
|
+ _releasedir="release/linux-arm64-unpacked"
|
|
+ ;;
|
|
+ esac
|
|
+
|
|
install -d "${pkgdir}/usr/"{lib,bin}
|
|
- cp -a release/linux-unpacked "${pkgdir}/usr/lib/${pkgname}"
|
|
+ cp -a "${_releasedir}" "${pkgdir}/usr/lib/${pkgname}"
|
|
ln -s "/usr/lib/${pkgname}/${pkgname}" "${pkgdir}/usr/bin/"
|
|
|
|
chmod u+s "${pkgdir}/usr/lib/signal-desktop/chrome-sandbox"
|