Date: Thursday, January 9, 2020 @ 17:43:28 Author: kpcyrd Revision: 551357
addpkg: signal-desktop 1.29.3-2 Added: signal-desktop/ signal-desktop/repos/ signal-desktop/trunk/ signal-desktop/trunk/PKGBUILD signal-desktop/trunk/openssl-linking.patch signal-desktop/trunk/signal-desktop.desktop ------------------------+ PKGBUILD | 80 +++++++++++++++++++++++++++++++++++++++++++++++ openssl-linking.patch | 19 +++++++++++ signal-desktop.desktop | 9 +++++ 3 files changed, 108 insertions(+) Added: signal-desktop/trunk/PKGBUILD =================================================================== --- signal-desktop/trunk/PKGBUILD (rev 0) +++ signal-desktop/trunk/PKGBUILD 2020-01-09 17:43:28 UTC (rev 551357) @@ -0,0 +1,80 @@ +# Maintainer: kpcyrd <kpcyrd[at]archlinux[dot]org> +# Contributor: Jean Lucas <j...@4ray.co> + +pkgname=signal-desktop +_pkgname=Signal-Desktop +pkgver=1.29.3 +pkgrel=2 +pkgdesc="Electron application that links with Signal on mobile" +license=('GPL3') +arch=('x86_64') +url="https://signal.org" +depends=('electron') +makedepends=('yarn' 'git' 'nodejs' 'npm' 'python' 'python2') +source=( + "${pkgname}-${pkgver}.tar.gz::https://github.com/signalapp/${_pkgname}/archive/v${pkgver}.tar.gz" + "${pkgname}.desktop" + "openssl-linking.patch" + # Cherry-pick a specific commit for the node-spellchecker dependency + # See https://github.com/atom/node-spellchecker/issues/127 + "https://github.com/atom/node-spellchecker/archive/613ff91dd2d9a5ee0e86be8a3682beecc4e94887.tar.gz" +) +sha512sums=('99c7733f563b0a81061e6c12368d389ca4907c167c31a6b5c96d321d7c4e5f78a5abb83f8d64805d60b43dae4142e34d7d959e1904a604e5e8c7ba1c87326c2e' + 'c5ec0bf524e527ecf94207ef6aa1f2671346e115ec15de6d063cde0960151813752a1814e003705fc1a99d4e2eae1b3ca4d03432a50790957186e240527cc361' + '6b846fdf70dae6c4657de523ec133d2f08325740863660b86e75d032bb07a4b97834ba0eeea4c77000c2c20b11739b8e8deaf06584f9279638e640c4b7633dd5' + '42f57802fa91dafb6dbfb5a3f613c4c07df65e97f8da84c9a54292c97a4d170f8455461aac8f6f7819d1ffbea4bf6c28488f8950056ba988776d060be3f107dd') +b2sums=('82525d2eff0bf3a26c45f6b147981d389acfc079a4ac3792bce40d3c58dcec6e1d6ed7774a566ac1011d69c1ea341c910093b8292ee410f9432962f85b7da0a7' + 'c0ceb5b903965727714b1848c818877f4b740c4734deafcfaf777046002a445d79cd4d86bbbf3d763dbda8e8d542b60605ae2ca43196ea76b089f2e808926dbc' + '91fe76cd2ef32bd523aa857a219209f93ca5a6a3f5caa35f67c489a8eb79c8e1e404f453bed9e866e543ed48b9df8e17b45ad2ea8891b48d1502a97589a144af' + '53ad39f0bed69c5c5635d2e581f4ce56e3080fee16f184add08adee1164c2d68059d52071478a05cdacf04186f9964250f46f09e80553bf35e1f2f4cd1976d1b') + +prepare() { + cd "${_pkgname}-${pkgver}" + + # Fix SpellChecker build with imminent Node 13 + # See https://github.com/atom/node-spellchecker/issues/127 + sed -r 's#("spellchecker": ").*"#\1file:'"${srcdir}"'/613ff91dd2d9a5ee0e86be8a3682beecc4e94887.tar.gz"#' -i package.json + + # Set system Electron version for ABI compatibility + sed -r 's#("electron": ").*"#\1'$(cat /usr/lib/electron/version)'"#' -i package.json + + # Allow higher Node versions + sed 's#"node": "#&>=#' -i package.json + + yarn install + + # Have SQLCipher dynamically link from OpenSSL + # See https://github.com/signalapp/Signal-Desktop/issues/2634 + patch --forward --strip=1 --input="${srcdir}/openssl-linking.patch" +} + +build() { + cd "${_pkgname}-${pkgver}" + + # Gruntfile expects Git commit information which we don't have in a tarball download + # See https://github.com/signalapp/Signal-Desktop/issues/2376 + yarn generate exec:build-protobuf exec:transpile concat copy:deps sass + + yarn build-release --dir +} + +package() { + cd "${_pkgname}-${pkgver}" + + install -d "${pkgdir}/usr/"{lib,bin} + cp -a release/linux-unpacked/resources "${pkgdir}/usr/lib/${pkgname}" + cat << EOF > "${pkgdir}"/usr/bin/${pkgname} +#!/bin/sh + +NODE_ENV=production electron /usr/lib/${pkgname}/app.asar "\$@" +EOF + chmod +x "${pkgdir}/usr/bin/${pkgname}" + + install -Dm 644 "../${pkgname}.desktop" -t "${pkgdir}/usr/share/applications" + for i in 16 24 32 48 64 128 256 512 1024; do + install -Dm 644 "build/icons/png/${i}x${i}.png" \ + "${pkgdir}/usr/share/icons/hicolor/${i}x${i}/apps/${pkgname}.png" + done +} + +# vim: ts=2 sw=2 et: Added: signal-desktop/trunk/openssl-linking.patch =================================================================== --- signal-desktop/trunk/openssl-linking.patch (rev 0) +++ signal-desktop/trunk/openssl-linking.patch 2020-01-09 17:43:28 UTC (rev 551357) @@ -0,0 +1,19 @@ +--- a/node_modules/@journeyapps/sqlcipher/deps/sqlite3.gyp 2019-10-27 01:53:29.860275405 -0400 ++++ b/node_modules/@journeyapps/sqlcipher/deps/sqlite3.gyp 2019-10-27 01:51:32.001730882 -0400 +@@ -73,7 +73,7 @@ + 'link_settings': { + 'libraries': [ + # This statically links libcrypto, whereas -lcrypto would dynamically link it +- '<(SHARED_INTERMEDIATE_DIR)/sqlcipher-amalgamation-<@(sqlite_version)/OpenSSL-Linux/libcrypto.a' ++ '-lcrypto' + ] + } + }] +@@ -141,7 +141,6 @@ + { # linux + 'include_dirs': [ + '<(SHARED_INTERMEDIATE_DIR)/sqlcipher-amalgamation-<@(sqlite_version)/', +- '<(SHARED_INTERMEDIATE_DIR)/sqlcipher-amalgamation-<@(sqlite_version)/openssl-include/' + ] + }] + ], Added: signal-desktop/trunk/signal-desktop.desktop =================================================================== --- signal-desktop/trunk/signal-desktop.desktop (rev 0) +++ signal-desktop/trunk/signal-desktop.desktop 2020-01-09 17:43:28 UTC (rev 551357) @@ -0,0 +1,9 @@ +[Desktop Entry] +Type=Application +Name=Signal +Comment=Electron application that links with Signal on mobile +Icon=signal-desktop +Exec=signal-desktop +Terminal=false +Categories=Network;InstantMessaging; +StartupWMClass=Signal