summaryrefslogtreecommitdiff
path: root/media-gfx/krita/krita-6.0.2_pre20260509.ebuild
blob: a6bfbd15ca3ae9af4eaf9e36ab498300d4fa7df7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# 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_{10..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
)
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
}