diff options
author | Sam James <sam@gentoo.org> | 2024-07-03 23:34:19 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-07-03 23:35:29 +0100 |
commit | b779d4b7e4ae652539320473991663dffa366abf (patch) | |
tree | 82ee96ac25eee2f9c3ed3ac3e823ef6829475d58 /x11-misc | |
parent | media-sound/quodlibet: drop myself as a maintainer (diff) | |
download | gentoo-b779d4b7e4ae652539320473991663dffa366abf.tar.gz gentoo-b779d4b7e4ae652539320473991663dffa366abf.tar.bz2 gentoo-b779d4b7e4ae652539320473991663dffa366abf.zip |
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@gentoo.org>
Diffstat (limited to 'x11-misc')
-rw-r--r-- | x11-misc/xdg-utils/files/xdg-utils-1.2.1-qtpaths.patch | 21 | ||||
-rw-r--r-- | x11-misc/xdg-utils/xdg-utils-1.2.1-r3.ebuild | 106 |
2 files changed, 127 insertions, 0 deletions
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." +} |