Date: Saturday, March 5, 2022 @ 15:17:42 Author: archange Revision: 1142217
archrelease: copy trunk to community-x86_64 Added: element.io/repos/community-x86_64/PKGBUILD (from rev 1142216, element.io/trunk/PKGBUILD) element.io/repos/community-x86_64/autolaunch.patch (from rev 1142216, element.io/trunk/autolaunch.patch) element.io/repos/community-x86_64/element-desktop.sh (from rev 1142216, element.io/trunk/element-desktop.sh) element.io/repos/community-x86_64/encapsulate-sqlcipher.diff (from rev 1142216, element.io/trunk/encapsulate-sqlcipher.diff) element.io/repos/community-x86_64/io.element.Element.desktop (from rev 1142216, element.io/trunk/io.element.Element.desktop) Deleted: element.io/repos/community-x86_64/PKGBUILD element.io/repos/community-x86_64/autolaunch.patch element.io/repos/community-x86_64/element-desktop.sh element.io/repos/community-x86_64/io.element.Element.desktop ----------------------------+ PKGBUILD | 197 +++++++++++++++++++++---------------------- autolaunch.patch | 22 ++-- element-desktop.sh | 6 - encapsulate-sqlcipher.diff | 105 ++++++++++++++++++++++ io.element.Element.desktop | 20 ++-- 5 files changed, 229 insertions(+), 121 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2022-03-05 15:16:57 UTC (rev 1142216) +++ PKGBUILD 2022-03-05 15:17:42 UTC (rev 1142217) @@ -1,97 +0,0 @@ -# Maintainer: Bruno Pagani <archa...@archlinux.org> -# Contributor: Steef Hegeman <m...@steefhegeman.com> -# Contributor: Luca Weiss <luca (at) z3ntu (dot) xyz> -# Contributor: Julian Schacher <j...@posteo.net> - -_electron=electron17 -pkgbase=element.io -pkgname=(element-web element-desktop) -pkgver=1.10.6 -pkgrel=1 -pkgdesc="Glossy Matrix collaboration client — " -arch=(x86_64) -url="https://element.io" -license=(Apache) -makedepends=(npm git yarn python rust sqlcipher ${_electron} nodejs-lts-gallium) -_url="https://github.com/vector-im/element" -source=(element-web-${pkgver}.tar.gz::${_url}-web/archive/v${pkgver}.tar.gz - element-web-${pkgver}.tar.gz.asc::${_url}-web/releases/download/v${pkgver}/v${pkgver}-src.tar.gz.asc - element-desktop-${pkgver}.tar.gz::${_url}-desktop/archive/v${pkgver}.tar.gz - element-desktop-${pkgver}.tar.gz.asc::${_url}-desktop/releases/download/v${pkgver}/v${pkgver}-src.tar.gz.asc - autolaunch.patch - io.element.Element.desktop - element-desktop.sh) -sha256sums=('0afbddbaf9215b6aa6e566a9456a1186262245d472d457954febb7b4e12d345f' - 'SKIP' - '388931f2de254f66499ac79d047e4402cba9fc7b289de60e27720bfdca012000' - 'SKIP' - 'aaae4ffa41590361dac0c159aecc1166f69e459e89faa9d5cab1202f0277e06f' - '0103f28a32fe31f698836516783c1c70a76a0117b5df7fd0af5c422c224220f9' - '4c931121009985e7d3f73928c9db88508eedd974a7741e635bb290e3a2cd75db') -validpgpkeys=(712BFBEE92DCA45252DB17D7C7BE97EFA179B100) # Element Releases <relea...@riot.im> - -prepare() { - # Specify electron version in launcher - sed -i "s|@ELECTRON@|${_electron}|" element-desktop.sh - - cd element-web-${pkgver} - yarn install --no-fund - - cd ../element-desktop-${pkgver} - patch -p1 < ../autolaunch.patch - sed -i 's|"target": "deb"|"target": "dir"|' package.json - sed -i 's|"https://packages.element.io/desktop/update/"|null|' element.io/release/config.json - yarn install --no-fund -} - -build() { - cd element-web-${pkgver} - VERSION=${pkgver} yarn build --offline - - cd ../element-desktop-${pkgver} - yarn run build:native - yarn run build -} - -package_element-web() { - pkgdesc+="web version." - replaces=(riot-web vector-web) - - cd element-web-${pkgver} - - install -d "${pkgdir}"/{usr/share/webapps,etc/webapps}/element - - cp -r webapp/* "${pkgdir}"/usr/share/webapps/element/ - install -Dm644 config.sample.json -t "${pkgdir}"/etc/webapps/element/ - ln -s /etc/webapps/element/config.json "${pkgdir}"/usr/share/webapps/element/ - echo "${pkgver}" > "${pkgdir}"/usr/share/webapps/element/version -} - -package_element-desktop() { - pkgdesc+="desktop version." - replaces=(riot-desktop) - depends=("element-web=${pkgver}" ${_electron} sqlcipher) - backup=('etc/element/config.json') - - cd element-desktop-${pkgver} - - install -d "${pkgdir}"{/usr/lib/element/,/etc/webapps/element} - - # Install the app content, replace the webapp with a symlink to the system package - cp -r dist/linux-unpacked/resources/* "${pkgdir}"/usr/lib/element/ - ln -s /usr/share/webapps/element "${pkgdir}"/usr/lib/element/webapp - - # Config file - ln -s /etc/element/config.json "${pkgdir}"/etc/webapps/element/config.json - install -Dm644 element.io/release/config.json -t "${pkgdir}"/etc/element - - # Required extras - install -Dm644 ../io.element.Element.desktop -t "${pkgdir}"/usr/share/applications/ - install -Dm755 ../${pkgname}.sh "${pkgdir}"/usr/bin/${pkgname} - - # Icons - install -Dm644 ../element-web-${pkgver}/res/themes/element/img/logos/element-logo.svg "${pkgdir}"/usr/share/icons/hicolor/scalable/apps/io.element.Element.svg - for i in 16 24 48 64 96 128 256 512; do - install -Dm644 build/icons/${i}x${i}.png "${pkgdir}"/usr/share/icons/hicolor/${i}x${i}/apps/io.element.Element.png - done -} Copied: element.io/repos/community-x86_64/PKGBUILD (from rev 1142216, element.io/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2022-03-05 15:17:42 UTC (rev 1142217) @@ -0,0 +1,100 @@ +# Maintainer: Bruno Pagani <archa...@archlinux.org> +# Contributor: Steef Hegeman <m...@steefhegeman.com> +# Contributor: Luca Weiss <luca (at) z3ntu (dot) xyz> +# Contributor: Julian Schacher <j...@posteo.net> + +_electron=electron17 +pkgbase=element.io +pkgname=(element-web element-desktop) +pkgver=1.10.6 +pkgrel=2 +pkgdesc="Glossy Matrix collaboration client — " +arch=(x86_64) +url="https://element.io" +license=(Apache) +makedepends=(npm git yarn python rust tcl ${_electron} nodejs-lts-gallium) +_url="https://github.com/vector-im/element" +source=(element-web-${pkgver}.tar.gz::${_url}-web/archive/v${pkgver}.tar.gz + element-web-${pkgver}.tar.gz.asc::${_url}-web/releases/download/v${pkgver}/v${pkgver}-src.tar.gz.asc + element-desktop-${pkgver}.tar.gz::${_url}-desktop/archive/v${pkgver}.tar.gz + element-desktop-${pkgver}.tar.gz.asc::${_url}-desktop/releases/download/v${pkgver}/v${pkgver}-src.tar.gz.asc + autolaunch.patch + encapsulate-sqlcipher.diff + io.element.Element.desktop + element-desktop.sh) +sha256sums=('0afbddbaf9215b6aa6e566a9456a1186262245d472d457954febb7b4e12d345f' + 'SKIP' + '388931f2de254f66499ac79d047e4402cba9fc7b289de60e27720bfdca012000' + 'SKIP' + 'aaae4ffa41590361dac0c159aecc1166f69e459e89faa9d5cab1202f0277e06f' + '3b2112d25b258b67d18b9329faeb9e5c5b218732c9c020ee01911347a90a1cb8' + '0103f28a32fe31f698836516783c1c70a76a0117b5df7fd0af5c422c224220f9' + 'c1bd9ace215e3ec9af14d7f28b163fc8c8b42e23a2cf04ce6f4ce2fcc465feba') +validpgpkeys=(712BFBEE92DCA45252DB17D7C7BE97EFA179B100) # Element Releases <relea...@riot.im> + +prepare() { + # Specify electron version in launcher + sed -i "s|@ELECTRON@|${_electron}|" element-desktop.sh + + cd element-web-${pkgver} + yarn install --no-fund + + cd ../element-desktop-${pkgver} + patch -p1 < ../autolaunch.patch + patch -p1 < ../encapsulate-sqlcipher.diff + sed -i 's|"target": "deb"|"target": "dir"|' package.json + sed -i 's|"https://packages.element.io/desktop/update/"|null|' element.io/release/config.json + yarn install --no-fund +} + +build() { + cd element-web-${pkgver} + VERSION=${pkgver} yarn build --offline + + cd ../element-desktop-${pkgver} + yarn run build:native + yarn run build +} + +package_element-web() { + pkgdesc+="web version." + replaces=(riot-web vector-web) + + cd element-web-${pkgver} + + install -d "${pkgdir}"/{usr/share/webapps,etc/webapps}/element + + cp -r webapp/* "${pkgdir}"/usr/share/webapps/element/ + install -Dm644 config.sample.json -t "${pkgdir}"/etc/webapps/element/ + ln -s /etc/webapps/element/config.json "${pkgdir}"/usr/share/webapps/element/ + echo "${pkgver}" > "${pkgdir}"/usr/share/webapps/element/version +} + +package_element-desktop() { + pkgdesc+="desktop version." + replaces=(riot-desktop) + depends=("element-web=${pkgver}" ${_electron}) + backup=('etc/element/config.json') + + cd element-desktop-${pkgver} + + install -d "${pkgdir}"{/usr/lib/element/,/etc/webapps/element} + + # Install the app content, replace the webapp with a symlink to the system package + cp -r dist/linux-unpacked/resources/* "${pkgdir}"/usr/lib/element/ + ln -s /usr/share/webapps/element "${pkgdir}"/usr/lib/element/webapp + + # Config file + ln -s /etc/element/config.json "${pkgdir}"/etc/webapps/element/config.json + install -Dm644 element.io/release/config.json -t "${pkgdir}"/etc/element + + # Required extras + install -Dm644 ../io.element.Element.desktop -t "${pkgdir}"/usr/share/applications/ + install -Dm755 ../${pkgname}.sh "${pkgdir}"/usr/bin/${pkgname} + + # Icons + install -Dm644 ../element-web-${pkgver}/res/themes/element/img/logos/element-logo.svg "${pkgdir}"/usr/share/icons/hicolor/scalable/apps/io.element.Element.svg + for i in 16 24 48 64 96 128 256 512; do + install -Dm644 build/icons/${i}x${i}.png "${pkgdir}"/usr/share/icons/hicolor/${i}x${i}/apps/io.element.Element.png + done +} Deleted: autolaunch.patch =================================================================== --- autolaunch.patch 2022-03-05 15:16:57 UTC (rev 1142216) +++ autolaunch.patch 2022-03-05 15:17:42 UTC (rev 1142217) @@ -1,11 +0,0 @@ -diff --git a/src/electron-main.ts b/src/electron-main.ts ---- a/src/electron-main.ts -+++ b/src/electron-main.ts -@@ -229,6 +229,7 @@ async function setupGlobals() { - launcher = new AutoLaunch({ - name: vectorConfig.brand || 'Element', - isHidden: true, -+ path: "/usr/bin/element-desktop", - mac: { - useLaunchAgent: true, - }, Copied: element.io/repos/community-x86_64/autolaunch.patch (from rev 1142216, element.io/trunk/autolaunch.patch) =================================================================== --- autolaunch.patch (rev 0) +++ autolaunch.patch 2022-03-05 15:17:42 UTC (rev 1142217) @@ -0,0 +1,11 @@ +diff --git a/src/electron-main.ts b/src/electron-main.ts +--- a/src/electron-main.ts ++++ b/src/electron-main.ts +@@ -229,6 +229,7 @@ async function setupGlobals() { + launcher = new AutoLaunch({ + name: vectorConfig.brand || 'Element', + isHidden: true, ++ path: "/usr/bin/element-desktop", + mac: { + useLaunchAgent: true, + }, Deleted: element-desktop.sh =================================================================== --- element-desktop.sh 2022-03-05 15:16:57 UTC (rev 1142216) +++ element-desktop.sh 2022-03-05 15:17:42 UTC (rev 1142217) @@ -1,3 +0,0 @@ -#!/bin/sh - -LD_PRELOAD=/usr/lib/libsqlcipher.so exec @ELECTRON@ /usr/lib/element/app.asar --disable-dev-mode "$@" Copied: element.io/repos/community-x86_64/element-desktop.sh (from rev 1142216, element.io/trunk/element-desktop.sh) =================================================================== --- element-desktop.sh (rev 0) +++ element-desktop.sh 2022-03-05 15:17:42 UTC (rev 1142217) @@ -0,0 +1,3 @@ +#!/bin/sh + +exec @ELECTRON@ /usr/lib/element/app.asar --disable-dev-mode "$@" Copied: element.io/repos/community-x86_64/encapsulate-sqlcipher.diff (from rev 1142216, element.io/trunk/encapsulate-sqlcipher.diff) =================================================================== --- encapsulate-sqlcipher.diff (rev 0) +++ encapsulate-sqlcipher.diff 2022-03-05 15:17:42 UTC (rev 1142217) @@ -0,0 +1,105 @@ +diff --git i/hak/matrix-seshat/build.ts w/hak/matrix-seshat/build.ts +index 8d50bb1..33ad8d5 100644 +--- i/hak/matrix-seshat/build.ts ++++ w/hak/matrix-seshat/build.ts +@@ -26,7 +26,7 @@ export default async function(hakEnv: HakEnv, moduleInfo: DependencyInfo): Promi + if (hakEnv.isWin()) { + await buildOpenSslWin(hakEnv, moduleInfo); + await buildSqlCipherWin(hakEnv, moduleInfo); +- } else if (hakEnv.isMac()) { ++ } else { + await buildSqlCipherUnix(hakEnv, moduleInfo); + } + await buildMatrixSeshat(hakEnv, moduleInfo); +@@ -179,12 +179,17 @@ async function buildSqlCipherUnix(hakEnv, moduleInfo) { + '--prefix=' + moduleInfo.depPrefix + '', + '--enable-tempstore=yes', + '--enable-shared=no', ++ '--enable-tcl=no', + ]; + + if (hakEnv.isMac()) { + args.push('--with-crypto-lib=commoncrypto'); + } + ++ if (hakEnv.isLinux()) { ++ args.push('--with-pic=yes'); ++ } ++ + if (!hakEnv.isHost()) { + // In the nonsense world of `configure`, it is assumed you are building + // a compiler like `gcc`, so the `host` option actually means the target +@@ -265,12 +270,14 @@ async function buildMatrixSeshat(hakEnv, moduleInfo) { + // it for now: we should confirm how much of this it still actually needs. + const env = hakEnv.makeGypEnv(); + +- if (!hakEnv.isLinux()) { +- Object.assign(env, { +- SQLCIPHER_STATIC: 1, +- SQLCIPHER_LIB_DIR: path.join(moduleInfo.depPrefix, 'lib'), +- SQLCIPHER_INCLUDE_DIR: path.join(moduleInfo.depPrefix, 'include'), +- }); ++ Object.assign(env, { ++ SQLCIPHER_STATIC: 1, ++ SQLCIPHER_LIB_DIR: path.join(moduleInfo.depPrefix, 'lib'), ++ SQLCIPHER_INCLUDE_DIR: path.join(moduleInfo.depPrefix, 'include'), ++ }); ++ ++ if (hakEnv.isLinux()) { ++ env.RUSTFLAGS = '-Clink-arg=-Wl,-Bsymbolic -Clink-arg=-Wl,--exclude-libs,ALL' + } + + if (hakEnv.isWin()) { +diff --git i/hak/matrix-seshat/check.ts w/hak/matrix-seshat/check.ts +index d34247f..ad6533a 100644 +--- i/hak/matrix-seshat/check.ts ++++ w/hak/matrix-seshat/check.ts +@@ -22,21 +22,19 @@ import { DependencyInfo } from '../../scripts/hak/dep'; + + export default async function(hakEnv: HakEnv, moduleInfo: DependencyInfo): Promise<void> { + // of course tcl doesn't have a --version +- if (!hakEnv.isLinux()) { +- await new Promise<void>((resolve, reject) => { +- const proc = childProcess.spawn('tclsh', [], { +- stdio: ['pipe', 'ignore', 'ignore'], +- }); +- proc.on('exit', (code) => { +- if (code !== 0) { +- reject("Can't find tclsh - have you installed TCL?"); +- } else { +- resolve(); +- } +- }); +- proc.stdin.end(); ++ await new Promise<void>((resolve, reject) => { ++ const proc = childProcess.spawn('tclsh', [], { ++ stdio: ['pipe', 'ignore', 'ignore'], + }); +- } ++ proc.on('exit', (code) => { ++ if (code !== 0) { ++ reject("Can't find tclsh - have you installed TCL?"); ++ } else { ++ resolve(); ++ } ++ }); ++ proc.stdin.end(); ++ }); + + const tools = [ + ['rustc', '--version'], +diff --git i/hak/matrix-seshat/fetchDeps.ts w/hak/matrix-seshat/fetchDeps.ts +index a2fcf34..1ae1286 100644 +--- i/hak/matrix-seshat/fetchDeps.ts ++++ w/hak/matrix-seshat/fetchDeps.ts +@@ -25,9 +25,7 @@ import HakEnv from '../../scripts/hak/hakEnv'; + import { DependencyInfo } from '../../scripts/hak/dep'; + + export default async function(hakEnv: HakEnv, moduleInfo: DependencyInfo): Promise<void> { +- if (!hakEnv.isLinux()) { +- await getSqlCipher(hakEnv, moduleInfo); +- } ++ await getSqlCipher(hakEnv, moduleInfo); + + if (hakEnv.isWin()) { + await getOpenSsl(hakEnv, moduleInfo); Deleted: io.element.Element.desktop =================================================================== --- io.element.Element.desktop 2022-03-05 15:16:57 UTC (rev 1142216) +++ io.element.Element.desktop 2022-03-05 15:17:42 UTC (rev 1142217) @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=Element -Comment=Feature-rich client for Matrix -Exec=/usr/bin/element-desktop %u -Terminal=false -Type=Application -Icon=io.element.Element -StartupWMClass=Element -Categories=Network;InstantMessaging;Chat;IRCClient -MimeType=x-scheme-handler/element; Copied: element.io/repos/community-x86_64/io.element.Element.desktop (from rev 1142216, element.io/trunk/io.element.Element.desktop) =================================================================== --- io.element.Element.desktop (rev 0) +++ io.element.Element.desktop 2022-03-05 15:17:42 UTC (rev 1142217) @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Element +Comment=Feature-rich client for Matrix +Exec=/usr/bin/element-desktop %u +Terminal=false +Type=Application +Icon=io.element.Element +StartupWMClass=Element +Categories=Network;InstantMessaging;Chat;IRCClient +MimeType=x-scheme-handler/element;