From 8466087b07b4b0088980f7ee819ac450a4278aee Mon Sep 17 00:00:00 2001 From: fsLeg Date: Tue, 12 Aug 2025 23:45:28 +0300 Subject: [PATCH] element-desktop: updated to version 1.11.109; more vendoring optimizations --- element-desktop/element-desktop.SlackBuild | 12 +++--- element-desktop/element-desktop.info | 14 +++---- element-desktop/mkvendor.sh | 34 ++++++++-------- element-desktop/no-fetching-hak.patch | 11 ------ element-desktop/yarn-offline.patch | 46 ++++++++++++++++++++++ 5 files changed, 78 insertions(+), 39 deletions(-) delete mode 100644 element-desktop/no-fetching-hak.patch create mode 100644 element-desktop/yarn-offline.patch diff --git a/element-desktop/element-desktop.SlackBuild b/element-desktop/element-desktop.SlackBuild index d121130..e46af93 100644 --- a/element-desktop/element-desktop.SlackBuild +++ b/element-desktop/element-desktop.SlackBuild @@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd) PRGNAM=element-desktop WEBNAM=element-web -VERSION=${VERSION:-1.11.108} +VERSION=${VERSION:-1.11.109} BUILD=${BUILD:-1} TAG=${TAG:-fsleg} PKGTYPE=${PKGTYPE:-txz} @@ -100,12 +100,12 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +sed -i 's|yarn |yarn --offline |g' package.json yarn install --frozen-lockfile \ --ignore-engines \ --no-fund \ --update-checksums \ --offline -sed -i 's|yarn |yarn --offline |g' package.json VERSION=$VERSION \ yarn --offline build yarn --offline cache clean @@ -121,8 +121,10 @@ find -L . \ # fix autolaunch # https://gitlab.archlinux.org/archlinux/packaging/packages/element.io/-/blob/main/autolaunch.patch patch -p1 < $CWD/autolaunch.patch -# use vendored hak -patch -p1 < $CWD/no-fetching-hak.patch +# use vendored sources and prevent warnings +patch -p1 < $CWD/yarn-offline.patch +sed -i 's|yarn |yarn --offline |g' package.json .hak/hakModules/matrix-seshat/package.json +sed -i 's|cargo build |cargo build --frozen |' .hak/hakModules/matrix-seshat/package.json # disable autoupdate sed -i 's|"https://packages.element.io/desktop/update/"|null|' element.io/release/config.json @@ -133,10 +135,10 @@ yarn install --frozen-lockfile \ --no-fund \ --update-checksums \ --offline -sed -i 's|yarn |yarn --offline |g' package.json yarn --offline run fetch --noverify --cfgdir "" RUSTFLAGS="-C target-cpu=native" \ yarn --offline run build:native +rm -r .hak/hakModules/matrix-seshat/{.cargo,node_modules,target,vendor} # electron-builder fails if it can't upload the artifact to GitHub for which it requires a GitHub Token # all building is done by that point, so we just continue with packaging yarn --offline run build || true diff --git a/element-desktop/element-desktop.info b/element-desktop/element-desktop.info index 395ccf6..0d2c731 100644 --- a/element-desktop/element-desktop.info +++ b/element-desktop/element-desktop.info @@ -1,14 +1,14 @@ PRGNAM="element-desktop" -VERSION="1.11.108" +VERSION="1.11.109" HOMEPAGE="https://element.io/" DOWNLOAD="UNSUPPORTED" MD5SUM="" -DOWNLOAD_x86_64="https://github.com/element-hq/element-desktop/archive/v1.11.108/element-desktop-1.11.108.tar.gz \ - https://github.com/element-hq/element-web/archive/v1.11.108/element-web-1.11.108.tar.gz \ - https://sbo.t-rg.ws/element-desktop-1.11.108-vendored-sources.tar.xz" -MD5SUM_x86_64="c9f703e2983abf98cdc9172dd046da85 \ - 72560cdea08e8ab4fd1745ac8d96e1d8 \ - b1a814f738a211bda321159bb75514d1" +DOWNLOAD_x86_64="https://github.com/element-hq/element-desktop/archive/v1.11.109/element-desktop-1.11.109.tar.gz \ + https://github.com/element-hq/element-web/archive/v1.11.109/element-web-1.11.109.tar.gz \ + https://sbo.t-rg.ws/element-desktop-1.11.109-vendored-sources.tar.xz" +MD5SUM_x86_64="6576a1b4744c93cdbf9251ab5922520d \ + 5fb3f964d74ce3d333a41b9e50a4400d \ + 8ce93f9cae8253a4edf8e3935902379d" REQUIRES="sqlcipher yarn rust-opt" MAINTAINER="Vladislav 'fsLeg' Borisov" EMAIL="fsleg@t-rg.ws" diff --git a/element-desktop/mkvendor.sh b/element-desktop/mkvendor.sh index 97423de..c6c6bde 100755 --- a/element-desktop/mkvendor.sh +++ b/element-desktop/mkvendor.sh @@ -46,22 +46,13 @@ cd ../element-desktop-$VERSION ## pre-built electron EVERSION=$(jq --raw-output '.devDependencies.electron' < package.json) -mkdir -p $XDG_CACHE_HOME/electron{,-builder/fpm@2.0.1/fpm@2.0.1-fpm-1.16.0-ruby-3.4.3-linux-amd64} +mkdir -p $XDG_CACHE_HOME/electron{,-builder} if [ -e $CWD/electron-v$EVERSION-linux-x64.zip ]; then cp $CWD/electron-v$EVERSION-linux-x64.zip $XDG_CACHE_HOME/electron/ else wget --directory-prefix=$XDG_CACHE_HOME/electron --tries=0 --retry-on-http-error=503 https://github.com/electron/electron/releases/download/v$EVERSION/electron-v$EVERSION-linux-x64.zip fi -## pre-built ruby for electron-builder -if [ -e $CWD/fpm-1.16.0-ruby-3.4.3-linux-amd64.7z ]; then - cp $CWD/fpm-1.16.0-ruby-3.4.3-linux-amd64.7z $XDG_CACHE_HOME/electron-builder/ -else - wget --directory-prefix=$XDG_CACHE_HOME/electron-builder --tries=0 --retry-on-http-error=503 https://github.com/electron-userland/electron-builder-binaries/releases/download/fpm@2.0.1/fpm-1.16.0-ruby-3.4.3-linux-amd64.7z -fi -7z x -o$XDG_CACHE_HOME/electron-builder/fpm@2.0.1/fpm@2.0.1-fpm-1.16.0-ruby-3.4.3-linux-amd64 $XDG_CACHE_HOME/electron-builder/fpm-1.16.0-ruby-3.4.3-linux-amd64.7z -rm $XDG_CACHE_HOME/electron-builder/fpm-1.16.0-ruby-3.4.3-linux-amd64.7z - ## element-desktop itself yarn install --frozen-lockfile \ --ignore-engines \ @@ -72,6 +63,18 @@ EDIR=$(find $XDG_CACHE_HOME/electron -type d -mindepth 1 -maxdepth 1) rm $EDIR/electron-v$EVERSION-linux-x64.zip ln -s ../electron-v$EVERSION-linux-x64.zip $EDIR/ +## pre-built ruby for electron-builder +FPM_RUBY=$(grep linux-amd64 node_modules/app-builder-lib/out/targets/tools.js | head -1 | cut -d'"' -f2) +FPM_RUBY_TAG=$(grep 'const fpmPath' node_modules/app-builder-lib/out/targets/tools.js | head -1 | cut -d'"' -f2) +mkdir -p $XDG_CACHE_HOME/electron-builder/$FPM_RUBY_TAG/$FPM_RUBY_TAG-${FPM_RUBY%.7z} +if [ -e $CWD/$FPM_RUBY ]; then + cp $CWD/$FPM_RUBY $XDG_CACHE_HOME/electron-builder/ +else + wget --directory-prefix=$XDG_CACHE_HOME/electron-builder/ --tries=0 --retry-on-http-error=503 https://github.com/electron-userland/electron-builder-binaries/releases/download/$FPM_RUBY_TAG/$FPM_RUBY +fi +7z x -o$XDG_CACHE_HOME/electron-builder/$FPM_RUBY_TAG/$FPM_RUBY_TAG-${FPM_RUBY%.7z} $XDG_CACHE_HOME/electron-builder/$FPM_RUBY +rm $XDG_CACHE_HOME/electron-builder/$FPM_RUBY + ## matrix-seshat RUST_PLATFORM=$(rustc -Vv | awk '/host/ {print $2}') SESHATVERSION=$(jq --raw-output '.hakDependencies."matrix-seshat"' < package.json | tr -d '^') @@ -82,9 +85,9 @@ else wget --directory-prefix=.hak --tries=0 --retry-on-http-error=503 https://github.com/matrix-org/seshat/archive/$SESHATVERSION/seshat-$SESHATVERSION.tar.gz fi tar xf .hak/seshat-$SESHATVERSION.tar.gz -C .hak seshat-$SESHATVERSION/seshat-node -mv .hak/seshat-$SESHATVERSION/seshat-node .hak/matrix-seshat/$RUST_PLATFORM/build -cp -R .hak/matrix-seshat/$RUST_PLATFORM/build .hak/hakModules/matrix-seshat -rm .hak/seshat-$SESHATVERSION.tar.gz +mv .hak/seshat-$SESHATVERSION/seshat-node .hak/hakModules/matrix-seshat +ln -s ../../hakModules/matrix-seshat .hak/matrix-seshat/$RUST_PLATFORM/build +rm -r .hak/seshat-$SESHATVERSION.tar.gz .hak/seshat-$SESHATVERSION cd .hak/matrix-seshat/$RUST_PLATFORM/build yarn install --frozen-lockfile \ @@ -117,8 +120,7 @@ cd ../../../.. cd .. tar cfJ $CWD/element-desktop-$VERSION-vendored-sources.tar.xz \ element-desktop-$VERSION/vendor \ - element-desktop-$VERSION/.hak/hakModules \ - element-desktop-$VERSION/.hak/matrix-seshat/$RUST_PLATFORM/build \ - element-desktop-$VERSION/electron-cache/electron{,-builder} + element-desktop-$VERSION/.hak \ + element-desktop-$VERSION/electron-cache rm -rf $TMP cd $CWD diff --git a/element-desktop/no-fetching-hak.patch b/element-desktop/no-fetching-hak.patch deleted file mode 100644 index 9bbf4f9..0000000 --- a/element-desktop/no-fetching-hak.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/scripts/hak/fetch.ts 2025-07-30 17:41:30.000000000 +0300 -+++ b/scripts/hak/fetch.ts 2025-08-10 20:00:44.506272030 +0300 -@@ -31,7 +31,7 @@ - }); - - console.log("Running yarn install in " + moduleInfo.moduleBuildDir); -- await hakEnv.spawn("yarn", ["install", "--ignore-scripts"], { -+ await hakEnv.spawn("yarn", ["install", "--offline", "--ignore-scripts"], { - cwd: moduleInfo.moduleBuildDir, - }); - diff --git a/element-desktop/yarn-offline.patch b/element-desktop/yarn-offline.patch new file mode 100644 index 0000000..abc34bd --- /dev/null +++ b/element-desktop/yarn-offline.patch @@ -0,0 +1,46 @@ +--- a/scripts/hak/fetch.ts 2025-07-30 17:41:30.000000000 +0300 ++++ b/scripts/hak/fetch.ts 2025-08-10 20:00:44.506272030 +0300 +@@ -31,7 +31,7 @@ + }); + + console.log("Running yarn install in " + moduleInfo.moduleBuildDir); +- await hakEnv.spawn("yarn", ["install", "--ignore-scripts"], { ++ await hakEnv.spawn("yarn", ["install", "--offline", "--ignore-scripts"], { + cwd: moduleInfo.moduleBuildDir, + }); + +--- a/hak/matrix-seshat/build.ts 2025-08-12 20:56:41.683279350 +0300 ++++ b/hak/matrix-seshat/build.ts 2025-08-12 20:35:48.549674868 +0300 +@@ -17,7 +17,7 @@ + } + + console.log("Running yarn install"); +- await hakEnv.spawn("yarn", ["install"], { ++ await hakEnv.spawn("yarn", ["install", "--offline"], { + cwd: moduleInfo.moduleBuildDir, + env, + shell: true, +@@ -26,7 +26,7 @@ + const buildTarget = hakEnv.wantsStaticSqlCipher() ? "build-bundled" : "build"; + + console.log("Running yarn build"); +- await hakEnv.spawn("yarn", ["run", buildTarget], { ++ await hakEnv.spawn("yarn", ["--offline", "run", buildTarget], { + cwd: moduleInfo.moduleBuildDir, + env, + shell: true, +--- a/scripts/hak/link.ts 2025-07-30 17:41:30.000000000 +0300 ++++ b/scripts/hak/link.ts 2025-08-12 21:51:22.436370101 +0300 +@@ -38,10 +38,10 @@ + ); + } + +- await hakEnv.spawn("yarn", ["link"], { ++ await hakEnv.spawn("yarn", ["--offline", "link"], { + cwd: moduleInfo.moduleOutDir, + }); +- await hakEnv.spawn("yarn", ["link", moduleInfo.name], { ++ await hakEnv.spawn("yarn", ["--offline", "link", moduleInfo.name], { + cwd: hakEnv.projectRoot, + }); + } -- 2.46.4