commit:     b779d4b7e4ae652539320473991663dffa366abf
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jul  3 22:34:19 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jul  3 22:35:29 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b779d4b7

x11-misc/xdg-utils: fix qtpaths for KDE Plasma

Pending questions:
* Should qt6paths instead be in /usr/bin in Gentoo?
* Why do we have a qtpaths6 as well as a qt6paths?

But add this emergency fix for now given it may manifest in confusing
and hard-to-diagnose ways.

Bug: https://bugs.gentoo.org/934941
Signed-off-by: Sam James <sam <AT> gentoo.org>

 profiles/arch/hppa/package.use.mask                |   4 +
 profiles/arch/ia64/package.use.mask                |   4 +
 profiles/arch/powerpc/ppc32/package.use.mask       |   4 +
 profiles/arch/s390/package.use.mask                |   4 +
 profiles/arch/sparc/package.use.mask               |   4 +
 .../xdg-utils/files/xdg-utils-1.2.1-qtpaths.patch  |  21 ++++
 x11-misc/xdg-utils/xdg-utils-1.2.1-r3.ebuild       | 106 +++++++++++++++++++++
 7 files changed, 147 insertions(+)

diff --git a/profiles/arch/hppa/package.use.mask 
b/profiles/arch/hppa/package.use.mask
index 54c9a841a623..823d13e657fd 100644
--- a/profiles/arch/hppa/package.use.mask
+++ b/profiles/arch/hppa/package.use.mask
@@ -4,6 +4,10 @@
 # NOTE: When masking a USE flag due to missing keywords, please file a keyword
 # request bug for the hppa arch.
 
+# Sam James <[email protected]> (2024-07-03)
+# kde-frameworks/kservice not keyworded here
+x11-misc/xdg-utils plasma
+
 # Sam James <[email protected]> (2024-06-19)
 # The systemd implementation of installkernel doesn't currently support
 # updating the 'initramfs.img' and 'vmlinuz' symlinks that palo needs,

diff --git a/profiles/arch/ia64/package.use.mask 
b/profiles/arch/ia64/package.use.mask
index 5a441ff87785..b092c9f7dfb8 100644
--- a/profiles/arch/ia64/package.use.mask
+++ b/profiles/arch/ia64/package.use.mask
@@ -1,6 +1,10 @@
 # Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
+# Sam James <[email protected]> (2024-07-03)
+# kde-frameworks/kservice not keyworded here
+x11-misc/xdg-utils plasma
+
 # Andreas Sturmlechner <[email protected]> (2024-06-29)
 # media-libs/libplacebo is not keyworded
 media-video/ffmpeg libplacebo

diff --git a/profiles/arch/powerpc/ppc32/package.use.mask 
b/profiles/arch/powerpc/ppc32/package.use.mask
index 18274c6ef5cd..c0c8e3380d31 100644
--- a/profiles/arch/powerpc/ppc32/package.use.mask
+++ b/profiles/arch/powerpc/ppc32/package.use.mask
@@ -1,6 +1,10 @@
 # Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
+# Sam James <[email protected]> (2024-07-03)
+# kde-frameworks/kservice not keyworded here
+x11-misc/xdg-utils plasma
+
 # Ionen Wolkens <[email protected]> (2024-07-02)
 # Needs dev-qt/qtquick3d:6 which itself needs media-libs/assimp that
 # is no longer keyworded here and currently fails tests (bug #935313).

diff --git a/profiles/arch/s390/package.use.mask 
b/profiles/arch/s390/package.use.mask
index b0cfa527331f..81ae78eec6f1 100644
--- a/profiles/arch/s390/package.use.mask
+++ b/profiles/arch/s390/package.use.mask
@@ -1,6 +1,10 @@
 # Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
+# Sam James <[email protected]> (2024-07-03)
+# kde-frameworks/kservice not keyworded here
+x11-misc/xdg-utils plasma
+
 # Michał Górny <[email protected]> (2024-05-08)
 # Requires sys-devel/{clang,llvm}:16.
 dev-lang/python jit

diff --git a/profiles/arch/sparc/package.use.mask 
b/profiles/arch/sparc/package.use.mask
index 854e02445f1e..b94b2a1601fd 100644
--- a/profiles/arch/sparc/package.use.mask
+++ b/profiles/arch/sparc/package.use.mask
@@ -1,6 +1,10 @@
 # Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
+# Sam James <[email protected]> (2024-07-03)
+# kde-frameworks/kservice not keyworded here
+x11-misc/xdg-utils plasma
+
 # Andreas Sturmlechner <[email protected]> (2024-06-29)
 # media-libs/libplacebo is not keyworded here
 media-video/ffmpeg libplacebo

diff --git a/x11-misc/xdg-utils/files/xdg-utils-1.2.1-qtpaths.patch 
b/x11-misc/xdg-utils/files/xdg-utils-1.2.1-qtpaths.patch
new file mode 100644
index 000000000000..a92d652bf2dc
--- /dev/null
+++ b/x11-misc/xdg-utils/files/xdg-utils-1.2.1-qtpaths.patch
@@ -0,0 +1,21 @@
+Workaround for https://bugs.gentoo.org/934941.
+
+Pending questions:
+* Should qt6paths instead be in /usr/bin in Gentoo?
+* Why do we have a qtpaths6 as well as a qt6paths?
+--- a/scripts/xdg-mime.in
++++ b/scripts/xdg-mime.in
+@@ -166,8 +166,11 @@ make_default_kde()
+     # text/plain=gnome-gedit.desktop;gnu-emacs.desktop;
+     vendor="$1"
+     mimetype="$2"
+-    if [ "${KDE_SESSION_VERSION:-0}" -gt 4 ] ; then
+-        default_dir="$(qtpaths --writable-path ConfigLocation)"
++    if [ "${KDE_SESSION_VERSION:-0}" -gt 5 ] ; then
++        default_dir="$($(pkg-config --variable=bindir Qt6Core)/qt6paths) 
--writable-path ConfigLocation)"
++        default_file="$default_dir/mimeapps.list"
++    elif [ x"$KDE_SESSION_VERSION" = x"5" ; then
++        default_dir="$(qtpaths5 --writable-path ConfigLocation)"
+         default_file="$default_dir/mimeapps.list"
+     elif [ x"$KDE_SESSION_VERSION" = x"4" ]; then
+         default_dir="$(kde4-config --path xdgdata-apps 2> /dev/null | cut -d 
':' -f 1)"

diff --git a/x11-misc/xdg-utils/xdg-utils-1.2.1-r3.ebuild 
b/x11-misc/xdg-utils/xdg-utils-1.2.1-r3.ebuild
new file mode 100644
index 000000000000..78afc65ad4b2
--- /dev/null
+++ b/x11-misc/xdg-utils/xdg-utils-1.2.1-r3.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Portland utils for cross-platform/cross-toolkit/cross-desktop 
interoperability"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/xdg-utils/";
+if [[ ${PV} == *_p* ]] ; then
+       MY_COMMIT="d4f00e1d803038af4f245949d8c747a384117852"
+       
SRC_URI="https://gitlab.freedesktop.org/xdg/xdg-utils/-/archive/${MY_COMMIT}/${P}.tar.bz2";
+       S="${WORKDIR}"/xdg-utils-${MY_COMMIT}
+else
+       
SRC_URI="https://gitlab.freedesktop.org/xdg/xdg-utils/-/archive/v${PV}/${PN}-v${PV}.tar.bz2";
+       S="${WORKDIR}"/${PN}-v${PV}
+fi
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="dbus doc gnome plasma X"
+REQUIRED_USE="gnome? ( dbus )"
+
+RDEPEND="
+       dev-perl/File-MimeInfo
+       dev-util/desktop-file-utils
+       x11-misc/shared-mime-info
+       dbus? (
+               sys-apps/dbus
+               gnome? (
+                       dev-perl/Net-DBus
+                       dev-perl/X11-Protocol
+               )
+       )
+       plasma? (
+               virtual/pkgconfig
+               || (
+                       (
+                               kde-frameworks/kservice:6
+                               dev-qt/qtbase:6
+                       )
+                       (
+                               kde-frameworks/kservice:5
+                               dev-qt/qtpaths:5
+                       )
+               )
+       )
+       X? (
+               x11-apps/xprop
+               x11-apps/xset
+       )
+"
+BDEPEND="
+       app-alternatives/awk
+       >=app-text/xmlto-0.0.28-r3[text(+)]
+"
+
+# Tests run random system programs, including interactive programs
+# that block forever
+RESTRICT="test"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-xdg-mime-default.patch
+       "${FILESDIR}"/${PN}-1.2.1-qtpaths.patch
+)
+
+src_prepare() {
+       default
+
+       if [[ ${PV} == *_p* ]] ; then
+               # If you choose to do git snapshot instead of patchset, you 
need to remember
+               # to run `autoconf` in ./ and `make scripts-clean` in 
./scripts/ to refresh
+               # all the files
+               eautoreconf
+       fi
+}
+
+src_configure() {
+       export ac_cv_path_XMLTO="$(type -P xmlto) --skip-validation" #502166
+       default
+       emake -C scripts scripts-clean
+}
+
+src_install() {
+       default
+
+       dodoc RELEASE_NOTES
+
+       newdoc scripts/xsl/README README.xsl
+       use doc && dodoc -r scripts/html
+
+       # Install default XDG_DATA_DIRS, bug #264647
+       echo XDG_DATA_DIRS=\"${EPREFIX}/usr/local/share\" > 30xdg-data-local || 
die
+       echo 'COLON_SEPARATED="XDG_DATA_DIRS XDG_CONFIG_DIRS"' >> 
30xdg-data-local || die
+       doenvd 30xdg-data-local
+
+       echo XDG_DATA_DIRS=\"${EPREFIX}/usr/share\" > 90xdg-data-base || die
+       echo XDG_CONFIG_DIRS=\"${EPREFIX}/etc/xdg\" >> 90xdg-data-base || die
+       doenvd 90xdg-data-base
+}
+
+pkg_postinst() {
+       [[ -x $(type -P gtk-update-icon-cache) ]] \
+               || elog "Install dev-util/gtk-update-icon-cache for the 
gtk-update-icon-cache command."
+}

Reply via email to