diff options
Diffstat (limited to 'gnome-base')
-rw-r--r-- | gnome-base/gnome-control-center/Manifest | 2 | ||||
-rw-r--r-- | gnome-base/gnome-control-center/gnome-control-center-46.2.ebuild | 213 |
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 +} |