From 49d5d1075125df7de48543ee9531dc1b1291c230 Mon Sep 17 00:00:00 2001
From: mtekman <mtekman89@gmail.com>
Date: Thu, 23 Nov 2023 17:22:00 +0100
Subject: [PATCH] gnu: krita: Update to 5.2.1
* gnu/packages/kde.scm (krita): Update to 5.2.1
Due to a missing patch in the upstream libraqm, we cannot depend on
the existing libraqm library, but must instead use the one embedded
in the package. It compiles, but needs to be told to use the -fPIC
flag.
Dependency fftw also does not provide the required CMake file
FFTW3Librarydepends.cmake, and only does so when compile via cmake
and not gnu. Due to the many packages that depend on fftw, a
seperate fftw-cmake was used.
Change-Id: I0871f09238a678ff470a8042aa1f813028708d1a
---
gnu/packages/kde.scm | 67 ++++++++++++++++++++++++++++++++++++--------
1 file changed, 55 insertions(+), 12 deletions(-)
@@ -46,6 +46,7 @@ (define-module (gnu packages kde)
#:use-module (gnu packages apr)
#:use-module (gnu packages astronomy)
#:use-module (gnu packages audio)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
@@ -63,6 +64,7 @@ (define-module (gnu packages kde)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages fribidi)
#:use-module (gnu packages geo)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
@@ -71,6 +73,7 @@ (define-module (gnu packages kde)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gps)
+ #:use-module (gnu packages gtk)
#:use-module (gnu packages graphics)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
@@ -93,8 +96,10 @@ (define-module (gnu packages kde)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages samba)
+ #:use-module (gnu packages sdl)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages unicode)
#:use-module (gnu packages qt)
#:use-module (gnu packages version-control)
#:use-module (gnu packages video)
@@ -702,37 +707,63 @@ (define-public kolourpaint
(define-public krita
(package
(name "krita")
- (version "5.1.5")
+ (version "5.2.1")
(source
(origin
(method url-fetch)
(sha256
- (base32 "1lx4x4affkbh47b7w5qvahkkr4db0vcw6h24nykak6gpy2z5wxqw"))))
+ (base32 "1kzmn89b1vrasba7z8hp8izyrrskgc7ggnz82zqyyy1v5d8mnri7"))))
(build-system qt-build-system)
(arguments
`(#:tests? #f
- #:configure-flags (list "-DBUILD_TESTING=OFF")))
- (native-inputs
- (list curl
+ #:configure-flags (list "-DBUILD_TESTING=OFF -DCMAKE_CXX_FLAGS=-fPIC")
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'patch-raqm
+ (lambda _
+ ;; Uncomment the substitute block underneath this once the
+ ;; libraqm variable is patched upstream. This will force it to
+ ;; use the Guix provided library.
+ ;; (substitute* "CMakeLists.txt"
+ ;; (("add_subdirectory\\(3rdparty_vendor\\)")
+ ;; "find_package(Raqm 0.10.1 REQUIRED)"))
+ ;; (delete-file-recursively "3rdparty_vendor"))
+ ;;
+ ;; Patch the supplied vendor Raqm library (v0.10.1) to use fPIC
+ (substitute* "3rdparty_vendor/raqm/CMakeLists.txt"
+ (("set\\(CMAKE_AUTOMOC OFF\\)")
+ "set(CMAKE_AUTOMOC OFF)
+set(CMAKE_CXX_FLAGS \"${CMAKE_CXX_FLAGS} -fPIC\" )
+set(CMAKE_C_FLAGS \"${CMAKE_C_FLAGS} -fPIC\" ) ")))))))
+ (native-inputs (list curl
eigen
extra-cmake-modules
gettext-minimal
kitemmodels
pkg-config
+ libtool
qwt
vc))
- (inputs
- (list boost
+ (inputs (list boost
exiv2
- fftw
+ fontconfig
+ fftw-cmake
+ ;; fftw
+ ;; We use fftw-cmake since fftwm doesn't provide the required
+ ;; CMake files when build with gnu.
+ ;; See: https://bugzilla.redhat.com/show_bug.cgi?id=1729652#c5
+ freetype
+ fribidi
giflib
gsl
+ harfbuzz
imath
+ immer
karchive
kcompletion
kconfig
kcoreaddons
kcrash
+ kfkdcraw
kguiaddons
ki18n
kiconthemes
@@ -745,21 +775,31 @@ (define-public krita
kwidgetsaddons
kwindowsystem
kxmlgui
+ lager
lcms
libjpeg-turbo
+ libjxl
libheif
libmypaint
libpng
libraw
+ ;; libraqm
+ ;; We use the provided 3rd_party_vendor library instead of
+ ;; libraqm 0.10.1 with patches until libraqm is patched.
+ ;; See: https://github.com/HOST-Oman/libraqm/issues/191
libtiff
+ libunibreak
libwebp
libx11
libxcb
libxi
+ mlt
opencolorio
openexr
openjpeg
perl
+ python-pyqt
+ python-pyqt5-sip
poppler-qt5
qtbase-5
qtdeclarative-5
@@ -767,7 +807,10 @@ (define-public krita
qtsvg-5
qtx11extras
quazip-0
- zlib))
+ sdl2
+ xsimd
+ zlib
+ zug))
(home-page "https://krita.org")
(synopsis "Digital painting application")
(description
--
2.41.0