summaryrefslogtreecommitdiff
path: root/net-im/element-desktop/element-desktop-1.12.16.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'net-im/element-desktop/element-desktop-1.12.16.ebuild')
-rw-r--r--net-im/element-desktop/element-desktop-1.12.16.ebuild227
1 files changed, 0 insertions, 227 deletions
diff --git a/net-im/element-desktop/element-desktop-1.12.16.ebuild b/net-im/element-desktop/element-desktop-1.12.16.ebuild
deleted file mode 100644
index 0fad77b61348..000000000000
--- a/net-im/element-desktop/element-desktop-1.12.16.ebuild
+++ /dev/null
@@ -1,227 +0,0 @@
-# Copyright 2009-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..14} )
-
-inherit desktop flag-o-matic multilib python-any-r1 xdg-utils
-
-DESCRIPTION="A glossy Matrix collaboration client for desktop"
-HOMEPAGE="https://element.io/"
-LICENSE="Apache-2.0"
-SLOT="0"
-SRC_URI=""
-REPO="https://github.com/element-hq/element-web"
-ELECTRON_SLOT_DEFAULT="39"
-#ELEMENT_COMMIT_ID="ae245c9b1f06e79cec4829f8cd1555206b0ec8f2"
-IUSE="electron-40 electron-41 electron-42 native-modules"
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="${REPO}.git"
- EGIT_BRANCH="develop"
- DOWNLOAD=""
- IUSE+=" +build-online"
-else
- IUSE+=" +build-online"
- # KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
- DOWNLOAD="${REPO}/archive/"
- if [ -z "$ELEMENT_COMMIT_ID" ]
- then
- DOWNLOAD+="v${PV}.tar.gz -> element-web-${PV}.tar.gz"
- S="${WORKDIR}/element-web-${PV}"
- else
- DOWNLOAD+="${ELEMENT_COMMIT_ID}.tar.gz -> element-web-${ELEMENT_COMMIT_ID}.tar.gz"
- S="${WORKDIR}/element-web-${ELEMENT_COMMIT_ID}"
- fi
-fi
-
-SRC_URI+="${DOWNLOAD}"
-
-RESTRICT="mirror build-online? ( network-sandbox )"
-REQUIRED_USE="
- native-modules? ( build-online )
-"
-
-COMMON_DEPEND="
- ~net-im/element-web-${PV}
- native-modules? ( dev-db/sqlcipher )
- electron-40? ( dev-util/electron:40 )
- electron-41? ( dev-util/electron:41 )
- electron-42? ( dev-util/electron:42 )
- !electron-40? (
- !electron-41? (
- !electron-42? (
- dev-util/electron:${ELECTRON_SLOT_DEFAULT}
- ) ) )
-"
-
-RDEPEND="${COMMON_DEPEND}
-"
-DEPEND="${COMMON_DEPEND}
-"
-
-BDEPEND="
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- native-modules? ( || ( dev-lang/rust dev-lang/rust-bin ) )
- net-libs/nodejs[corepack]
-"
-
-python_check_deps() {
- python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-#TODO: net-im/element-web -> runtime/buildtime dep
-
-src_unpack() {
- if use electron-41; then
- export ELECTRON_SLOT=41
- elif use electron-40; then
- export ELECTRON_SLOT=40
- elif use electron-42; then
- export ELECTRON_SLOT=42
- else
- export ELECTRON_SLOT=$ELECTRON_SLOT_DEFAULT
- fi
- if [ -z "$ELEMENT_COMMIT_ID" ]
- then
- if [ -f "${DISTDIR}/element-web-${PV}.tar.gz" ]; then
- unpack "element-web-${PV}.tar.gz" || die
- else
- git-r3_src_unpack
- fi
- else
- unpack "element-web-${ELEMENT_COMMIT_ID}.tar.gz" || die
- fi
-}
-
-src_compile() {
- # # OLD_PATH=$PATH
- # PATH="/usr/$(get_libdir)/electron-${ELECTRON_SLOT}/node_modules/npm/bin/node-gyp-bin:$PATH"
- # PATH="/usr/$(get_libdir)/electron-${ELECTRON_SLOT}/node_modules/npm/bin:$PATH"
- # PATH="/usr/$(get_libdir)/electron-${ELECTRON_SLOT}:$PATH"
- # PATH="${S}/node_modules/.bin:$PATH";
- # export PATH
- # export CFLAGS="${CFLAGS} -I/usr/include/electron-${ELECTRON_SLOT}/node"
- # export CPPFLAGS="${CPPFLAGS} -I/usr/include/electron-${ELECTRON_SLOT}/node"
- export ELECTRON_SKIP_BINARY_DOWNLOAD=1
- # yarn config set disable-self-update-check true || die
- # yarn config set nodedir /usr/include/electron-${ELECTRON_SLOT}/node || die
- # # #! Until electron-builder >=22.11.5
- # # yarn config set ignore-engines true || die
-
- sed -i 's/electron-builder install-app-deps/true/' apps/desktop/package.json || die
-
- # if ! use build-online; then
- # ONLINE_OFFLINE="--offline --frozen-lockfile"
- # yarn config set yarn-offline-mirror "${DISTDIR}" || die
- # fi
-
- einfo "Removing playwright from dependencies"
- sed -i '/playwright":/d' apps/desktop/package.json || die
-
- einfo "Installing node_modules"
- pnpm install || die
-
- cd apps/desktop
- pnpm run build:ts || die
- pnpm run build:res || die
-
- if use native-modules
- then
- pnpm run build:native || die
- fi
-
- # # Electron-Builder doesn't support ppc64 due to using precompiled binaries
- # if ! use ppc64; then
- # einfo "Editing ElectronFramework.js"
- # sed -i 's/return unpack(options, createDownloadOpts.*$/return true;/' \
- # node_modules/app-builder-lib/out/electron/ElectronFramework.js || die
- # sed -i 's/return beforeCopyExtraFiles(options);$/return true;/' \
- # node_modules/app-builder-lib/out/electron/ElectronFramework.js || die
-
- # #!Error: With electron's node: "Unknown argument" electron/electron#25379
- # #!Error: With electron's node: "Invalid package app.asar"
- # /usr/bin/node node_modules/.bin/electron-builder --dir || die
- # else
- einfo "Manually preparing app.asar"
- local distdir="dist/linux-unpacked/resources"
- mkdir -p ${distdir}/node_modules || die
- cp -r lib ${distdir} || die
- # Copying yarn.lock allows freezing versions to the build versions
- cp package.json ${distdir} || die
- pushd ${distdir} &> /dev/null || die
- pnpm install || die
- popd &> /dev/null || die
- # rm ${distdir}/yarn.lock || die
- if use native-modules; then
- cp -r .hak/hakModules/matrix-seshat ${distdir}/node_modules/ || die
- fi
-
- einfo "Creating archive"
- /usr/bin/node node_modules/@electron/asar/bin/asar.mjs pack ${distdir} ${distdir}/app.asar \
- --unpack-dir '{**/Release,**/matrix-seshat}' || die
- # Remove unarchived copies of files (they are still in app.asar)
- rm -r ${distdir}/node_modules || die
- rm -r ${distdir}/lib || die
-
- cp -r build ${distdir} || die
- # fi
-
- #cp -r /usr/share/element-web webapp
- #rm -f webapp/config.json
- #cp -f /etc/element-web/config.json webapp/config.json
- #node node_modules/.bin/asar p webapp webapp.asar
- #node node_modules/.bin/asar l webapp.asar
-
- # export PATH=${OLD_PATH}
-
- #! Fail CI
- if [ ! -z "${NODIE}" ]; then
- die
- fi
-}
-
-src_install() {
- cd apps/desktop
-
- insinto "/usr/$(get_libdir)/element-desktop"
-
- doins -r dist/linux-unpacked/resources/*
- dosym ../../share/element-web /usr/$(get_libdir)/element-desktop/webapp
-
- exeinto "/usr/$(get_libdir)/element-desktop"
- cp "${FILESDIR}/read_flags_file" dist/linux-unpacked/resources/element-desktop
- sed -i "s|@ELECTRON@|element-desktop|" dist/linux-unpacked/resources/element-desktop
-
- echo "\"/usr/$(get_libdir)/electron-${ELECTRON_SLOT}/electron\" \
-/usr/$(get_libdir)/element-desktop/app.asar \"\${flags[@]}\" \"\$@\"" >> dist/linux-unpacked/resources/element-desktop
- doexe dist/linux-unpacked/resources/element-desktop
- dosym "/usr/$(get_libdir)/element-desktop/element-desktop" /usr/bin/element-desktop
-
- # # Install icons
- # local branding size
- # for size in 16 24 48 64 96 128 256 512 ; do
- # newicon -s ${size} "build/icons/${size}x${size}.png" \
- # element-desktop.png
- # done
-
- newicon build/icon.png element-desktop.png
-
- make_desktop_entry "/usr/bin/element-desktop" Element \
- "element-desktop" "Network;Chat"
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}