add vesktop ebuild

This commit is contained in:
none 2024-04-17 00:25:39 +02:00
parent 33be31abde
commit 045d8ff5b8
3 changed files with 129 additions and 0 deletions

View File

@ -0,0 +1,14 @@
DEFINED_PHASES=configure install postinst postrm preinst prepare setup unpack
DESCRIPTION=A standalone Electron app that loads Discord & Vencord
EAPI=8
HOMEPAGE=https://vencord.dev https://github.com/Vencord/Vesktop
IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info
INHERIT=chromium-2 desktop linux-info unpacker xdg wrapper
IUSE=+wayland +l10n_af +l10n_am +l10n_ar +l10n_bg +l10n_bn +l10n_ca +l10n_cs +l10n_da +l10n_de +l10n_el +l10n_en-GB +l10n_en-US +l10n_es +l10n_es-419 +l10n_et +l10n_fa +l10n_fi +l10n_fil +l10n_fr +l10n_gu +l10n_he +l10n_hi +l10n_hr +l10n_hu +l10n_id +l10n_it +l10n_ja +l10n_kn +l10n_ko +l10n_lt +l10n_lv +l10n_ml +l10n_mr +l10n_ms +l10n_nb +l10n_nl +l10n_pl +l10n_pt-BR +l10n_pt-PT +l10n_ro +l10n_ru +l10n_sk +l10n_sl +l10n_sr +l10n_sv +l10n_sw +l10n_ta +l10n_te +l10n_th +l10n_tr +l10n_uk +l10n_ur +l10n_vi +l10n_zh-CN +l10n_zh-TW
KEYWORDS=-* ~amd64 ~arm64
LICENSE=GPL-3
RDEPEND=x11-libs/libnotify x11-misc/xdg-utils
SLOT=0
SRC_URI=amd64? ( https://github.com/Vencord/Vesktop/releases/download/v1.5.1/vesktop_1.5.1_amd64.deb ) arm64? ( https://github.com/Vencord/Vesktop/releases/download/v1.5.1/vesktop_1.5.1_arm64.deb )
_eclasses_=toolchain-funcs e56c7649b804f051623c8bc1a1c44084 multilib c19072c3cd7ac5cb21de013f7e9832e0 linux-info 7ca3057b277f1e5978947b4cc289ce62 chromium-2 93690d770dc2e27deaa89794e2f9fe3f desktop 021728fdc1b03b36357dbc89489e0f0d multiprocessing 30ead54fa2e2b5f9cd4e612ffc34d0fe unpacker 7b40f3faa3e2e12f5cf6d36d0fbfcd09 xdg-utils baea6080dd821f5562d715887954c9d3 xdg 4a14c5c24f121e7da66e5aab4a168c6e wrapper 4a1902f969e5718126434fc35f3a0d9c
_md5_=831509086111301997f5b5c60ca204a2

View File

@ -0,0 +1,2 @@
DIST vesktop_1.5.1_amd64.deb 76030374 BLAKE2B cbbf4f9f2e5871aaf47bc641106c83ec07d7ce7e9f1c86ab900604db8c4a039e43a614ed47e486956dfdf6d448a1d74d16d0e90ab809edf49a2a8a155b067439 SHA512 6de219ce512ca4206e1e4587b715de145aa89e01587d5b41cbf04430aaa33736283f442be41f57766617a1c0645afcad4ba8ba56dcb41e6b3c9e0c096b0a4964
DIST vesktop_1.5.1_arm64.deb 71343486 BLAKE2B e1489a423e54f56969e6a9dabb155ee637768ca470f1c0981feedb01aa85f2fa768edff27b9a6ef0011657a34eb34042eba7458da5f800268d1c4d2d68a1a015 SHA512 6c1a737a62d256df72925bc89c68679b4dce03a19446dc29bfee57c44284a201707dfbea3c9c8c2bbfaa0fc87b1ed8f9d20c8e60f6080a4e683babeb4bb6b6e8

View File

@ -0,0 +1,113 @@
# Copyright 2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_PN="${PN%-bin}"
MY_PN="${MY_PN^}"
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 unpacker xdg wrapper
DESCRIPTION="A standalone Electron app that loads Discord & Vencord"
HOMEPAGE="https://vencord.dev https://github.com/Vencord/Vesktop"
SRC_URI="
amd64? ( https://github.com/Vencord/${MY_PN}/releases/download/v${PV}/${PN%-bin}_${PV}_amd64.deb )
arm64? ( https://github.com/Vencord/${MY_PN}/releases/download/v${PV}/${PN%-bin}_${PV}_arm64.deb )
"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="-* ~amd64 ~arm64"
IUSE="+wayland"
RDEPEND="
x11-libs/libnotify
x11-misc/xdg-utils
"
BDEPENDS="
$(unpacker_src_uri_depends)
"
DESTDIR="/opt/${MY_PN}"
QA_PREBUILT="*"
CONFIG_CHECK="~USER_NS"
src_unpack() {
mkdir "${S}"
cd "${S}"
unpacker ${A}
}
src_prepare() {
default
# cleanup languages
pushd "opt/${MY_PN}/locales/" >/dev/null || die "location change for language cleanup failed"
chromium_remove_language_paks
popd >/dev/null || die "location reset for language cleanup failed"
# point desktop file to wrapper
sed -i -e "/Exec=/s:${DESTDIR%/}:/usr/bin:" \
"usr/share/applications/${PN%-bin}.desktop" || die "sed failed"
}
src_configure() {
default
chromium_suid_sandbox_check_kernel_config
}
src_install() {
# install desktop stuff
for size in 16 32 48 64 128 256 512 1024; do
doicon -s "${size}" "usr/share/icons/hicolor/${size}x${size}/apps/${PN%-bin}.png"
done
domenu usr/share/applications/${PN%-bin}.desktop
# install the rest
pushd "opt/${MY_PN}" >/dev/null || die "changing dirs failed"
# executables
exeinto "${DESTDIR}"
doexe chrome-sandbox \
libEGL.so \
libffmpeg.so \
libGLESv2.so \
libvk_swiftshader.so \
libvulkan.so.1 \
"${PN%-bin}"
# regular files
insinto "${DESTDIR}"
doins chrome_100_percent.pak \
chrome_200_percent.pak \
icudtl.dat \
LICENSE.electron.txt \
LICENSES.chromium.html \
resources.pak \
snapshot_blob.bin \
v8_context_snapshot.bin \
vk_swiftshader_icd.json
doins -r locales resources
# 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"
# Crashpad is included in the package once in a while and when it does, it must be installed.
# See #903616 and #890595
[[ -x chrome_crashpad_handler ]] && doexe chrome_crashpad_handler
popd >/dev/null || die "changing dirs failed"
# install wrapper, optionally enable ozone via USE wayland
make_wrapper "${PN%-bin}" "${DESTDIR}/${PN%-bin} $(usev wayland --ozone-platform-hint=auto)"
}