element-desktop: update to 1.10.14.

This commit is contained in:
Jan Christian Grünhage 2022-01-31 20:33:45 +01:00 committed by John Zimmermann
parent 4bc994a20a
commit 21cc34a36d
7 changed files with 234 additions and 198 deletions

View file

@ -1,166 +0,0 @@
From bc552079ad526a8b7da12c091e384d640407c7ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
<jan.christian@gruenhage.xyz>
Date: Tue, 17 Aug 2021 17:33:02 +0200
Subject: [PATCH] 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.
---
package.json | 1 +
scripts/hak/target.js | 82 +++++++++++++++++++++++++++++++++++++------
yarn.lock | 2 +-
3 files changed, 74 insertions(+), 11 deletions(-)
diff --git a/package.json b/package.json
index c958137..3b371d2 100644
--- a/package.json
+++ b/package.json
@@ -57,6 +57,7 @@
"allchange": "^1.0.6",
"asar": "^2.0.1",
"chokidar": "^3.5.2",
+ "detect-libc": "^1.0.3",
"electron": "13.5",
"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 ae661ba..782282f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1778,7 +1778,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=
--
2.34.1

View file

@ -0,0 +1,184 @@
From 8234ebac57785b09defe3b179f9cce8ef4cf88d9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
<jan.christian@gruenhage.xyz>
Date: Tue, 17 Aug 2021 17:33:02 +0200
Subject: [PATCH] support compilation on more targets
---
package.json | 1 +
scripts/hak/target.ts | 86 +++++++++++++++++++++++++++++++++++++++++--
yarn.lock | 2 +-
3 files changed, 84 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index ac17d6d..01e2192 100644
--- a/package.json
+++ b/package.json
@@ -61,6 +61,7 @@
"app-builder-lib": "^22.14.10",
"asar": "^2.0.1",
"chokidar": "^3.5.2",
+ "detect-libc": "^1.0.3",
"electron": "^17",
"electron-builder": "22.11.4",
"electron-builder-squirrel-windows": "22.11.4",
diff --git a/scripts/hak/target.ts b/scripts/hak/target.ts
index 7970bb3..657fe45 100644
--- a/scripts/hak/target.ts
+++ b/scripts/hak/target.ts
@@ -14,6 +14,8 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
+import { GLIBC, MUSL, family as processLibC } from "detect-libc";
+
// We borrow Rust's target naming scheme as a way of expressing all target
// details in a single string.
// See https://doc.rust-lang.org/rustc/platform-support.html.
@@ -23,18 +25,28 @@ export type TargetId =
'universal-apple-darwin' |
'i686-pc-windows-msvc' |
'x86_64-pc-windows-msvc' |
- 'x86_64-unknown-linux-gnu';
+ 'i686-unknown-linux-musl' |
+ 'i686-unknown-linux-gnu' |
+ 'x86_64-unknown-linux-musl' |
+ 'x86_64-unknown-linux-gnu' |
+ 'aarch64-unknown-linux-musl' |
+ 'aarch64-unknown-linux-gnu' |
+ 'powerpc64le-unknown-linux-musl' |
+ 'powerpc64le-unknown-linux-gnu';
// Values are expected to match those used in `process.platform`.
export type Platform = 'darwin' | 'linux' | 'win32';
// Values are expected to match those used in `process.arch`.
-export type Arch = 'arm64' | 'ia32' | 'x64' | 'universal';
+export type Arch = 'arm64' | 'ia32' | 'x64' | 'ppc64' | 'universal';
// Values are expected to match those used by Visual Studio's `vcvarsall.bat`.
// See https://docs.microsoft.com/cpp/build/building-on-the-command-line?view=msvc-160#vcvarsall-syntax
export type VcVarsArch = 'amd64' | 'arm64' | 'x86';
+// Values are expected to match those used in `detect-libc`.
+export type LibC = GLIBC | MUSL;
+
export type Target = {
id: TargetId;
platform: Platform;
@@ -46,6 +58,11 @@ export type WindowsTarget = Target & {
vcVarsArch: VcVarsArch;
};
+export type LinuxTarget = Target & {
+ platform: 'linux';
+ libC: LibC;
+}
+
export type UniversalTarget = Target & {
arch: 'universal';
subtargets: Target[];
@@ -87,10 +104,60 @@ const x8664PcWindowsMsvc: WindowsTarget = {
vcVarsArch: 'amd64',
};
-const x8664UnknownLinuxGnu: Target = {
+const x8664UnknownLinuxGnu: LinuxTarget = {
id: 'x86_64-unknown-linux-gnu',
platform: 'linux',
arch: 'x64',
+ libC: 'glibc',
+};
+
+const x8664UnknownLinuxMusl: LinuxTarget = {
+ id: 'x86_64-unknown-linux-musl',
+ platform: 'linux',
+ arch: 'x64',
+ libC: 'musl',
+};
+
+const i686UnknownLinuxGnu: LinuxTarget = {
+ id: 'i686-unknown-linux-gnu',
+ platform: 'linux',
+ arch: 'ia32',
+ libC: 'glibc',
+};
+
+const i686UnknownLinuxMusl: LinuxTarget = {
+ id: 'i686-unknown-linux-musl',
+ platform: 'linux',
+ arch: 'ia32',
+ libC: 'musl',
+};
+
+const aarch64UnknownLinuxGnu: LinuxTarget = {
+ id: 'aarch64-unknown-linux-gnu',
+ platform: 'linux',
+ arch: 'arm64',
+ libC: 'glibc',
+};
+
+const aarch64UnknownLinuxMusl: LinuxTarget = {
+ id: 'aarch64-unknown-linux-musl',
+ platform: 'linux',
+ arch: 'arm64',
+ libC: 'musl',
+};
+
+const powerpc64leUnknownLinuxGnu: LinuxTarget = {
+ id: 'powerpc64le-unknown-linux-gnu',
+ platform: 'linux',
+ arch: 'ppc64',
+ libC: 'glibc',
+};
+
+const powerpc64leUnknownLinuxMusl: LinuxTarget = {
+ id: 'powerpc64le-unknown-linux-musl',
+ platform: 'linux',
+ arch: 'ppc64',
+ libC: 'musl',
};
export const TARGETS: Record<TargetId, Target> = {
@@ -102,13 +169,24 @@ export const TARGETS: Record<TargetId, Target> = {
'i686-pc-windows-msvc': i686PcWindowsMsvc,
'x86_64-pc-windows-msvc': x8664PcWindowsMsvc,
// Linux
+ '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,
};
export function getHost(): Target {
return Object.values(TARGETS).find(target => (
target.platform === process.platform &&
- target.arch === process.arch
+ target.arch === process.arch &&
+ (
+ process.platform !== 'linux' ||
+ (target as LinuxTarget).libC === processLibC
+ )
));
}
diff --git a/yarn.lock b/yarn.lock
index 75b3bb5..12ec518 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2049,7 +2049,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=
--
2.36.1

View file

@ -1,38 +1,41 @@
commit 69e6b3e631fc8cd88cbe78b06d908f4310aa56e0 From a38eae15bfa5fd31927fe7d26191ebf8b56e04ee Mon Sep 17 00:00:00 2001
Author: q66 <daniel@octaforge.org> From: q66 <daniel@octaforge.org>
Date: Sat Dec 11 21:22:44 2021 +0100 Date: Sat, 11 Dec 2021 21:22:44 +0100
Subject: [PATCH] remove dependency on sentry
remove dependency on sentry This is unused and breaks ppc64 because it downlaods binaries.
---
This is unused and breaks ppc64 because it downlaods binaries. package.json | 1 -
webpack.config.js | 7 -------
2 files changed, 8 deletions(-)
diff --git a/package.json b/package.json diff --git a/package.json b/package.json
index 078c772..5b5c430 100644 index 021368599..4587b29fb 100644
--- a/package.json --- a/package.json
+++ b/package.json +++ b/package.json
@@ -89,7 +89,6 @@ @@ -84,7 +84,6 @@
"@babel/register": "^7.12.10",
"@babel/runtime": "^7.12.5", "@babel/runtime": "^7.12.5",
"@pmmmwh/react-refresh-webpack-plugin": "^0.4.3",
"@principalstudio/html-webpack-inject-preload": "^1.2.7", "@principalstudio/html-webpack-inject-preload": "^1.2.7",
- "@sentry/webpack-plugin": "^1.18.1", - "@sentry/webpack-plugin": "^1.18.1",
"@svgr/webpack": "^5.5.0",
"@types/flux": "^3.1.9", "@types/flux": "^3.1.9",
"@types/jest": "^27.0.2", "@types/jest": "^27.0.2",
"@types/modernizr": "^3.5.3",
diff --git a/webpack.config.js b/webpack.config.js diff --git a/webpack.config.js b/webpack.config.js
index 3aed215..7babcef 100644 index 13e969eca..0cd036a7e 100644
--- a/webpack.config.js --- a/webpack.config.js
+++ b/webpack.config.js +++ b/webpack.config.js
@@ -9,7 +9,6 @@ const TerserPlugin = require('terser-webpack-plugin'); @@ -8,7 +8,6 @@ const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const TerserPlugin = require('terser-webpack-plugin');
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin'); const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
const HtmlWebpackInjectPreload = require('@principalstudio/html-webpack-inject-preload'); const HtmlWebpackInjectPreload = require('@principalstudio/html-webpack-inject-preload');
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
-const SentryCliPlugin = require("@sentry/webpack-plugin"); -const SentryCliPlugin = require("@sentry/webpack-plugin");
dotenv.config(); dotenv.config();
let ogImageUrl = process.env.RIOT_OG_IMAGE_URL; let ogImageUrl = process.env.RIOT_OG_IMAGE_URL;
@@ -539,12 +538,6 @@ module.exports = (env, argv) => { @@ -631,12 +630,6 @@ module.exports = (env, argv) => {
files: [{ match: /.*Inter.*\.woff2$/ }],
}), }),
useHMR && new ReactRefreshWebpackPlugin(fullPageErrors ? undefined : { overlay: { entry: false } }),
- // upload to sentry if sentry env is present - // upload to sentry if sentry env is present
- process.env.SENTRY_DSN && - process.env.SENTRY_DSN &&
@ -43,3 +46,6 @@ index 3aed215..7babcef 100644
new webpack.EnvironmentPlugin(['VERSION']), new webpack.EnvironmentPlugin(['VERSION']),
].filter(Boolean), ].filter(Boolean),
--
2.36.0

View file

@ -0,0 +1 @@
-Np1 -d element-web

View file

@ -1,12 +1,12 @@
# Template file for 'element-desktop' # Template file for 'element-desktop'
pkgname=element-desktop pkgname=element-desktop
version=1.9.7 version=1.10.14
revision=1 revision=1
wrksrc="element-web-${version}" create_wrksrc=yes
conf_files="/etc/${pkgname}/config.json" conf_files="/etc/${pkgname}/config.json"
hostmakedepends="git yarn nodejs rust cargo python3 curl hostmakedepends="git yarn nodejs rust cargo python3 curl
sqlcipher-devel libappindicator-devel libnotify-devel pkg-config sqlcipher-devel libappindicator-devel libnotify-devel pkg-config
app-builder" app-builder jq moreutils"
makedepends="libsecret-devel" makedepends="libsecret-devel"
depends="c-ares ffmpeg gtk+3 http-parser libevent depends="c-ares ffmpeg gtk+3 http-parser libevent
libxslt minizip nss re2 snappy sqlcipher electron13" libxslt minizip nss re2 snappy sqlcipher electron13"
@ -18,15 +18,23 @@ _ghpage="https://github.com/vector-im"
_archive="archive/v${version}.tar.gz" _archive="archive/v${version}.tar.gz"
distfiles="${_ghpage}/element-desktop/${_archive}>element-desktop.tar.gz distfiles="${_ghpage}/element-desktop/${_archive}>element-desktop.tar.gz
${_ghpage}/element-web/${_archive}>element-web.tar.gz" ${_ghpage}/element-web/${_archive}>element-web.tar.gz"
checksum="1ee24d8c1f894ed66766d67dd5b6a5c2b1e6dcd1f866c9c49a4fd0108fd7a9e2 checksum="4e590e765944701b9884ea493ba482272f61fb0dd1c877fc59db6c460c1a2e10
b3892acf206f866b571e2eb3dcc01c72c315d737c9d040d72405c066077d9e4c" 57d4730d6ced050199966db34bd56da89d2dbbfd52bd90546c300549601b7b31"
patch_args="-Np1 -d ../${pkgname}-${version}"
export USE_SYSTEM_APP_BUILDER=true export USE_SYSTEM_APP_BUILDER=true
post_extract() {
mv ${pkgname}-${version} ${pkgname}
mv ${pkgname/desktop/web}-${version} ${pkgname/desktop/web}
}
pre_patch() { pre_patch() {
ln -s ../element-web-${version}/0001-Fixes-compilation-on-a-bunch-of-targets.patch ../element-desktop-${version}/ for patch in ${pkgname}_*.patch; do
ln -s ../${patch} ${pkgname}
done
for patch in ${pkgname/desktop/web}_*.patch; do
ln -s ../${patch} ${pkgname/desktop/web}
done
} }
pre_build() { pre_build() {
@ -38,21 +46,23 @@ pre_build() {
i686*) carch=ia32 ;; i686*) carch=ia32 ;;
esac esac
cd ${pkgname/desktop/web}
# Disable auto-updating
jq '.update_base_url = ""' element.io/app/config.json | sponge element.io/app/config.json
# Build dependencies for element-web # Build dependencies for element-web
npm_config_arch=$carch yarn install npm_config_arch=$carch yarn install
# Build dependencies and alterations for element-desktop # Build dependencies and alterations for element-desktop
cd ../element-desktop-${version} cd ../${pkgname}
# Disable auto-updating
vsed -i 's@https://packages.riot.im/desktop/update/@null@g' element.io/release/config.json
vsed -i 's/"target": "deb"/"target": "dir"/g' package.json vsed -i 's/"target": "deb"/"target": "dir"/g' package.json
npm_config_arch=$carch yarn install npm_config_arch=$carch yarn install
} }
do_build() { do_build() {
cd ${pkgname/desktop/web}
yarn build yarn build
cd ../element-desktop-${version} cd ../${pkgname}
if [ "$CROSS_BUILD" ]; then if [ "$CROSS_BUILD" ]; then
yarn run build:native --target ${XBPS_CROSS_RUST_TARGET} yarn run build:native --target ${XBPS_CROSS_RUST_TARGET}
else else
@ -69,11 +79,12 @@ do_build() {
} }
do_install() { do_install() {
cd ${pkgname/desktop/web}
vmkdir usr/lib/element-desktop vmkdir usr/lib/element-desktop
vmkdir etc/element-desktop vmkdir etc/element-desktop
case "$XBPS_TARGET_MACHINE" in case "$XBPS_TARGET_MACHINE" in
i686*) vcopy ../element-desktop-${version}/dist/linux-ia32-unpacked/resources /usr/lib/element-desktop/resources;; i686*) vcopy ../element-desktop/dist/linux-ia32-unpacked/resources /usr/lib/element-desktop/resources;;
*) vcopy ../element-desktop-${version}/dist/linux-unpacked/resources /usr/lib/element-desktop/resources *) vcopy ../element-desktop/dist/linux-unpacked/resources /usr/lib/element-desktop/resources
esac esac
vinstall config.sample.json 644 /etc/element-desktop/ config.json vinstall config.sample.json 644 /etc/element-desktop/ config.json
vcopy webapp /usr/lib/element-desktop/resources vcopy webapp /usr/lib/element-desktop/resources
@ -85,7 +96,7 @@ do_install() {
vinstall webapp/themes/element/img/logos/element-logo.svg 644 /usr/share/icons/hicolor/scalable/apps/ element.svg vinstall webapp/themes/element/img/logos/element-logo.svg 644 /usr/share/icons/hicolor/scalable/apps/ element.svg
for i in 16 24 48 64 96 128 256 512; do for i in 16 24 48 64 96 128 256 512; do
vinstall ../element-desktop-${version}/build/icons/${i}x${i}.png 644 /usr/share/icons/hicolor/${i}x${i}/apps/ element.png vinstall ../element-desktop/build/icons/${i}x${i}.png 644 /usr/share/icons/hicolor/${i}x${i}/apps/ element.png
done done
} }