[PATCH] gnu: Add darktable.

DoneSubmitted by Roel Janssen.
Details
7 participants
  • Björn Höfling
  • John Darrington
  • Leo Famulari
  • Ludovic Courtès
  • Ricardo Wurmus
  • Ricardo Wurmus
  • Roel Janssen
Owner
unassigned
Severity
normal
R
R
Roel Janssen wrote on 2 Mar 2017 01:04
(address . guix-patches@gnu.org)
87zih4ee7i.fsf@gnu.org
Dear Guix,
And finally, here is a patch for Darktable.Even though the upstream project strongly recommends x86_64, I do notknow whether it actually does not work on other platforms. If thebuilds fail on anything other than x86_64, we could limit it to thisplatform only.
Kind regards,Roel Janssen
Toggle quote (1 lines)>From 0c7e3fb1343594bae6e2922b1866468e1903c59d Mon Sep 17 00:00:00 2001
From: Roel Janssen <roel@gnu.org>Date: Thu, 2 Mar 2017 00:56:22 +0100Subject: [PATCH] gnu: Add darktable.
* gnu/packages/photo.scm (darktable): New variable.--- gnu/packages/photo.scm | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+)
Toggle diff (112 lines)diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scmindex ce71d2a44..42da06080 100644--- a/gnu/packages/photo.scm+++ b/gnu/packages/photo.scm@@ -31,17 +31,23 @@ #: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 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)@@ -67,6 +73,81 @@ cameras (CRW/CR2, NEF, RAF, DNG, and others).") (license license:lgpl2.1+))) +(define-public darktable+ (package+ (name "darktable")+ (version "2.2.3")+ (source (origin+ (method url-fetch)+ (uri (string-append+ "https://github.com/darktable-org/darktable/releases/"+ "download/release-"+ version "/darktable-" version ".tar.xz"))+ (sha256+ (base32+ "1828vbxx4r36m0brqfs5f51j2j2fxb0f6q8cd1vkaa5zhnaqacqv"))))+ (build-system cmake-build-system)+ (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)))))+ (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)+ ("fop" ,fop)+ ("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+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+)))+ (define-public libexif (package (name "libexif")-- 2.11.0
L
L
Ludovic Courtès wrote on 8 Mar 2017 14:50
(name . Roel Janssen)(address . roel@gnu.org)(address . 25928@debbugs.gnu.org)
8737enop1n.fsf@gnu.org
Hi,
Roel Janssen <roel@gnu.org> skribis:
Toggle quote (2 lines)> And finally, here is a patch for Darktable.
Awesome! Now I have no excuse not to give it a try. :-)
Toggle quote (5 lines)> Even though the upstream project strongly recommends x86_64, I do not> know whether it actually does not work on other platforms. If the> builds fail on anything other than x86_64, we could limit it to this> platform only.
Do you have a link to their “recommendation”, out of curiosity?
If it turns out to indeed break on other platforms, then we can add a‘supported-systems’ field.
Toggle quote (7 lines)>>>From 0c7e3fb1343594bae6e2922b1866468e1903c59d Mon Sep 17 00:00:00 2001> From: Roel Janssen <roel@gnu.org>> Date: Thu, 2 Mar 2017 00:56:22 +0100> Subject: [PATCH] gnu: Add darktable.>> * gnu/packages/photo.scm (darktable): New variable.
LGTM, thank you!
Ludo’.
R
R
Roel Janssen wrote on 8 Mar 2017 15:29
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 25928@debbugs.gnu.org)
87d1dr7sg7.fsf@gnu.org
Ludovic Courtès writes:
Toggle quote (15 lines)> Hi,>> Roel Janssen <roel@gnu.org> skribis:>>> And finally, here is a patch for Darktable.>> Awesome! Now I have no excuse not to give it a try. :-)>>> Even though the upstream project strongly recommends x86_64, I do not>> know whether it actually does not work on other platforms. If the>> builds fail on anything other than x86_64, we could limit it to this>> platform only.>> Do you have a link to their “recommendation”, out of curiosity?
Yes: http://www.darktable.org/install/It's in the "Prerequisites" section.
Toggle quote (13 lines)> If it turns out to indeed break on other platforms, then we can add a> ‘supported-systems’ field.>>>>>From 0c7e3fb1343594bae6e2922b1866468e1903c59d Mon Sep 17 00:00:00 2001>> From: Roel Janssen <roel@gnu.org>>> Date: Thu, 2 Mar 2017 00:56:22 +0100>> Subject: [PATCH] gnu: Add darktable.>>>> * gnu/packages/photo.scm (darktable): New variable.>> LGTM, thank you!>> Ludo’.
L
L
Leo Famulari wrote on 8 Mar 2017 18:59
(name . Roel Janssen)(address . roel@gnu.org)(address . 25928@debbugs.gnu.org)
20170308175919.GA12152@jasmine
On Thu, Mar 02, 2017 at 01:04:33AM +0100, Roel Janssen wrote:
Toggle quote (4 lines)> Subject: [PATCH] gnu: Add darktable.> > * gnu/packages/photo.scm (darktable): New variable.
Cool!
Toggle quote (17 lines)> ---> gnu/packages/photo.scm | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++> 1 file changed, 81 insertions(+)> > diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm> index ce71d2a44..42da06080 100644> --- a/gnu/packages/photo.scm> +++ b/gnu/packages/photo.scm> @@ -31,17 +31,23 @@> #: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)
It's missing the (gnu packages glib) module, for dbus-glib.
Toggle quote (2 lines)> + ("fop" ,fop)
And I can't test it further, because this package is missing.
Also, the patch as sent doesn't apply correctly with `git am`. Irecommend attaching the patch if you are using the debbugs guix-patches.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAljARnQACgkQJkb6MLrKfwjdAA//dbLY2jnRiYOl9+P0eIuJbXyWwgylg5c7wAPgVsiH3DHI47t9KX7aAxqoKdMThStWjgAeNBerZxCe6NsxDWA21fnFk49cLfjeoFGKqu/BYLHxr6sKHRADZQVdSWKoaFFp4PW2Udx0YU2qdrpHcE/dzrCIxTI8mS9eBWKyrYTD9cAb5znVZWmbHmnSx94/kxAg40DOgsDnwuiXE+js4OVe6hqXclGAKBrmJJtJJxaCgfkwlY/3Mkpia9B25mn5OQRBvUZ9sGIMxA5uZmvqaS82oBfUeXH/S1VmuxRZlr9n9V6GYygowD96wgqNzH2ED/gwkQQKI7Y2L+e8UXcml/KK83980D5J7hVvyf27cFxJMde4ZWfmET7PL50LMirCXManIwcxHXu7/souhyQZCq6EvA4BeHGgDPDZanP9uyYaz9xzqX8/n+EvIRXsCPVhXrWlxmJ/zEdTUl3oZVPtA1XNCneyVbnuQA30Txw1Z8fHNtTCHy+VFNS3CRL8aZWbcZBHZtzWMUS7GzkQy5Pearaza/REJJrzO9Gx3p2Pdu5pkr9X1/sY058aC/aOEP02mgUKN0Mg/XJ+KGU96elP19DwGeOeX2JtNGT5TrOJyyAYk+SOtyE1fM8qNpTV6pTGEFRoMQhBpLGvlb9rARWrRhbkHg4v6PvOSGjrdAkXJ6VhO+A==YuWp-----END PGP SIGNATURE-----

R
R
Roel Janssen wrote on 8 Mar 2017 20:01
(name . Leo Famulari)(address . leo@famulari.name)(address . 25928@debbugs.gnu.org)
87pohry4ng.fsf@gnu.org
Leo Famulari writes:
Toggle quote (26 lines)> On Thu, Mar 02, 2017 at 01:04:33AM +0100, Roel Janssen wrote:>> Subject: [PATCH] gnu: Add darktable.>> >> * gnu/packages/photo.scm (darktable): New variable.>> Cool!>>> --->> gnu/packages/photo.scm | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++>> 1 file changed, 81 insertions(+)>> >> diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm>> index ce71d2a44..42da06080 100644>> --- a/gnu/packages/photo.scm>> +++ b/gnu/packages/photo.scm>> @@ -31,17 +31,23 @@>> #: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)>> It's missing the (gnu packages glib) module, for dbus-glib.
Yes, the glib module is in another patch I which is a prerequisite forDarktable.
Toggle quote (4 lines)>> + ("fop" ,fop)>> And I can't test it further, because this package is missing.
I sent a separate patch for fop.
Toggle quote (3 lines)> Also, the patch as sent doesn't apply correctly with `git am`. I> recommend attaching the patch if you are using the debbugs guix-patches.
Right. I messed up the patch creation I guess. I'll do better in thefuture.
Kind regards,Roel Janssen
B
B
Björn Höfling wrote on 13 Mar 2017 23:24
(name . Roel Janssen)(address . roel@gnu.org)(address . 25928@debbugs.gnu.org)
20170313232428.0530762b@alma-ubu
Hi Roel,
On Thu, 02 Mar 2017 01:04:33 +0100Roel Janssen <roel@gnu.org> wrote:
Toggle quote (27 lines)> Dear Guix,> > And finally, here is a patch for Darktable.> Even though the upstream project strongly recommends x86_64, I do not> know whether it actually does not work on other platforms. If the> builds fail on anything other than x86_64, we could limit it to this> platform only.> > Kind regards,> Roel Janssen> > >From 0c7e3fb1343594bae6e2922b1866468e1903c59d Mon Sep 17 00:00:00> >2001 > From: Roel Janssen <roel@gnu.org>> Date: Thu, 2 Mar 2017 00:56:22 +0100> Subject: [PATCH] gnu: Add darktable.> > * gnu/packages/photo.scm (darktable): New variable.> ---> gnu/packages/photo.scm | 81> ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81> insertions(+)> > diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm> index ce71d2a44..42da06080 100644> --- a/gnu/packages/photo.scm> +++ b/gnu/packages/photo.scm
[..]
Toggle quote (2 lines)> + ("fop" ,fop)
I couldn't build it yet, because it requires the new llvm, but I thinkfop is only needed for documentation:
Arch doesn't have it as a dependency:https://www.archlinux.org/packages/community/x86_64/darktable/
Here it is mentioned only as dependency for the manual:https://redmine.darktable.org/projects/darktable/wiki/Building_darktable_22
Hope that makes it easier,
Björn
B
B
Björn Höfling wrote on 14 Mar 2017 23:13
(name . Roel Janssen)(address . roel@gnu.org)(address . 25928@debbugs.gnu.org)
20170314231326.3ac43a08@alma-ubu
On Mon, 13 Mar 2017 23:24:28 +0100Björn Höfling <bjoern.hoefling@bjoernhoefling.de> wrote:
Toggle quote (51 lines)> Hi Roel,> > On Thu, 02 Mar 2017 01:04:33 +0100> Roel Janssen <roel@gnu.org> wrote:> > > Dear Guix,> > > > And finally, here is a patch for Darktable.> > Even though the upstream project strongly recommends x86_64, I do> > not know whether it actually does not work on other platforms. If> > the builds fail on anything other than x86_64, we could limit it to> > this platform only.> > > > Kind regards,> > Roel Janssen> > > > >From 0c7e3fb1343594bae6e2922b1866468e1903c59d Mon Sep 17 00:00:00> > >2001 > > From: Roel Janssen <roel@gnu.org>> > Date: Thu, 2 Mar 2017 00:56:22 +0100> > Subject: [PATCH] gnu: Add darktable.> > > > * gnu/packages/photo.scm (darktable): New variable.> > ---> > gnu/packages/photo.scm | 81> > ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed,> > 81 insertions(+)> > > > diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm> > index ce71d2a44..42da06080 100644> > --- a/gnu/packages/photo.scm> > +++ b/gnu/packages/photo.scm > [..]> > > + ("fop" ,fop) > > I couldn't build it yet, because it requires the new llvm, but I think> fop is only needed for documentation:> > Arch doesn't have it as a dependency:> https://www.archlinux.org/packages/community/x86_64/darktable/> > Here it is mentioned only as dependency for the manual:> https://redmine.darktable.org/projects/darktable/wiki/Building_darktable_22> > Hope that makes it easier,> > Björn> >
I could build and run it and load two photos into it today, leaving outthe dependency of "fop".
Björn
J
J
John Darrington wrote on 17 Mar 2017 08:56
darktable
(address . 25928@debbugs.gnu.org)
20170317075633.GA25852@jocasta.intra
I suggest that you replace "lighttable" in the package descriptioneither with "light table" or "light-table".
Other than that, it LGTM.
J'
-- Avoid eavesdropping. Send strong encrypted email.PGP Public key ID: 1024D/2DE827B3 fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3See http://sks-keyservers.netor any PGP keyserver for public key.
-----BEGIN PGP SIGNATURE-----Version: GnuPG v1
iEYEARECAAYFAljLlrEACgkQimdxnC3oJ7P48ACfR8SjtBi10tCdtdgl7PMP5jZ67mcAnRf5GV1qJbvgkjb0u6h3U4+hqw8O=XWjM-----END PGP SIGNATURE-----

R
R
Ricardo Wurmus wrote on 30 Mar 2017 15:19
Re: bug#25928: [PATCH] gnu: Add darktable.
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)
87fuhu52c8.fsf@elephly.net
Hi Björn,
Toggle quote (3 lines)> I could build and run it and load two photos into it today, leaving out> the dependency of "fop".
thanks for testing!
Roel, could you push a version of this patch without the dependency on“fop”? You could add a FIXME comment if this means that some featureswill be missing without it.
Thanks!
-- Ricardo
GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAChttps://elephly.net
R
R
Roel Janssen wrote on 30 Mar 2017 15:00
(name . Ricardo Wurmus)(address . rekado@elephly.net)
87y3vmex6p.fsf@gnu.org
Ricardo Wurmus writes:
Toggle quote (13 lines)> Hi Björn,>>> I could build and run it and load two photos into it today, leaving out>> the dependency of "fop".>> thanks for testing!>> Roel, could you push a version of this patch without the dependency on> “fop”? You could add a FIXME comment if this means that some features> will be missing without it.>> Thanks!
No. First we need the LLVM and CLANG version upgrade. I haven't foundthe time to test that (yet).
Kind regards,Roel Janssen
R
R
Ricardo Wurmus wrote on 13 Apr 2017 12:50
control message for bug #25928
(address . control@debbugs.gnu.org)
747bb292-ea3e-4bf4-8844-51f188c95d32@HTCATWO.mdc-berlin.net
tags 25928 moreinfo
R
R
Roel Janssen wrote on 10 May 2017 16:08
Re: bug#25928: [PATCH] gnu: Add darktable.
(name . Ricardo Wurmus)(address . rekado@elephly.net)
87tw4skdns.fsf@gnu.org
From 5053b44b621932d3c3aa0f1ddb8b01dd04cd4680 Mon Sep 17 00:00:00 2001From: Roel Janssen <roel@gnu.org>Date: Wed, 10 May 2017 16:06:38 +0200Subject: [PATCH] gnu: Add darktable.
* gnu/packages/photo.scm (darktable): New variable.--- gnu/packages/photo.scm | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+)
Toggle diff (109 lines)diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scmindex fff19551a..cb2eaadb2 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,77 @@ 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")+ #: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)))))+ (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+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
Ricardo Wurmus writes:
Toggle quote (13 lines)> Hi Björn,>>> I could build and run it and load two photos into it today, leaving out>> the dependency of "fop".>> thanks for testing!>> Roel, could you push a version of this patch without the dependency on> “fop”? You could add a FIXME comment if this means that some features> will be missing without it.>> Thanks!
Now that LLVM and CLANG 3.9.1 are in master, darktable is good to go intoo.
Attached is a new patch without "fop" as dependency. I also upgradeddarktable to the latest release (2.2.4).
I built and tested this version, and I cannot find any feature we'remissing by not including "fop".
Is this OK to push?
Kind regards,Roel Janssen
R
R
Ricardo Wurmus wrote on 10 May 2017 16:40
(name . Roel Janssen)(address . roel@gnu.org)
87k25ohj1j.fsf@elephly.net
Roel Janssen <roel@gnu.org> writes:
Toggle quote (7 lines)> From 5053b44b621932d3c3aa0f1ddb8b01dd04cd4680 Mon Sep 17 00:00:00 2001> From: Roel Janssen <roel@gnu.org>> Date: Wed, 10 May 2017 16:06:38 +0200> Subject: [PATCH] gnu: Add darktable.>> * gnu/packages/photo.scm (darktable): New variable.> ---
[…]
Toggle quote (23 lines)> + (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 Ifind a bit crude).
If that’s too hard I promise I won’t complain about doing it with buildphases :)
Toggle quote (35 lines)> + (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/
Toggle quote (5 lines)> +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 ACAChttps://elephly.net
R
R
Roel Janssen wrote on 10 May 2017 17:28
(name . Ricardo Wurmus)(address . rekado@elephly.net)
87shkck9ye.fsf@gnu.org
From 6723796c48bc09846be6dee6a23d695ac248f63e Mon Sep 17 00:00:00 2001From: Roel Janssen <roel@gnu.org>Date: Wed, 10 May 2017 17:23:30 +0200Subject: [PATCH] gnu: Add darktable.
* gnu/packages/photo.scm (darktable): New variable.--- gnu/packages/photo.scm | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+)
Toggle diff (103 lines)diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scmindex 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
Ricardo Wurmus writes:
Toggle quote (40 lines)> Roel Janssen <roel@gnu.org> writes:>>> From 5053b44b621932d3c3aa0f1ddb8b01dd04cd4680 Mon Sep 17 00:00:00 2001>> From: Roel Janssen <roel@gnu.org>>> 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-flagsor #:configure-flags, the run-path validation phase fails at the end ofthe build process.
So, maybe we can settle half-way here? :-)
Toggle quote (37 lines)>> + (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.
Toggle quote (8 lines)>> +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
R
R
Ricardo Wurmus wrote on 10 May 2017 18:06
(name . Roel Janssen)(address . roel@gnu.org)
87d1bghf1z.fsf@elephly.net
Roel Janssen <roel@gnu.org> writes:
Toggle quote (13 lines)> > 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? :-)
Sure, looks good to me!
Toggle quote (5 lines)> > Good to push with the change to the description.> > Thanks!
> Is this then finally the moment we get to have darktable in Guix? :-)
Yay! Thank you!
-- Ricardo
GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAChttps://elephly.net
R
R
Roel Janssen wrote on 10 May 2017 19:51
(name . Ricardo Wurmus)(address . rekado@elephly.net)
87k25obnxm.fsf@gnu.org
Ricardo Wurmus writes:
Toggle quote (24 lines)> Roel Janssen <roel@gnu.org> writes:>>> > 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? :-)>> Sure, looks good to me!>>> > Good to push with the change to the description.>> > Thanks!>>> Is this then finally the moment we get to have darktable in Guix? :-)>> Yay! Thank you!
Pushed in 91a9c65c7bae73d999ccc2288833e909ce4a0871.
Thanks!
Kind regards,Roel Janssen
Closed
?
Your comment

This issue is archived.

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