diff mbox series

[bug#41953] gnu: darktable: Update to 3.0.2.

Message ID 20200619201120.34116-1-monego@posteo.net
State Accepted
Headers show
Series [bug#41953] gnu: darktable: Update to 3.0.2. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Vinicius Monego June 19, 2020, 8:11 p.m. UTC
* 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(-)

Comments

Marius Bakke June 22, 2020, 9:11 p.m. UTC | #1
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.

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

Anyway thanks for the patch, applied!
Vinicius Monego June 22, 2020, 9:37 p.m. UTC | #2
Em seg, 2020-06-22 às 23:11 +0200, Marius Bakke escreveu:
> 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.

> 
> 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.

> Anyway thanks for the patch, applied!

I didn't expect it to be approved at v1. Thanks :-)
Marius Bakke June 22, 2020, 9:58 p.m. UTC | #3
Vinicius Monego <monego@posteo.net> writes:

>> >         (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!
diff mbox series

Patch

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