gpkg-1.4.0-r1ROKO__
download
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CRATES="
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]+spec-1.1.0
[email protected]
[email protected]+spec-1.1.0
[email protected]
[email protected]+spec-1.0.0
[email protected]+spec-1.1.0
[email protected]
[email protected]+spec-1.1.0
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]+wasi-snapshot-preview1
[email protected]+wasi-0.2.9
[email protected]+wasi-0.3.0-rc-2026-01-06
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
"
RUST_MIN_VER="1.88.0"
inherit cargo desktop systemd xdg-utils
DESCRIPTION="Graphical package manager for Gentoo Linux (Portage frontend)"
HOMEPAGE="https://codeberg.org/NoBodyZ/gpkg"
SRC_URI="
https://codeberg.org/NoBodyZ/gpkg/archive/v${PV}.tar.gz -> ${P}.tar.gz
${CARGO_CRATE_URIS}
"
S="${WORKDIR}/gpkg"
LICENSE="GPL-2"
# Dependent crate licenses
LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-3.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="+sourceview +vte btrfs dracut appindicator grub2 kerneltools limine refind systemd systemd-boot"
REQUIRED_USE="
kerneltools? ( ^^ ( limine grub2 systemd-boot refind ) )
btrfs? ( kerneltools )
dracut? ( kerneltools )
limine? ( kerneltools )
grub2? ( kerneltools )
systemd-boot? ( kerneltools )
refind? ( kerneltools )
"
DEPEND="
>=gui-libs/gtk-4.12:4
>=gui-libs/libadwaita-1.4:1
>=dev-libs/glib-2.76:2
sys-apps/dbus
media-libs/graphene
x11-libs/cairo
x11-libs/pango
x11-libs/gdk-pixbuf:2
media-libs/freetype:2
media-libs/fontconfig
sys-devel/gettext
vte? ( >=gui-libs/vte-0.74:2.91-gtk4 )
sourceview? ( >=gui-libs/gtksourceview-5.10:5 )
"
RDEPEND="
${DEPEND}
sys-apps/portage
app-portage/gentoolkit
app-portage/eix
sys-auth/polkit
kerneltools? (
|| ( sys-apps/systemd sys-apps/systemd-utils[kernel-install] )
sys-kernel/linux-firmware
)
dracut? ( sys-kernel/dracut )
btrfs? ( app-backup/snapper )
appindicator? ( gnome-extra/gnome-shell-extension-appindicator )
"
BDEPEND="
virtual/pkgconfig
"
QA_FLAGS_IGNORED="
usr/bin/gpkg
usr/bin/gpkg-daemon
"
src_configure() {
local myfeatures=(
$(usev vte)
$(usev sourceview)
$(usev kerneltools)
$(usev limine)
$(usev grub2)
$(usev systemd-boot)
$(usev refind)
$(usev btrfs)
$(usev dracut)
)
cargo_src_configure
}
src_compile() {
cargo_src_compile
}
src_test() {
cargo_src_test
}
src_install() {
# Install binaries from workspace build (cargo_src_compile already built
# everything with correct per-crate feature resolution; cargo install
# would fail because gpkg-daemon doesn't define the GUI features).
# cargo.eclass honors USE=debug: target/debug/ when debug is set,
# target/release/ otherwise — see bug 975866.
local target_dir="target/$(usex debug debug release)"
dobin "${target_dir}/gpkg-daemon"
dobin "${target_dir}/gpkg"
# D-Bus system bus configuration
insinto /etc/dbus-1/system.d
doins data/dbus/org.gentoo.PkgMngt.conf
# D-Bus service activation file
insinto /usr/share/dbus-1/system-services
doins data/dbus/org.gentoo.PkgMngt.service
# Polkit authorization policies
insinto /usr/share/polkit-1/actions
doins data/polkit/org.gentoo.pkgmngt.policy
# Desktop file
domenu data/org.gentoo.PkgMngt.desktop
# Icons — all sizes (PNG) + scalable SVGs + systray status icons
insinto /usr/share/icons
doins -r data/icons/hicolor
# AppStream metainfo
insinto /usr/share/metainfo
doins data/org.gentoo.PkgMngt.metainfo.xml
# CSS stylesheet
insinto /usr/share/gpkg
doins data/style/style.css
# Locale
# insinto /usr/share/locale/fr/LC_MESSAGES
# newins po/fr.mo gpkg.mo
# Locale: install all compiled .mo files
for mo in target/release/build/gpkg-gui-*/out/*.mo; do
lang=$(basename "$mo" .mo)
insinto /usr/share/locale/${lang}/LC_MESSAGES
newins "$mo" gpkg.mo
done
# Kernel tools (USE=kerneltools)
if use kerneltools; then
exeinto /usr/lib/kernel
doexe data/kernel/scripts/compile-kernel.sh
exeinto /usr/lib/kernel/install.d
use limine && doexe data/kernel/hooks/95-limine-gentoo.install
# Portage hook for auto-compile on emerge *-sources
insinto /etc/portage
newins data/kernel/hooks/portage-bashrc bashrc
insinto /etc/kernel
doins data/kernel/configs/auto-compile.conf
doins data/kernel/configs/default-type
keepdir /var/log/kernel-compile
fi
# Systemd service unit
if use systemd; then
systemd_dounit systemd/gpkg-daemon.service
fi
# OpenRC init script and config
newinitd "${FILESDIR}"/gpkg-daemon.initd gpkg-daemon
newconfd "${FILESDIR}"/gpkg-daemon.confd gpkg-daemon
# Documentation
dodoc README.md
}
pkg_postinst() {
xdg_icon_cache_update
xdg_desktop_database_update
elog ""
elog "To start the gpkg daemon:"
elog ""
if use systemd; then
elog " systemctl enable --now gpkg-daemon"
else
elog " rc-update add gpkg-daemon default"
elog " rc-service gpkg-daemon start"
fi
elog ""
elog "Then launch the GUI: gpkg"
elog ""
elog "The console tab works without the daemon."
elog "All other tabs require a running gpkg-daemon."
elog ""
if use kerneltools; then
elog "Kernel tools installed:"
elog " - Automatic kernel compilation hooks"
elog " - Kernel Conf tab in the GUI"
use limine && elog " - Limine bootloader integration"
use btrfs && elog " - Btrfs snapshot management"
elog ""
elog "To enable auto-compilation, toggle it in the Kernel Conf tab"
elog "or edit /etc/kernel/auto-compile.conf"
elog ""
fi
}
pkg_postrm() {
xdg_icon_cache_update
xdg_desktop_database_update
}