summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'gnome-base')
-rw-r--r--gnome-base/gnome-control-center/Manifest2
-rw-r--r--gnome-base/gnome-control-center/gnome-control-center-46.2.ebuild213
2 files changed, 215 insertions, 0 deletions
diff --git a/gnome-base/gnome-control-center/Manifest b/gnome-base/gnome-control-center/Manifest
index a06257574c6f..891bd3a7c9d0 100644
--- a/gnome-base/gnome-control-center/Manifest
+++ b/gnome-base/gnome-control-center/Manifest
@@ -1,5 +1,7 @@
DIST gnome-control-center-45.0-patchset.tar.xz 5888 BLAKE2B 7b7d818392e8758ca4d9247f55b84e4e8a37419859040e35d8fb3cef16f09423ad74a88a821a5f5947b3f36543ccc328f9a61cb71f92155b6a14669732569910 SHA512 e58adc6bb61d04f8c5ecf36335fedd190e063e42eed8e1023dcac95665a270d57c7cbd377fd0f5239f2c144040a9699b428536ffdbac798655b2c9aef25e71ae
DIST gnome-control-center-45.3.tar.xz 7757512 BLAKE2B 2f38b9b6a5c7171eefd8899bb9156b49f6b41f60ce2bfb36d7ade7261cd038ddb60bcc9a6a71e6c49209f0f3c13c49b38758a19f02cc9735cea2874368602434 SHA512 0aad27f3324940292551c0aa9fa79771d1d41cc5a633970c709836a2d6af575f688df8553755f936495f75a02268a5a1f89e7f3b5fb03512140c73bf14fc4cf5
DIST gnome-control-center-45.4.tar.xz 7764264 BLAKE2B 5e3632901b1203fc71b839a71aad50f63741412dfc673b8b8f87c72716fda386a1c7641b64642be811f94d6b2c54263deb45c4624d828ec66726d2a833a272e4 SHA512 d16b3c1cffeb7db27e9743106b6bc7ad925a832162764d0714b4931d0c21c9e02137b5b5e101be93dd8a92aebaa8556f6ce52e83c5e05e9e3d7e40d46b8c11d5
+DIST gnome-control-center-46.2-patchset.tar.xz 5872 BLAKE2B 745e817b0fcec81d5e390cd35e0a14ab249af2861f6bb206f77ace93b0ffc9620479213bae69dd6ef1af01b50a647b7cae14d72ae831a66f11c44c6f91c886a3 SHA512 efa7e4f4c488d1f41501c2e7d36b07000eb659e0f7c98779490ee520914967c6644f7c112827327e0c4f43e5194044aa36f589a3c729c1ebbd10889cb932fdb2
+DIST gnome-control-center-46.2.tar.xz 8030924 BLAKE2B 2c51bc6929ae6692f2c52f1b7b38972ac563b511b321e2b09358ee75a6c78254b0f0b60a079fb22bd5019f4d49effb32967029c9526cf3acd399098cf5e2b975 SHA512 0c91a0480f4f46ae3a9ec62294716bb5dbd0e606f22f842a4f7bc1d388496f0a3a36ed1da4a9f31139d8fd07e23e22367c212c98a0afc00842920092d71aecf5
DIST gnome-control-center-gentoo-logo-dark.svg 14293 BLAKE2B 570e9326b8abe45849c31fd5cdb3fcfb1b2f18eac522f958928df5c3b747b0699f50a882f31cf7c0ae1f2138194f18596f738f42c942b57d340c53d46d82c551 SHA512 91227dafcf2091bb1568b0f9eec68b5e371ec64c9a6bc3605821f60d6bf2bd94dec0564f6a16a4a70d1db4d4df49fc25b6c910367bae3b85205cc609a9f2701b
DIST gnome-control-center-gentoo-logo.svg 14288 BLAKE2B 371fc68b1015c8672db3e3858ae9077b1e3a9937e6add8690c39db36302ec031391c4d35e0c0b87094ca474a00c4187849e2d7111df34f43bc5bd7be52678527 SHA512 cf88933546de54ca15e2e830ac1086a78c4150f0ff59b8091e7e1cade5961c4e4cb83120a818a960b77841353ce3584ddc8f36b6edbde05543600283a143ad7b
diff --git a/gnome-base/gnome-control-center/gnome-control-center-46.2.ebuild b/gnome-base/gnome-control-center/gnome-control-center-46.2.ebuild
new file mode 100644
index 000000000000..6c4c0e835db2
--- /dev/null
+++ b/gnome-base/gnome-control-center/gnome-control-center-46.2.ebuild
@@ -0,0 +1,213 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit flag-o-matic gnome.org gnome2-utils meson python-any-r1 virtualx xdg
+
+DESCRIPTION="GNOME's main interface to configure various aspects of the desktop"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-control-center"
+SRC_URI+=" https://dev.gentoo.org/~pacho/${PN}/${PN}-46.2-patchset.tar.xz"
+SRC_URI+=" https://dev.gentoo.org/~mattst88/distfiles/${PN}-gentoo-logo.svg"
+SRC_URI+=" https://dev.gentoo.org/~mattst88/distfiles/${PN}-gentoo-logo-dark.svg"
+# Logo is CC-BY-SA-2.5
+LICENSE="GPL-2+ CC-BY-SA-2.5"
+SLOT="2"
+IUSE="+bluetooth +cups debug elogind +gnome-online-accounts +ibus input_devices_wacom kerberos +geolocation networkmanager systemd test wayland"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ ^^ ( elogind systemd )
+" # Theoretically "?? ( elogind systemd )" is fine too, lacking some functionality at runtime,
+# but needs testing if handled gracefully enough
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+
+# kerberos unfortunately means mit-krb5; build fails with heimdal
+# display panel requires colord and gnome-settings-daemon[colord]
+# wacom panel requires gsd-enums.h from gsd at build time, probably also runtime support
+# printer panel requires cups and smbclient (the latter is not patched yet to be separately optional)
+# First block is toplevel meson.build deps in order of occurrence (plus deeper deps if in same conditional).
+# Second block is dependency() from subdir meson.builds, sorted by directory name occurrence order
+DEPEND="
+ gnome-online-accounts? (
+ x11-libs/gtk+:3
+ >=net-libs/gnome-online-accounts-3.49.1:=
+ )
+ >=media-libs/libpulse-2.0[glib]
+ >=gui-libs/gtk-4.11.2:4[X,wayland=]
+ >=gui-libs/libadwaita-1.4_alpha:1
+ >=sys-apps/accountsservice-0.6.39
+ >=x11-misc/colord-0.1.34:0=
+ >=x11-libs/gdk-pixbuf-2.23.0:2
+ >=dev-libs/glib-2.76.6:2
+ gnome-base/gnome-desktop:4=
+ >=gnome-base/gnome-settings-daemon-41.0[colord,input_devices_wacom?]
+ >=gnome-base/gsettings-desktop-schemas-46_beta
+ dev-libs/libxml2:2
+ >=sys-power/upower-0.99.8:=
+ >=dev-libs/libgudev-232
+ >=x11-libs/libX11-1.8
+ >=x11-libs/libXi-1.2
+ media-libs/libepoxy
+ >=app-crypt/gcr-4.1.0
+ >=dev-libs/libpwquality-1.2.2
+ >=sys-auth/polkit-0.114
+ cups? (
+ >=net-print/cups-1.7[dbus]
+ >=net-fs/samba-4.0.0[client]
+ )
+ ibus? ( >=app-i18n/ibus-1.5.2 )
+ networkmanager? (
+ >=net-libs/libnma-1.10.2
+ >=net-misc/networkmanager-1.24.0[modemmanager]
+ >=net-misc/modemmanager-0.7.990:=
+ )
+ bluetooth? ( net-wireless/gnome-bluetooth:3= )
+ input_devices_wacom? ( >=dev-libs/libwacom-1.4:= )
+ kerberos? ( app-crypt/mit-krb5 )
+
+ x11-libs/cairo[glib]
+ >=x11-libs/colord-gtk-0.3.0:=
+ media-libs/fontconfig
+ gnome-base/libgtop:2=
+ >=sys-fs/udisks-2.1.8:2
+ app-crypt/libsecret
+ net-libs/gnutls:=
+ media-libs/gsound
+
+ x11-libs/pango
+"
+# media-libs/libcanberra[pulseaudio,sound] needed for Speaker tests in
+# Settings/Sound/Output/Output Device, bug #814110
+# systemd/elogind USE flagged because package manager will potentially try to satisfy a
+# "|| ( systemd ( elogind openrc-settingsd)" via systemd if openrc-settingsd isn't already installed.
+# gnome-color-manager needed for gcm-calibrate and gcm-viewer calls from color panel
+# <gnome-color-manager-3.1.2 has file collisions with g-c-c-3.1.x
+#
+# mouse panel needs a concrete set of X11 drivers at runtime, bug #580474
+# Also we need newer driver versions to allow wacom and libinput drivers to
+# not collide
+#
+# system-config-printer provides org.fedoraproject.Config.Printing service and interface
+# cups-pk-helper provides org.opensuse.cupspkhelper.mechanism.all-edit policykit helper policy
+RDEPEND="${DEPEND}
+ media-libs/libcanberra[pulseaudio,sound]
+ systemd? ( >=sys-apps/systemd-31 )
+ elogind? (
+ app-admin/openrc-settingsd
+ sys-auth/elogind
+ )
+ x11-themes/adwaita-icon-theme
+ >=gnome-extra/gnome-color-manager-3.1.2
+ cups? (
+ app-admin/system-config-printer
+ net-print/cups-pk-helper
+ )
+ gnome-extra/tecla
+ wayland? ( dev-libs/libinput )
+ !wayland? (
+ >=x11-drivers/xf86-input-libinput-0.19.0
+ input_devices_wacom? ( >=x11-drivers/xf86-input-wacom-0.33.0 )
+ )
+"
+# PDEPEND to avoid circular dependency; gnome-session-check-accelerated called by info panel
+# gnome-session-2.91.6-r1 also needed so that 10-user-dirs-update is run at login
+PDEPEND=">=gnome-base/gnome-session-2.91.6-r1
+ networkmanager? ( gnome-extra/nm-applet )" # networking panel can call into nm-connection-editor
+
+# meson.build depends on python unconditionally
+BDEPEND="${PYTHON_DEPS}
+ dev-libs/libxslt
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.2
+ x11-base/xorg-proto
+ dev-libs/libxml2:2
+ dev-util/gdbus-codegen
+ dev-util/glib-utils
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ test? (
+ $(python_gen_any_dep '
+ dev-python/python-dbusmock[${PYTHON_USEDEP}]
+ ')
+ x11-apps/setxkbmap
+ )
+"
+
+PATCHES=(
+ # Makes some panels and dependencies optional
+ # https://bugzilla.gnome.org/686840, 697478, 700145
+ # Fix some absolute paths to be appropriate for Gentoo
+ "${WORKDIR}"/patches/
+)
+
+python_check_deps() {
+ use test || return 0
+ python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ xdg_environment_reset
+ # Mark python tests with shebang executable, so that meson will launch them directly, instead
+ # of via its own python-single-r1 version, which might not match what we get from python_check_deps
+ chmod a+x tests/network/test-network-panel.py tests/datetime/test-datetime.py || die
+}
+
+src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/889008
+ # https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2563
+ #
+ # Do not trust with LTO either
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ local emesonargs=(
+ $(meson_use bluetooth)
+ -Dcups=$(usex cups enabled disabled)
+ -Ddeprecated-declarations=disabled
+ -Ddocumentation=true # manpage
+ -Dlocation-services=$(usex geolocation enabled disabled)
+ -Dgoa=$(usex gnome-online-accounts enabled disabled)
+ $(meson_use ibus)
+ -Dkerberos=$(usex kerberos enabled disabled)
+ $(meson_use networkmanager network_manager)
+ -Dprivileged_group=wheel
+ -Dsnap=false
+ $(meson_use test tests)
+ $(meson_use input_devices_wacom wacom)
+ #$(meson_use wayland) # doesn't do anything in 3.34 and 3.36 due to unified gudev handling code
+ # bashcompletions installed to $datadir/bash-completion/completions by v3.28.2,
+ # which is the same as $(get_bashcompdir)
+ -Dmalcontent=false # unpackaged
+ -Ddistributor_logo=/usr/share/pixmaps/gnome-control-center-gentoo-logo.svg
+ -Ddark_mode_distributor_logo=/usr/share/pixmaps/gnome-control-center-gentoo-logo-dark.svg
+ )
+ meson_src_configure
+}
+
+src_test() {
+ virtx meson_src_test
+}
+
+src_install() {
+ meson_src_install
+ insinto /usr/share/pixmaps
+ doins "${DISTDIR}"/gnome-control-center-gentoo-logo.svg
+ doins "${DISTDIR}"/gnome-control-center-gentoo-logo-dark.svg
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}