phosh-base/phosh-shell: add 0.47.0

Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo@sysrq.in>
This commit is contained in:
Anna (cybertailor) Vyalkova
2025-06-19 20:02:10 +05:00
parent 9d186329f5
commit 606aa7d255
3 changed files with 174 additions and 0 deletions

View File

@@ -1,2 +1,4 @@
DIST phosh-0.42.0.tar.xz 940212 BLAKE2B 91935d095102320823283968861563b93d1c558137307cbaf934a293dcb29c720692e4b4ca810209a2347761c15b466a9d6612cb3ad9fdd36ce4cbceb1d641f4 SHA512 e5f8817cd8fcf5cc07faa687aa7411c9af2cfe2b09a4f7332691184eb69cc106d5685b6951e2c66a1ef639ba7e074e603771fcedad6e62dc75771084a442f0ff
DIST phosh-0.42.0.tar.xz.asc 833 BLAKE2B 9dc5771e5650bc30b8b72b048eb5cccc137152be1e51afc30dab82569890a18aab932defcc6ca4a3bc8ce31af9b9659c56b792119b042c2f6490b1a9eb8e828c SHA512 8d5dd2eb60ae369da18fd79de8a696835f7ce94a39c20a597bfa9ed2a4ed44af606123f994a6040d96c6a7b52a28418eb4e066e64858b8f8c15c2e2395f08b50
DIST phosh-0.47.0.tar.xz 1021352 BLAKE2B f48766e0f981e4ceda53302af9935e54db66b12be2169852473320f1e39d82d7cbd56aa38d59803b5115fbd4bcd10560020be28714441f41e93175806086cdcb SHA512 19c150d28921b383269e4c95d353b7ea69e62cc4075a7a1e1523aa0977b347898d16df7d88861e5d029469a881623e15673ee270c3c514db123aec683ec8194d
DIST phosh-0.47.0.tar.xz.asc 833 BLAKE2B 682bd67276f3f95eea1ab352195c38e292ca5175b0ac2415ae01c1acf597e8248477800a295842c99c1608043cccff1331604e0575f57a0dc70bb46183f29ffc SHA512 89293648f3b66db822e9bf368938b14253a6a00d7e051d5d238434a6b77f3eba0931ff9c6ed94b5f57c17f4dbf3dee1e7ebc20a1f186c3e8e82549cb4bcb8268

View File

@@ -17,6 +17,7 @@
</upstream>
<use>
<flag name="lockscreen-plugins">Build lockscreen plugins and widgets</flag>
<flag name="plugins">Build Phosh plugins and widgets</flag>
<flag name="test-full">Run integration tests</flag>
</use>
</pkgmetadata>

View File

@@ -0,0 +1,171 @@
# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit gnome2-utils meson pam systemd verify-sig virtualx xdg
MY_PN="${PN%-shell}"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="Pure Wayland shell for mobile devices"
HOMEPAGE="https://gitlab.gnome.org/World/Phosh/phosh/"
SRC_URI="https://sources.phosh.mobi/releases/${MY_PN}/${MY_P}.tar.xz
verify-sig? ( https://sources.phosh.mobi/releases/${MY_PN}/${MY_P}.tar.xz.asc )"
S="${WORKDIR}/${MY_P}"
LICENSE="CC0-1.0 CC-BY-SA-4.0 GPL-2+ GPL-3+ LGPL-2+ LGPL-2.1+ MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
IUSE="gtk-doc introspection +lockscreen-plugins man +plugins systemd test test-full"
REQUIRED_USE="
gtk-doc? ( introspection )
lockscreen-plugins? ( plugins )
test? ( plugins lockscreen-plugins )
"
COMMON_DEPEND="
>=app-crypt/gcr-3.7.5:0[introspection?]
app-crypt/libsecret
>=dev-libs/appstream-1.0.0:=
>=dev-libs/feedbackd-0.7.0
dev-libs/fribidi
>=dev-libs/glib-2.76:2
dev-libs/gmobile
dev-libs/libgudev:=
dev-libs/libical:=
>=dev-libs/wayland-1.14
>=gnome-base/gnome-desktop-3.26:3=[introspection?]
>=gnome-base/gsettings-desktop-schemas-47
>=gnome-extra/evolution-data-server-3.33.1:=
>=gui-libs/libhandy-1.1.90:1[introspection?]
media-libs/libpulse[glib]
media-sound/callaudiod
>=net-libs/libsoup-3.6:3.0
net-misc/modemmanager:=
>=net-misc/networkmanager-1.14[introspection?]
>=net-wireless/gnome-bluetooth-46.0:3=[introspection]
sys-apps/dbus
>=sys-auth/polkit-0.122
sys-libs/pam
>=sys-power/upower-0.99.1:=
x11-libs/cairo
x11-libs/gdk-pixbuf
x11-libs/pango
>=x11-libs/gtk+-3.22:3[introspection?,wayland]
systemd? ( >=sys-apps/systemd-241:= )
!systemd? ( >=sys-auth/elogind-241 )
plugins? (
>=gui-libs/gtk-4.12:4
>=gui-libs/libadwaita-1.5:1
lockscreen-plugins? (
app-text/evince:=
)
)
"
RUNTIME_DEPEND="
gnome-base/gnome-shell
virtual/freedesktop-icon-theme
x11-themes/gnome-themes-standard
"
DEPEND="
${COMMON_DEPEND:?}
>=dev-libs/wayland-protocols-1.12
test-full? ( ${RUNTIME_DEPEND:?} )
"
RDEPEND="
${COMMON_DEPEND:?}
${RUNTIME_DEPEND:?}
systemd? ( sys-libs/libcap )
"
BDEPEND="
dev-libs/glib:2
dev-libs/libxml2
dev-util/gdbus-codegen
dev-util/glib-utils
dev-util/wayland-scanner
sys-devel/gettext
virtual/pkgconfig
gtk-doc? ( dev-util/gi-docgen )
introspection? ( dev-libs/gobject-introspection )
man? ( dev-python/docutils )
test-full? ( >=gui-wm/phoc-0.45.0 )
verify-sig? ( sec-keys/openpgp-keys-phosh )
"
VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/phosh.asc"
# https://gitlab.gnome.org/World/Phosh/phosh/-/issues/1240
# https://gitlab.gnome.org/World/Phosh/phosh/-/merge_requests/1733
RESTRICT="test"
src_configure() {
local emesonargs=(
-Dcompositor="${EPREFIX}"/usr/bin/phoc
-Dtools=true
$(meson_use gtk-doc gtk_doc)
$(meson_use introspection)
$(meson_use introspection bindings-lib)
$(meson_use lockscreen-plugins)
$(meson_use plugins quick-setting-plugins)
$(meson_use man)
$(meson_use test tests)
$(meson_feature test-full phoc_tests)
)
meson_src_configure
}
src_test() {
my_src_test() {
local -x LC_ALL="C.UTF-8"
local -x WLR_RENDERER="pixman"
local -x PHOSH_TEST_PHOC_INI="${T}/phoc.ini"
meson_src_test --suite unit || return 1
if use test-full; then
meson_src_test --suite integration --timeout-multiplier 2 || return 1
fi
}
# Xwayland breaks "phosh:integration / shell", pollutes /tmp
cat data/phoc.ini - > "${T}"/phoc.ini <<- EOF || die
[core]
xwayland=false
EOF
virtx my_src_test
}
src_install() {
meson_src_install
find "${ED}/usr/$(get_libdir)" -name '*.a' -delete || die
pamd_mimic system-local-login phosh auth account session
systemd_douserunit data/phosh.service
if use gtk-doc; then
mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die
mv "${ED}"/usr/share/doc/${MY_PN}-${SLOT} "${ED}"/usr/share/gtk-doc/html/ || die
fi
}
phosh_giomodule_cache_update() {
local plugins_dir
plugins_dir=$(pkg-config --variable=lockscreen_plugins_dir phosh-plugins) || return 1
ebegin "Updating GIO modules cache"
gio-querymodules "${plugins_dir}"
eend $?
}
pkg_postinst() {
xdg_pkg_postinst
gnome2_schemas_update
phosh_giomodule_cache_update
}
pkg_postrm() {
xdg_pkg_postrm
gnome2_schemas_update
phosh_giomodule_cache_update
}