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>
This commit is contained in:
Sam James
2024-07-03 23:34:19 +01:00
parent aefb5873fe
commit b779d4b7e4
7 changed files with 147 additions and 0 deletions

View File

@@ -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 <sam@gentoo.org> (2024-07-03)
# kde-frameworks/kservice not keyworded here
x11-misc/xdg-utils plasma
# Sam James <sam@gentoo.org> (2024-06-19)
# The systemd implementation of installkernel doesn't currently support
# updating the 'initramfs.img' and 'vmlinuz' symlinks that palo needs,

View File

@@ -1,6 +1,10 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Sam James <sam@gentoo.org> (2024-07-03)
# kde-frameworks/kservice not keyworded here
x11-misc/xdg-utils plasma
# Andreas Sturmlechner <asturm@gentoo.org> (2024-06-29)
# media-libs/libplacebo is not keyworded
media-video/ffmpeg libplacebo

View File

@@ -1,6 +1,10 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Sam James <sam@gentoo.org> (2024-07-03)
# kde-frameworks/kservice not keyworded here
x11-misc/xdg-utils plasma
# Ionen Wolkens <ionen@gentoo.org> (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).

View File

@@ -1,6 +1,10 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Sam James <sam@gentoo.org> (2024-07-03)
# kde-frameworks/kservice not keyworded here
x11-misc/xdg-utils plasma
# Michał Górny <mgorny@gentoo.org> (2024-05-08)
# Requires sys-devel/{clang,llvm}:16.
dev-lang/python jit

View File

@@ -1,6 +1,10 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Sam James <sam@gentoo.org> (2024-07-03)
# kde-frameworks/kservice not keyworded here
x11-misc/xdg-utils plasma
# Andreas Sturmlechner <asturm@gentoo.org> (2024-06-29)
# media-libs/libplacebo is not keyworded here
media-video/ffmpeg libplacebo

View File

@@ -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)"

View File

@@ -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."
}