guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] Add Shotwell.


From: 宋文武
Subject: Re: [PATCH] Add Shotwell.
Date: Wed, 02 Sep 2015 20:20:52 +0800
User-agent: Notmuch/0.19 (http://notmuchmail.org) Emacs/24.5.1 (x86_64-unknown-linux-gnu)

Ricardo Wurmus <address@hidden> writes:

> 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+)))
> +
Look good to me.
>  (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)
There are no executables to be wrapped, please use 'gnu-build-system'.
> +    (native-inputs
> +     `(("pkg-config" ,pkg-config)))
missing  'gobject-introspection' and 'vala'?
> +    (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)
Same as above.
> +    (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+)))
I did it as 'librest', as mentioned in irc, we should rename it to 'rest'.
> -- 
> 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"))
How about add 'python-2' to native-inputs to get the PYTHONPATH?
> +            #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]