[PATCH] gnu: darktable: Update to 3.0.2.

DoneSubmitted by Vinicius Monego.
Details
2 participants
  • Marius Bakke
  • Vinicius Monego
Owner
unassigned
Severity
normal
V
V
Vinicius Monego wrote on 19 Jun 2020 22:11
(address . guix-patches@gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
20200619201120.34116-1-monego@posteo.net
* gnu/packages/photo.scm (darktable): Update to 3.0.2.
[arguments]: Compile with clang.
[arguments]: Wrap GSETTINGS_SCHEMAS_DIR.
[license]: Add license information for Rawspeed.
[native-inputs]: Add clang.
[native-inputs]: Add desktop-file-utils.
[native-inputs]: Add glib.
[native-inputs]: Add gobject-instrospection.
[native-inputs]: Add llvm.
[native-inputs]: Add po4a.
[native-inputs]: Reorder alphabetically.
[inputs]: Add colord-gtk.
[inputs]: Add cups.
[inputs]: Add graphicsmagick.
[inputs]: Add gsettings-desktop-schemas.
[inputs]: Add iso-codes.
[inputs]: Add libsecret.
[inputs]: Add lua.
[inputs]: Add openjpeg.
[inputs]: Add osm-gps-map.
[inputs]: Reorder alphabetically.
---
gnu/packages/photo.scm | 80 ++++++++++++++++++++++++++++++------------
1 file changed, 57 insertions(+), 23 deletions(-)

Toggle diff (156 lines)
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 4904fa1db1..890035f0c7 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2020 Sebastian Schott <sschott@mailbox.org>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -39,9 +40,11 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cups)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages file)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages geo)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
@@ -52,9 +55,11 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
+  #:use-module (gnu packages iso-codes)
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages llvm)
+  #:use-module (gnu packages lua)
   #:use-module (gnu packages man)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages perl)
@@ -457,7 +462,7 @@ photographic equipment.")
 (define-public darktable
   (package
     (name "darktable")
-    (version "2.6.3")
+    (version "3.0.2")
     (source
      (origin
        (method url-fetch)
@@ -465,13 +470,16 @@ photographic equipment.")
              "https://github.com/darktable-org/darktable/releases/"
              "download/release-" version "/darktable-" version ".tar.xz"))
        (sha256
-        (base32 "1w3q3dhcxa0bs590zbsj61ap8z84wmn04xs5q3gjwisqhjf9j655"))))
+        (base32 "1yrnkw8c47kmy2x6m1xp69hwyk02xyc8pd9kvcmyj54lzrhzdfka"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f                      ; there are no tests
        #:configure-flags '("-DBINARY_PACKAGE_BUILD=On")
        #:phases
        (modify-phases %standard-phases
+         (add-before 'configure 'prepare-build-environment
+           (lambda* (#:key inputs #:allow-other-keys)
+             (setenv "CC" "clang") (setenv "CXX" "clang++")))
          (add-before 'configure 'set-LDFLAGS-and-CPATH
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (setenv "LDFLAGS"
@@ -483,35 +491,60 @@ photographic equipment.")
              (setenv "CPATH"
                      (string-append (assoc-ref inputs "ilmbase")
                                     "/include/OpenEXR:" (or (getenv "CPATH") "")))
-             #t)))))
+             #t))
+          (add-after 'install 'wrap-program
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (wrap-program (string-append (assoc-ref outputs "out")
+                                           "/bin/darktable")
+                ;; For GtkFileChooserDialog.
+                `("GSETTINGS_SCHEMA_DIR" =
+                  (,(string-append (assoc-ref inputs "gtk+")
+                                   "/share/glib-2.0/schemas"))))
+              #t)))))
     (native-inputs
-     `(("intltool" ,intltool)
+     `(("clang" ,clang-9)
+       ("desktop-file-utils" ,desktop-file-utils)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("intltool" ,intltool)
+       ("llvm" ,llvm)
        ("perl" ,perl)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("po4a" ,po4a)))
     (inputs
-     `(("libxslt" ,libxslt)
-       ("libxml2" ,libxml2)
-       ("pugixml" ,pugixml)
+     `(("cairo" ,cairo)
+       ("colord-gtk" ,colord-gtk)
+       ("cups" ,cups)
+       ("curl" ,curl)
+       ("dbus-glib" ,dbus-glib)
+       ("exiv2" ,exiv2)
+       ("freeimage" ,freeimage)
+       ("graphicsmagick" ,graphicsmagick)
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
        ("gtk+" ,gtk+)
-       ("sqlite" ,sqlite)
+       ("ilmbase" ,ilmbase)
+       ("iso-codes" ,iso-codes)
+       ("json-glib" ,json-glib)
+       ("lcms" ,lcms)
+       ("lensfun" ,lensfun)
+       ("libgphoto2" ,libgphoto2)
        ("libjpeg" ,libjpeg-turbo)
+       ("libomp" ,libomp)
        ("libpng" ,libpng)
-       ("cairo" ,cairo)
-       ("lcms" ,lcms)
-       ("exiv2" ,exiv2)
+       ("librsvg" ,librsvg)
+       ("libsecret" ,libsecret)
+       ("libsoup" ,libsoup)
        ("libtiff" ,libtiff)
-       ("curl" ,curl)
-       ("libgphoto2" ,libgphoto2)
-       ("dbus-glib" ,dbus-glib)
+       ("libwebp" ,libwebp)
+       ("libxml2" ,libxml2)
+       ("libxslt" ,libxslt)
+       ("lua" ,lua)
        ("openexr" ,openexr)
-       ("ilmbase" ,ilmbase)
-       ("libsoup" ,libsoup)
+       ("openjpeg" ,openjpeg)
+       ("osm-gps-map" ,osm-gps-map)
+       ("pugixml" ,pugixml)
        ("python-jsonschema" ,python-jsonschema)
-       ("libwebp" ,libwebp)
-       ("lensfun" ,lensfun)
-       ("librsvg" ,librsvg)
-       ("json-glib" ,json-glib)
-       ("freeimage" ,freeimage)))
+       ("sqlite" ,sqlite)))
     (home-page "https://www.darktable.org")
     (synopsis "Virtual lighttable and darkroom for photographers")
     (description "Darktable is a photography workflow application and RAW
@@ -520,7 +553,8 @@ them through a zoomable lighttable and enables you to develop raw images
 and enhance them.")
     ;; See src/is_supported_platform.h for supported platforms.
     (supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux"))
-    (license license:gpl3+)))
+    (license (list license:gpl3+ ;; Darktable itself.
+                   license:lgpl2.1+)))) ;; Rawspeed library.
 
 (define-public hugin
   (package
-- 
2.20.1
M
M
Marius Bakke wrote on 22 Jun 2020 23:11
(name . Vinicius Monego)(address . monego@posteo.net)
875zbibyby.fsf@gnu.org
Vinicius Monego <monego@posteo.net> writes:

Toggle quote (22 lines)
> * gnu/packages/photo.scm (darktable): Update to 3.0.2.
> [arguments]: Compile with clang.
> [arguments]: Wrap GSETTINGS_SCHEMAS_DIR.
> [license]: Add license information for Rawspeed.
> [native-inputs]: Add clang.
> [native-inputs]: Add desktop-file-utils.
> [native-inputs]: Add glib.
> [native-inputs]: Add gobject-instrospection.
> [native-inputs]: Add llvm.
> [native-inputs]: Add po4a.
> [native-inputs]: Reorder alphabetically.
> [inputs]: Add colord-gtk.
> [inputs]: Add cups.
> [inputs]: Add graphicsmagick.
> [inputs]: Add gsettings-desktop-schemas.
> [inputs]: Add iso-codes.
> [inputs]: Add libsecret.
> [inputs]: Add lua.
> [inputs]: Add openjpeg.
> [inputs]: Add osm-gps-map.
> [inputs]: Reorder alphabetically.

Thanks! I flattened this commit message so there is just a single entry
for each of the changed fields.

Toggle quote (5 lines)
> (modify-phases %standard-phases
> + (add-before 'configure 'prepare-build-environment
> + (lambda* (#:key inputs #:allow-other-keys)
> + (setenv "CC" "clang") (setenv "CXX" "clang++")))

I tried building with GCC, and indeed it failed. First because ISL was
not enabled, so I added 'gcc-9' which has it and adjusted
CPLUS_INCLUDE_PATH accordingly, but still ran into problems.

It would be good to move to GCC eventually because Clang is not nearly
as well tested. :-)

Anyway thanks for the patch, applied!
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl7xHnEACgkQoqBt8qM6
VPrpGAgApdyEuMm4u7kF8FELgWLJJtvqHR5xPtOjH/6b6sfh6RGCLTihpTBehI/7
lxhPMT0CI658Nd4/To7GKmoakUL6CjZL0Y6Vxmtb0h9JOWsEi1xsBHgQxULLWdIx
7YWqSAd1DV+hI10ascWK2BrGjxHx//R5VTgyFTf2df9pGV3T1o7DISCGvPWTm2fq
eosOU0JNvFMw/BG9x9AXbzz/TDxdIRSOdo+2BN0AskcTJtnDdjvPVZT66QzGjitJ
GFNrl2LJB7Hryt2Oh7SAWfNzk4YqSt6yp0C0mNp2pAeYC80D8fDPHwARuoWXBxYG
q6y6RXCYUjCB8V5DWzs2IT0G4Mus8g==
=fnaW
-----END PGP SIGNATURE-----

Closed
V
V
Vinicius Monego wrote on 22 Jun 2020 23:37
764ae39b13a0bc092e18474e9f784e32c3028cf8.camel@posteo.net
Em seg, 2020-06-22 às 23:11 +0200, Marius Bakke escreveu:
Toggle quote (38 lines)
> Vinicius Monego <monego@posteo.net> writes:
>
> > * gnu/packages/photo.scm (darktable): Update to 3.0.2.
> > [arguments]: Compile with clang.
> > [arguments]: Wrap GSETTINGS_SCHEMAS_DIR.
> > [license]: Add license information for Rawspeed.
> > [native-inputs]: Add clang.
> > [native-inputs]: Add desktop-file-utils.
> > [native-inputs]: Add glib.
> > [native-inputs]: Add gobject-instrospection.
> > [native-inputs]: Add llvm.
> > [native-inputs]: Add po4a.
> > [native-inputs]: Reorder alphabetically.
> > [inputs]: Add colord-gtk.
> > [inputs]: Add cups.
> > [inputs]: Add graphicsmagick.
> > [inputs]: Add gsettings-desktop-schemas.
> > [inputs]: Add iso-codes.
> > [inputs]: Add libsecret.
> > [inputs]: Add lua.
> > [inputs]: Add openjpeg.
> > [inputs]: Add osm-gps-map.
> > [inputs]: Reorder alphabetically.
>
> Thanks! I flattened this commit message so there is just a single
> entry
> for each of the changed fields.
>
> > (modify-phases %standard-phases
> > + (add-before 'configure 'prepare-build-environment
> > + (lambda* (#:key inputs #:allow-other-keys)
> > + (setenv "CC" "clang") (setenv "CXX" "clang++")))
>
> I tried building with GCC, and indeed it failed. First because ISL
> was
> not enabled, so I added 'gcc-9' which has it and adjusted
> CPLUS_INCLUDE_PATH accordingly, but still ran into problems.

A few hours ago I was splitting this patch into shorter commits and the
build began to fail. Weird, because it compiled succesfully for about 7
times before I submitted this patch.

Toggle quote (6 lines)
>
> It would be good to move to GCC eventually because Clang is not
> nearly
> as well tested. :-)
>

The reason I chose clang is that CMake was very loud about LLVM not
being found (it's an optional dependency to run OpenCL tests, which is
one of the few features still missing from the package). When LLVM is
found, CMake will recommend clang. That made me guess it was the
recommended compiler.

Toggle quote (2 lines)
> Anyway thanks for the patch, applied!

I didn't expect it to be approved at v1. Thanks :-)
Closed
M
M
Marius Bakke wrote on 22 Jun 2020 23:58
87o8paahl9.fsf@gnu.org
Vinicius Monego <monego@posteo.net> writes:

Toggle quote (14 lines)
>> > (modify-phases %standard-phases
>> > + (add-before 'configure 'prepare-build-environment
>> > + (lambda* (#:key inputs #:allow-other-keys)
>> > + (setenv "CC" "clang") (setenv "CXX" "clang++")))
>>
>> I tried building with GCC, and indeed it failed. First because ISL
>> was
>> not enabled, so I added 'gcc-9' which has it and adjusted
>> CPLUS_INCLUDE_PATH accordingly, but still ran into problems.
>
> A few hours ago I was splitting this patch into shorter commits and the
> build began to fail. Weird, because it compiled succesfully for about 7
> times before I submitted this patch.

Oh, I thought all these changes were necessary for the upgrade. :-)

If you have further improvements to make, don't hesitate to send them.

Thanks!
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl7xKXMACgkQoqBt8qM6
VPr2VAf9HKhcz0Yh8idbRw8BHynrrjWKnuY0FLR0/SiKRaYLXGCGb9zJYi35ivms
1WuPZ7eqwhlACk+lal2PPB9do1c7gpvCcUAp8iwkKoL7jiLA3L/WB8ItKLfbtfYP
xbKYQVq9UcoOZKjr3Np04SQ7aqQQDlrvbwTTGOcxCCKCglBcqK2i59nuMKw3ZyDf
AnhculfPrfXmFcR4aKgDNoPlvAj4+QiEAbAX/E6Twkw6USRga9tSmAhfGwVeg35Z
xAGB4BTwP+ZtfkNR/7b13KYyNSISDk9uTp0BbW4tcsxOEzNsHKPYO4DBg7WPa3sZ
IcLly6Icve7mMNL/FPJfSdjbASTnkg==
=fnyi
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 41953@debbugs.gnu.org