app-misc/via: new package, add 3.0.0

Signed-off-by: Itai Ferber <itai@itaiferber.net>
This commit is contained in:
Itai Ferber
2024-07-15 22:37:17 -04:00
parent f71e02e252
commit 02441cd7f3
3 changed files with 82 additions and 0 deletions

1
app-misc/via/Manifest Normal file
View File

@@ -0,0 +1 @@
DIST via-3.0.0.AppImage 96599478 BLAKE2B 4b39ba089749713c870608fd18aced435cf617beaf4577bd95de404876ad0ebf14d9a257b53c326033746fcc1acab477401e411d75a99f34453c5770d9abbafb SHA512 cf88b62466bdcdbe73877a37fc6a3ba401567519a62b1005c4e602f7e5f38df0fab05c0f7e368a9e92fddb135b068d069f385d5d932d13534c7c9cb253fbaac0

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer needed -->
<upstream>
<remote-id type="github">the-via/releases</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,73 @@
# Copyright 2024 Gentoo Authors
EAPI=8
inherit desktop
DESCRIPTION="GUI configurator for supported QMK-based keyboards"
HOMEPAGE="https://caniusevia.com"
SRC_URI="amd64? (
https://github.com/the-via/releases/releases/download/v${PV}/${P}-linux.AppImage
-> ${P}.AppImage
)"
S="${WORKDIR}"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
RESTRICT="bindist mirror test strip"
# These dependencies were extracted from the shared libraries required by the
# via-nativia executable; it's not clear whether these are all _actually_
# required, or whether the list is extensive because the executable is an
# Electron app.
RDEPEND="
app-accessibility/at-spi2-core
dev-libs/expat
dev-libs/glib
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
media-libs/mesa
sys-apps/dbus
x11-libs/cairo
x11-libs/gtk+
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXrandr
x11-libs/libdrm
x11-libs/libxcb
x11-libs/libxkbcommon
x11-libs/pango
"
src_unpack() {
# The AppImage is self-contained so we'll install it as a binary directly,
# but it also contains a `.desktop` file and app icons that we want; we can
# move it into "${S}", and also extract its contents into there.
mkdir -p "${S}" \
&& mv "${DISTDIR}/${P}.AppImage" "${S}" \
&& chmod +x "${S}/${P}.AppImage" \
&& pushd "${S}" \
&& "${S}/${P}.AppImage" --appimage-extract \
&& popd \
|| die
}
src_install() {
newbin "${S}/${P}.AppImage" via
for size in 16 24 32 48 64 96 128 256 512 1024; do
doicon -s "${size}" "${S}/squashfs-root/usr/share/icons/hicolor/${size}x${size}/apps/via-nativia.png"
done
# The inner `.desktop` file points to an internal binary; we can use the
# file but point it to the installed binary path.
local menu_path="${S}/squashfs-root/via-nativia.desktop"
sed -i '' -e 's|^Exec=.*$|Exec=/usr/bin/via|' "${menu_path}"
domenu "${menu_path}"
}