element-desktop: update to 1.8.4

Closes https://github.com/void-linux/void-packages/pull/32951
Closes https://github.com/void-linux/void-packages/pull/32520

Co-Authored-By: Jan Christian Grünhage <jan.christian@gruenhage.xyz>
This commit is contained in:
Daniel Kolesa 2021-09-13 23:09:24 +02:00 committed by q66
parent 5bc0241ce3
commit fd6660af84
3 changed files with 186 additions and 10 deletions

View file

@ -1,2 +1,2 @@
#!/bin/sh
exec electron12 /usr/lib/element-desktop/resources/app.asar "$@"
exec electron13 /usr/lib/element-desktop/resources/app.asar "$@"

View file

@ -0,0 +1,158 @@
commit 6253d67b13db2bd075fb6f17e8fffc92efd7fdee
Author: Jan Christian Grünhage <jan.christian@gruenhage.xyz>
Date: Tue Aug 17 17:33:02 2021 +0200
Fixes compilation on a bunch of targets
Considering that this changes generated files, I've not submitted this
patch directly. Instead, the original source has received a PR over at
https://github.com/vector-im/element-builder/pull/58.
diff --git a/package.json b/package.json
index 4dd59aa..141705b 100644
--- a/package.json
+++ b/package.json
@@ -57,6 +57,7 @@
"allchange": "^1.0.0",
"asar": "^2.0.1",
"chokidar": "^3.5.2",
+ "detect-libc": "^1.0.3",
"electron": "^13.1.9",
"electron-builder": "22.11.4",
"electron-builder-squirrel-windows": "22.11.4",
diff --git a/scripts/hak/target.js b/scripts/hak/target.js
index 0a965fc..07349fc 100644
--- a/scripts/hak/target.js
+++ b/scripts/hak/target.js
@@ -25,11 +25,26 @@ limitations under the License.
Object.defineProperty(exports, "__esModule", { value: true });
exports.isHost = exports.isHostId = exports.getHost = exports.ENABLED_TARGETS = exports.TARGETS = void 0;
+const detect_libc_1 = require("detect-libc");
const aarch64AppleDarwin = {
id: 'aarch64-apple-darwin',
platform: 'darwin',
arch: 'arm64',
};
+const x8664AppleDarwin = {
+ id: 'x86_64-apple-darwin',
+ platform: 'darwin',
+ arch: 'x64',
+};
+const universalAppleDarwin = {
+ id: 'universal-apple-darwin',
+ platform: 'darwin',
+ arch: 'universal',
+ subtargets: [
+ aarch64AppleDarwin,
+ x8664AppleDarwin,
+ ],
+};
const i686PcWindowsMsvc = {
id: 'i686-pc-windows-msvc',
platform: 'win32',
@@ -42,34 +57,81 @@ const x8664PcWindowsMsvc = {
arch: 'x64',
vcVarsArch: 'amd64',
};
-const x8664AppleDarwin = {
- id: 'x86_64-apple-darwin',
- platform: 'darwin',
- arch: 'x64',
-};
const x8664UnknownLinuxGnu = {
id: 'x86_64-unknown-linux-gnu',
platform: 'linux',
arch: 'x64',
+ libC: 'glibc',
+};
+const x8664UnknownLinuxMusl = {
+ id: 'x86_64-unknown-linux-musl',
+ platform: 'linux',
+ arch: 'x64',
+ libC: 'musl',
+};
+const i686UnknownLinuxGnu = {
+ id: 'i686-unknown-linux-gnu',
+ platform: 'linux',
+ arch: 'ia32',
+ libC: 'glibc',
+};
+const i686UnknownLinuxMusl = {
+ id: 'i686-unknown-linux-musl',
+ platform: 'linux',
+ arch: 'ia32',
+ libC: 'musl',
+};
+const aarch64UnknownLinuxGnu = {
+ id: 'aarch64-unknown-linux-gnu',
+ platform: 'linux',
+ arch: 'arm64',
+ libC: 'glibc',
+};
+const aarch64UnknownLinuxMusl = {
+ id: 'aarch64-unknown-linux-musl',
+ platform: 'linux',
+ arch: 'arm64',
+ libC: 'musl',
+};
+const powerpc64leUnknownLinuxGnu = {
+ id: 'powerpc64le-unknown-linux-gnu',
+ platform: 'linux',
+ arch: 'ppc64',
+ libC: 'glibc',
+};
+const powerpc64leUnknownLinuxMusl = {
+ id: 'powerpc64le-unknown-linux-musl',
+ platform: 'linux',
+ arch: 'ppc64',
+ libC: 'musl',
};
exports.TARGETS = {
'aarch64-apple-darwin': aarch64AppleDarwin,
+ 'x86_64-apple-darwin': x8664AppleDarwin,
+ 'universal-apple-darwin': universalAppleDarwin,
'i686-pc-windows-msvc': i686PcWindowsMsvc,
'x86_64-pc-windows-msvc': x8664PcWindowsMsvc,
- 'x86_64-apple-darwin': x8664AppleDarwin,
+ 'i686-unknown-linux-musl': i686UnknownLinuxMusl,
+ 'i686-unknown-linux-gnu': i686UnknownLinuxGnu,
+ 'x86_64-unknown-linux-musl': x8664UnknownLinuxMusl,
'x86_64-unknown-linux-gnu': x8664UnknownLinuxGnu,
+ 'aarch64-unknown-linux-musl': aarch64UnknownLinuxMusl,
+ 'aarch64-unknown-linux-gnu': aarch64UnknownLinuxGnu,
+ 'powerpc64le-unknown-linux-musl': powerpc64leUnknownLinuxMusl,
+ 'powerpc64le-unknown-linux-gnu': powerpc64leUnknownLinuxGnu,
};
// The set of targets we build by default, sorted by increasing complexity so
// that we fail fast when the native host target fails.
exports.ENABLED_TARGETS = [
- exports.TARGETS['x86_64-apple-darwin'],
- exports.TARGETS['aarch64-apple-darwin'],
+ exports.TARGETS['universal-apple-darwin'],
exports.TARGETS['x86_64-unknown-linux-gnu'],
- exports.TARGETS['i686-pc-windows-msvc'],
+ exports.TARGETS['x86_64-pc-windows-msvc'],
];
function getHost() {
return Object.values(exports.TARGETS).find(target => (target.platform === process.platform &&
- target.arch === process.arch));
+ target.arch === process.arch &&
+ (process.platform !== 'linux' ||
+ target.libC === detect_libc_1.family)));
}
exports.getHost = getHost;
function isHostId(id) {
diff --git a/yarn.lock b/yarn.lock
index 37690bb..7e112a8 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1775,7 +1775,7 @@ deprecation@^2.0.0, deprecation@^2.3.1:
resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919"
integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==
-detect-libc@^1.0.2:
+detect-libc@^1.0.2, detect-libc@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=

View file

@ -1,6 +1,6 @@
# Template file for 'element-desktop'
pkgname=element-desktop
version=1.7.30
version=1.8.4
revision=1
wrksrc="element-web-${version}"
conf_files="/etc/${pkgname}/config.json"
@ -9,7 +9,7 @@ hostmakedepends="git yarn nodejs rust cargo python3 curl
app-builder"
makedepends="libsecret-devel"
depends="c-ares ffmpeg gtk+3 http-parser libevent
libxslt minizip nss re2 snappy sqlcipher electron12"
libxslt minizip nss re2 snappy sqlcipher electron13"
short_desc="Glossy Matrix collaboration client, desktop version"
maintainer="projectmoon <projectmoon@agnos.is>"
license="Apache-2.0"
@ -18,14 +18,28 @@ _ghpage="https://github.com/vector-im"
_archive="archive/v${version}.tar.gz"
distfiles="${_ghpage}/element-desktop/${_archive}>element-desktop.tar.gz
${_ghpage}/element-web/${_archive}>element-web.tar.gz"
checksum="dfa46e98b52c20b431dc62be3c7dc3c960b1aba6d98af7e2aa0c06ce4e076c9e
86b07a8510cda86ce489b376b2069415579a3576100ddddd8ddcd1f2c29ac025"
checksum="3a972531c40da5de922824667ea048f16ee407800b26327542cac1d81357b44f
2752b88227c17dfcd3b207db88aba08375f9751851f2ea549115fac7a517a18a"
patch_args="-Np1 -d ../${pkgname}-${version}"
export USE_SYSTEM_APP_BUILDER=true
pre_patch() {
ln -s ../element-web-${version}/0001-support-more-architectures.patch ../element-desktop-${version}/
}
pre_build() {
# since element 1.8.x it's necessary to force the npm arch
# to x86, otherwise it will fail in electron js stuff on
# platforms officially unsupported by electron (ppc64le...)
local carch=x64
case "$XBPS_TARGET_MACHINE" in
i686*) carch=ia32 ;;
esac
# Build dependencies for element-web
yarn install
npm_config_arch=$carch yarn install
# Build dependencies and alterations for element-desktop
cd ../element-desktop-${version}
@ -33,19 +47,23 @@ pre_build() {
# Disable auto-updating
sed -i 's@https://packages.riot.im/desktop/update/@null@g' element.io/release/config.json
sed -i 's/"target": "deb"/"target": "dir"/g' package.json
yarn install
npm_config_arch=$carch yarn install
}
do_build() {
yarn build
cd ../element-desktop-${version}
yarn run build:native
if [ "$CROSS_BUILD" ]; then
yarn run build:native --target ${XBPS_CROSS_RUST_TARGET}
else
yarn run build:native
fi
# normally just "yarn run build" would be okay, but at least on ppc64
# we need to force x86_64 arch as electron-builder does not support
# ppc64 and fails on arch detection; ARM is supported so just use build
case "$XBPS_TARGET_MACHINE" in
x86_64*|ppc64*) yarn run build64 ;;
i686*) yarn run build32 ;;
x86_64*|ppc64*) yarn run build:64 ;;
i686*) yarn run build:32 ;;
*) yarn run build ;;
esac
}