Ricardo Wurmus writes: > Roel Janssen writes: > >> From 5053b44b621932d3c3aa0f1ddb8b01dd04cd4680 Mon Sep 17 00:00:00 2001 >> From: Roel Janssen >> 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 :) See attached patch. By adding the LDFLAGS part to either #:make-flags or #:configure-flags, the run-path validation phase fails at the end of the build process. So, maybe we can settle half-way here? :-) >> + (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/ Oops. Adjusted in the new patch. >> +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! Is this then finally the moment we get to have darktable in Guix? :-) Kind regards, Roel Janssen