repo/gentoo:master commit in: media-gfx/krita/, media-gfx/krita/files/

"Andreas Sturmlechner" <[email protected]> Sun, 02 Aug 2026 20:50:24 +0000 (UTC)
Newsgroups gmane.linux.gentoo.cvs
Message-ID <1785703812.8783e13b489a000308bce98e36952a4a264e9723.asturm@gentoo>
commit:     8783e13b489a000308bce98e36952a4a264e9723
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Aug  2 20:45:51 2026 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Aug  2 20:50:12 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8783e13b

media-gfx/krita: Fix changing font family in text tool

KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=520971

Bug: https://bugs.gentoo.org/970692
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/krita-6.0.3-fix-change-font-family.patch |  37 +++++
 media-gfx/krita/krita-6.0.3-r1.ebuild              | 151 +++++++++++++++++++++
 2 files changed, 188 insertions(+)

diff --git a/media-gfx/krita/files/krita-6.0.3-fix-change-font-family.patch b/media-gfx/krita/files/krita-6.0.3-fix-change-font-family.patch
new file mode 100644
index 000000000000..519fc37e0fc4
--- /dev/null
+++ b/media-gfx/krita/files/krita-6.0.3-fix-change-font-family.patch
@@ -0,0 +1,37 @@
+From 986ae3c0b295e72003d2000fa74f288d1c5d6a28 Mon Sep 17 00:00:00 2001
+From: Luna Lovecraft <[email protected]>
+Date: Thu, 30 Jul 2026 17:51:51 +0400
+Subject: [PATCH] Fix font family drop down not working on qt 6.11
+
+In Qt 6.11 changing an element of an array no longer calls onChanged
+for that array, so we force update it instead
+
+BUG:520971
+---
+ plugins/dockers/textproperties/qml/FontFamily.qml | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/dockers/textproperties/qml/FontFamily.qml b/plugins/dockers/textproperties/qml/FontFamily.qml
+index a69c132500e..729ae045375 100644
+--- a/plugins/dockers/textproperties/qml/FontFamily.qml
++++ b/plugins/dockers/textproperties/qml/FontFamily.qml
+@@ -81,10 +81,14 @@ CollapsibleGroupProperty {
+             Layout.fillWidth: true;
+             locales: root.locales;
+             onActivated: {
+-                if (fontFamilies.length >0) {
++                if (fontFamilies.length > 0) {
+                     fontFamilies[0] = resourceName;
++
++                    //Force update font families, as changing an element in an array no longer calls onChanged
++                    fontFamilies = [fontFamilies];
++
+                 } else {
+-                    fontFamilies = [ resourceName ];
++                    fontFamilies = [resourceName];
+                 }
+             }
+             function updateCurrentIndex() {
+-- 
+GitLab
+

diff --git a/media-gfx/krita/krita-6.0.3-r1.ebuild b/media-gfx/krita/krita-6.0.3-r1.ebuild
new file mode 100644
index 000000000000..10a4fd65d7c5
--- /dev/null
+++ b/media-gfx/krita/krita-6.0.3-r1.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PATCHSET=
+ECM_TEST="forceoptional"
+PYTHON_COMPAT=( python3_{11..14} )
+KFMIN=6.16.0
+QTMIN=6.10.1
+inherit ecm kde.org python-single-r1 xdg
+
+if [[ ${KDE_BUILD_TYPE} == release ]]; then
+	if [[ ${PV} == *_p* ]] ; then
+		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/kde/${P}.tar.xz"
+		S="${WORKDIR}/${P}"
+	else
+		MY_PV="${PV/_/-}"
+		MY_P="${PN}-${MY_PV}"
+		if [[ ${MY_P} == ${P} ]] ; then
+			SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+		else
+			SRC_URI="mirror://kde/unstable/${PN}/${MY_PV}/${MY_P}.tar.xz"
+		fi
+		S="${WORKDIR}/${MY_P}"
+	fi
+	KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+fi
+if [[ -n ${PATCHSET} ]]; then
+	SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/kde/${PATCHSET}.tar.xz"
+fi
+
+DESCRIPTION="Free digital painting application. Digital Painting, Creative Freedom!"
+HOMEPAGE="https://apps.kde.org/krita/ https://krita.org/en/"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="color-management fftw gif +gsl heif jpeg2k jpegxl +mypaint-brush-engine openexr pdf media +raw wayland webp"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# bug 630508
+RESTRICT="test"
+
+COMMON_DEPEND="${PYTHON_DEPS}
+	dev-cpp/eigen:=
+	>=dev-cpp/xsimd-13.0.0
+	dev-libs/boost:=
+	dev-libs/libunibreak:=
+	>=dev-libs/quazip-1.3-r2:0=[qt6(+)]
+	$(python_gen_cond_dep '
+		dev-python/pyqt6[gui,qml,widgets,xml,${PYTHON_USEDEP}]
+		dev-python/sip:=[${PYTHON_USEDEP}]
+	')
+	>=dev-qt/qt5compat-${QTMIN}:6
+	>=dev-qt/qtbase-${QTMIN}:6=[concurrent,dbus,-gles2-only,gui,network,opengl,sql,wayland?,widgets,X,xml]
+	>=dev-qt/qtdeclarative-${QTMIN}:6
+	>=dev-qt/qtsvg-${QTMIN}:6
+	>=kde-frameworks/kcolorscheme-${KFMIN}:6
+	>=kde-frameworks/kcompletion-${KFMIN}:6
+	>=kde-frameworks/kconfig-${KFMIN}:6
+	>=kde-frameworks/kcoreaddons-${KFMIN}:6
+	>=kde-frameworks/kcrash-${KFMIN}:6
+	>=kde-frameworks/kguiaddons-${KFMIN}:6
+	>=kde-frameworks/ki18n-${KFMIN}:6
+	>=kde-frameworks/kiconthemes-${KFMIN}:6
+	>=kde-frameworks/kitemviews-${KFMIN}:6
+	>=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+	>=kde-frameworks/kxmlgui-${KFMIN}:6
+	media-gfx/exiv2:=
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/harfbuzz:=
+	media-libs/lcms
+	media-libs/libjpeg-turbo:=
+	media-libs/libpng:=
+	media-libs/tiff:=
+	virtual/zlib:=
+	virtual/opengl
+	x11-libs/libX11
+	x11-libs/libXi
+	color-management? ( >=media-libs/opencolorio-2.0.0 )
+	fftw? ( sci-libs/fftw:3.0= )
+	gif? ( media-libs/giflib )
+	gsl? ( sci-libs/gsl:= )
+	jpeg2k? ( media-libs/openjpeg:= )
+	jpegxl? ( >=media-libs/libjxl-0.7.0_pre20220825:= )
+	heif? ( >=media-libs/libheif-1.11:=[x265] )
+	media? ( media-libs/mlt:= )
+	mypaint-brush-engine? ( media-libs/libmypaint:= )
+	openexr? ( media-libs/openexr:= )
+	pdf? ( app-text/poppler[qt6(-)] )
+	raw? ( kde-apps/libkdcraw:6 )
+	webp? ( >=media-libs/libwebp-1.2.0:= )
+"
+RDEPEND="${COMMON_DEPEND}
+	!${CATEGORY}/${PN}:5
+"
+DEPEND="${COMMON_DEPEND}
+	dev-libs/immer
+	dev-libs/lager
+	dev-libs/zug
+"
+BDEPEND="
+	dev-lang/perl
+	sys-devel/gettext
+"
+
+PATCHES=(
+	# downstream
+	"${FILESDIR}"/${PN}-5.3.0-tests-optional.patch
+	"${FILESDIR}"/${PN}-5.2.2-fftw.patch # bug 913518
+	"${FILESDIR}"/${PN}-6.0.1-pyqt6.11-sip13.8.patch # bug 974789, unfortunately, also downstream
+	"${FILESDIR}"/${P}-fix-change-font-family.patch # KDE-bug 520971
+)
+if [[ -n ${PATCHSET} ]]; then
+	PATCHES+=( "${WORKDIR}/${PATCHSET}" )
+fi
+
+src_prepare() {
+	rm -r packaging || die # unused and too low CMake minimum
+	ecm_src_prepare
+}
+
+src_configure() {
+	# Prevent sandbox violation from FindPyQt5.py module
+	# See Gentoo-bug 655918
+	addpredict /dev/dri
+
+	local mycmakeargs=(
+		-DBUILD_WITH_QT6=ON
+		-DALLOW_UNSTABLE=QT6
+		-DENABLE_UPDATERS=OFF
+		-DKRITA_ENABLE_PCH=OFF # big mess.
+		-DCMAKE_DISABLE_FIND_PACKAGE_KSeExpr=ON # not packaged
+		$(cmake_use_find_package color-management OpenColorIO)
+		$(cmake_use_find_package fftw FFTW3)
+		$(cmake_use_find_package gif GIF)
+		$(cmake_use_find_package gsl GSL)
+		$(cmake_use_find_package heif HEIF)
+		$(cmake_use_find_package jpeg2k OpenJPEG)
+		$(cmake_use_find_package jpegxl JPEGXL)
+		$(cmake_use_find_package media Mlt7)
+		$(cmake_use_find_package mypaint-brush-engine LibMyPaint)
+		$(cmake_use_find_package openexr OpenEXR)
+		$(cmake_use_find_package pdf Poppler)
+		$(cmake_use_find_package raw KDcrawQt6)
+		$(cmake_use_find_package wayland Qt6WaylandClient)
+		$(cmake_use_find_package webp WebP)
+	)
+	ecm_src_configure
+}