unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Mehmet Tekman <mtekman89@gmail.com>
To: 67349@debbugs.gnu.org
Subject: [bug#67349] [PATCH] Update Krita to 5.2.1
Date: Fri, 24 Nov 2023 00:17:51 +0100	[thread overview]
Message-ID: <87ttpcawkg.fsf@gmail.com> (raw)
In-Reply-To: <87il5uu5tt.fsf@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 185 bytes --]


Disregard the last patch, the one below is the complete patch which
successfully builds the package.

It depends only on fftw-cmake (#67343) and kfkdcraw (#67342) to be
merged first.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Complete patch --]
[-- Type: text/x-patch, Size: 6098 bytes --]

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(-)

diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 20fbb41d73..ed5cf13530 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -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


  reply	other threads:[~2023-11-23 23:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-21 21:58 [bug#67349] [PATCH] Update Krita to 5.2.1 Mehmet Tekman
2023-11-23 23:17 ` Mehmet Tekman [this message]
2023-11-27 23:05   ` Mehmet Tekman
2023-11-28 13:25 ` Mehmet Tekman
2024-03-29 16:48 ` bug#67349: " Sharlatan Hellseher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ttpcawkg.fsf@gmail.com \
    --to=mtekman89@gmail.com \
    --cc=67349@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).