diff options
Diffstat (limited to 'gnome-base')
20 files changed, 888 insertions, 172 deletions
diff --git a/gnome-base/Manifest.gz b/gnome-base/Manifest.gz Binary files differindex c99c1e337156..f070548cac68 100644 --- a/gnome-base/Manifest.gz +++ b/gnome-base/Manifest.gz diff --git a/gnome-base/dconf/Manifest b/gnome-base/dconf/Manifest index 0ec660381c92..ee73e8dc9422 100644 --- a/gnome-base/dconf/Manifest +++ b/gnome-base/dconf/Manifest @@ -1,4 +1,3 @@ -AUX 0.30.1-bash-completion-dir.patch 3222 BLAKE2B 977be3dd9cbee50bc976fbae125b058579587dcf55918b07b4bc9708dc9cc19192acddfb225c540806b4866a2e431acc42d461f91fdd935626af366341617595 SHA512 aeaba2126d4e87caf7c467118f2e2d42330fbf5c1d0786c52a2782550c64f41e482034c08e4624cc231e49ec9f39e824d29796b4078090613cfe54adbd420eaa AUX 0.32.0-drop-vapigen-dep.patch 1123 BLAKE2B 921e0bfebf9dfa67e55cda7c410c790e07d5d55d9c24d897fd43bacf524bde2de4fce07905a8c2298130af5c94a309a8bd82d0d549f2e344d653f9c9e1335965 SHA512 c26e44fd38e46f1df60d2a13cc40415af9298629ad3c0d12a203bf483a0577c24af2bedfb8c1e8e35855eefa317a0afced78b74f217a13a2429bb8ae73d8413f AUX 0.40.0-bash-completion-dir.patch 3029 BLAKE2B 6695d75088c96060b0b0a34f928d8db9b06528d97ff3fe44b5911ef1c04b1a68aa807eea507213e316283db8b1d73218255e12c378aafb3fc920ab39d3f092b4 SHA512 4fead302c92327787f26b0001ced07dcd176abbc5142119a19be0b48893d777f1cfc4559f37a37a5c589221cb2c81f1627626371d8a3ad58bb8c542806ac7b87 DIST dconf-0.40.0.tar.xz 117764 BLAKE2B bdbc48b71e46fdc4353358cd08fb96933d07af587300a6f91bc45826aeafb3f34f482fe6e09041dd839e507b863a8e33d09bad88a91c1c868983f8afb52c5c85 SHA512 71396d71f24f47653181482b052fdfc63795c50c373de34e2fb93e16101745daa7e81192b79a102d5389911cea34138eedf3ac32bc80562018e8a7f31963559a diff --git a/gnome-base/dconf/files/0.30.1-bash-completion-dir.patch b/gnome-base/dconf/files/0.30.1-bash-completion-dir.patch deleted file mode 100644 index 5d256f7efec5..000000000000 --- a/gnome-base/dconf/files/0.30.1-bash-completion-dir.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 012b92b115ed96cc66818adbd31557765078be65 Mon Sep 17 00:00:00 2001 -From: Mart Raudsepp <leio@gentoo.org> -Date: Fri, 22 Feb 2019 22:06:18 +0200 -Subject: [PATCH] build: Allow passing bash-completion dir and have a generic - fallback - -With autotools the installation path was just hardcoded to the usual -location. In meson it was made to always check the path from -bash-completion.pc, but some downstream might want to install the -file without a bash-completion build-dep. Allow installing the -completion file to a passed directory, and add back the fallback -path if an explicit directory isn't passed and bash-completion -package isn't found. This is also what the tracker project does. ---- - meson.build | 20 ++++++++++++++++---- - meson_options.txt | 2 +- - 2 files changed, 17 insertions(+), 5 deletions(-) - -diff --git a/meson.build b/meson.build -index aa87823..a74d5c7 100644 ---- a/meson.build -+++ b/meson.build -@@ -48,10 +48,22 @@ glib_dep = dependency('glib-2.0', version: '>= 2.44.0') - gio_module_dir = gio_dep.get_pkgconfig_variable('giomoduledir', define_variable: ['libdir', dconf_libdir]) - dbus_session_service_dir = dependency('dbus-1').get_pkgconfig_variable('session_bus_services_dir', define_variable: ['datadir', dconf_datadir]) - --enable_bash_completion = get_option('bash_completion') --if enable_bash_completion -- # FIXME: the `.pc` file is wrong because `completionsdir` should be relative to `datadir`, not `prefix` -- completions_dir = dependency('bash-completion').get_pkgconfig_variable('completionsdir', define_variable: ['prefix', dconf_prefix]) -+enable_bash_completion = false -+if get_option('bash_completion_dir') == 'yes' or get_option('bash_completion_dir') == 'auto' -+ bash_completion_package = dependency('bash-completion', required: false) -+ if bash_completion_package.found() -+ # FIXME: the `.pc` file is wrong because `completionsdir` should be relative to `datadir`, not `prefix` -+ completions_dir = bash_completion_package.get_pkgconfig_variable('completionsdir', -+ define_variable: [ 'prefix', dconf_prefix ]) -+ else -+ completions_dir = join_paths(dconf_datadir, 'bash-completion', 'completions') -+ endif -+ enable_bash_completion = true -+elif get_option('bash_completion_dir') == 'no' or get_option('bash_completion_dir') == '' -+ enable_bash_completion = false -+else -+ enable_bash_completion = true -+ completions_dir = get_option('bash_completion_dir') - endif - - configure_file( -diff --git a/meson_options.txt b/meson_options.txt -index a2794ce..3ac4ede 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -1,4 +1,4 @@ --option('bash_completion', type: 'boolean', value: true, description: 'install bash completion files') -+option('bash_completion_dir', type: 'string', value: 'yes', description: 'directory to install Bash completion files (or "yes" for default directory, "no" to disable installation)') - option('man', type: 'boolean', value: true, description: 'generate man pages') - option('gtk_doc', type: 'boolean', value: false, description: 'use gtk-doc to build documentation') - option('vapi', type: 'boolean', value: true, description: 'install dconf client vapi') --- -2.17.0 - diff --git a/gnome-base/gdm/Manifest b/gnome-base/gdm/Manifest index 5ec58f18cb1a..c565b94262ca 100644 --- a/gnome-base/gdm/Manifest +++ b/gnome-base/gdm/Manifest @@ -1,5 +1,3 @@ -AUX 49-keychain-r1 193 BLAKE2B e4653256b9a0a23be84286d25278d2addf464cc541d43f57a33ed0390b562d03acf7f9d8510ad1b09d4a3736d2bb2a323f5fcc473014b6f351abb5bee71a419b SHA512 32a6d72de9b6b7bfbac0a563fc8710576419e6d989fe48da294b92b197722059ee0e46672d5df2833cd1a7dacf5ae4ebc31b12b605416fd25a0924c35e505d21 -AUX 50-ssh-agent-r1 255 BLAKE2B d197daa7db7da3fc667e5bd561d2edf46b484365130a2d72259c4a2f316ec3af957599cd2c755f7e517ff32ed59e068d1dbcd47da6961534668786403590ff20 SHA512 85c8eca948646508ecc52a30a15b94c626196037ab65b4d797df472df34c714aacf800261902febda5b7bc051bff29efc9fff474a0c029838881b7f8704b13ba AUX default.pa 328 BLAKE2B 558dbedcb5a0f31e0bdc01ce21deaeacb4740dee998f8b2f947361745ea6680acf8662e426adf1d3f777af714c2fb7cf5ec74b2807187c37e2d8d896e863fa0d SHA512 4f0e9c38ae0c17b8f4ee6e37b87259676c4ff4e62fd315989c9e20012a8070c5b5571f835379639f76f157530495928cdc79265473478b1d9fe6d8ad0d64785d AUX gdm-3.30.3-logo.patch 846 BLAKE2B e99b6621191c509545bc36fe838bc467c3762f2726e247aea1b3cad2a86c0b0e95c5f9953b680a072d244140615c38becbc605998a2be0ed3332d7b5ef802f55 SHA512 63428d4605d9f4f35445f364657c1d92818125a737add7bc5e5acab424beaf8ae5895368111cd2d1c03c75f5fd8b9538d8750ea732a0990b5b82507735850e4c AUX gdm-3.8.4-fingerprint-auth.patch 923 BLAKE2B e681da8518ed1d002c1205658bb35e472e9d130df5d70dfd9eef55f5361cffeee716ebe0eea23f4c19f9f6ec2f4118729616f7f4e2c758990cf7cde3271cc8b2 SHA512 3cf5f9c0eabdae3f767d9b9db6052d760e879c14b9304753cdda56a4f643a9ed97f3ea83f642bfe96d220c8e9e4f99fbbd47c6e99ddfebeb6322a3a033c296d5 @@ -8,5 +6,6 @@ AUX gdm-40.0-meson-allow-building-with-elogind.patch 8801 BLAKE2B 358abc6b4a8152 AUX pam-elogind.patch 835 BLAKE2B 1db26b690d631c152ae7fd84149c7ff3222e8bd258bff78e09cd6f00fe34a8bfdb2499b252a1f15e17d9e4ed315e02260357b57cd31cf8ada5a2705ba1ef4ee0 SHA512 4d2d65741a5bfd1dc686dc986708526161d15ace2d5396bef281a2192d95458a072764483e1422ed1f6eb594fc0caa6baa381371618f907a97f75566209fab7b DIST gdm-40.0.tar.xz 800296 BLAKE2B 9c2038758cec09f13c18bd79d431e82a29fb1a2b8ab099498a0b8d920cb93896abceab9157edae8cc15312e03d21eb36b649c2cc8761f9af5fec387c5f28a261 SHA512 b20d02f8a80f6aff8909a69c6c621c20c5aa1b25cfedd68bf95faaaa56d5f7cd5d607d1a7388b97aa06510684f1e9e474248042a00203f496c39930e001bb64c DIST tango-gentoo-v1.1.tar.gz 29322 BLAKE2B 83fa2bf37727e60851dd679054fe1b153ebfea58c9a9a40f891f7d68d3b047b02e8effa1d1b4e08d64500a2072ce7200f159c92a352da7124de27e1b05bb6027 SHA512 87d47ddab68361db6d99866c51705dcb3e198f8345a1096859acf2c6cca5099dd23c7fb30d124f52c4933ea38fd45fadffbbe6ecbdfa84f5b60938a4824f9045 +EBUILD gdm-40.0-r1.ebuild 5901 BLAKE2B 93ec368090e51d4c5caef00348fef9aecded97c705586d7e16ab96479d66dcef70afd3c4e6d463d2d3e1d96a44cfd213505f6dbb6e04806119e0ef49a0f7a205 SHA512 97037dfae8703880fd39beccdcbd69bcbd37fee90ef6030cf2b2dd21b23db53ed4ddd3bcc19c3bd3482e65707a939954acedebbf2fb13a2534a8513f3144e01e EBUILD gdm-40.0.ebuild 5890 BLAKE2B 73e44b3e931b81c11c955d21fa4d3412e749d2ffebbbd982cf85e132b5dbed79107050b96f362630f46094a2a89ec4a36a881db006a77ed9d3639ff560d0fc3c SHA512 3e72f56a5073b205f488a5692429508f73375d370021ce7b3bc5b0ef384f17c3dddf70977b6c97c58b3d1817c969ac0a4e60e0d2253d76289465616a3c8891da MISC metadata.xml 759 BLAKE2B 13de28afc8fe81580a2aa28c5fdc17c77266595ffe95218cfbb5cbee4cbd6edab21e8cd06698e4a5feeb696fd9530ef8bf14209ecf3d03039b4e0562bb757375 SHA512 68cec6972bcabcb873fb314babbf9bdfacc7eaae40d662d11662fccd6cbf6630cd93b7322baa271081244c77fd1458c89ad785a0eb2a58b448ddff663381d98d diff --git a/gnome-base/gdm/files/49-keychain-r1 b/gnome-base/gdm/files/49-keychain-r1 deleted file mode 100644 index 51a1ca87905c..000000000000 --- a/gnome-base/gdm/files/49-keychain-r1 +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -# source keychain variables - -keychain="`which keychain 2>/dev/null`" -if [ -n "$keychain" ] && [ -x "$keychain" ] && [ -f "$HOME/.bash_profile" ] -then - . "${HOME}/.bash_profile" -fi diff --git a/gnome-base/gdm/files/50-ssh-agent-r1 b/gnome-base/gdm/files/50-ssh-agent-r1 deleted file mode 100644 index 4d94fb04a14a..000000000000 --- a/gnome-base/gdm/files/50-ssh-agent-r1 +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -# add ssh-agent if found - -sshagent="`which ssh-agent 2>/dev/null`" -if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then - command="$sshagent -- $command" -elif [ -z "$sshagent" ] ; then - echo "$0: ssh-agent not found!" -fi diff --git a/gnome-base/gdm/gdm-40.0-r1.ebuild b/gnome-base/gdm/gdm-40.0-r1.ebuild new file mode 100644 index 000000000000..cecd4f895236 --- /dev/null +++ b/gnome-base/gdm/gdm-40.0-r1.ebuild @@ -0,0 +1,215 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit desktop gnome2 meson pam readme.gentoo-r1 systemd toolchain-funcs 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 ipv6 plymouth selinux systemd tcpd test wayland" +RESTRICT="!test? ( test )" +REQUIRED_USE="^^ ( elogind systemd )" + +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~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/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=( + # Gentoo does not have a fingerprint-auth pam stack + "${FILESDIR}/${PN}-3.8.4-fingerprint-auth.patch" + + # Add elogind support + "${FILESDIR}/${P}-meson-allow-building-with-elogind.patch" + + # Support pam_elogind.so in gdm-launch-environment.pam + "${FILESDIR}/pam-elogind.patch" + + "${FILESDIR}"/${P}-meson-Fix-libwrap-detection.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 + $(meson_use ipv6) + $(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-desktop/Manifest b/gnome-base/gnome-desktop/Manifest index ad570948e477..477bd7e5d331 100644 --- a/gnome-base/gnome-desktop/Manifest +++ b/gnome-base/gnome-desktop/Manifest @@ -1,4 +1,6 @@ AUX 3.32.2-optional-introspection.patch 1376 BLAKE2B de57d769aab0cdc6a7fda25c0265f34d5d0fd555ae60a519273512021cf4f065db1e22ab72ce9004a914a47d077551b5a12ffbd5e81a9b8cf098a4762a0e461d SHA512 ea76e41aff067281497b98c86b66d8c382124ceead5b18e729342615a50b6aa3401f4d7c5553023b5d78ca0ea02823c7d6026ba9acca862804351269e4107d18 DIST gnome-desktop-40.1.tar.xz 721416 BLAKE2B de1432a9ee61fa0545ce09c1228a133555d732ea58b9550a1f218726342d4c4e1c9d30f402b62a6a370cd281302c47f820f8bccbd69f8b8651f77e4b0e8d4f66 SHA512 ff9da5d0c805a7d42339a9174b907dd0cc4845c8eeb5a004a13f001dbe449f28a6360ed9dc1951376be4a48271908990052ca0e8d6e4339214cafcb80d204b57 +DIST gnome-desktop-40.2.tar.xz 721852 BLAKE2B a7258d0465b17c5c9c78a066acd72571c002054f196d847e07b10055b1d72900d6efc80ac623f118ff11a87a4d5042ac9902f7f3f9d5a181ad3d80429cf9f904 SHA512 2fd3ba5eb0263aecc43978d84070619c16af4de998b344bc2aaac16aa0e734d93235aa218c2684ad993b471136434b97dffae52f183798daaa4ec47574cc51b3 EBUILD gnome-desktop-40.1.ebuild 1947 BLAKE2B 8b2233b157b3b50cb779149e18d46a14b5f2d4c6492f10d55767e4bc444bbc9bbf0b2eadbb10b8333b02675ffa2931ead810343f99b1ae5efa7adf71f45f89e6 SHA512 fe87b2876286c3d550bc9d353c5b347dc99d5a8f261e09514885798cb796ce2ec8917dd9652cd65631bd00e34d67da42a5bdd4c0c58ddfd2a0bdc6e1fc49b5b2 +EBUILD gnome-desktop-40.2.ebuild 1950 BLAKE2B 8fe295cc9783c308c77d371d374cce48596c6582d64afe5a49a98c19fbb342fde1d9110b472c02ade8126334684be1029d0ac2e913a65d5a2bab70b1a41c1e99 SHA512 961cbd1337b0b36f881f5500ccb03712ebcf70d284b11ceeba3fafbb6a6d0737f9514a4017fe06c31623e4a40aa101f5990c60f7f4188d911ba0b43325957dd3 MISC metadata.xml 253 BLAKE2B a1efbd3751efaa83ee173f557ec1c8a4497a90b60896cf5a7a07da40b4f94a7a299ca0385477e82b2f5e5dbdf9afa482ccbe21f35ef44214e9c451d764b65529 SHA512 8d59f413993268ca783f7407b676900bb2d964754bf705d4175e2bafbe058a52af74f3928e4bd84d292518f8cf13fab7051486ab7cdc61d02fae6e0188d44442 diff --git a/gnome-base/gnome-desktop/gnome-desktop-40.2.ebuild b/gnome-base/gnome-desktop/gnome-desktop-40.2.ebuild new file mode 100644 index 000000000000..b42b6b81c1b1 --- /dev/null +++ b/gnome-base/gnome-desktop/gnome-desktop-40.2.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit gnome.org gnome2-utils 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 gtk-doc +introspection seccomp systemd udev" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~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? ( + sys-apps/hwids + 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 + gtk-doc? ( >=dev-util/gtk-doc-1.14 ) + 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}"/3.32.2-optional-introspection.patch # add introspection meson option +) + +src_prepare() { + # Don't build manual test programs that will never get run + sed -i -e "/'test-.*'/d" libgnome-desktop/meson.build || die + xdg_src_prepare +} + +src_configure() { + local emesonargs=( + -Dgnome_distributor=Gentoo + -Ddate_in_gnome_version=true + -Ddesktop_docs=true + $(meson_use debug debug_tools) + $(meson_use introspection) + $(meson_feature udev) + $(meson_feature systemd) + $(meson_use gtk-doc gtk_doc) + -Dinstalled_tests=false + ) + meson_src_configure +} diff --git a/gnome-base/gnome-session/Manifest b/gnome-base/gnome-session/Manifest index 299b2ab0910a..4d932de93482 100644 --- a/gnome-base/gnome-session/Manifest +++ b/gnome-base/gnome-session/Manifest @@ -3,7 +3,6 @@ AUX 15-xdg-data-gnome-r1 262 BLAKE2B 8ea3192680b1cda2076ebceafd7cd4f340f6f4c5f5b AUX 90-xcursor-theme-gnome 384 BLAKE2B 985ea5b7de4d51b46625c21b803c5d225ac598b81813bb0bf00620a8b825a90f2b54717ed24ca8c9554c3ae6f8dbd75424f2b4ae8c6f38fcb789e655aa35aad6 SHA512 3d692715a744303f31a78ddf7aaefdbece8c50ebc5dfaac84cdfb6430155db465ab0140340eea4b5caf6d4dff030736eca9d028f24ed1d41ebc345fa309a4a4b AUX Gnome 2391 BLAKE2B ac78e23bb1172844c1da04a2615f03209b703d25d3e4d8976b7d62cc52fe128b35eb3f9e8f0bf3884f0c444ab2da88eb6ba12d9a852e8a058f4abdcf050dc68c SHA512 a994e811855c822c3f03354ec7608587f4102e6e9039dd35aec75e825b7610b259d4e1e7246cb6136ec2f7a4d27c1859dc02945fb13c448aafc26b8a2dae53a6 AUX defaults.list-r5 19379 BLAKE2B 9299c535bcb3ce6f291ba66dfe655f7e793d554f5fd7a5df5e8db665e43372f8c08a5ea8480e63e318befc5b2e56e4b027ca873947972aa2b19d14ba85f0ec3e SHA512 edee1126e11c3b49ebcea1e1a6929d55a28d09b6c382666d6d6a32271a4cf22af23927f7a5e15ecbd4a4cdaa41ac2f1ffc09350f4e48257e2e5e29ade08635ac -AUX gnome-session-3.38.0-exit-conflict-systemd247.patch 2229 BLAKE2B aeac31dd5d50d2e8eac6fe2bdcbabe82eb90f0a16f396da5ec45466f519fe3b565bebbcb818a0b41607df9ce6ecb46bd637c8ee9e72ba9d28fd315189820f31e SHA512 36e9640be8c04e9442609da36696895efec57a073792622eac7ded8c463e622b932d8693130f19491b4649cdc333d7d269c8732ebb12702ab2b574bc0dc6cc43 AUX gnome-session-3.38.0-meson-Support-elogind.patch 2808 BLAKE2B da7ad139fe118edc4c53570acc5e56d59e3073caae7941c54b11c59208675eaa148eb03d437d0edfa0f0d024880b77bc60ba65140422f25319ac132299dfe972 SHA512 2a57894b95662ca4488f95110943076a82ecbe7f3bb8ed4d95e2c8082276839f4b1a7ecc20915557378e73e1947df856e4ff57d9d5b9ae32a9673f2cc3b2fbc2 DIST gnome-session-40.1.1.tar.xz 482304 BLAKE2B 9a96f230dc793cc0b810bdaad6ce0103f923fbd2b22ee567316508c79bd6e7afe3961b593d094d0a4766a76f45ba6710f96e03a299f43d08a04aca776a172955 SHA512 91609915366839806729e066e5ca0d42daff0591732cda08c3da7d4951f7e27964d72988c4e61a64045443969b9fb0a9697c7ace82bdd8843310cb4d7e9dfd8c EBUILD gnome-session-40.1.1.ebuild 3452 BLAKE2B 38f77900a0d24c45b000dff3c7e2e4d5a687e0a60d14f877af6468cd906cc4ccb3b3d81b1b319a0fbd7a41804436d8be4daf88d3d525cadf9b70459e80a197fb SHA512 227b08745fb043d5ee96c0cbcd06f834b55f1a63871fb93173785ddac9f99708431b4af59c05ffb970b3497747289da68f64770d4b155bf9b1d83aa831fca5b7 diff --git a/gnome-base/gnome-session/files/gnome-session-3.38.0-exit-conflict-systemd247.patch b/gnome-base/gnome-session/files/gnome-session-3.38.0-exit-conflict-systemd247.patch deleted file mode 100644 index a4a99640f374..000000000000 --- a/gnome-base/gnome-session/files/gnome-session-3.38.0-exit-conflict-systemd247.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 9de6e40f12e8878f524f8d429d85724c156a0517 Mon Sep 17 00:00:00 2001 -From: Benjamin Berg <bberg@redhat.com> -Date: Thu, 3 Dec 2020 13:45:36 +0100 -Subject: [PATCH] data: Fix indirect conflict with exit.target via app.slice - -systemd v247 now puts services into app.slice by default. But app.slice -will have a conflict with exit.target, which in turn means that we still -get a conflict with exit.target indirectly. - -Fix it by adding the appropriate Slice=-.slice into -gnome-session-restart-dbus.service. Also update the note in -gnome-session-shutdown.service to point out the requirements. - -Closes: #74 ---- - data/gnome-session-restart-dbus.service.in | 5 +++-- - data/gnome-session-shutdown.target | 5 +++-- - 2 files changed, 6 insertions(+), 4 deletions(-) - -diff --git a/data/gnome-session-restart-dbus.service.in b/data/gnome-session-restart-dbus.service.in -index e90f6bc8..6389c321 100644 ---- a/data/gnome-session-restart-dbus.service.in -+++ b/data/gnome-session-restart-dbus.service.in -@@ -1,10 +1,11 @@ - [Unit] - Description=Restart DBus after GNOME Session shutdown - --# Allow exit.target to start even if this unit is started with replace-irreversibly --# Also put it into a slice that doesn't have such implicit dependencies -+# Allow exit.target to start even if this unit is started with replace-irreversibly. -+# For this to work, we also need to be in the root slice. - DefaultDependencies=no - - [Service] - Type=notify - ExecStart=@libexecdir@/gnome-session-ctl --restart-dbus -+Slice=-.slice -diff --git a/data/gnome-session-shutdown.target b/data/gnome-session-shutdown.target -index 607dc6e7..2c3d1963 100644 ---- a/data/gnome-session-shutdown.target -+++ b/data/gnome-session-shutdown.target -@@ -1,8 +1,9 @@ - [Unit] - Description=Shutdown running GNOME Session - --# Allow exit.target to start even if this unit is started with replace-irreversibly --# The same is needed for all (weak) dependencies -+# Allow exit.target to start even if this unit is started with replace-irreversibly. -+# All (weak) dependencies need to do the same. Services also need to ensure they -+# are in the root slice by setting Slice=-.slice. - DefaultDependencies=no - - Conflicts=graphical-session.target graphical-session-pre.target --- -GitLab - diff --git a/gnome-base/gnome-shell/Manifest b/gnome-base/gnome-shell/Manifest index 633b1e03608d..ebdbdcaa5ea8 100644 --- a/gnome-base/gnome-shell/Manifest +++ b/gnome-base/gnome-shell/Manifest @@ -4,7 +4,11 @@ AUX 40.0-defaults.patch 1412 BLAKE2B e36f7215cf756586479b8bdc71339beb3bbde53ca97 AUX 40.0-optional-bluetooth.patch 2034 BLAKE2B 9df252dbef229d372bae87ab017d49086090a4194644fc0f7f3dc78226f78fa58cb99d67d4aac2b156894721658c6094aa6609c0da8c707cf0a8dac5a9a404ee SHA512 ec82f1ef7a9123134af2617526c22fa4258413edb6d68acdcd074911b98ed27d2e761904ccd88a364d9064d79bdefd402988bc53e1139f0e54f993c84242f19f DIST gnome-shell-3.36.7-patchset.tar.xz 6364 BLAKE2B 80a2e2a03e4cc3b15db6af872a2330c0921a63bcd03db78a970190fee93c982296b381d08ac4bd1cb5dbe5b14d9732e447445f5dcc06d607826a9026395f10bb SHA512 6f9145fd00117e6b4170e7457c83a8c3bbbbfc6086ce3bcd07813b5a4f05e58f42e889cc90799d6988af05fce9791a792e4d8d60ffe58818563c852f9923930d DIST gnome-shell-3.36.7.tar.xz 1777236 BLAKE2B 4dd3b98e8a2ffa711bffe0b3b78708c85c1979122ee71e7e0d7c55626a608ba4598071bf8659338c960ba4b0349e5b621b97f294a4961cf021b9047753136af5 SHA512 7275d1e2d2629abd2fbfae910a77c25485464e39f8317ba1b0e8e1ae3368e69af4eb85c2611e82ea04270bfd8185e24f13002df9b13335adbdff144847790656 +DIST gnome-shell-40.1-r1-patchset.tar.xz 4328 BLAKE2B f26eec7cb7ab5e30b574a77cb3a6ccd251da6b33d540d05bc06c5547000631f751f9d35699d0d74ffab8e2ceafa5a66fac3067a0d511ec8e9292ced1bf626d66 SHA512 e5ce08f1fb986c5a8262651449d9444084e5968af02eaed5259d7c4600735e4a41bf8938600c70a000d1298d6a1f7c689bb08bf4943f91c5affd7f2c0ea7f227 DIST gnome-shell-40.1.tar.xz 1876776 BLAKE2B 9facbf60759faf4d598cf423147d6385e50a324e75b0ce4e540b4b0c6e51c2ad611f70ac8e0f19d25f47d0ee250504fe7fb430d6f50aacb9ef758648ca7a2e78 SHA512 48b2800ef500b5a5102c974d8ab718946406653803942b063100c813bd4bda9ae3e1b3492872fd8158c0e44c95f6582174101fb852613ff047602efed83b6d37 +DIST gnome-shell-40.2.tar.xz 1869600 BLAKE2B 6081930c4fe564980659bfeb7f7f59c5b95ce56e158096f14d8f85b28f4b45b1697eebdd88f7daf331aa1f7d087ec3dab55543d9a82d9d26bc5d8aee7e7c0085 SHA512 0df0a68a0e2440f73dfc147045ac2f003e5f133950cdbec7fb07b92e71aa53e2e4f3ce75510552f1043404850623fc84c08aad215b39ce9d33862994ae35ba87 EBUILD gnome-shell-3.36.7.ebuild 6667 BLAKE2B 6d2fe47bf102ba967ba1bcd5490f673033882e067ee6fda7ffc1c6482b5e6359f53af3337263c506d0e3e5270abb92306f5391cce713c10abaa0c09099a06899 SHA512 6e613f41d24bd0152ba4582b87afabd6ac17060d7c13462b975ff6ae8d8dab39a8c8e76a8740d0d02568f47b431360814328780f8e10937c2ce3180c446fde12 +EBUILD gnome-shell-40.1-r1.ebuild 6464 BLAKE2B 9c98b6cbf561398c7be92a10d8083a3ff6693a144c3f6d4eee4f9c92f38c136791d0b328ee2d5786e6d112afc61bea3a8681177a156e78e9b5774828646dcdd3 SHA512 9f7a4aedf98b718fb93f85bae9391c9978cdca7e33827d4d9c57a2c93bfd6fddf810a0e5cbac43a37c33de88a4ecd0001a3815f9e761af451b9e2d63544ec983 EBUILD gnome-shell-40.1.ebuild 6369 BLAKE2B c781a12a575b15d3aaf293e1629e40331cd259b256c486270bfc1d4e246b4d778c8c3a1f47858a02c2e49ddd2a4818a17c32f035254b81160fc54c97858fa71c SHA512 d998c3799050fdb4d33b37d4428a34a457405d5aff8da2b36d68012bb14b3e2f41437e9212b6a1e9a991221e04bad9e8dea67ffb4e83e2f5f48702f5e6dc9ef5 +EBUILD gnome-shell-40.2.ebuild 6372 BLAKE2B 920776ac1bc7c2e2aa5ab725b9117838d55aa354bebfeeb80860ffe42fb0ffee97a80ad8e77bec4703a322b79d538891932ddb8b59ed8d9963449781e83945ef SHA512 b141c7be05241867b970a42e5ce35630772927a8a0b322317e32775959381991c0fea8dbcc3f9552468254f2a234bad75ce885fcd5a0a3fac867591d3cad72c9 MISC metadata.xml 1050 BLAKE2B cf97e536a47f3b023e118a818bbc34af63500d2ea94bbc71201d2ce18aa6e473673cb28a47245de24b7bad9a174a6dda6b46c300518521c8ea0662e88e95627d SHA512 50c1d4c3eacb89b77bc49b4f236bba9d9041ef047392d5bda19e85b0c935709a095a388b1625a2c77c66145758e9b4ab77a202aa6cdd2b86f262c5b56e428b06 diff --git a/gnome-base/gnome-shell/gnome-shell-40.1-r1.ebuild b/gnome-base/gnome-shell/gnome-shell-40.1-r1.ebuild new file mode 100644 index 000000000000..f5b178e08fa8 --- /dev/null +++ b/gnome-base/gnome-shell/gnome-shell-40.1-r1.ebuild @@ -0,0 +1,193 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_{7,8,9} ) + +inherit gnome.org gnome2-utils meson python-single-r1 virtualx xdg + +DESCRIPTION="Provides core UI functions for the GNOME 3 desktop" +HOMEPAGE="https://wiki.gnome.org/Projects/GnomeShell" +SRC_URI+=" https://dev.gentoo.org/~leio/distfiles/${PF}-patchset.tar.xz" + +LICENSE="GPL-2+ LGPL-2+" +SLOT="0" +IUSE="+bluetooth +browser-extension elogind gtk-doc +ibus +networkmanager systemd telepathy" +REQUIRED_USE="${PYTHON_REQUIRED_USE} + ?? ( elogind systemd )" + +KEYWORDS="amd64 ~arm arm64 ~ppc64 x86" + +# libXfixes-5.0 needed for pointer barriers and #include <X11/extensions/Xfixes.h> +# 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.57.2:2 + >=dev-libs/gobject-introspection-1.49.1:= + >=dev-libs/gjs-1.65.1 + >=x11-libs/gtk+-3.15.0:3[introspection] + >=x11-wm/mutter-40.0:0/8[introspection] + >=sys-auth/polkit-0.100[introspection] + >=gnome-base/gsettings-desktop-schemas-3.33.1 + >=x11-libs/startup-notification-0.11 + >=app-i18n/ibus-1.5.2 + >=gnome-base/gnome-desktop-3.35.90:3=[introspection] + bluetooth? ( >=net-wireless/gnome-bluetooth-3.9[introspection] ) + >=media-libs/gstreamer-0.11.92:1.0 + media-libs/gst-plugins-base:1.0 + >=media-video/pipewire-0.3.0:0/0.3 + 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_MULTI_USEDEP}] + ') + media-libs/mesa[X(+)] +" +# Runtime-only deps are probably incomplete and approximate. +# Introspection deps generated using: +# grep -roe "imports.gi.*" gnome-shell-* | cut -f2 -d: | sort | uniq +# Each block: +# 1. Introspection stuff needed via imports.gi.* +# 2. gnome-session needed for shutdown/reboot/inhibitors/etc +# 3. Control shell settings +# 4. logind interface needed for suspending support +# 5. xdg-utils needed for xdg-open, used by extension tool +# 6. adwaita-icon-theme needed for various icons & arrows (3.26 for new video-joined-displays-symbolic and co icons; review for 3.28+) +# 7. mobile-broadband-provider-info, timezone-data for shell-mobile-providers.c # TODO: Review +# 8. IBus is needed for nls integration +# 9. Optional telepathy chat integration +# 10. 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) +# 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] + >=dev-libs/libgweather-3.26:2[introspection] + >=sys-power/upower-0.99:=[introspection] + x11-libs/pango[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-lang/sassc + dev-libs/libxslt + app-text/asciidoc + >=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.3 ) + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig +" + +PATCHES=( + "${WORKDIR}"/patches + # Fix automagic gnome-bluetooth dep, bug #398145 + "${FILESDIR}"/40.0-optional-bluetooth.patch + # Change favorites defaults, bug #479918 + "${FILESDIR}"/40.0-defaults.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 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 + ) + meson_src_configure +} + +src_test() { + 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/gnome-shell/gnome-shell-40.2.ebuild b/gnome-base/gnome-shell/gnome-shell-40.2.ebuild new file mode 100644 index 000000000000..1fc9453b4820 --- /dev/null +++ b/gnome-base/gnome-shell/gnome-shell-40.2.ebuild @@ -0,0 +1,191 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_{7,8,9} ) + +inherit gnome.org gnome2-utils meson python-single-r1 virtualx xdg + +DESCRIPTION="Provides core UI functions for the GNOME 3 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" +REQUIRED_USE="${PYTHON_REQUIRED_USE} + ?? ( elogind systemd )" + +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + +# libXfixes-5.0 needed for pointer barriers and #include <X11/extensions/Xfixes.h> +# 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.57.2:2 + >=dev-libs/gobject-introspection-1.49.1:= + >=dev-libs/gjs-1.65.1 + >=x11-libs/gtk+-3.15.0:3[introspection] + >=x11-wm/mutter-40.0:0/8[introspection] + >=sys-auth/polkit-0.100[introspection] + >=gnome-base/gsettings-desktop-schemas-3.33.1 + >=x11-libs/startup-notification-0.11 + >=app-i18n/ibus-1.5.2 + >=gnome-base/gnome-desktop-3.35.90:3=[introspection] + bluetooth? ( >=net-wireless/gnome-bluetooth-3.9[introspection] ) + >=media-libs/gstreamer-0.11.92:1.0 + media-libs/gst-plugins-base:1.0 + >=media-video/pipewire-0.3.0:0/0.3 + 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_MULTI_USEDEP}] + ') + media-libs/mesa[X(+)] +" +# Runtime-only deps are probably incomplete and approximate. +# Introspection deps generated using: +# grep -roe "imports.gi.*" gnome-shell-* | cut -f2 -d: | sort | uniq +# Each block: +# 1. Introspection stuff needed via imports.gi.* +# 2. gnome-session needed for shutdown/reboot/inhibitors/etc +# 3. Control shell settings +# 4. logind interface needed for suspending support +# 5. xdg-utils needed for xdg-open, used by extension tool +# 6. adwaita-icon-theme needed for various icons & arrows (3.26 for new video-joined-displays-symbolic and co icons; review for 3.28+) +# 7. mobile-broadband-provider-info, timezone-data for shell-mobile-providers.c # TODO: Review +# 8. IBus is needed for nls integration +# 9. Optional telepathy chat integration +# 10. 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) +# 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] + >=dev-libs/libgweather-3.26:2[introspection] + >=sys-power/upower-0.99:=[introspection] + x11-libs/pango[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-lang/sassc + dev-libs/libxslt + app-text/asciidoc + >=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.3 ) + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig +" + +PATCHES=( + # Fix automagic gnome-bluetooth dep, bug #398145 + "${FILESDIR}"/40.0-optional-bluetooth.patch + # Change favorites defaults, bug #479918 + "${FILESDIR}"/40.0-defaults.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 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 + ) + meson_src_configure +} + +src_test() { + 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 336bb281e9a2..c86e979d6956 100644 --- a/gnome-base/gvfs/Manifest +++ b/gnome-base/gvfs/Manifest @@ -1,4 +1,3 @@ -AUX libplist-2.2.patch 985 BLAKE2B cfb16b82634dfde00af05d96e3b0561b6bcbd246369b3048f807fee14fcfefdf1f2a9a39afaba9237109c051eb60f16a28916ef26e9f63fa0bcfff7e5cdefad4 SHA512 f6a9c6a2744063495ca95bfd47807a0883835504356948797e6d7015783d7f3b2504ac9ea791435301d2b4c063ef5642c53e485192c0008e0242e1754e567085 DIST gvfs-1.48.1.tar.xz 1225916 BLAKE2B f2c46d94ba68065fcaef93cfaf25d5d6cc2fbbf4c1842452d30a9fec2ac5259b440fe569411cf3a874d3464f8d001ef2d04a705230a21b381ff1c3abe9c0f16e SHA512 19a642bcfce37eaa0d2d9f509fed6c67abfea0f79f5be9a17074d20e9ba71252a13583a2e08de88718cb141c5e79e34c84c765c87160351fe21291a8f88abe8c EBUILD gvfs-1.48.1.ebuild 3753 BLAKE2B eba6aac344d0926f20cc2ef42ac1b721f793cf3fb0bfd63f12d324c243a2bd22418242d62b489b332948f0cd77f5bdd6057507391dad47b3e92b3c447ef7bcca SHA512 feda5c7bf5807f95e57200788bcb8b92b6c573bd247ef9dbd4ff7f51e83f15b801a1f9971afaa4ac05f203b6c042718182e8e84b6f2643a847a79ed5851c3a1a MISC metadata.xml 1699 BLAKE2B b3e9365770c3e8c8d96ec4f2243cb9c69289019f8db552cbc3b294e439400aa6181842dee7534c9b031681fcbc193ed81118d6620b6fc6d13815274e78265d79 SHA512 c16bd5fbecef94c4c56af439c04e63506cea25751982cb02edec80610fd565cb9c54371547ab3d6c414106efa7b8d7c6dffd00635706f70880f922b62a8c8db7 diff --git a/gnome-base/gvfs/files/libplist-2.2.patch b/gnome-base/gvfs/files/libplist-2.2.patch deleted file mode 100644 index 72634b58b69f..000000000000 --- a/gnome-base/gvfs/files/libplist-2.2.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 13551f3f40d41f1357126ac5a26d0fa012cd8123 Mon Sep 17 00:00:00 2001 -From: Bastien Nocera <hadess@hadess.net> -Date: Tue, 16 Jun 2020 13:28:35 +0200 -Subject: [PATCH] afc: Add support for libplist-2.2 - -Which changed name from libplist to libplist-2.0 to embed its API -version number in the library name. ---- - meson.build | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 1750f65c..187bfd55 100644 ---- a/meson.build -+++ b/meson.build -@@ -357,7 +357,10 @@ config_h.set('HAVE_LOGIND', enable_logind) - enable_afc = get_option('afc') - if enable_afc - libimobiledevice_dep = dependency('libimobiledevice-1.0', version: '>= 1.2') -- libplist_dep = dependency('libplist', version: '>= 0.15') -+ libplist_dep = dependency('libplist-2.0', required: false) -+ if not libplist_dep.found() -+ libplist_dep = dependency('libplist', version: '>= 0.15') -+ endif - endif - - # *** Check if we should build with GOA volume monitor *** --- -2.20.1 - diff --git a/gnome-base/librsvg/Manifest b/gnome-base/librsvg/Manifest index ecd892befbbd..8e5e3d59f19d 100644 --- a/gnome-base/librsvg/Manifest +++ b/gnome-base/librsvg/Manifest @@ -2,7 +2,9 @@ AUX librsvg-2.40.12-gtk-optional.patch 2193 BLAKE2B fcde3effa4cf68e89387ff64638f DIST librsvg-2.40.21.tar.xz 1655860 BLAKE2B a3fd7915d39984057e860da90115d9d95cef97e61d3f5e4c3aaaf399c4b3bfe781e6a7b969958ae84a3b7f2c788576fe26f56b037ca0a6a2e059b53f2bd1b9fc SHA512 db0563d8e0edaae642a6b2bcd239cf54191495058ac8c7ff614ebaf88c0e30bd58dbcd41f58d82a9d5ed200ced45fc5bae22f2ed3cf3826e9348a497009e1280 DIST librsvg-2.50.5.tar.xz 18958716 BLAKE2B 36ca7b9316f0384dfa0063035fe3b57adc9c0a94757b81662e0e80ff19c2388d872353ba2047c8402fd586e4d3614a88e2ba29502bd16c55d8a336238954aaaa SHA512 d1d653031f20a393ba7ae56e3187244cb8e96bfa14f888b07338b80c8d947112c421a88bc57f62eaa6c8b705dde1277a7b56c7cdf602b46c1516309dd4011b56 DIST librsvg-2.50.6.tar.xz 22225624 BLAKE2B d2822758456758ee818717db60b9136c31efa675f4c6ac94202e90a503b63aee736f995e8d23a72f50fe3b941953591d690cf99a65ddf7295e50b244186d242b SHA512 67f771c6aeaf70bc63f053ee6821e6eae545581c5381fbd3c3cd70c9f06fb2b14b584e9933108d0698abbca59c88fb0dd05d7a09925a727dfa58960b7d4f3396 +DIST librsvg-2.50.7.tar.xz 22224148 BLAKE2B 323d8125d73c9e72fefe7a868783f16332fb9e047963ccc0c36af280dc5ca4e1f6df3eee8b28b2380140634f51c1acf5b71fc496dd584ed9abf6ca3ebbb9f4c7 SHA512 064df9440802088f4414ffb70e5115809028858065739443444e5eaf6f809da47c697d31f9423e3ce9efcdeea02ff41ec39f5acf5882f2d35f433b7565be3c16 EBUILD librsvg-2.40.21.ebuild 2535 BLAKE2B fb7707a26b24f05ef9afe464f036d205e72243fe0b411ddc17b42a3f73bfd35e4a92b9236c12218d4bffb8edc825813f3b08cf164faf6cd1f96e689b76ac2970 SHA512 0ae92c01878ed45cd2da511bca6bcb86465723d3f71752168d5764b56d366544bc6bce1fce2d93ad497c901af8758db11bf3a53ad79389bcf54b16210bb18da2 EBUILD librsvg-2.50.5.ebuild 2589 BLAKE2B 4b332cd6a04c97908a61a30d18591eb3e1b7e6901637abf9aea07b93b6da06f7f6df33bcc3e3a0663a48355271779643382d9065784a3356d2ea535bb5e87cb3 SHA512 bebb2c340fa684c2d0f86d140e919423a89a787ddc3256e28ef49a5a150f1836534348bb9d1da4521760b8532e537f50f4107dc6b509063fe00787c2a1586fc5 EBUILD librsvg-2.50.6.ebuild 2577 BLAKE2B d1f7f58b9d597ec468632c9317dd98d049f25828f701322a97ff7da5d48b29010543291c95b69d28cbbbf5dd5abf74faef01ed99cbcf7b038806e6db358be7ab SHA512 a2f73a752c007ee1e29f75b8dff78c0526ed3a724cb6be025dccf72d4dadb65680e7c8fca97f496c9676e2e03719529bacb37a0580412804ed77d0618e6103c6 +EBUILD librsvg-2.50.7.ebuild 2582 BLAKE2B 0a45357eb90576f482bc83e48d9fa5dc84b6bb5899a7a2c100632e1c20969fe9be4add91e3ab80f74aafa604154a785b3d97436d04a6653009e3123df9b6d782 SHA512 b8fbed9ce13920924d37cd2994104a6519624dc225c4b61f07c4cd34766d38bd7555173b12fc769140a49ebbb44e01645ea0611bc17d73535faed95188befe88 MISC metadata.xml 311 BLAKE2B a08d15c269bf4c4eb82ea8daa3a563c899bf6029b4e9cb3efdb9c470a9885b3f349e1f20a8010f1bebf2120ffd79b8ac1601117c4cf4b026a854edc3f12aaa36 SHA512 b2bc97563f3fe4e9af71ee1af9d68afc6c99d7f1ca27e21defad6e479d16e79cc0cc317c7da7930e0b345100dafdf5c5f2e5aa990acd5b5f2e01e775e9ad99f4 diff --git a/gnome-base/librsvg/librsvg-2.50.7.ebuild b/gnome-base/librsvg/librsvg-2.50.7.ebuild new file mode 100644 index 000000000000..c7db8abca83c --- /dev/null +++ b/gnome-base/librsvg/librsvg-2.50.7.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +VALA_USE_DEPEND="vapigen" +VALA_MIN_API_VERSION=0.46 + +inherit gnome2 multilib-minimal rust-toolchain vala + +DESCRIPTION="Scalable Vector Graphics (SVG) rendering library" +HOMEPAGE="https://wiki.gnome.org/Projects/LibRsvg" + +LICENSE="LGPL-2+" +SLOT="2" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + +IUSE="+introspection +vala" +REQUIRED_USE="vala? ( introspection )" + +RDEPEND=" + >=x11-libs/cairo-1.16.0[glib,${MULTILIB_USEDEP}] + >=media-libs/freetype-2.9:2[${MULTILIB_USEDEP}] + >=x11-libs/gdk-pixbuf-2.20:2[introspection?,${MULTILIB_USEDEP}] + >=dev-libs/glib-2.50.0:2[${MULTILIB_USEDEP}] + >=media-libs/harfbuzz-2.0.0:=[${MULTILIB_USEDEP}] + >=dev-libs/libxml2-2.9.1-r4:2[${MULTILIB_USEDEP}] + >=x11-libs/pango-1.44.0[${MULTILIB_USEDEP}] + + introspection? ( >=dev-libs/gobject-introspection-0.10.8:= ) +" +DEPEND="${RDEPEND} + >=virtual/rust-1.40[${MULTILIB_USEDEP}] + dev-util/glib-utils + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + vala? ( $(vala_depend) ) +" +# >=gtk-doc-am-1.13, gobject-introspection-common, vala-common needed by eautoreconf + +RESTRICT="test" # Lots of issues on 32bit builds, 64bit build seems to get into an infinite compilation sometimes, etc. + +src_prepare() { + use vala && vala_src_prepare + gnome2_src_prepare +} + +multilib_src_configure() { + local myconf=( + --disable-static + --disable-debug + --disable-tools # the tools/ subdirectory is useful only for librsvg devs + $(multilib_native_use_enable introspection) + $(multilib_native_use_enable vala) + --enable-pixbuf-loader + ) + + if ! multilib_is_native_abi; then + myconf+=( + # Set the rust target, which can differ from CHOST + RUST_TARGET="$(rust_abi)" + # RUST_TARGET is only honored if cross_compiling, but non-native ABIs aren't cross as + # far as C parts and configure auto-detection are concerned as CHOST equals CBUILD + cross_compiling=yes + ) + fi + + ECONF_SOURCE=${S} \ + gnome2_src_configure "${myconf[@]}" + + if multilib_is_native_abi; then + ln -s "${S}"/doc/html doc/html || die + fi +} + +multilib_src_compile() { + # causes segfault if set, see bug #411765 + unset __GL_NO_DSO_FINALIZER + gnome2_src_compile +} + +multilib_src_install() { + gnome2_src_install +} + +multilib_src_install_all() { + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + # causes segfault if set, see bug 375615 + unset __GL_NO_DSO_FINALIZER + multilib_foreach_abi gnome2_pkg_postinst +} + +pkg_postrm() { + # causes segfault if set, see bug 375615 + unset __GL_NO_DSO_FINALIZER + multilib_foreach_abi gnome2_pkg_postrm +} diff --git a/gnome-base/nautilus/Manifest b/gnome-base/nautilus/Manifest index 0d691d800db0..418def0ace00 100644 --- a/gnome-base/nautilus/Manifest +++ b/gnome-base/nautilus/Manifest @@ -1,5 +1,7 @@ AUX 3.30.5-docs-build.patch 1054 BLAKE2B c4a9bbd1f63f74130d48737e430a4e3e5e894049df2dfdebf75f0f519eb715aba5bd590f4b57a718f78238ee50242215ef2b648fd3e3e8e8dddebc2ff1b45be2 SHA512 3a0925262643eb84d4c1731cad6b3c2c427def000503a3a680b06b68828f53492b4367d02ac6de36c35b6460e3d0967e3ce26203f8257271b222883990047459 AUX 3.32.3-optional-gstreamer.patch 1592 BLAKE2B 5c0326638ed4c2714fe72e460256bd01cfad547c6455e1ec3e0273550d5f16e7ddf2e32e4928b7d45e1ea877625fce5a8ea3171d67f5c87359a9ddc2944fe9cc SHA512 40bcbbad8ad7d831e7af0659a710af0f378e8aaafff89f764528f577dcb78d96d38af475112bcd4c615d5c78249955c31ce196bcbebd590bdeb6f52127ce3a3a DIST nautilus-40.1.tar.xz 3252276 BLAKE2B 6123fcc933f94ca405f7590ef446af0472f4ec10f5188ae3aaf9cb38a0cb1905a7cfbd69c47c5f1b3258bf915006184caeafa2e10035f0068e758a615c328609 SHA512 6421ce0c30c6f3a406a9c100b4a62e01276b10b6cdf05c9aa862a0ece89c7d231e8d3630aecfb8a1e6b40d62849c80c6c91b3f6b6663251466aa8865e60dbfc1 +DIST nautilus-40.2.tar.xz 3250384 BLAKE2B 8f8bb0c1a060d57695b28df126d421f386d634cbeea007ca30e076eb1b432a4098b98e9a1f39f688f8a920d99ef42ae2d53fe14fb270ba1e7de16aadd037a8d7 SHA512 ff7beab2963231c6e5ccd88098260659dd7fedd38ef6c0b95d66ffa110bfe5adc86477e2c1657eb2fcfe6110384038f75a7e669158712dfc1e2bd3f9e273b268 EBUILD nautilus-40.1.ebuild 2886 BLAKE2B 2f4ecda4e5bfa58ba383b15baae3541d72712b8d8dd88b7f45938ea25b44d139201f7bc3879399d7b9b848c3d4bee2665df8c1b4976bdcfc719fed126ae2a62b SHA512 80c2f534d7e1382ee5c769e1f26c70655259f193384793a981a90328b6f7638ad5127e47d7fffc0c5a5571e51999eee9bf478d6befd771dce285c5a321c7fda3 +EBUILD nautilus-40.2.ebuild 2889 BLAKE2B 0edeffffb617513572020afbc9c7f30621c9ef9652a494730d60f8b8f92b04d38c65bb539ba3db3fc809ab34a75ab8cc2d63a04745dff4a736942ed8440a11b1 SHA512 7e9df161c2ae2ec26bbd836b13f1045b516ebc228084ccbfdd6170cef84f45181cd7ac413dba029a374edce0b7983ce4c972391a32dff59c2cfc97c696e99167 MISC metadata.xml 553 BLAKE2B 51c14fbccc3b060cb5fac644a8213672250edb2c2092076bb4e0c390bfc8562a950fd362ae4294ac1215e774fcd4dd4de6c709b126c04fa705cf10be0e6e836f SHA512 77102dd05a5180dffca7ef03d66e3d0dc113f272e583da442027a94cb4e9fc67f0c267d9f2d5d0a4ef895d58604aed78fbe01c19b3f018972ff675d392786b7c diff --git a/gnome-base/nautilus/nautilus-40.2.ebuild b/gnome-base/nautilus/nautilus-40.2.ebuild new file mode 100644 index 000000000000..aacf13686936 --- /dev/null +++ b/gnome-base/nautilus/nautilus-40.2.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +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 ~sparc ~x86 ~amd64-linux ~x86-linux" + +DEPEND=" + >=dev-libs/glib-2.67.1:2 + >=media-libs/gexiv2-0.10.0 + gstreamer? ( media-libs/gstreamer:1.0 + media-libs/gst-plugins-base:1.0 ) + >=app-arch/gnome-autoar-0.3.0 + >=gnome-base/gnome-desktop-3.0.0:3= + >=x11-libs/gtk+-3.22.27:3[X,introspection?] + >=gui-libs/libhandy-1.1.90: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? ( !<media-video/totem-3.31.91[nautilus] ) + >=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}"/3.32.3-optional-gstreamer.patch # Allow controlling audio-video-properties build +) + +src_prepare() { + 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 + xdg_src_prepare +} + +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 + -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() { + 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 +} |