From e68d405c5d712af4387159df07e226217bdda049 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 6 Apr 2022 22:33:41 +0100 Subject: gentoo resync : 06.04.2022 --- gnome-base/Manifest.gz | Bin 5201 -> 5207 bytes gnome-base/gdm/Manifest | 2 + gnome-base/gdm/gdm-42.0.ebuild | 208 +++++++++++++++++++++ gnome-base/gnome-applets/Manifest | 2 + .../gnome-applets/gnome-applets-3.44.0.ebuild | 53 ++++++ gnome-base/gnome-control-center/Manifest | 3 + .../gnome-control-center-42.0.ebuild | 174 +++++++++++++++++ gnome-base/gnome-desktop/Manifest | 5 + ...0-meson-Add-optionality-for-introspection.patch | 96 ++++++++++ .../files/42.0-meson-Fix-build_gtk4-option.patch | 165 ++++++++++++++++ .../gnome-desktop/gnome-desktop-42.0-r300.ebuild | 83 ++++++++ .../gnome-desktop/gnome-desktop-42.0-r400.ebuild | 76 ++++++++ gnome-base/gnome-flashback/Manifest | 2 + .../gnome-flashback/gnome-flashback-3.44.0.ebuild | 86 +++++++++ gnome-base/gnome-keyring/Manifest | 2 +- .../gnome-keyring/gnome-keyring-40.0-r1.ebuild | 2 +- gnome-base/gnome-panel/Manifest | 2 + gnome-base/gnome-panel/gnome-panel-3.44.0.ebuild | 73 ++++++++ gnome-base/gnome-shell/Manifest | 5 + ....5-environment-Require-GnomeBluetooth-1.0.patch | 35 ++++ ...1.5-environment-Require-gnome-desktop-3.0.patch | 30 +++ .../41.5-environment-Require-libgweather-3.0.patch | 29 +++ gnome-base/gnome-shell/gnome-shell-41.5.ebuild | 208 +++++++++++++++++++++ gnome-base/gvfs/Manifest | 2 + gnome-base/gvfs/gvfs-1.50.0.ebuild | 149 +++++++++++++++ gnome-base/nautilus/Manifest | 3 + .../nautilus/files/42.0-optional-gstreamer.patch | 57 ++++++ gnome-base/nautilus/nautilus-42.0.ebuild | 114 +++++++++++ 28 files changed, 1664 insertions(+), 2 deletions(-) create mode 100644 gnome-base/gdm/gdm-42.0.ebuild create mode 100644 gnome-base/gnome-applets/gnome-applets-3.44.0.ebuild create mode 100644 gnome-base/gnome-control-center/gnome-control-center-42.0.ebuild create mode 100644 gnome-base/gnome-desktop/files/42.0-meson-Add-optionality-for-introspection.patch create mode 100644 gnome-base/gnome-desktop/files/42.0-meson-Fix-build_gtk4-option.patch create mode 100644 gnome-base/gnome-desktop/gnome-desktop-42.0-r300.ebuild create mode 100644 gnome-base/gnome-desktop/gnome-desktop-42.0-r400.ebuild create mode 100644 gnome-base/gnome-flashback/gnome-flashback-3.44.0.ebuild create mode 100644 gnome-base/gnome-panel/gnome-panel-3.44.0.ebuild create mode 100644 gnome-base/gnome-shell/files/41.5-environment-Require-GnomeBluetooth-1.0.patch create mode 100644 gnome-base/gnome-shell/files/41.5-environment-Require-gnome-desktop-3.0.patch create mode 100644 gnome-base/gnome-shell/files/41.5-environment-Require-libgweather-3.0.patch create mode 100644 gnome-base/gnome-shell/gnome-shell-41.5.ebuild create mode 100644 gnome-base/gvfs/gvfs-1.50.0.ebuild create mode 100644 gnome-base/nautilus/files/42.0-optional-gstreamer.patch create mode 100644 gnome-base/nautilus/nautilus-42.0.ebuild (limited to 'gnome-base') diff --git a/gnome-base/Manifest.gz b/gnome-base/Manifest.gz index 35ea37e695e2..52718774a31d 100644 Binary files a/gnome-base/Manifest.gz and b/gnome-base/Manifest.gz differ diff --git a/gnome-base/gdm/Manifest b/gnome-base/gdm/Manifest index aeba6142fe28..946371fcc1d5 100644 --- a/gnome-base/gdm/Manifest +++ b/gnome-base/gdm/Manifest @@ -4,6 +4,8 @@ AUX gdm-3.8.4-fingerprint-auth.patch 923 BLAKE2B e681da8518ed1d002c1205658bb35e4 AUX gdm-40.0-meson-allow-building-with-elogind.patch 8801 BLAKE2B 358abc6b4a81523f53f6551af3c976916492c6c80fcacf8ec7c6fd90683558f1e7d898b749bdb458b2379e8a96f08293bbbebee3b8fc9126ebf249a95c514b41 SHA512 6116047fe51f0daf99de7e369028629fff88890c9627407648f2bec312df9b8b94f1ccb9b7015347258444f8193da16c6209a41de9441c848097670a13b4a7ef AUX pam-elogind.patch 835 BLAKE2B 1db26b690d631c152ae7fd84149c7ff3222e8bd258bff78e09cd6f00fe34a8bfdb2499b252a1f15e17d9e4ed315e02260357b57cd31cf8ada5a2705ba1ef4ee0 SHA512 4d2d65741a5bfd1dc686dc986708526161d15ace2d5396bef281a2192d95458a072764483e1422ed1f6eb594fc0caa6baa381371618f907a97f75566209fab7b DIST gdm-41.3.tar.xz 807452 BLAKE2B ff6a264220c2ddc60c21fb767154bfdc2844a177e4043749cc393387b116865f5b9dc56c4ce996e83c0a258370f59b7fd1865f455aa67258671ae0bae8671997 SHA512 71a93eef02fccee22ca4f90e3217431923da2b1ac4f5995ff7b64c9b4cac839f4695f4122d255407b570635d34e86e233fa7e4d5d22a8d8185ccfa8ad20f83aa +DIST gdm-42.0.tar.xz 811200 BLAKE2B 98f39fc4e80bb7160b7da57d5c606ce1fa2f66ea1ab817c82c6db7328df60b91a1e9a829f67a716c67a5e5ada9f9356e4c82e40065b2692f32aa80c545adc616 SHA512 e07a4e9233573069dd5628e7b7e6dbe462e90bd8f30267d3faf1cbe3dcb8b990afe3ad6af1edf5f0ec689c6eb245aaacd4e8565a7e4feea34cc754d43904daaa DIST tango-gentoo-v1.1.tar.gz 29322 BLAKE2B 83fa2bf37727e60851dd679054fe1b153ebfea58c9a9a40f891f7d68d3b047b02e8effa1d1b4e08d64500a2072ce7200f159c92a352da7124de27e1b05bb6027 SHA512 87d47ddab68361db6d99866c51705dcb3e198f8345a1096859acf2c6cca5099dd23c7fb30d124f52c4933ea38fd45fadffbbe6ecbdfa84f5b60938a4824f9045 EBUILD gdm-41.3.ebuild 5845 BLAKE2B c60a6ef2ff2234706ff0c716f94ff383cda89605c1b09c02fcb8ee0f0f9185adf1eeea161b1eb68f3b3af6b0cf83f48a38fd6c492f59db952bfffe08ca937ec1 SHA512 d746306cb63b23c94d96f46a9e79edbcb7058ac4f45d9e01ad1b81cdf2da36bdffc59ade9ff409ce658cc4f9bd33647770dcb0682164d2f727af4d3fae8153ab +EBUILD gdm-42.0.ebuild 5654 BLAKE2B 42c405ad145740d5590f36c2d9bd119c9871256ac992ca2821530e7bf2a1f1d74931e116bd540556c06d3ca95f2662316e62dfec635755801b72aacdea8f03f1 SHA512 41355763fb752e787a958499b084d677c2575329db3a42861c77b4d5bb43805d38554f68fca3f761fcd422bb13cc91d754cbf03bb9e292620d055b5554823509 MISC metadata.xml 760 BLAKE2B ed67837e4caac485dd97f9b2b392c4aa26cb0515a5147a258e197531123f1c92b96900d073e85dca0ffc661aad3efb0d2328434e4554bf3b681ecf3a61eb797a SHA512 40979ee3950ee2cb3c3d67eff9c100f6fb1bc19215daaf4d8e65b8f300f05b71c74e542312780979d7ee31d0234be351496dd2dd7a7ebf3519da2fbb3acbc8dd diff --git a/gnome-base/gdm/gdm-42.0.ebuild b/gnome-base/gdm/gdm-42.0.ebuild new file mode 100644 index 000000000000..a3c6187c29fa --- /dev/null +++ b/gnome-base/gdm/gdm-42.0.ebuild @@ -0,0 +1,208 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop gnome2 meson pam readme.gentoo-r1 systemd udev + +DESCRIPTION="GNOME Display Manager for managing graphical display servers and user logins" +HOMEPAGE="https://wiki.gnome.org/Projects/GDM" + +SRC_URI="${SRC_URI} + branding? ( https://www.mail-archive.com/tango-artists@lists.freedesktop.org/msg00043/tango-gentoo-v1.1.tar.gz ) +" + +LICENSE=" + GPL-2+ + branding? ( CC-BY-SA-4.0 ) +" + +SLOT="0" + +IUSE="accessibility audit bluetooth-sound branding elogind fprint plymouth selinux systemd tcpd test wayland" +RESTRICT="!test? ( test )" +REQUIRED_USE="^^ ( elogind systemd )" + +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + +# dconf, dbus and g-s-d are needed at install time for dconf update +# keyutils is automagic dep that makes autologin unlock login keyring when all the passwords match (disk encryption, user pw and login keyring) +# dbus-run-session used at runtime +COMMON_DEPEND=" + virtual/udev + >=dev-libs/libgudev-232:= + >=dev-libs/glib-2.56:2 + >=x11-libs/gtk+-2.91.1:3 + >=media-libs/libcanberra-0.4[gtk3] + >=sys-apps/accountsservice-0.6.35 + x11-libs/libxcb + sys-apps/keyutils:= + selinux? ( sys-libs/libselinux ) + + x11-libs/libX11 + x11-libs/libXau + x11-base/xorg-server[-minimal] + x11-libs/libXdmcp + tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) + + systemd? ( >=sys-apps/systemd-186:0=[pam] ) + elogind? ( >=sys-auth/elogind-239.3[pam] ) + + plymouth? ( sys-boot/plymouth ) + audit? ( sys-process/audit ) + + sys-libs/pam + sys-auth/pambase[elogind?,systemd?] + + >=gnome-base/dconf-0.20 + >=gnome-base/gnome-settings-daemon-3.1.4 + gnome-base/gsettings-desktop-schemas + sys-apps/dbus + + >=x11-misc/xdg-utils-1.0.2-r3 + + >=dev-libs/gobject-introspection-0.9.12:= +" +# XXX: These deps are from session and desktop files in data/ directory +# fprintd is used via dbus by gdm-fingerprint-extension +RDEPEND="${COMMON_DEPEND} + acct-group/gdm + acct-user/gdm + >=gnome-base/gnome-session-3.6 + >=gnome-base/gnome-shell-3.1.90 + x11-apps/xhost + + accessibility? ( + >=app-accessibility/orca-3.10 + gnome-extra/mousetweaks + ) + fprint? ( sys-auth/fprintd[pam] ) +" +DEPEND="${COMMON_DEPEND} + x11-base/xorg-proto +" +BDEPEND=" + app-text/docbook-xml-dtd:4.1.2 + dev-util/gdbus-codegen + dev-util/glib-utils + dev-util/itstool + >=gnome-base/dconf-0.20 + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + test? ( >=dev-libs/check-0.9.4 ) + app-text/yelp-tools +" + +DOC_CONTENTS=" + To make GDM start at boot with systemd, run:\n + # systemctl enable gdm.service\n + \n + To make GDM start at boot with OpenRC, edit /etc/conf.d to have + DISPLAYMANAGER=\"gdm\" and enable the xdm service:\n + # rc-update add xdm + \n + For passwordless login to unlock your keyring, you need to install + sys-auth/pambase with USE=gnome-keyring and set an empty password + on your keyring. Use app-crypt/seahorse for that.\n + \n + You may need to install app-crypt/coolkey and sys-auth/pam_pkcs11 + for smartcard support +" + +PATCHES=( + # Add elogind support + "${FILESDIR}/${PN}-40.0-meson-allow-building-with-elogind.patch" +) + +src_prepare() { + default + + # Show logo when branding is enabled + use branding && eapply "${FILESDIR}/${PN}-3.30.3-logo.patch" +} + +src_configure() { + # --with-initial-vt=7 conflicts with plymouth, bug #453392 + # gdm-3.30 now reaps (stops) the login screen when the login VT isn't active, which + # saves on memory. However this means if we don't start on VT1, gdm doesn't start up + # before user manually goes to VT7. Thus as-is we can not keep gdm away from VT1, + # so lets try always having it in VT1 and see if that is an issue for people before + # hacking up workarounds for the initial start case. + local emesonargs=( + --localstatedir /var + + -Ddefault-pam-config=exherbo + -Dgdm-xsession=true + -Dgroup=gdm + -Dipv6=true + $(meson_feature audit libaudit) + -Dlogind-provider=$(usex systemd systemd elogind) + -Dpam-mod-dir=$(getpam_mod_dir) + $(meson_feature plymouth) + -Drun-dir=/run/gdm + $(meson_feature selinux) + $(meson_use systemd systemd-journal) + $(meson_use tcpd tcp-wrappers) + -Dudev-dir=$(get_udevdir)/rules.d + -Duser=gdm + -Duser-display-server=true + $(meson_use wayland wayland-support) + -Dxdmcp=enabled + ) + + if use elogind; then + emesonargs+=( + -Dinitial-vt=7 # TODO: Revisit together with startDM.sh and other xinit talks; also ignores plymouth possibility + -Dsystemdsystemunitdir=no + -Dsystemduserunitdir=no + ) + else + emesonargs+=( + -Dinitial-vt=1 + -Dsystemdsystemunitdir="$(systemd_get_systemunitdir)" + -Dsystemduserunitdir="$(systemd_get_userunitdir)" + ) + fi + + meson_src_configure +} + +src_install() { + meson_src_install + + if ! use accessibility ; then + rm "${ED}"/usr/share/gdm/greeter/autostart/orca-autostart.desktop || die + fi + + if ! use bluetooth-sound ; then + # Workaround https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/10 + # bug #679526 + insinto /var/lib/gdm/.config/pulse + doins "${FILESDIR}"/default.pa + fi + + # install XDG_DATA_DIRS gdm changes + echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm + doenvd 99xdg-gdm + + use branding && newicon "${WORKDIR}/tango-gentoo-v1.1/scalable/gentoo.svg" gentoo-gdm.svg + + readme.gentoo_create_doc +} + +pkg_postinst() { + gnome2_pkg_postinst + local d ret + + # bug #669146; gdm may crash if /var/lib/gdm subdirs are not owned by gdm:gdm + ret=0 + ebegin "Fixing "${EROOT}"/var/lib/gdm ownership" + chown --no-dereference gdm:gdm "${EROOT}/var/lib/gdm" || ret=1 + for d in "${EROOT}/var/lib/gdm/"{.cache,.color,.config,.dbus,.local}; do + [[ ! -e "${d}" ]] || chown --no-dereference -R gdm:gdm "${d}" || ret=1 + done + eend ${ret} + + systemd_reenable gdm.service + readme.gentoo_print_elog +} diff --git a/gnome-base/gnome-applets/Manifest b/gnome-base/gnome-applets/Manifest index 05e31c026f50..364b8423a98f 100644 --- a/gnome-base/gnome-applets/Manifest +++ b/gnome-base/gnome-applets/Manifest @@ -1,3 +1,5 @@ DIST gnome-applets-3.42.0.tar.xz 9391580 BLAKE2B 43d3c86d4c401ef6e509a7ff653c613d7f49624354ea74635f9aa634e33c92bb54cc2461ab8e9fb3fcf7efe3f97fc9a65c9b8f7a0b8fc3e126a531492274518b SHA512 9be26e7779123dc5dc56aabe274d3ee34b3ffea830e2691051bf2a8011a1896c5e56fb9cc6d89b7f5ff14b1aeea969b81134bb7d0e4b1615343bf23daa1137a5 +DIST gnome-applets-3.44.0.tar.xz 9396928 BLAKE2B 03fb970e4ebe7747aed9241e7512c6fe945650ac789cac5c5bc1e49958b1636f43b59c56caaf24a01785c84617cef4c9b3fa76931ed46d6f3ea8c4b74335ca1b SHA512 8a9a75590e96d0ef6af4775d261337b41b23779b86d38080014f49666fdaee68bc9ef58eeae94e87c43bd07b0b0720b867f03f2c2d0f2d8b7daea3c66251fc7e EBUILD gnome-applets-3.42.0.ebuild 1269 BLAKE2B e7409e0e2c3ebcfc85623d3fc529759a42a831a2cff7e5f387e71fcef152cb77a1721292422e28abff8bbdb2c3105dbb5aeb2a919c2b34c4cfb2b44794650c35 SHA512 ad1a74f4116d781113bf379b47873902cac05a931cb1b4321323452362f75376cabcfe509765e91185dabea7b15cf633ffbe027f2f652d63af045001416a67fe +EBUILD gnome-applets-3.44.0.ebuild 1296 BLAKE2B a3eba37b1433a45a024c0e89fdc90d29f43904734f30ed3e0ec7494b637887788f24728f30b01ad6373d723cdc8d21977a3ddb02d625e6e8d017985d4684f8d3 SHA512 4702c362fe38a19f066f61a75890c9439390bf4f8c7921f91a57a3c8bafb5db52a5586f5f513dbca6b4c28aae39cbcadf4f835516e6c6a6be471d5b5577599d5 MISC metadata.xml 328 BLAKE2B 23e54626993373e58fbb0718c51e2b9c4eafcd7a0f2cd3968d05b72bc6a3cebeec386d96ab317cc92a17f08d17f8cb9091d6c47d4e6af49993451dd98b8aa04c SHA512 b4936e6332bbd5de094ec96060c84aa6eecc737260a093dc01da4687f68994a5a622eec0b3fce353abfb851b90c31ce7b0ee93e330d6ae2f4b288ab104655463 diff --git a/gnome-base/gnome-applets/gnome-applets-3.44.0.ebuild b/gnome-base/gnome-applets/gnome-applets-3.44.0.ebuild new file mode 100644 index 000000000000..f8e13cd73958 --- /dev/null +++ b/gnome-base/gnome-applets/gnome-applets-3.44.0.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit gnome2 + +DESCRIPTION="Applets for the GNOME Flashback Panel" +HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-applets/" + +LICENSE="GPL-2+ FDL-1.1" +SLOT="0" +IUSE="tracker" +KEYWORDS="~amd64 ~riscv" + +# FIXME: automagic wireless-tools +# TODO: gucharmap could be optional, but no knob +# TODO: libgweather could be optional, but no knob +RDEPEND=" + >=x11-libs/gtk+-3.20.0:3[X] + >=dev-libs/glib-2.44.0:2 + >=gnome-base/gnome-panel-3.41.1 + >=gnome-base/libgtop-2.11.92:= + >=x11-libs/libwnck-3.14.1:3 + >=x11-libs/libnotify-0.7 + >=sys-power/upower-0.99.8:= + >=x11-themes/adwaita-icon-theme-3.14.0 + >=dev-libs/libxml2-2.5.0:2 + >=dev-libs/libgweather-3.91.0:4= + >=gnome-extra/gucharmap-2.33.0:2.90 + >=sys-auth/polkit-0.97 + x11-libs/libX11 + tracker? ( app-misc/tracker:3 ) + >=x11-libs/pango-1.50.0 +" +DEPEND="${RDEPEND} + x11-base/xorg-proto +" +BDEPEND=" + app-text/docbook-xml-dtd:4.1.2 + dev-libs/libxslt + dev-util/gdbus-codegen + dev-util/glib-utils + dev-util/itstool + >=sys-devel/gettext-0.19.6 + virtual/pkgconfig +" # yelp-tools and autoconf-archive for eautoreconf + +src_configure() { + gnome2_src_configure \ + --disable-static \ + --disable-cpufreq \ + $(use_enable tracker tracker-search-bar) +} diff --git a/gnome-base/gnome-control-center/Manifest b/gnome-base/gnome-control-center/Manifest index 6f709dbcd087..8b021f9af6df 100644 --- a/gnome-base/gnome-control-center/Manifest +++ b/gnome-base/gnome-control-center/Manifest @@ -1,4 +1,7 @@ DIST gnome-control-center-41.2-patchset.tar.xz 6380 BLAKE2B de9eacf549686e43870df486994c5cd319f996edb2b09a7d3b5e9021c50b74c067e8c3cbabbc0ca68741fb3b4c5a2d65cc1ea72e20057ec59dab952fa886d527 SHA512 292737b34316ceff5eb43c598b0a8d2a7895e2891215137ba59defb935c6184e78f19e2485963a8642621a409ee87e0e2a1582403fd90ee3c83b2bc1f3334e27 DIST gnome-control-center-41.4.tar.xz 6616908 BLAKE2B 7c1a2692667c0447590d81c17ae990bff4b3bb7b85007ec70f8623d284cc0743ca79380dc60f1a9f97c01f897260c74acae0d730b197e8d4314e8002c7eec826 SHA512 63fa20041a06f5075d172b543176b4f037fcd623d9fa5ca5f785e047a9b95ccd002c423d29de673dcb28b7d99a83157b39d7bd65ef77fe70065e9a03b5ae38a4 +DIST gnome-control-center-42.0-patchset.tar.xz 5932 BLAKE2B 1c9311481be6a07dc2ff61fc9e65f190bc1668026fba2a1e4a8edf9a033e6b2b9019542d89aac4480323ee4802e00b765654008f5252e87040f013a990cb8048 SHA512 b76c1facd3566edcadfe33f81027966da35bb03909bfbae6faad72005b92447e291fa424611196bfae6e1dc5bf5982917f3ae14c36d87206f6bfb4af502bf1a4 +DIST gnome-control-center-42.0.tar.xz 6238096 BLAKE2B 63540c94d64d312ff9ce523cc3ef0023b35b93bbd0593cc6a3f5d671cc70980969617b2436b0c9994b8d225fac972d639b935affac36bc32bf621c4593d490bd SHA512 d8097240444ab45174e89db0f543d6523051829b124933cdbb84b1bc5d2d6809ee810f6d2c09702da51c991fe11496635b3164b490ed1e2ac523481d5466cf3e EBUILD gnome-control-center-41.4-r1.ebuild 6117 BLAKE2B 91a6d1c145971c45330865eb6017546cc4df1d99b87c441ba21edaef1ca3fa2eef9a8ce4396ad741a27557a3fa8e87e11ee54b35fb4d42321e129b5fe55bb742 SHA512 f7db79a7888306f9291c3e90eae254ffb85c7db5deb747b6af9d103a9cc9ea430e4a01642ec1017899fd452f24545031cde765c87c86168744f0973f0b58c588 +EBUILD gnome-control-center-42.0.ebuild 6040 BLAKE2B 9dd706bdc8940653a3a9fd8475828bc97d592a11f455a1b5b9ee903b5182b96b31a049cdda867dd5e9440c6d9fac40f6ba3e8df2b66561d99934a66cde136e16 SHA512 4df4832e107a1d691ab15d456d1cc75cc2ae3b0cac159e8ca6c8ea92a5ffe6aa6484890860b023c9a6eea51655b49a52bf2c2cadc42195634b67523130a38727 MISC metadata.xml 497 BLAKE2B 27aa6d9d725a3ce90d351442da83bdb5680f9931d78e5d6a653a1d2d392df118406e3eab36c77bbaeefc581be3a62c5df13fdfb611b2db27fc9c7440ba4ceae3 SHA512 c44903fa5a9462871c065bc776450c25bcca1dfe2f52d6bf676568f587bc308a0465bd5cb6e095fb0ecaefd0b8471df90df3b96164c7e7de76a86fbbe416a82b diff --git a/gnome-base/gnome-control-center/gnome-control-center-42.0.ebuild b/gnome-base/gnome-control-center/gnome-control-center-42.0.ebuild new file mode 100644 index 000000000000..43a08b3e178c --- /dev/null +++ b/gnome-base/gnome-control-center/gnome-control-center-42.0.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{8..10} ) + +inherit gnome.org gnome2-utils meson python-any-r1 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}-42.0-patchset.tar.xz" + +LICENSE="GPL-2+" +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 ~ppc64 ~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? ( >=net-libs/gnome-online-accounts-3.25.3:= ) + >=media-sound/pulseaudio-2.0[glib] + >=gui-libs/libadwaita-1.1: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: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 + >=x11-libs/libXi-1.2 + media-libs/libepoxy + app-crypt/gcr:= + >=dev-libs/libpwquality-1.2.2 + >=gui-libs/gtk-4.4:4[X,wayland=] + >=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.8.36 + >=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 +" +# 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 +# gnome-color-manager needed for gcm-calibrate and gcm-viewer calls from color panel +# +Date: Wed, 18 Sep 2019 22:28:21 +0300 +Subject: [PATCH 2/2] meson: Add optionality for introspection + +--- + libgnome-desktop/meson.build | 48 +++++++++++++++++++----------------- + meson_options.txt | 4 +++ + 2 files changed, 30 insertions(+), 22 deletions(-) + +diff --git a/libgnome-desktop/meson.build b/libgnome-desktop/meson.build +index a0fb11f8..375cf57c 100644 +--- a/libgnome-desktop/meson.build ++++ b/libgnome-desktop/meson.build +@@ -125,17 +125,19 @@ if get_option('build_gtk4') + ], + ) + +- libgnome_desktop_base_gir = gnome.generate_gir(libgnome_desktop_base, +- sources: [libgnome_desktop_base_headers, libgnome_desktop_base_sources], +- export_packages: 'gnome-desktop-4', +- namespace: 'GnomeDesktop', +- nsversion: '4.0', +- includes: ['GObject-2.0', 'Gio-2.0', 'GDesktopEnums-3.0', 'GdkPixbuf-2.0'], +- extra_args: ['-DGNOME_DESKTOP_USE_UNSTABLE_API', '--quiet', '--warn-all'], +- identifier_prefix: 'Gnome', +- symbol_prefix: 'gnome', +- install: true, +- ) ++ if get_option('introspection') ++ libgnome_desktop_base_gir = gnome.generate_gir(libgnome_desktop_base, ++ sources: [libgnome_desktop_base_headers, libgnome_desktop_base_sources], ++ export_packages: 'gnome-desktop-4', ++ namespace: 'GnomeDesktop', ++ nsversion: '4.0', ++ includes: ['GObject-2.0', 'Gio-2.0', 'GDesktopEnums-3.0', 'GdkPixbuf-2.0'], ++ extra_args: ['-DGNOME_DESKTOP_USE_UNSTABLE_API', '--quiet', '--warn-all'], ++ identifier_prefix: 'Gnome', ++ symbol_prefix: 'gnome', ++ install: true, ++ ) ++ endif + + pkg.generate( + libgnome_desktop_base, +@@ -255,17 +257,19 @@ if get_option('legacy_library') + ], + ) + +- gnome.generate_gir(libgnome_desktop, +- sources: introspection_sources + libgnome_desktop_headers, +- export_packages: 'gnome-desktop-3.0', +- namespace: 'GnomeDesktop', +- nsversion: '3.0', +- includes: ['GObject-2.0', 'Gtk-3.0', 'GDesktopEnums-3.0'], +- extra_args: ['-DGNOME_DESKTOP_USE_UNSTABLE_API', '--quiet', '--warn-all'], +- identifier_prefix: 'Gnome', +- symbol_prefix: 'gnome', +- install: true +- ) ++ if get_option('introspection') ++ gnome.generate_gir(libgnome_desktop, ++ sources: introspection_sources + libgnome_desktop_headers, ++ export_packages: 'gnome-desktop-3.0', ++ namespace: 'GnomeDesktop', ++ nsversion: '3.0', ++ includes: ['GObject-2.0', 'Gtk-3.0', 'GDesktopEnums-3.0'], ++ extra_args: ['-DGNOME_DESKTOP_USE_UNSTABLE_API', '--quiet', '--warn-all'], ++ identifier_prefix: 'Gnome', ++ symbol_prefix: 'gnome', ++ install: true ++ ) ++ endif + + pkg.generate( + libraries: libgnome_desktop, +diff --git a/meson_options.txt b/meson_options.txt +index e17e7330..c4db6eaf 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -17,6 +17,10 @@ option('debug_tools', + type: 'boolean', value: true, description: 'Build debug tools' + ) + ++option('introspection', ++ type: 'boolean', value: true, description: 'Whether to build introspection files' ++) ++ + option('udev', + type: 'feature', description: 'Udev support' + ) +-- +2.34.1 + diff --git a/gnome-base/gnome-desktop/files/42.0-meson-Fix-build_gtk4-option.patch b/gnome-base/gnome-desktop/files/42.0-meson-Fix-build_gtk4-option.patch new file mode 100644 index 000000000000..9b166e23bab8 --- /dev/null +++ b/gnome-base/gnome-desktop/files/42.0-meson-Fix-build_gtk4-option.patch @@ -0,0 +1,165 @@ +https://gitlab.gnome.org/GNOME/gnome-desktop/-/merge_requests/138 + +From a9ad6e704f9fead5748c2a9697990b01e91b9de0 Mon Sep 17 00:00:00 2001 +From: Matt Turner +Date: Sun, 20 Mar 2022 18:07:17 -0700 +Subject: [PATCH 1/2] meson: Fix build_gtk4 option + +--- + libgnome-desktop/meson.build | 134 +++++++++++++++++------------------ + 1 file changed, 67 insertions(+), 67 deletions(-) + +diff --git a/libgnome-desktop/meson.build b/libgnome-desktop/meson.build +index e81530ed..a0fb11f8 100644 +--- a/libgnome-desktop/meson.build ++++ b/libgnome-desktop/meson.build +@@ -86,79 +86,79 @@ libgnome_desktop_base_headers = [ + 'gnome-xkb-info.h', + ] + +-install_headers(libgnome_desktop_base_headers, +- subdir: 'gnome-desktop-4.0/libgnome-desktop' +-) ++if get_option('build_gtk4') ++ install_headers(libgnome_desktop_base_headers, ++ subdir: 'gnome-desktop-4.0/libgnome-desktop' ++ ) + +-base_deps = [ +- gdk_pixbuf_dep, +- glib_dep, +- gio_dep, +- gio_unix_dep, +- libsystemd_dep, +- schemas_dep, +- xkb_config_dep, +- xkbregistry_dep, +- iso_codes_dep, +- udev_dep, +- seccomp_dep, +- m_dep, +- rt_dep, +-] ++ base_deps = [ ++ gdk_pixbuf_dep, ++ glib_dep, ++ gio_dep, ++ gio_unix_dep, ++ libsystemd_dep, ++ schemas_dep, ++ xkb_config_dep, ++ xkbregistry_dep, ++ iso_codes_dep, ++ udev_dep, ++ seccomp_dep, ++ m_dep, ++ rt_dep, ++ ] + +-libgnome_desktop_base = library('gnome-desktop-4', +- sources: [ +- libgnome_desktop_base_sources, +- libgnome_desktop_base_private_sources, +- dbus_idle_built_sources, +- ], +- dependencies: base_deps, +- soversion: soversion, +- version: libversion, +- c_args: libargs, +- link_args: base_ldflags, +- install: true, +- include_directories: [ +- include_directories('.'), +- include_directories('..'), +- ], +-) ++ libgnome_desktop_base = library('gnome-desktop-4', ++ sources: [ ++ libgnome_desktop_base_sources, ++ libgnome_desktop_base_private_sources, ++ dbus_idle_built_sources, ++ ], ++ dependencies: base_deps, ++ soversion: soversion, ++ version: libversion, ++ c_args: libargs, ++ link_args: base_ldflags, ++ install: true, ++ include_directories: [ ++ include_directories('.'), ++ include_directories('..'), ++ ], ++ ) + +-libgnome_desktop_base_gir = gnome.generate_gir(libgnome_desktop_base, +- sources: [libgnome_desktop_base_headers, libgnome_desktop_base_sources], +- export_packages: 'gnome-desktop-4', +- namespace: 'GnomeDesktop', +- nsversion: '4.0', +- includes: ['GObject-2.0', 'Gio-2.0', 'GDesktopEnums-3.0', 'GdkPixbuf-2.0'], +- extra_args: ['-DGNOME_DESKTOP_USE_UNSTABLE_API', '--quiet', '--warn-all'], +- identifier_prefix: 'Gnome', +- symbol_prefix: 'gnome', +- install: true, +-) ++ libgnome_desktop_base_gir = gnome.generate_gir(libgnome_desktop_base, ++ sources: [libgnome_desktop_base_headers, libgnome_desktop_base_sources], ++ export_packages: 'gnome-desktop-4', ++ namespace: 'GnomeDesktop', ++ nsversion: '4.0', ++ includes: ['GObject-2.0', 'Gio-2.0', 'GDesktopEnums-3.0', 'GdkPixbuf-2.0'], ++ extra_args: ['-DGNOME_DESKTOP_USE_UNSTABLE_API', '--quiet', '--warn-all'], ++ identifier_prefix: 'Gnome', ++ symbol_prefix: 'gnome', ++ install: true, ++ ) + +-pkg.generate( +- libgnome_desktop_base, +- requires: ['gsettings-desktop-schemas'], +- version: meson.project_version(), +- name: 'gnome-desktop-4', +- filebase: 'gnome-desktop-4', +- description: 'Utility library for GNOME desktop components', +- subdirs: 'gnome-desktop-4.0', +-) ++ pkg.generate( ++ libgnome_desktop_base, ++ requires: ['gsettings-desktop-schemas'], ++ version: meson.project_version(), ++ name: 'gnome-desktop-4', ++ filebase: 'gnome-desktop-4', ++ description: 'Utility library for GNOME desktop components', ++ subdirs: 'gnome-desktop-4.0', ++ ) + +-libgnome_desktop_base_dep = declare_dependency( +- sources: [ +- libgnome_desktop_base_gir, +- ], +- dependencies: base_deps, +- link_with: libgnome_desktop_base, +- include_directories: [ +- include_directories('.'), +- include_directories('..'), +- ], +-) ++ libgnome_desktop_base_dep = declare_dependency( ++ sources: [ ++ libgnome_desktop_base_gir, ++ ], ++ dependencies: base_deps, ++ link_with: libgnome_desktop_base, ++ include_directories: [ ++ include_directories('.'), ++ include_directories('..'), ++ ], ++ ) + +-if gtk4_dep.found() + subdir('gnome-bg') + subdir('gnome-rr') + endif +-- +2.34.1 + diff --git a/gnome-base/gnome-desktop/gnome-desktop-42.0-r300.ebuild b/gnome-base/gnome-desktop/gnome-desktop-42.0-r300.ebuild new file mode 100644 index 000000000000..16f7cb36d9a1 --- /dev/null +++ b/gnome-base/gnome-desktop/gnome-desktop-42.0-r300.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit gnome.org meson xdg + +DESCRIPTION="Library with common API for various GNOME modules" +HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-desktop/" + +LICENSE="GPL-2+ LGPL-2+ FDL-1.1+" +SLOT="3/19" # subslot = libgnome-desktop-3 soname version +IUSE="debug +introspection seccomp systemd udev" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris" + +COMMON_DEPEND=" + >=x11-libs/gdk-pixbuf-2.36.5:2[introspection?] + >=x11-libs/gtk+-3.3.6:3[X,introspection?] + >=dev-libs/glib-2.53.0:2 + >=gnome-base/gsettings-desktop-schemas-3.27.0[introspection?] + x11-misc/xkeyboard-config + x11-libs/libxkbcommon + app-text/iso-codes + systemd? ( sys-apps/systemd:= ) + udev? ( virtual/libudev:= ) + seccomp? ( sys-libs/libseccomp ) + + x11-libs/cairo:= + introspection? ( >=dev-libs/gobject-introspection-1.54:= ) +" +DEPEND="${COMMON_DEPEND} + media-libs/fontconfig +" +RDEPEND="${COMMON_DEPEND} + seccomp? ( sys-apps/bubblewrap ) +" +BDEPEND=" + app-text/docbook-xml-dtd:4.1.2 + dev-util/gdbus-codegen + dev-util/itstool + >=sys-devel/gettext-0.19.8 + x11-base/xorg-proto + virtual/pkgconfig +" +# Includes X11/Xatom.h in libgnome-desktop/gnome-bg.c which comes from xorg-proto + +PATCHES=( + "${FILESDIR}"/${PV}-meson-Fix-build_gtk4-option.patch + "${FILESDIR}"/${PV}-meson-Add-optionality-for-introspection.patch +) + +src_prepare() { + default + xdg_environment_reset + + # Don't build manual test programs that will never get run + sed -i -e "/'test-.*'/d" libgnome-desktop/meson.build || die +} + +src_configure() { + local emesonargs=( + -Dgnome_distributor=Gentoo + -Ddate_in_gnome_version=true + -Ddesktop_docs=false + $(meson_use debug debug_tools) + $(meson_use introspection) + $(meson_feature udev) + $(meson_feature systemd) + -Dgtk_doc=false + -Dinstalled_tests=false + -Dbuild_gtk4=false + -Dlegacy_library=true + ) + meson_src_configure +} + +src_install() { + meson_src_install + + rm -r \ + ${ED}/usr/share/gnome/gnome-version.xml \ + ${ED}/usr/share/locale \ + || die +} diff --git a/gnome-base/gnome-desktop/gnome-desktop-42.0-r400.ebuild b/gnome-base/gnome-desktop/gnome-desktop-42.0-r400.ebuild new file mode 100644 index 000000000000..3b63a89f7c9a --- /dev/null +++ b/gnome-base/gnome-desktop/gnome-desktop-42.0-r400.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit gnome.org meson xdg + +DESCRIPTION="Library with common API for various GNOME modules" +HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-desktop/" + +LICENSE="GPL-2+ LGPL-2+ FDL-1.1+" +SLOT="4/1" # subslot = libgnome-desktop-4 soname version +IUSE="debug gtk-doc +introspection seccomp systemd udev" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris" + +COMMON_DEPEND=" + >=x11-libs/gdk-pixbuf-2.36.5:2[introspection?] + >=gui-libs/gtk-4.4.0:4[X,introspection?] + >=dev-libs/glib-2.53.0:2 + >=gnome-base/gsettings-desktop-schemas-3.27.0[introspection?] + x11-misc/xkeyboard-config + x11-libs/libxkbcommon + app-text/iso-codes + systemd? ( sys-apps/systemd:= ) + udev? ( virtual/libudev:= ) + seccomp? ( sys-libs/libseccomp ) + + x11-libs/cairo:= + introspection? ( >=dev-libs/gobject-introspection-1.54:= ) +" +DEPEND="${COMMON_DEPEND} + media-libs/fontconfig +" +RDEPEND="${COMMON_DEPEND} + seccomp? ( sys-apps/bubblewrap ) + ! +Date: Sun, 31 Oct 2021 17:24:58 -0300 +Subject: [PATCH 1/2] environment: Require GnomeBluetooth 1.0 + +libgnome-bluetooth will start to offer a 2.0 library version +depending on GTK4. Given that GNOME Shell already depends on +GTK3, it cannot use this next version of gnome-bluetooth. And +since GJS will automatically try and use the latest version +available of any library, Shell must specify it wants 1.0 +explicitly. + +Add a required GnomeBluetooth version number when importing it +for the status indicator. + +Part-of: +--- + js/ui/environment.js | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/js/ui/environment.js b/js/ui/environment.js +index ef53e6022..e906fa6c6 100644 +--- a/js/ui/environment.js ++++ b/js/ui/environment.js +@@ -6,6 +6,7 @@ const Config = imports.misc.config; + imports.gi.versions.Clutter = Config.LIBMUTTER_API_VERSION; + imports.gi.versions.Gio = '2.0'; + imports.gi.versions.GdkPixbuf = '2.0'; ++imports.gi.versions.GnomeBluetooth = '1.0'; + imports.gi.versions.Gtk = '3.0'; + imports.gi.versions.Soup = '3.0'; + imports.gi.versions.TelepathyGLib = '0.12'; +-- +2.34.1 + diff --git a/gnome-base/gnome-shell/files/41.5-environment-Require-gnome-desktop-3.0.patch b/gnome-base/gnome-shell/files/41.5-environment-Require-gnome-desktop-3.0.patch new file mode 100644 index 000000000000..3dbb50bb989b --- /dev/null +++ b/gnome-base/gnome-shell/files/41.5-environment-Require-gnome-desktop-3.0.patch @@ -0,0 +1,30 @@ +From 795312b8d5634d3005679b3c1313114e41e538fd Mon Sep 17 00:00:00 2001 +From: Georges Basile Stavracas Neto +Date: Thu, 11 Nov 2021 16:20:39 -0300 +Subject: [PATCH 2/2] environment: Require gnome-desktop 3.0 + +Pretty much the exact same case of 9ce6756235. + +libgnome-desktop saw a major version bump, and we have to +stick with 3.0 for a while. + +Part-of: +--- + js/ui/environment.js | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/js/ui/environment.js b/js/ui/environment.js +index e906fa6c6..cb254e319 100644 +--- a/js/ui/environment.js ++++ b/js/ui/environment.js +@@ -7,6 +7,7 @@ imports.gi.versions.Clutter = Config.LIBMUTTER_API_VERSION; + imports.gi.versions.Gio = '2.0'; + imports.gi.versions.GdkPixbuf = '2.0'; + imports.gi.versions.GnomeBluetooth = '1.0'; ++imports.gi.versions.GnomeDesktop = '3.0'; + imports.gi.versions.Gtk = '3.0'; + imports.gi.versions.Soup = '3.0'; + imports.gi.versions.TelepathyGLib = '0.12'; +-- +2.34.1 + diff --git a/gnome-base/gnome-shell/files/41.5-environment-Require-libgweather-3.0.patch b/gnome-base/gnome-shell/files/41.5-environment-Require-libgweather-3.0.patch new file mode 100644 index 000000000000..dedd485a2627 --- /dev/null +++ b/gnome-base/gnome-shell/files/41.5-environment-Require-libgweather-3.0.patch @@ -0,0 +1,29 @@ +From f07a40d5eeb1daf6e2d118c548c8314c721d558c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Wed, 5 Jan 2022 02:42:49 +0100 +Subject: [PATCH] environment: Require libgweather 3.0 + +GWeather did a major version bump on its main branch, so it is +now possible that multiple versions are installed in parallel, +and we should explicitly pick the one we are using. + +Part-of: +--- + js/ui/environment.js | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/js/ui/environment.js b/js/ui/environment.js +index cb254e319..ad2b8e4f2 100644 +--- a/js/ui/environment.js ++++ b/js/ui/environment.js +@@ -9,6 +9,7 @@ imports.gi.versions.GdkPixbuf = '2.0'; + imports.gi.versions.GnomeBluetooth = '1.0'; + imports.gi.versions.GnomeDesktop = '3.0'; + imports.gi.versions.Gtk = '3.0'; ++imports.gi.versions.GWeather = '3.0'; + imports.gi.versions.Soup = '3.0'; + imports.gi.versions.TelepathyGLib = '0.12'; + imports.gi.versions.TelepathyLogger = '0.2'; +-- +2.34.1 + diff --git a/gnome-base/gnome-shell/gnome-shell-41.5.ebuild b/gnome-base/gnome-shell/gnome-shell-41.5.ebuild new file mode 100644 index 000000000000..06c3d23b7f72 --- /dev/null +++ b/gnome-base/gnome-shell/gnome-shell-41.5.ebuild @@ -0,0 +1,208 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_{8..10} ) + +inherit gnome.org gnome2-utils meson python-single-r1 virtualx xdg + +DESCRIPTION="Provides core UI functions for the GNOME desktop" +HOMEPAGE="https://wiki.gnome.org/Projects/GnomeShell" + +LICENSE="GPL-2+ LGPL-2+" +SLOT="0" +IUSE="+bluetooth +browser-extension elogind gtk-doc +ibus +networkmanager systemd telepathy test" +REQUIRED_USE="${PYTHON_REQUIRED_USE} + ?? ( elogind systemd )" +RESTRICT="!test? ( test )" + +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + +# libXfixes-5.0 needed for pointer barriers and #include +# FIXME: +# * gstreamer/pipewire support is currently automagic +DEPEND=" + >=gnome-extra/evolution-data-server-3.33.1:= + >=app-crypt/gcr-3.7.5[introspection] + >=dev-libs/glib-2.68:2 + >=dev-libs/gobject-introspection-1.49.1:= + >=dev-libs/gjs-1.69.2 + >=x11-libs/gtk+-3.15.0:3[introspection] + >=x11-wm/mutter-41.0:0/9[introspection,test?] + >=sys-auth/polkit-0.100[introspection] + >=gnome-base/gsettings-desktop-schemas-41_alpha[introspection] + >=x11-libs/startup-notification-0.11 + >=app-i18n/ibus-1.5.19 + >=gnome-base/gnome-desktop-3.35.90:3=[introspection] + bluetooth? ( >=net-wireless/gnome-bluetooth-3.9:2=[introspection] ) + >=media-libs/gstreamer-0.11.92:1.0 + media-libs/gst-plugins-base:1.0 + >=media-video/pipewire-0.3.0:= + networkmanager? ( + >=net-misc/networkmanager-1.10.4:=[introspection] + net-libs/libnma[introspection] + >=app-crypt/libsecret-0.18 + dev-libs/dbus-glib ) + systemd? ( >=sys-apps/systemd-242 + >=gnome-base/gnome-desktop-3.34.2:3=[systemd] ) + elogind? ( >=sys-auth/elogind-237 ) + + app-arch/gnome-autoar + dev-libs/json-glib + + >=app-accessibility/at-spi2-atk-2.5.3 + x11-libs/gdk-pixbuf:2[introspection] + dev-libs/libxml2:2 + x11-libs/libX11 + + >=media-sound/pulseaudio-2[glib] + >=dev-libs/atk-2[introspection] + dev-libs/libical:= + >=x11-libs/libXfixes-5.0 + + gui-libs/gtk:4[introspection] + + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') + media-libs/mesa[X(+)] +" +# Runtime-only deps are probably incomplete and approximate. +# Introspection deps generated from inspection of the output of: +# for i in `rg -INUo 'const(?s).*imports.gi' |cut -d= -f1 |cut -c7- |sort -u`; do echo $i ;done |cut -d, -f1 |sort -u +# or +# rg -INUo 'const(?s).*imports.gi' |cut -d= -f1 |cut -c7- | sed -e 's:[{}]::g' | awk '{$1=$1; print}' | awk -F',' '{$1=$1;print}' | tr ' ' '\n' | sort -u | sed -e 's/://g' +# These will give a lot of unnecessary things due to greedy matching (TODO), and `(?s).*?` doesn't seem to work as desired. +# Compare with `grep -rhI 'imports.gi.versions' |sort -u` for any SLOT requirements +# Each block: +# 1. Introspection stuff needed via imports.gi (those that build time check may be listed above already) +# 2. gnome-session needed for shutdown/reboot/inhibitors/etc +# 3. Control shell settings +# 4. xdg-utils needed for xdg-open, used by extension tool +# 5. adwaita-icon-theme needed for various icons & arrows (3.26 for new video-joined-displays-symbolic and co icons; review for 3.28+) +# 6. mobile-broadband-provider-info, timezone-data for shell-mobile-providers.c # TODO: Review +# 7. IBus is needed for nls integration +# 8. Optional telepathy chat integration +# 9. Cantarell font used in gnome-shell global CSS (if removing this for some reason, make sure it's pulled in somehow for non-meta users still too) +# 10. xdg-desktop-portal-gtk for various integration, e.g. #764632 +# 11. TODO: semi-optional webkit-gtk[introspection] for captive portal helper +RDEPEND="${DEPEND} + >=sys-apps/accountsservice-0.6.14[introspection] + app-accessibility/at-spi2-core:2[introspection] + app-misc/geoclue[introspection] + media-libs/graphene[introspection] + >=dev-libs/libgweather-3.26:2[introspection] + x11-libs/pango[introspection] + net-libs/libsoup:2.4[introspection] + >=sys-power/upower-0.99:=[introspection] + gnome-base/librsvg:2[introspection] + + >=gnome-base/gnome-session-2.91.91 + >=gnome-base/gnome-settings-daemon-3.8.3 + + x11-misc/xdg-utils + + >=x11-themes/adwaita-icon-theme-3.26 + + networkmanager? ( + net-misc/mobile-broadband-provider-info + sys-libs/timezone-data ) + ibus? ( >=app-i18n/ibus-1.4.99[dconf(+),gtk,introspection] ) + telepathy? ( + >=net-im/telepathy-logger-0.2.4[introspection] + >=net-libs/telepathy-glib-0.19[introspection] ) + media-fonts/cantarell + + sys-apps/xdg-desktop-portal-gtk +" +# avoid circular dependency, see bug #546134 +PDEPEND=" + >=gnome-base/gdm-3.5[introspection(+)] + >=gnome-base/gnome-control-center-3.26[bluetooth(+)?,networkmanager(+)?] + browser-extension? ( gnome-extra/chrome-gnome-shell ) +" +BDEPEND=" + dev-libs/libxslt + >=dev-util/gdbus-codegen-2.45.3 + dev-util/glib-utils + gtk-doc? ( >=dev-util/gtk-doc-1.17 + app-text/docbook-xml-dtd:4.5 ) + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig +" +# These are not needed from tarballs, unless stylesheets or manpage get patched with patchset: +# dev-lang/sassc +# app-text/asciidoc + +PATCHES=( + # Fix automagic gnome-bluetooth dep, bug #398145 + "${FILESDIR}"/40.0-optional-bluetooth.patch + # Change favorites defaults, bug #479918 + "${FILESDIR}"/40.0-defaults.patch + "${FILESDIR}"/41.3-fix-build-with-meson-0.61.1.patch + + # From upstream + "${FILESDIR}"/${PV}-environment-Require-GnomeBluetooth-1.0.patch + "${FILESDIR}"/${PV}-environment-Require-gnome-desktop-3.0.patch + "${FILESDIR}"/${PV}-environment-Require-libgweather-3.0.patch +) + +src_prepare() { + xdg_src_prepare + # Hack in correct python shebang + sed -e "s:python\.path():'/usr/bin/env ${EPYTHON}':" -i src/meson.build || die +} + +src_configure() { + local emesonargs=( + $(meson_use bluetooth) + -Dextensions_tool=true + -Dextensions_app=true + $(meson_use gtk-doc gtk_doc) + -Dman=true + $(meson_use test tests) + $(meson_use networkmanager) + $(meson_use systemd) # this controls journald integration and desktop file user services related property only as of 3.34.4 + # (structured logging and having gnome-shell launched apps use its own identifier instead of gnome-session) + # suspend support is runtime optional via /run/systemd/seats presence and org.freedesktop.login1.Manager dbus interface; elogind should provide what's necessary + -Dsoup2=true # libslot SLOT needs to match with what libgweather is using + ) + meson_src_configure +} + +src_test() { + gnome2_environment_reset # Avoid dconf that looks at XDG_DATA_DIRS, which can sandbox fail if flatpak is installed + virtx meson_src_test +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update + + if ! has_version 'media-libs/gst-plugins-good:1.0' || \ + ! has_version 'media-plugins/gst-plugins-vpx:1.0'; then + ewarn "To make use of GNOME Shell's built-in screen recording utility," + ewarn "you need to either install media-libs/gst-plugins-good:1.0" + ewarn "and media-plugins/gst-plugins-vpx:1.0, or use dconf-editor to change" + ewarn "apps.gnome-shell.recorder/pipeline to what you want to use." + fi + + if ! has_version "media-libs/mesa[llvm]"; then + elog "llvmpipe is used as fallback when no 3D acceleration" + elog "is available. You will need to enable llvm USE for" + elog "media-libs/mesa if you do not have hardware 3D setup." + fi + + # https://bugs.gentoo.org/show_bug.cgi?id=563084 + # TODO: Is this still the case after various fixed in 3.28 for detecting non-working KMS for wayland (to fall back to X)? + if has_version "x11-drivers/nvidia-drivers[-kms]"; then + ewarn "You will need to enable kms support in x11-drivers/nvidia-drivers," + ewarn "otherwise Gnome will fail to start" + fi +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} diff --git a/gnome-base/gvfs/Manifest b/gnome-base/gvfs/Manifest index 981b70e21f24..c73478fab73b 100644 --- a/gnome-base/gvfs/Manifest +++ b/gnome-base/gvfs/Manifest @@ -1,4 +1,6 @@ AUX meson-0.61.patch 985 BLAKE2B 39f9a905a69f1cc724a04ce5c994f00ccf4272ac4038d95ea1afba42bb85d29624bcd7c1b573496c6eebf2541c224cd978eff6e6b7b9640a58b0d9361a7b919e SHA512 ceb03541b0c1991ec1f4d933e7b6c0741cb8d36b3083945763a8ea91bfe271c3395e715e52f9a6724a132baf7792fbfcd97a0e43050eaeaa72d50a6388d61e3a DIST gvfs-1.48.1.tar.xz 1225916 BLAKE2B f2c46d94ba68065fcaef93cfaf25d5d6cc2fbbf4c1842452d30a9fec2ac5259b440fe569411cf3a874d3464f8d001ef2d04a705230a21b381ff1c3abe9c0f16e SHA512 19a642bcfce37eaa0d2d9f509fed6c67abfea0f79f5be9a17074d20e9ba71252a13583a2e08de88718cb141c5e79e34c84c765c87160351fe21291a8f88abe8c +DIST gvfs-1.50.0.tar.xz 1213456 BLAKE2B a560794677693f449fd71f314d18a8ad8bb38ce6ac6eb312d020fd4ed2b55c9e1939cecc993869b3f489c0ebddfa057bf76af04e6c6f700323dc7b99fa052af1 SHA512 6eea3c59b239fe9674a83db4e182c0ea2ab7d56e29f5d5c4a7af9cb3cb0fd9222721796754f2f502291049c158e8bd3771cbc5262d10bfa684c207cb3281dcce EBUILD gvfs-1.48.1-r1.ebuild 3917 BLAKE2B 06f752d9d82ec7144e6957ee018fc86228952c8c50428e13d9df121455ff1b1d7d7afd3f8bdda4393d30bcdb2e3b6c26f028901269262930d1f59e80aebfbed7 SHA512 0a542600b93a05ccc4ad3f10d20bcdf05d15c0757a19008e524ce5ba0d64a1ce79b33733987794799180f1a957e7d812e092de17ea9056f826a0baae614fc553 +EBUILD gvfs-1.50.0.ebuild 3905 BLAKE2B 4f4815a8cc27343fbfb67b7b04d60a52d121587653d56905f076956a1cf97fdb87bec0825bf9851f89cc74f7140089c6d50aceb4b243833c748119aa13ce10b1 SHA512 d12ec5475e7909f3397e852c20e06e01c2189fdc12625a8fa81ff79b2205323b2e22bd85d799304cca39360ca9097cf6cbbf45d7708f5ebc82d9c8fd9d34cb19 MISC metadata.xml 1700 BLAKE2B af3b3595b38c93739128edb4678d17d1166b91abf851098b892c7240bff0f98886bd39a1bd85a218a8378dc9f7df9759e4ced4ce8183b652f6e1d27900e22220 SHA512 7b4f4d8abda474c6670d3ef278801d61d285ba48b07f7023ddee5eaba01ed695edd16ed946afa5c90baf394e87b3bfff6135380e4f3698e188a209f954b6cabb diff --git a/gnome-base/gvfs/gvfs-1.50.0.ebuild b/gnome-base/gvfs/gvfs-1.50.0.ebuild new file mode 100644 index 000000000000..61a64ed1d03f --- /dev/null +++ b/gnome-base/gvfs/gvfs-1.50.0.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +TMPFILES_OPTIONAL=1 +inherit gnome.org gnome2-utils meson systemd tmpfiles xdg + +DESCRIPTION="Virtual filesystem implementation for GIO" +HOMEPAGE="https://wiki.gnome.org/Projects/gvfs" + +LICENSE="LGPL-2+" +SLOT="0" + +IUSE="afp archive bluray cdda elogind fuse google gnome-keyring gnome-online-accounts gphoto2 +http ios mtp nfs policykit samba systemd test +udev udisks zeroconf" +RESTRICT="!test? ( test )" +# elogind/systemd only relevant to udisks (in v1.38.1) +REQUIRED_USE=" + ?? ( elogind systemd ) + cdda? ( udev ) + google? ( gnome-online-accounts ) + gphoto2? ( udev ) + mtp? ( udev ) + udisks? ( udev ) +" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris" + +RDEPEND=" + >=dev-libs/glib-2.70.0:2 + >=gnome-base/gsettings-desktop-schemas-3.33.0 + afp? ( >=dev-libs/libgcrypt-1.2.2:0= ) + sys-apps/dbus + app-crypt/gcr:= + policykit? ( + >=sys-auth/polkit-0.114 + sys-libs/libcap + ) + http? ( + dev-libs/libxml2:2 + >=net-libs/libsoup-3.0.0:3.0 + ) + zeroconf? ( >=net-dns/avahi-0.6[dbus] ) + udev? ( >=dev-libs/libgudev-147:= ) + fuse? ( + >=sys-fs/fuse-3.0.0:3 + virtual/tmpfiles + ) + udisks? ( >=sys-fs/udisks-1.97:2 ) + systemd? ( >=sys-apps/systemd-206:0= ) + elogind? ( >=sys-auth/elogind-229:0= ) + ios? ( + >=app-pda/libimobiledevice-1.2:= + >=app-pda/libplist-1:= + ) + gnome-online-accounts? ( >=net-libs/gnome-online-accounts-3.17.1:= ) + gnome-keyring? ( app-crypt/libsecret ) + bluray? ( media-libs/libbluray:= ) + mtp? ( + virtual/libusb:1 + >=media-libs/libmtp-1.1.15 + ) + samba? ( >=net-fs/samba-4[client] ) + archive? ( app-arch/libarchive:= ) + cdda? ( + dev-libs/libcdio:0= + >=dev-libs/libcdio-paranoia-0.78.2 + ) + google? ( >=dev-libs/libgdata-0.18.0:=[crypt,gnome-online-accounts] ) + gphoto2? ( >=media-libs/libgphoto2-2.5.0:= ) + nfs? ( >=net-fs/libnfs-1.9.8 ) + net-misc/openssh +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-util/glib-utils + app-text/docbook-xsl-stylesheets + app-text/docbook-xml-dtd:4.2 + dev-libs/libxslt + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + dev-util/gdbus-codegen + test? ( dev-libs/libgdata ) +" + +src_configure() { + local enable_logind="false" + if use systemd || use elogind; then + enable_logind="true" + fi + + local enable_gcrypt="false" + if use afp; then # currently HAVE_GCRYPT and linkage only used with afp; check it on big bumps (grep for HAVE_GCRYPT and enable_gcrypt); adjust depends if changes + enable_gcrypt="true" + fi + + local enable_libusb="false" + if use mtp; then # currently HAVE_LIBUSB and linkage only used with mtp; check it on big bumps (grep for HAVE_LIBUSB and enable_libusb); adjust depends if changes + enable_libusb="true" + fi + + local emesonargs=( + -Dsystemduserunitdir="$(systemd_get_userunitdir)" + -Dtmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d + $(meson_use policykit admin) + $(meson_use ios afc) + $(meson_use afp) + $(meson_use archive) + $(meson_use cdda) + $(meson_use zeroconf dnssd) + $(meson_use gnome-online-accounts goa) + $(meson_use google) + $(meson_use gphoto2) + $(meson_use http) + $(meson_use mtp) + $(meson_use nfs) + -Dsftp=true + $(meson_use samba smb) + $(meson_use udisks udisks2) + $(meson_use bluray) + $(meson_use fuse) + -Dgcr=true + -Dgcrypt=${enable_gcrypt} + $(meson_use udev gudev) + $(meson_use gnome-keyring keyring) + -Dlogind=${enable_logind} + -Dlibusb=${enable_libusb} + -Ddevel_utils=false # wouldn't install any of it as of 1.38.1; some tests need it, but they aren't automated tests in v1.38.1 + -Dinstalled_tests=false + -Dman=true + -Dprivileged_group=wheel + ) + meson_src_configure +} + +pkg_postinst() { + if use fuse; then + tmpfiles_process gvfsd-fuse-tmpfiles.conf + fi + + xdg_pkg_postinst + gnome2_schemas_update + gnome2_giomodule_cache_update +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update + gnome2_giomodule_cache_update +} diff --git a/gnome-base/nautilus/Manifest b/gnome-base/nautilus/Manifest index 34a051ab8510..5918f05ba868 100644 --- a/gnome-base/nautilus/Manifest +++ b/gnome-base/nautilus/Manifest @@ -1,5 +1,8 @@ AUX 3.30.5-docs-build.patch 1054 BLAKE2B c4a9bbd1f63f74130d48737e430a4e3e5e894049df2dfdebf75f0f519eb715aba5bd590f4b57a718f78238ee50242215ef2b648fd3e3e8e8dddebc2ff1b45be2 SHA512 3a0925262643eb84d4c1731cad6b3c2c427def000503a3a680b06b68828f53492b4367d02ac6de36c35b6460e3d0967e3ce26203f8257271b222883990047459 AUX 41.1-optional-gstreamer.patch 1592 BLAKE2B 877421d758d9b0911bc94b3d5132867e3a78532ce90c3e10017b164dcf4ae8f2cd8a49a23878936ed7adfe1112e5fbaff06542a62d7c6a0f515a53cff1dbb03e SHA512 3f1e0cb25237b5c9c6f29a7ac7a50afcf7a1b9844a4a9c6e134cbabebecf374846295de7b5d4416e1def8a1a2fb111e557caf27096836d8d19c51f9325799807 +AUX 42.0-optional-gstreamer.patch 1590 BLAKE2B eb251337ef8f2cba7b0fa9e1643c1155aa36bbc9234f4c5bf6baddd7f91d69e2713172685687a0bbf8fc646a97df857cfbce2a73768beb4eb5dae32ace893d07 SHA512 5f90d946c7bea63da2ca20397b0606747383b781dc972051082596d4fd0522a22c0d40440129e41ff4faeb5e9fcdfc5abb14318a9dade5b0343003bf86c7e339 DIST nautilus-41.2.tar.xz 3248212 BLAKE2B be4e4e8fc03751259a1a5d4d1eb726e3026d24376da3fa680c412598219bfb3ced52f9b809004913dffdb9bb1c176dede07288c440c100487b3a337d8eaab417 SHA512 adb14fa1cf37a4797f57ae5162bddcd5b012de270cf955051b69276bc266b1dbfd8027b835f627ae19a1252356b344b1c8a4b7ca79a22512f3138a2c13fd2f3e +DIST nautilus-42.0.tar.xz 3263108 BLAKE2B 0d06a72cc1ea1a227f6d92ee2841a2fdda9220ccb61bdb43cd5930a8f64393994a746e33a5451d460ca4c15810549c5d94f895ee861efa8ae46b98e25ed20f5f SHA512 c3b182f75f89a31ecb7b4f6b42dfb2f9792e195fdaf0e5f2b1a4dbe0f0d01071cf4ecb8408d6da476aa111ec891462e33c0d139d3423109bd5b4138ae822bd1e EBUILD nautilus-41.2.ebuild 3187 BLAKE2B 0ef6a93741ea846684150262e296a5775aef7af8395803ecf683ce093fff3d67df20c3786233afcc790d816996b54ac0d8b6c257f866c11edab76b6b980913ce SHA512 523a7f96bf4d2beed2f3906ee4ed8b73bad71de0b7ce6d1fa952778608b45e25cfebabc9674d1cfba875c18a4fcaa963e20da0a2ff238d9f37c85d5d7499e67e +EBUILD nautilus-42.0.ebuild 3354 BLAKE2B 4b2e0323f3af8387b8f65917e75c30b01ed137423a60709fbd1768c4b67980a7a74b454ff32ecf24bda025b4283e8ed0a289d1dba2525df7156852e9b70e4f4a SHA512 63037e91cd78ed1dd4b73e30530e2014e29cfd3b1a914345ba968c76186d687c90f08e8c65a03bcfcf63c79b9244d41c3270f34c63409daea78162c3ea46d7db MISC metadata.xml 554 BLAKE2B 80d4d6da040c47ddd01a278a0ca8af3d371f9e88b7c1583a606701bc85331d853d41bcc3a6be73772ce5574a1c50e601b31fa125a5f4c8a6dc39b1308d78af5b SHA512 ad97897d6f8c9be9271c0204fafd3540ac0d798fc8d4a1de1e66503dbb714dfacf0fd4ce23e059044ab7a3a3b687228811aa9adfba16391e6a5dfe2fda11801c diff --git a/gnome-base/nautilus/files/42.0-optional-gstreamer.patch b/gnome-base/nautilus/files/42.0-optional-gstreamer.patch new file mode 100644 index 000000000000..84835d4ba959 --- /dev/null +++ b/gnome-base/nautilus/files/42.0-optional-gstreamer.patch @@ -0,0 +1,57 @@ +From 918ffe8e1be66f7451452431385095b4cc7e6801 Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp +Date: Thu, 19 Sep 2019 22:26:08 +0300 +Subject: [PATCH] build: Optional gstreamer + +--- + extensions/meson.build | 4 +++- + meson.build | 2 ++ + meson_options.txt | 6 ++++++ + 3 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/extensions/meson.build b/extensions/meson.build +index 46c7b0393..bcce4fbfe 100644 +--- a/extensions/meson.build ++++ b/extensions/meson.build +@@ -1,3 +1,5 @@ + subdir('image-properties') +-subdir('audio-video-properties') ++if get_option('gstreamer') ++ subdir('audio-video-properties') ++endif + subdir('sendto') +diff --git a/meson.build b/meson.build +index e8b044490..10cf06fd6 100644 +--- a/meson.build ++++ b/meson.build +@@ -99,8 +99,10 @@ libm = cc.find_library('m') + + if get_option('extensions') + gexiv = dependency('gexiv2', version: '>= 0.14.0') ++ if get_option('gstreamer') + gst_tag_dep = dependency('gstreamer-tag-1.0') + gst_pbutils_dep = dependency('gstreamer-pbutils-1.0') ++ endif + endif + gio = dependency('gio-2.0', version: glib_ver) + gio_unix = dependency('gio-unix-2.0', version: glib_ver) +diff --git a/meson_options.txt b/meson_options.txt +index 6e781c4ef..9ad8d8196 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -13,6 +13,12 @@ option( + value: true, + description: 'Build stock extensions', + ) ++option( ++ 'gstreamer', ++ type: 'boolean', ++ value: true, ++ description: 'Build audio-video properties extension (requires "extensions")', ++) + option( + 'introspection', + type: 'boolean', +-- +2.34.1 + diff --git a/gnome-base/nautilus/nautilus-42.0.ebuild b/gnome-base/nautilus/nautilus-42.0.ebuild new file mode 100644 index 000000000000..cc5893b59ef3 --- /dev/null +++ b/gnome-base/nautilus/nautilus-42.0.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit gnome.org gnome2-utils meson readme.gentoo-r1 virtualx xdg + +DESCRIPTION="Default file manager for the GNOME desktop" +HOMEPAGE="https://wiki.gnome.org/Apps/Nautilus" + +LICENSE="GPL-3+ LGPL-2.1+" +SLOT="0" +IUSE="gnome +gstreamer gtk-doc +introspection +previewer selinux sendto" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +DEPEND=" + >=dev-libs/glib-2.67.1:2 + >=media-libs/gexiv2-0.14.0 + gstreamer? ( media-libs/gstreamer:1.0 + media-libs/gst-plugins-base:1.0 ) + >=app-arch/gnome-autoar-0.4.0 + >=gnome-base/gnome-desktop-3.0.0:3= + >=x11-libs/gtk+-3.22.27:3[X,introspection?] + >=gui-libs/libhandy-1.5.0:1 + >=x11-libs/pango-1.28.3 + selinux? ( >=sys-libs/libselinux-2.0 ) + >=app-misc/tracker-3.0:3= + x11-libs/libX11 + >=dev-libs/libxml2-2.7.8:2 + introspection? ( >=dev-libs/gobject-introspection-1.54:= ) +" +RDEPEND="${DEPEND} + gstreamer? ( !=app-misc/tracker-miners-3.0:3= +" # uses org.freedesktop.Tracker.Miner.Files gsettings schema from tracker-miners +BDEPEND=" + >=dev-util/gdbus-codegen-2.51.2 + >=dev-util/meson-0.57.2 + dev-util/glib-utils + gtk-doc? ( + >=dev-util/gtk-doc-1.10 + app-text/docbook-xml-dtd:4.1.2 ) + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + x11-base/xorg-proto +" +PDEPEND=" + gnome? ( x11-themes/adwaita-icon-theme ) + previewer? ( >=gnome-extra/sushi-0.1.9 ) + sendto? ( >=gnome-extra/nautilus-sendto-3.0.1 ) + >=gnome-base/gvfs-1.14[gtk(+)] +" # Need gvfs[gtk] for recent:/// support; always built (without USE=gtk) since gvfs-1.34 + +PATCHES=( + "${FILESDIR}"/3.30.5-docs-build.patch # Always install pregenerated manpage, keeping docs option for gtk-doc + "${FILESDIR}"/42.0-optional-gstreamer.patch # Allow controlling audio-video-properties build +) + +src_prepare() { + default + xdg_environment_reset + + if use previewer; then + DOC_CONTENTS="nautilus uses gnome-extra/sushi to preview media files. + To activate the previewer, select a file and press space; to + close the previewer, press space again." + fi + + # Disable test-nautilus-search-engine-tracker; bug #831170 + sed -e '/^tracker_tests = /{n;N;N;d}' -i test/automated/displayless/meson.build || die +} + +src_configure() { + local emesonargs=( + $(meson_use gtk-doc docs) + -Dextensions=true # image file properties, sendto support; also required for -Dgstreamer=true + $(meson_use gstreamer) # gstreamer audio-video-properties extension + $(meson_use introspection) + -Dlibportal=false # As of 40.2, all libportal usages are flatpak-specific + -Dpackagekit=false + $(meson_use selinux) + -Dprofiling=false + -Dtests=$(usex test all none) + ) + meson_src_configure +} + +src_install() { + use previewer && readme.gentoo_create_doc + meson_src_install +} + +src_test() { + gnome2_environment_reset # Avoid dconf that looks at XDG_DATA_DIRS, which can sandbox fail if flatpak is installed + # TODO: Tests require tracker testutils (e.g. tracker-sandbox), which may need some sorting out with tracker use flag deps + virtx meson_src_test +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update + + if use previewer; then + readme.gentoo_print_elog + else + elog "To preview media files, emerge nautilus with USE=previewer" + fi +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} -- cgit v1.2.3