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}
\( -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
# 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
--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
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"
## 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 \
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 '^')
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 \
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
+++ /dev/null
---- 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,
- });
-
--- /dev/null
+--- 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,
+ });
+ }