Subject: bug#25928: [PATCH] gnu: Add darktable.

From: Ricardo Wurmus <[email-masked]>
Date: Wed, 10 May 2017 16:40:24 +0200

Roel Janssen <[email-masked]> writes:

> From 5053b44b621932d3c3aa0f1ddb8b01dd04cd4680 Mon Sep 17 00:00:00 2001
> From: Roel Janssen <[email-masked]>
> Date: Wed, 10 May 2017 16:06:38 +0200
> Subject: [PATCH] gnu: Add darktable.
>
> * gnu/packages/photo.scm (darktable): New variable.
> ---
[…]
> +    (arguments
> +     `(#:tests? #f ; There are no tests.
> +       #:configure-flags '("-DCMAKE_INSTALL_LIBDIR=lib")
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-before 'configure 'set-ldflags
> +          (lambda* (#:key outputs #:allow-other-keys)
> +            (setenv "LDFLAGS"
> +                    (string-append
> +                     "-Wl,-rpath="
> +                     (assoc-ref outputs "out") "/lib/darktable"))
> +            #t))
> +         (add-after 'set-paths 'add-ilmbase-include-path
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             ;; OpenEXR propagates ilmbase, but its include files do not appear
> +             ;; in the CPATH, so we need to add "$ilmbase/include/OpenEXR/" to
> +             ;; the CPATH to satisfy the dependency on "ImathInt64.h".
> +             (setenv "CPATH"
> +                     (string-append
> +                      (assoc-ref inputs "ilmbase")
> +                      "/include/OpenEXR:" (or (getenv "CPATH") "")))
> +             #t)))))

I wonder if it would be possible to augment LDFLAGS and CPATH in
#:configure-flags or #:make-flags instead of using build phases (which I
find a bit crude).

If that’s too hard I promise I won’t complain about doing it with build
phases :)

> +    (native-inputs
> +     `(("llvm" ,llvm-3.9.1)
> +       ("clang" ,clang-3.9.1)))
> +    (inputs
> +     `(("libxslt" ,libxslt)
> +       ("libxml2" ,libxml2)
> +       ("pugixml" ,pugixml)
> +       ("gtk+" ,gtk+)
> +       ("sqlite" ,sqlite)
> +       ("libjpeg" ,libjpeg)
> +       ("libpng" ,libpng)
> +       ("cairo" ,cairo)
> +       ("lcms" ,lcms)
> +       ("exiv2" ,exiv2)
> +       ("libtiff" ,libtiff)
> +       ("curl" ,curl)
> +       ("libgphoto2" ,libgphoto2)
> +       ("dbus-glib" ,dbus-glib)
> +       ("openexr" ,openexr)
> +       ("ilmbase" ,ilmbase)
> +       ("libsoup" ,libsoup)
> +       ("python-jsonschema" ,python-jsonschema)
> +       ("intltool" ,intltool)
> +       ("perl" ,perl)
> +       ("pkg-config" ,pkg-config)
> +       ("libwebp" ,libwebp)
> +       ("lensfun" ,lensfun)
> +       ("librsvg" ,librsvg)
> +       ("json-glib" ,json-glib)
> +       ("freeimage" ,freeimage)))
> +    (home-page "https://www.darktable.org")
> +    (synopsis "Virtual lighttable and darkroom for photographers")
> +    (description "Darktable is an open source photography workflow
> application

s/an open source/a/

> +and RAW developer.  It manages your digital negatives in a database, lets you
> +view them through a zoomable lighttable and enables you to develop raw images
> +and enhance them.")
> +    (license license:gpl3+)))

Good to push with the change to the description.
Thanks!

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net