From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42071) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d8TY1-0000CI-Em for guix-patches@gnu.org; Wed, 10 May 2017 11:29:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d8TXy-0003dx-O6 for guix-patches@gnu.org; Wed, 10 May 2017 11:29:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:34207) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d8TXy-0003ds-KY for guix-patches@gnu.org; Wed, 10 May 2017 11:29:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1d8TXy-0004QH-Bo for guix-patches@gnu.org; Wed, 10 May 2017 11:29:02 -0400 Subject: bug#25928: [PATCH] gnu: Add darktable. Resent-Message-ID: References: <87zih4ee7i.fsf@gnu.org> <20170313232428.0530762b@alma-ubu> <20170314231326.3ac43a08@alma-ubu> <87fuhu52c8.fsf@elephly.net> <87tw4skdns.fsf@gnu.org> <87k25ohj1j.fsf@elephly.net> From: Roel Janssen In-reply-to: <87k25ohj1j.fsf@elephly.net> Date: Wed, 10 May 2017 17:28:25 +0200 Message-ID: <87shkck9ye.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Ricardo Wurmus Cc: 25928@debbugs.gnu.org --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-gnu-Add-darktable.patch >From 6723796c48bc09846be6dee6a23d695ac248f63e Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 10 May 2017 17:23:30 +0200 Subject: [PATCH] gnu: Add darktable. * gnu/packages/photo.scm (darktable): New variable. --- gnu/packages/photo.scm | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index fff19551a..b68aea9d7 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -32,18 +32,24 @@ #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) + #:use-module (gnu packages databases) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) + #:use-module (gnu packages gnome) #:use-module (gnu packages glib) #:use-module (gnu packages graphics) + #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages libusb) + #:use-module (gnu packages llvm) #:use-module (gnu packages man) #:use-module (gnu packages maths) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) + #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages tex) #:use-module (gnu packages web) @@ -300,3 +306,71 @@ photographic equipment.") ;; licensed GPL3, and the database is license CC-BY-SA 3.0. See the ;; README.md file for this clarification. (license (list license:lgpl3 license:gpl3 license:cc-by-sa3.0)))) + +(define-public darktable + (package + (name "darktable") + (version "2.2.4") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/darktable-org/darktable/releases/" + "download/release-" + version "/darktable-" version ".tar.xz")) + (sha256 + (base32 + "1n7rddkxwcifc3kcdlnar9w562xv4h78fqkkn27jihqzp3b4am5x")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; There are no tests. + #:configure-flags '("-DCMAKE_INSTALL_LIBDIR=lib") + #:make-flags + (list + (string-append "CPATH=" (assoc-ref %build-inputs "ilmbase") + "/include/OpenEXR:" (or (getenv "CPATH") ""))) + #: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))))) + (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 a photography workflow application 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+))) -- 2.12.2 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit 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 --=-=-=--