guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Add Shotwell.


From: Ricardo Wurmus
Subject: [PATCH] Add Shotwell.
Date: Tue, 01 Sep 2015 21:56:11 +0200

More GNOME packages!

>From a4e79409b7ea4681f576b050e8cc5f8235eecf27 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Tue, 1 Sep 2015 21:36:32 +0200
Subject: [PATCH 1/5] gnu: Add libraw.

* gnu/packages/photo.scm (libraw): New variable.
---
 gnu/packages/photo.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index bf3c76c..cbfc1e8 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2015 Ludovic Courtès <address@hidden>
+;;; Copyright © 2015 Ricardo Wurmus <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -30,6 +31,25 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages base))
 
+(define-public libraw
+  (package
+    (name "libraw")
+    (version "0.17.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://www.libraw.org/data/LibRaw-";
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "043kckxjqanw8dl3m9f6kvsf0l20ywxmgxd1xb0slj6m8l4w4hz6"))))
+    (build-system gnu-build-system)
+    (home-page "http://www.libraw.org";)
+    (synopsis "Raw image decoder")
+    (description
+     "LibRaw is a library for reading RAW files obtained from digital photo
+cameras (CRW/CR2, NEF, RAF, DNG, and others).")
+    (license lgpl2.1+)))
+
 (define-public libexif
   (package
     (name "libexif")
-- 
2.5.0

>From b2c832f83e807cd9cc51f310aa40fffe7f529eef Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Tue, 1 Sep 2015 21:37:12 +0200
Subject: [PATCH 2/5] gnu: Add libgee.

* gnu/packages/gnome.scm (libgee): New variable.
---
 gnu/packages/gnome.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 790ec76..ba91ad1 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3500,3 +3500,25 @@ manage, and publish documentation for Yelp and the web.  
Most of the heavy
 lifting is done by packages like yelp-xsl and itstool.  This package just
 wraps things up in a developer-friendly way.")
     (license license:gpl2+)))
+
+(define-public libgee
+  (package
+    (name "libgee")
+    (version "0.18.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "16a34js81w9m2bw4qd8csm4pcgr3zq5z87867j4b8wfh6zwrxnaa"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "https://wiki.gnome.org/Projects/Libgee";)
+    (synopsis "GObject collection library")
+    (description
+     "Libgee is a utility library providing GObject-based interfaces and
+classes for commonly used data structures.")
+    (license license:lgpl2.1+)))
-- 
2.5.0

>From 4638ce2021d2b5df0b00cb25de5d88f54b4c5ab3 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Tue, 1 Sep 2015 21:38:06 +0200
Subject: [PATCH 3/5] gnu: Add gexiv2.

* gnu/packages/gnome.scm (gexiv2): New variable.
---
 gnu/packages/gnome.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index ba91ad1..c9ea651 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -69,6 +69,7 @@
   #:use-module (gnu packages scanner)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages geeqie)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages qt)  ; for libxkbcommon
   #:use-module (gnu packages compression)
@@ -3522,3 +3523,29 @@ wraps things up in a developer-friendly way.")
      "Libgee is a utility library providing GObject-based interfaces and
 classes for commonly used data structures.")
     (license license:lgpl2.1+)))
+
+(define-public gexiv2
+  (package
+    (name "gexiv2")
+    (version "0.10.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "121r5lv6l82pjr0ycdf2b01mdwy7sxwca2r068zrzylpc6bgn31r"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (propagated-inputs
+     ;; Listed in "Requires" section of gexiv2.pc
+     `(("exiv2" ,exiv2)))
+    (home-page "https://wiki.gnome.org/Projects/gexiv2";)
+    (synopsis "GObject wrapper around the Exiv2 photo metadata library")
+    (description
+     "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library.  It
+allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
+metadata in photo and video files of various formats.")
+    (license license:gpl2+)))
-- 
2.5.0

>From d1171566ab78351abc24777d110479f31c792b2f Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Tue, 1 Sep 2015 21:41:02 +0200
Subject: [PATCH 4/5] gnu: Add rest.

* gnu/packages/gnome.scm (rest): New variable.
---
 gnu/packages/gnome.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index c9ea651..68c4f45 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages bison)
   #:use-module (gnu packages cups)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages certs)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages djvu)
   #:use-module (gnu packages flex)
@@ -3549,3 +3550,44 @@ classes for commonly used data structures.")
 allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
 metadata in photo and video files of various formats.")
     (license license:gpl2+)))
+
+(define-public rest
+  (package
+    (name "rest")
+    (version "0.7.93")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "05mj10hhiik23ai8w4wkk5vhsp7hcv24bih5q3fl82ilam268467"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-broken-tests
+          (lambda _
+            ;; These five tests require an Internet connection
+            (substitute* "tests/Makefile.in"
+              (((string-append "oauth\\$\\(EXEEXT\\) "
+                               "oauth-async\\$\\(EXEEXT\\) "
+                               "oauth2\\$\\(EXEEXT\\)")) "")
+              (("flickr\\$\\(EXEEXT\\) lastfm\\$\\(EXEEXT\\)") ""))
+            #t)))
+       #:configure-flags
+       (list (string-append "--with-ca-certificates="
+                            (assoc-ref %build-inputs "nss-certs")))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("gtk-doc" ,gtk-doc)))
+    (inputs
+     `(("libsoup" ,libsoup)
+       ("nss-certs" ,nss-certs)))
+    (home-page "https://wiki.gnome.org/Projects/Librest";)
+    (synopsis "Library to access RESTful web services")
+    (description
+     "Librest is a library was designed to make it easier to access web
+services that claim to be \"RESTful\".")
+    (license license:lgpl2.1+)))
-- 
2.5.0

>From 02761f4bfcf54c012a5e3b8017e594b49d1d8992 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Tue, 1 Sep 2015 21:42:41 +0200
Subject: [PATCH 5/5] gnu: Add shotwell.

* gnu/packages/gnome.scm (shotwell): New variable.
---
 gnu/packages/gnome.scm | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 68c4f45..bc85b34 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -45,6 +45,7 @@
   #:use-module (gnu packages djvu)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages docbook)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gnuzilla)
@@ -61,6 +62,7 @@
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages lirc)
   #:use-module (gnu packages lua)
+  #:use-module (gnu packages m4)
   #:use-module (gnu packages image)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages photo)
@@ -3591,3 +3593,69 @@ metadata in photo and video files of various formats.")
      "Librest is a library was designed to make it easier to access web
 services that claim to be \"RESTful\".")
     (license license:lgpl2.1+)))
+
+(define-public shotwell
+  (package
+    (name "shotwell")
+    (version "0.22.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0cgqaaikrb10plhf6zxbgqy32zqpiwyi9dpx3g8yr261q72r5c81"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:tests? #f ;no "check" target
+       #:make-flags '("CC=gcc")
+       #:configure-flags '("--disable-gsettings-convert-install")
+       #:out-of-source? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'set-pythonpath-for-xml2po
+          (lambda* (#:key inputs #:allow-other-keys)
+            ;; FIXME: "xml2po" from the "gnome-doc-utils" package is not
+            ;; functional when it is not installed into a profile.
+            (setenv "PYTHONPATH"
+                    (string-append (assoc-ref inputs "gnome-doc-utils")
+                                   "/lib/python2.7/site-packages:"
+                                   (assoc-ref inputs "python2-libxml2")
+                                   "/lib/python2.7/site-packages"))
+            #t)))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("gettext" ,gnu-gettext)
+       ("m4" ,m4)
+       ("desktop-file-utils" ,desktop-file-utils)
+       ("vala" ,vala)
+       ("which" ,which)
+       ("gnome-doc-utils" ,gnome-doc-utils)
+       ;; FIXME: I only added python2-libxml2 because xml2po needs it at
+       ;; runtime.  It should be propagated.
+       ("python2-libxml2" ,python2-libxml2)))
+    (inputs
+     `(("gstreamer" ,gstreamer)
+       ("gst-plugins-base" ,gst-plugins-base)
+       ("gst-plugins-good" ,gst-plugins-good)
+       ("libgee" ,libgee)
+       ("gexiv2" ,gexiv2)
+       ("libraw" ,libraw)
+       ("json-glib" ,json-glib)
+       ("rest" ,rest)
+       ("webkitgtk" ,webkitgtk-2.4)
+       ("sqlite" ,sqlite)
+       ("libsoup" ,libsoup)
+       ("libxml2" ,libxml2)
+       ("gtk+" ,gtk+)
+       ("libgudev" ,libgudev)
+       ("libgphoto2" ,libgphoto2)))
+    (home-page "https://wiki.gnome.org/Apps/Shotwell";)
+    (synopsis "Photo manager for GNOME 3")
+    (description
+     "Shotwell is a digital photo manager designed for the GNOME desktop
+environment.  It allows you to import photos from disk or camera, organize
+them by keywords and events, view them in full-window or fullscreen mode, and
+share them with others via social networking and more.")
+    (license license:lgpl2.1+)))
-- 
2.5.0


reply via email to

[Prev in Thread] Current Thread [Next in Thread]