From 3eec65a1eab3a4fcef241ed214001b6fc8aa3775 Mon Sep 17 00:00:00 2001 From: Jared Allard Date: Sat, 1 Jun 2024 12:36:21 -0700 Subject: [PATCH] net-im/armcord: use prebuilts --- net-im/armcord/Manifest | 3 +- net-im/armcord/armcord-3.2.7.ebuild | 88 ++++++++++++++++++---------- net-im/armcord/files/icon.png | Bin 0 -> 17812 bytes 3 files changed, 60 insertions(+), 31 deletions(-) create mode 100644 net-im/armcord/files/icon.png diff --git a/net-im/armcord/Manifest b/net-im/armcord/Manifest index 490010e..6b44113 100644 --- a/net-im/armcord/Manifest +++ b/net-im/armcord/Manifest @@ -1 +1,2 @@ -DIST armcord-3.2.7.tar.gz 1162149 BLAKE2B 65063f9d1cab24113c74c9eb07e6225d5e850b5970540c6abb3f366380a70a4dcb5a0d292ac6156cd5513737d18ca3e0df2cd9b5ddc0e5e7f395f52cff3d125e SHA512 b97a84215ba6c706ec1b0c55282bd4789cfe922def376774f735787092e601682b5c3fa890cdcda44c4896dc10dc1159cde654b4fc6b82fed04eeceaffc521e5 +DIST ArmCord-3.2.7-arm64.tar.gz 101285607 BLAKE2B d56085b7453c3b2525027956c9fcc056a33d5435ddd1f4c4e277846ce31793638be76eef551243efb183b81f1b6d3cb59bead60474bffa80fe8692051154d096 SHA512 96bfe80d9909528fd3f78a91dcafe57ed89136407da563dc5ecb830d2fdff2b05f755a59f7b5bbc1d931576d05fdcfb0efc807f4887126598ae4d232318a2420 +DIST ArmCord-3.2.7.tar.gz 101167833 BLAKE2B f9a02e34e72bd5ae678b6234691631d4c4cf0d19fba9c035f2fbd638f7c1eae238baa51bb0ccabcd749c8af7f191585319d89e0c899f9a51a36f0827582c9664 SHA512 0ab6efa870284a7140d98dd5a26420dcc8fd187c04d942e84b23af1285cbe4eb95d3759934faeb88303cc59085f60c2a6c51cffbea24b4039dffe95993741bdc diff --git a/net-im/armcord/armcord-3.2.7.ebuild b/net-im/armcord/armcord-3.2.7.ebuild index a19b9c6..ffd2bd1 100644 --- a/net-im/armcord/armcord-3.2.7.ebuild +++ b/net-im/armcord/armcord-3.2.7.ebuild @@ -3,51 +3,79 @@ EAPI=8 -inherit desktop xdg +MY_PN="${PN/-bin/}" +MY_PV="${PV/-r*/}" + +CHROMIUM_LANGS=" + af am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi + hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv + sw ta te th tr uk ur vi zh-CN zh-TW +" + +inherit chromium-2 desktop linux-info optfeature unpacker xdg DESCRIPTION="ArmCord is a custom client designed to enhance your Discord experience while keeping everything lightweight" HOMEPAGE="https://github.com/ArmCord/ArmCord" -SRC_URI="https://github.com/ArmCord/ArmCord/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI=" + amd64? ( https://github.com/ArmCord/ArmCord/releases/download/v${PV}/ArmCord-${PV}.tar.gz ) + arm64? ( https://github.com/ArmCord/ArmCord/releases/download/v${PV}/ArmCord-${PV}-arm64.tar.gz ) +" +IUSE="appindicator +seccomp wayland" LICENSE="OSL-3.0" SLOT="0" -KEYWORDS="amd64 arm64 x86" +KEYWORDS="amd64 arm64" -# network-sandbox because node :( -RESTRICT="network-sandbox bindist mirror strip" +RESTRICT="bindist mirror strip test" -BDEPEND="net-libs/nodejs[npm]" +QA_PREBUILT="*" +DESTDIR="/opt/${MY_PN}" +CONFIG_CHECK="~USER_NS" -QA_PREBUILT="usr/bin/${PN}" -S="${WORKDIR}" +src_unpack() { + unpacker_src_unpack + ls -alg "${WORKDIR}" -src_compile() { - cd "${S}/ArmCord-${PV}" || die + # Use the first directory found in the unpacked tarball. + S=$(find "${WORKDIR}" -maxdepth 1 -mindepth 1 -type d -print) +} - export npm_config_build_from_source=true - export HOME="${S}/.electron-gyp" - export PATH="${S}/.npm/bin:${PATH}" - - # Install and configure pnpm. - npm --prefix "${S}/.npm" install -g pnpm@8 - pnpm config set store-dir "${S}/.pnpm_store" - pnpm config set cache-dir "${S}/.pnpm_cache" - pnpm config set link-workspace-packages true - - pnpm install - pnpm run build - npx electron-builder --config.linux.target=dir +src_configure() { + default + chromium_suid_sandbox_check_kernel_config } src_install() { - SRC_DIR="${S}/ArmCord-${PV}" + doicon -s 256 "${FILESDIR}/icon.png" - mkdir -p "${D}/usr/lib" - cp -ar "${SRC_DIR}/dist/linux-"*/ "${D}/usr/lib/${PN}/" - fperms 4711 "/usr/lib/${PN}/chrome-sandbox" + exeinto "${DESTDIR}" + doexe "${MY_PN}" chrome-sandbox libEGL.so libffmpeg.so libGLESv2.so libvk_swiftshader.so - dosym "/usr/lib/${PN}/${PN}" "/usr/bin/${PN}" + insinto "${DESTDIR}" + doins chrome_100_percent.pak chrome_200_percent.pak icudtl.dat resources.pak snapshot_blob.bin v8_context_snapshot.bin + insopts -m0755 + doins -r locales resources - newicon "${SRC_DIR}/build/icon.png" "${PN}.png" - make_desktop_entry "${PN}" "ArmCord" "${PN}" "Network;InstantMessaging;" + # Chrome-sandbox requires the setuid bit to be specifically set. + # see https://github.com/electron/electron/issues/17972 + fowners root "${DESTDIR}/chrome-sandbox" + fperms 4711 "${DESTDIR}/chrome-sandbox" + [[ -x chrome_crashpad_handler ]] && doins chrome_crashpad_handler + + dosym "${DESTDIR}/${MY_PN}" "/usr/bin/${MY_PN}" + + executable="${PN}" + if use wayland; then + executable="${PN} --ozone-platform-hint=auto" + fi + make_desktop_entry "$executable" "ArmCord" "${PN}" "Network;InstantMessaging;" +} + +pkg_postinst() { + xdg_pkg_postinst + + optfeature_header "Install the following packages for additional support:" + optfeature "sound support" \ + media-sound/pulseaudio media-sound/apulse[sdk] media-video/pipewire + optfeature "emoji support" media-fonts/noto-emoji } diff --git a/net-im/armcord/files/icon.png b/net-im/armcord/files/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..940c5944320376d8dbabaa89ca8ae13ceb8c510d GIT binary patch literal 17812 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