summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'gnome-base/gnome-control-center')
-rw-r--r--gnome-base/gnome-control-center/Manifest9
-rw-r--r--gnome-base/gnome-control-center/files/45.2-fix_incompatible_type_warnings.patch39
-rw-r--r--gnome-base/gnome-control-center/gnome-control-center-44.3.ebuild (renamed from gnome-base/gnome-control-center/gnome-control-center-40.0.ebuild)123
-rw-r--r--gnome-base/gnome-control-center/gnome-control-center-45.2.ebuild216
-rw-r--r--gnome-base/gnome-control-center/gnome-control-center-45.3.ebuild211
-rw-r--r--gnome-base/gnome-control-center/metadata.xml20
6 files changed, 557 insertions, 61 deletions
diff --git a/gnome-base/gnome-control-center/Manifest b/gnome-base/gnome-control-center/Manifest
index aa6db5a0d583..1997277317c2 100644
--- a/gnome-base/gnome-control-center/Manifest
+++ b/gnome-base/gnome-control-center/Manifest
@@ -1,2 +1,7 @@
-DIST gnome-control-center-40.0-patchset-2.tar.xz 7396 BLAKE2B 9d3c0461c065cbf0f2051847e516066a38ebffc0972f12060fc41a7d283dd0eecd1a3e581518e13c1dcd545d600e7a2bece5d33d10e8c50adcb2b05f9558e8d0 SHA512 3a93c0c2f0f2bc422e6992c259334d9a90678151882e2df3035e4c233fa8e6c557073cc6679044b27bbfaafaa06d59b76724154dcd63612724e1e89817c99a36
-DIST gnome-control-center-40.0.tar.xz 6463616 BLAKE2B 7c79b79a0cb9bb847cdeb31613e9520b446f7720031fc7cda927a82b6e0acc6af03a047fe296a45f6e171c4ab1659b4ed5c6d07f83c9ffa554b1bdcce6fa26fe SHA512 26980cd18c414b12d2bf7e61be200e02302e170d53aba4f064154eda4c006648160919b6d4c9d168d8c5a461c05dc6593a52066b144af577c6aac420b9723cb9
+DIST gnome-control-center-44.0-patchset.tar.xz 6004 BLAKE2B a647cd83fe5d2283edc341afaa6d55661b905fea740729cf21679c3593e5e339aec507b835fd57c11d1fdde8db338b57ff8e24f464bb1296ad7a5bd1fb7319c3 SHA512 85cdcf4d55028550cfd871285729d265f1f8b74ec46ad656ada122f511ec617a21c5927923e4000f3a2d7ca08f49aafc28cecbd4ab840db377fa2d4054997b6f
+DIST gnome-control-center-44.3.tar.xz 7634240 BLAKE2B edd9cdd0f2cccd628670020f58f4c56f90fe7264593f8546a4d98c46cd12a1d3618f92532b1afdbd405e1ac8921d69f4f02a91e68507e8c3cd6aa29637ec0f41 SHA512 4eb4b2bd0109acc4626d64eaf948dc2b0442602a8219a9be880472710c124d2b4dabbcc74aaab1192d6bef74ad2757e719efd81b5d09850f348bc925d6f60355
+DIST gnome-control-center-45.0-patchset.tar.xz 5888 BLAKE2B 7b7d818392e8758ca4d9247f55b84e4e8a37419859040e35d8fb3cef16f09423ad74a88a821a5f5947b3f36543ccc328f9a61cb71f92155b6a14669732569910 SHA512 e58adc6bb61d04f8c5ecf36335fedd190e063e42eed8e1023dcac95665a270d57c7cbd377fd0f5239f2c144040a9699b428536ffdbac798655b2c9aef25e71ae
+DIST gnome-control-center-45.2.tar.xz 7715304 BLAKE2B 5b0b42cf8b1e4e908cbf4dc24018fd645cf4e9643f0233e953bcce5975302eb103306dae37270cce11f0fbe059fbd5dfd6b10cb6dcc08cf4765f648f8f73b32b SHA512 08749b6246e401982bd9c0088a5e2e517c7e8e2cea2fdce5fd29841a6c73b6bad9fba2d2af726f31cde3b64705cc9db22982673117f170cea27bae48911775de
+DIST gnome-control-center-45.3.tar.xz 7757512 BLAKE2B 2f38b9b6a5c7171eefd8899bb9156b49f6b41f60ce2bfb36d7ade7261cd038ddb60bcc9a6a71e6c49209f0f3c13c49b38758a19f02cc9735cea2874368602434 SHA512 0aad27f3324940292551c0aa9fa79771d1d41cc5a633970c709836a2d6af575f688df8553755f936495f75a02268a5a1f89e7f3b5fb03512140c73bf14fc4cf5
+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/files/45.2-fix_incompatible_type_warnings.patch b/gnome-base/gnome-control-center/files/45.2-fix_incompatible_type_warnings.patch
new file mode 100644
index 000000000000..4b0867bfa0b2
--- /dev/null
+++ b/gnome-base/gnome-control-center/files/45.2-fix_incompatible_type_warnings.patch
@@ -0,0 +1,39 @@
+From 13c939659a844049ddc68e90c7830bf96ebe174d Mon Sep 17 00:00:00 2001
+From: Marco Melorio <marco.melorio@protonmail.com>
+Date: Thu, 5 Oct 2023 19:21:39 +0200
+Subject: [PATCH] misc: Fix incompatible type warnings
+
+---
+ panels/datetime/cc-datetime-panel.c | 2 +-
+ panels/network/net-device-wifi.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/panels/datetime/cc-datetime-panel.c b/panels/datetime/cc-datetime-panel.c
+index 3544411d04..204b8ce44d 100644
+--- a/panels/datetime/cc-datetime-panel.c
++++ b/panels/datetime/cc-datetime-panel.c
+@@ -695,7 +695,7 @@ list_box_row_activated (CcDateTimePanel *self,
+ }
+ else if (row == GTK_LIST_BOX_ROW (self->timezone_row))
+ {
+- present_window (self, self->timezone_dialog);
++ present_window (self, GTK_WINDOW (self->timezone_dialog));
+ }
+ }
+
+diff --git a/panels/network/net-device-wifi.c b/panels/network/net-device-wifi.c
+index dd4453d0f8..3cb66e19fa 100644
+--- a/panels/network/net-device-wifi.c
++++ b/panels/network/net-device-wifi.c
+@@ -780,7 +780,7 @@ net_device_wifi_dispose (GObject *object)
+ NetDeviceWifi *self = NET_DEVICE_WIFI (object);
+
+ if (self->hotspot_dialog) {
+- gtk_window_destroy (self->hotspot_dialog);
++ gtk_window_destroy (GTK_WINDOW (self->hotspot_dialog));
+ self->hotspot_dialog = NULL;
+ }
+
+--
+GitLab
+
diff --git a/gnome-base/gnome-control-center/gnome-control-center-40.0.ebuild b/gnome-base/gnome-control-center/gnome-control-center-44.3.ebuild
index 61e996591618..0f5bbbb36bd9 100644
--- a/gnome-base/gnome-control-center/gnome-control-center-40.0.ebuild
+++ b/gnome-base/gnome-control-center/gnome-control-center-44.3.ebuild
@@ -1,27 +1,25 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
+EAPI=8
+PYTHON_COMPAT=( python3_{9..11} )
-inherit gnome.org gnome2-utils meson python-any-r1 xdg
+inherit 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/~mattst88/distfiles/${PN}-40.0-patchset-2.tar.xz"
-
-LICENSE="GPL-2+"
+SRC_URI+=" https://dev.gentoo.org/~mattst88/distfiles/${PN}-44.0-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 flickr +gnome-online-accounts +ibus input_devices_wacom kerberos networkmanager systemd test v4l wayland"
+IUSE="+bluetooth +cups debug elogind +gnome-online-accounts +ibus input_devices_wacom kerberos networkmanager systemd test wayland"
RESTRICT="!test? ( test )"
REQUIRED_USE="
- flickr? ( gnome-online-accounts )
^^ ( elogind systemd )
" # Theoretically "?? ( elogind systemd )" is fine too, lacking some functionality at runtime, but needs testing if handled gracefully enough
-KEYWORDS="amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv x86"
-
-# meson.build depends on python unconditionally
-BDEPEND="${PYTHON_DEPS}"
+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]
@@ -29,50 +27,56 @@ BDEPEND="${PYTHON_DEPS}"
# 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="
- >=gui-libs/libhandy-1:1=
- gnome-online-accounts? ( >=net-libs/gnome-online-accounts-3.25.3:= )
- >=media-sound/pulseaudio-2.0[glib]
+ gnome-online-accounts? (
+ x11-libs/gtk+:3
+ >=net-libs/gnome-online-accounts-3.25.3:=
+ )
+ >=media-libs/libpulse-2.0[glib]
+ >=gui-libs/gtk-4.9.3:4[X,wayland=]
+ >=gui-libs/libadwaita-1.2.0: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.56.0:2
- >=gnome-base/gnome-desktop-3.33.4:3=
- >=gnome-base/gnome-settings-daemon-3.27.90[colord,input_devices_wacom?]
- >=gnome-base/gsettings-desktop-schemas-3.37.0
+ >=dev-libs/glib-2.75.0:2
+ gnome-base/gnome-desktop:4=
+ >=gnome-base/gnome-settings-daemon-41.0[colord,input_devices_wacom?]
+ >=gnome-base/gsettings-desktop-schemas-42_alpha
dev-libs/libxml2:2
- >=sys-auth/polkit-0.114
>=sys-power/upower-0.99.8:=
>=dev-libs/libgudev-232
- x11-libs/libX11
+ >=x11-libs/libX11-1.8
>=x11-libs/libXi-1.2
media-libs/libepoxy
- flickr? ( >=media-libs/grilo-0.3.0:0.3= )
- >=x11-libs/gtk+-3.22.0:3[X,wayland=]
+ app-crypt/gcr: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]
)
- v4l? (
- >=media-video/cheese-3.28.0 )
ibus? ( >=app-i18n/ibus-1.5.2 )
networkmanager? (
- >=net-libs/libnma-1.8.0
- >=net-misc/networkmanager-1.24.0:=[modemmanager]
- >=net-misc/modemmanager-0.7.990 )
- bluetooth? ( >=net-wireless/gnome-bluetooth-3.18.2:= )
- input_devices_wacom? ( >=dev-libs/libwacom-0.27 )
+ >=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-0.27:= )
kerberos? ( app-crypt/mit-krb5 )
x11-libs/cairo[glib]
- >=x11-libs/colord-gtk-0.1.24
- net-libs/libsoup:2.4
+ >=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
- >=dev-libs/libpwquality-1.2.2
+
+ 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.
# libgnomekbd needed only for gkbd-keyboard-display tool
@@ -86,27 +90,32 @@ DEPEND="
# 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 )
+ 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 )
+ net-print/cups-pk-helper
+ )
>=gnome-base/libgnomekbd-3
wayland? ( dev-libs/libinput )
!wayland? (
>=x11-drivers/xf86-input-libinput-0.19.0
- input_devices_wacom? ( >=x11-drivers/xf86-input-wacom-0.33.0 ) )
- flickr? ( media-plugins/grilo-plugins:0.3[flickr,gnome-online-accounts] )
+ 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
-BDEPEND="
+# meson.build depends on python unconditionally
+BDEPEND="${PYTHON_DEPS}
dev-libs/libxslt
app-text/docbook-xsl-stylesheets
app-text/docbook-xml-dtd:4.2
@@ -116,13 +125,16 @@ BDEPEND="
dev-util/glib-utils
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
- test? ( $(python_gen_any_dep '
- dev-python/python-dbusmock[${PYTHON_USEDEP}]
- ') )
+ test? (
+ $(python_gen_any_dep '
+ dev-python/python-dbusmock[${PYTHON_USEDEP}]
+ ')
+ x11-apps/setxkbmap
+ )
"
PATCHES=(
- # Patches from gnome-40 branch on top of 40.0
+ # Patches from gnome-43 branch
# Makes some panels and dependencies optional
# https://bugzilla.gnome.org/686840, 697478, 700145
# Fix some absolute paths to be appropriate for Gentoo
@@ -131,7 +143,7 @@ PATCHES=(
python_check_deps() {
use test || return 0
- has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
+ python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
}
pkg_setup() {
@@ -139,7 +151,8 @@ pkg_setup() {
}
src_prepare() {
- xdg_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
@@ -148,26 +161,36 @@ src_prepare() {
src_configure() {
local emesonargs=(
$(meson_use bluetooth)
- $(meson_use v4l cheese)
-Dcups=$(usex cups enabled disabled)
-Ddocumentation=true # manpage
-Dgoa=$(usex gnome-online-accounts enabled disabled)
- -Dgrilo=$(usex flickr enabled disabled)
$(meson_use ibus)
-Dkerberos=$(usex kerberos enabled disabled)
- -Dmalcontent=false # unpackaged
$(meson_use networkmanager network_manager)
-Dprivileged_group=wheel
-Dsnap=false
$(meson_use test tests)
- $(meson_use debug tracing)
$(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
diff --git a/gnome-base/gnome-control-center/gnome-control-center-45.2.ebuild b/gnome-base/gnome-control-center/gnome-control-center-45.2.ebuild
new file mode 100644
index 000000000000..4dc180b6f5ed
--- /dev/null
+++ b/gnome-base/gnome-control-center/gnome-control-center-45.2.ebuild
@@ -0,0 +1,216 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..11} )
+
+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/~mattst88/distfiles/${PN}-45.0-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 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 ~ppc64 ~riscv x86"
+
+# meson.build depends on python unconditionally
+BDEPEND="${PYTHON_DEPS}"
+
+# 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.25.3:=
+ )
+ >=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.75.0:2
+ gnome-base/gnome-desktop:4=
+ >=gnome-base/gnome-settings-daemon-41.0[colord,input_devices_wacom?]
+ >=gnome-base/gsettings-desktop-schemas-42_alpha
+ 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: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-0.27:= )
+ 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
+
+BDEPEND="
+ 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=(
+ # Patches from gnome-43 branch
+ # Makes some panels and dependencies optional
+ # https://bugzilla.gnome.org/686840, 697478, 700145
+ # Fix some absolute paths to be appropriate for Gentoo
+ "${WORKDIR}"/patches/
+ # misc: Fix incompatible type warnings
+ "${FILESDIR}"/45.2-fix_incompatible_type_warnings.patch
+)
+
+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)
+ -Ddocumentation=true # manpage
+ -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
+}
diff --git a/gnome-base/gnome-control-center/gnome-control-center-45.3.ebuild b/gnome-base/gnome-control-center/gnome-control-center-45.3.ebuild
new file mode 100644
index 000000000000..2d9ce59348c8
--- /dev/null
+++ b/gnome-base/gnome-control-center/gnome-control-center-45.3.ebuild
@@ -0,0 +1,211 @@
+# 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/~mattst88/distfiles/${PN}-45.0-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 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.25.3:=
+ )
+ >=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.75.0:2
+ gnome-base/gnome-desktop:4=
+ >=gnome-base/gnome-settings-daemon-41.0[colord,input_devices_wacom?]
+ >=gnome-base/gsettings-desktop-schemas-42_alpha
+ 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: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-0.27:= )
+ 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)
+ -Ddocumentation=true # manpage
+ -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
+}
diff --git a/gnome-base/gnome-control-center/metadata.xml b/gnome-base/gnome-control-center/metadata.xml
index d6a9c29d21a7..c0fa36df46f1 100644
--- a/gnome-base/gnome-control-center/metadata.xml
+++ b/gnome-base/gnome-control-center/metadata.xml
@@ -1,13 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
- </maintainer>
- <use>
- <flag name="flickr">Add support for using photos from flickr as desktop background</flag>
- <flag name="gnome-online-accounts">Enable configuration panel for <pkg>net-libs/gnome-online-accounts</pkg> accounts</flag>
- <flag name="ibus">Enable support for enhanced input methods through <pkg>app-i18n/ibus</pkg></flag>
- </use>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <use>
+ <flag name="gnome-online-accounts">Enable configuration panel for <pkg>net-libs/gnome-online-accounts</pkg> accounts</flag>
+ <flag name="ibus">Enable support for enhanced input methods through <pkg>app-i18n/ibus</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/gnome-control-center</remote-id>
+ </upstream>
</pkgmetadata>