unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: David Hashe <david.hashe@dhashe.com>
To: Mark H Weaver <mhw@netris.org>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH] gnu: Add exempi and eog.
Date: Wed, 15 Jul 2015 23:28:42 -0500	[thread overview]
Message-ID: <CAAn-YqGNnMQUDd_MYQJn49D0JFB1wUjag4yq6aLOJY=Bhx99hg@mail.gmail.com> (raw)
In-Reply-To: <87d1zttn0q.fsf@netris.org>


[-- Attachment #1.1: Type: text/plain, Size: 8134 bytes --]

Thanks to everyone for the reviews!

I got boost working and changed everything that was requested. I've
attached updated patches for both.

Thanks,
David

On Wed, Jul 15, 2015 at 11:15 AM, Mark H Weaver <mhw@netris.org> wrote:

> David Hashe <david.hashe@dhashe.com> writes:
>
> > The attached patches add Eye of GNOME and one of its dependencies,
> > exempi. The Eye of GNOME (eog) patch depends on the exempi patch.
>
> I agree with the comments by Ricardo and 宋文武, and have a few
> additional comments:
>
> > From cf0f69390f00852b9971e88e5e817ca540264d88 Mon Sep 17 00:00:00 2001
> > From: David Hashe <david.hashe@dhashe.com>
> > Date: Wed, 15 Jul 2015 01:02:02 -0500
> > Subject: [PATCH] gnu: Add exempi.
> >
> > * gnu/packages/freedesktop.scm (exempi): New variable.
> > ---
> >  gnu/packages/freedesktop.scm | 45
> ++++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 45 insertions(+)
> >
> > diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
> > index eeb97cd..93a4470 100644
> > --- a/gnu/packages/freedesktop.scm
> > +++ b/gnu/packages/freedesktop.scm
> > @@ -4,6 +4,7 @@
> >  ;;; Copyright © 2015 Andy Wingo <wingo@pobox.com>
> >  ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
> >  ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
> > +;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
> >  ;;;
> >  ;;; This file is part of GNU Guix.
> >  ;;;
> > @@ -40,6 +41,7 @@
> >    #:use-module (gnu packages xdisorg)
> >    #:use-module (gnu packages xorg)
> >    #:use-module (gnu packages doxygen)
> > +  #:use-module (gnu packages compression)
> >    #:use-module (gnu packages libffi))
> >
> >  (define-public xdg-utils
> > @@ -232,3 +234,46 @@ display server running on Linux kernel modesetting
> and evdev input devices, an X
> >  application, or a wayland client itself.  The clients can be traditional
> >  applications, X servers (rootless or fullscreen) or other display
> servers.")
> >      (license license:x11)))
> > +
> > +(define-public exempi
> > +    (package
> > +      (name "exempi")
> > +      (version (string-append "2.2.2"))
> > +      (source (origin
> > +               (method git-fetch)
> > +               (uri (git-reference
> > +                     (url "
> http://anongit.freedesktop.org/git/exempi.git")
> > +                     (commit version)))
> > +               (sha256
> > +                (base32
> > +
>  "1z25wij89fn86bm38d9ahhzfq8a2sgxaphdc4lrpyq87dgb766q9"))
> > +               (file-name (string-append name "-" version))))
>
> If we had used the git checkout, the file-name should end with
> "-checkout", but we should use the release tarball instead.
>
> > +      (build-system gnu-build-system)
> > +      (arguments
> > +        ;; FIXME: tests depend on boost, but unable to find headers when
> > +        ;; used as an input
> > +       `(#:configure-flags '("--disable-unittest")
> > +         #:phases (alist-cons-after
> > +                     'unpack 'fix-autogen
> > +                     (lambda _
> > +                     (substitute* "autogen.sh"
> > +                      ;; autogen.sh tries to run configure before we
> > +                      ;; are able to patch it
> > +                      (("^.*topsrcdir/configure.*$") "")))
> > +                   (alist-cons-before
> > +                    'configure 'autogen
> > +                    (lambda _
> > +                     (zero? (system* "./autogen.sh")))
> > +                     %standard-phases))))
>
> Autogen/autoreconf/bootstrap phases should always go after 'unpack' (or
> in this case, after 'fix-autogen'), *not* before 'configure'.  The
> reason is that there are some other phases (patch-usr-bin-file and
> patch-source-shebangs) which should have access to the generated files.
> For example, letting 'patch-usr-bin-file' patch the generated
> 'configure' is important on some platforms.
>
> However, this is moot because you should use the release tarball.
>
> Can you send updated patches?
>
>      Thanks,
>        Mark
>


On Wed, Jul 15, 2015 at 11:15 AM, Mark H Weaver <mhw@netris.org> wrote:

> David Hashe <david.hashe@dhashe.com> writes:
>
> > The attached patches add Eye of GNOME and one of its dependencies,
> > exempi. The Eye of GNOME (eog) patch depends on the exempi patch.
>
> I agree with the comments by Ricardo and 宋文武, and have a few
> additional comments:
>
> > From cf0f69390f00852b9971e88e5e817ca540264d88 Mon Sep 17 00:00:00 2001
> > From: David Hashe <david.hashe@dhashe.com>
> > Date: Wed, 15 Jul 2015 01:02:02 -0500
> > Subject: [PATCH] gnu: Add exempi.
> >
> > * gnu/packages/freedesktop.scm (exempi): New variable.
> > ---
> >  gnu/packages/freedesktop.scm | 45
> ++++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 45 insertions(+)
> >
> > diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
> > index eeb97cd..93a4470 100644
> > --- a/gnu/packages/freedesktop.scm
> > +++ b/gnu/packages/freedesktop.scm
> > @@ -4,6 +4,7 @@
> >  ;;; Copyright © 2015 Andy Wingo <wingo@pobox.com>
> >  ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
> >  ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
> > +;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
> >  ;;;
> >  ;;; This file is part of GNU Guix.
> >  ;;;
> > @@ -40,6 +41,7 @@
> >    #:use-module (gnu packages xdisorg)
> >    #:use-module (gnu packages xorg)
> >    #:use-module (gnu packages doxygen)
> > +  #:use-module (gnu packages compression)
> >    #:use-module (gnu packages libffi))
> >
> >  (define-public xdg-utils
> > @@ -232,3 +234,46 @@ display server running on Linux kernel modesetting
> and evdev input devices, an X
> >  application, or a wayland client itself.  The clients can be traditional
> >  applications, X servers (rootless or fullscreen) or other display
> servers.")
> >      (license license:x11)))
> > +
> > +(define-public exempi
> > +    (package
> > +      (name "exempi")
> > +      (version (string-append "2.2.2"))
> > +      (source (origin
> > +               (method git-fetch)
> > +               (uri (git-reference
> > +                     (url "
> http://anongit.freedesktop.org/git/exempi.git")
> > +                     (commit version)))
> > +               (sha256
> > +                (base32
> > +
>  "1z25wij89fn86bm38d9ahhzfq8a2sgxaphdc4lrpyq87dgb766q9"))
> > +               (file-name (string-append name "-" version))))
>
> If we had used the git checkout, the file-name should end with
> "-checkout", but we should use the release tarball instead.
>
> > +      (build-system gnu-build-system)
> > +      (arguments
> > +        ;; FIXME: tests depend on boost, but unable to find headers when
> > +        ;; used as an input
> > +       `(#:configure-flags '("--disable-unittest")
> > +         #:phases (alist-cons-after
> > +                     'unpack 'fix-autogen
> > +                     (lambda _
> > +                     (substitute* "autogen.sh"
> > +                      ;; autogen.sh tries to run configure before we
> > +                      ;; are able to patch it
> > +                      (("^.*topsrcdir/configure.*$") "")))
> > +                   (alist-cons-before
> > +                    'configure 'autogen
> > +                    (lambda _
> > +                     (zero? (system* "./autogen.sh")))
> > +                     %standard-phases))))
>
> Autogen/autoreconf/bootstrap phases should always go after 'unpack' (or
> in this case, after 'fix-autogen'), *not* before 'configure'.  The
> reason is that there are some other phases (patch-usr-bin-file and
> patch-source-shebangs) which should have access to the generated files.
> For example, letting 'patch-usr-bin-file' patch the generated
> 'configure' is important on some platforms.
>
> However, this is moot because you should use the release tarball.
>
> Can you send updated patches?
>
>      Thanks,
>        Mark
>

[-- Attachment #1.2: Type: text/html, Size: 11331 bytes --]

[-- Attachment #2: 0001-gnu-Add-exempi.patch --]
[-- Type: text/x-patch, Size: 3044 bytes --]

From 075fd7d8140561afe03aba8eeb8135001e0ed836 Mon Sep 17 00:00:00 2001
From: David Hashe <david.hashe@dhashe.com>
Date: Wed, 15 Jul 2015 23:15:45 -0500
Subject: [PATCH] gnu: Add exempi.

* gnu/packages/freedesktop.scm (exempi): New variable.
---
 gnu/packages/freedesktop.scm | 45 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index eeb97cd..b4c370f 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2015 Andy Wingo <wingo@pobox.com>
 ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -39,6 +40,8 @@
   #:use-module (gnu packages glib)                ;intltool
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
+  #:use-module (gnu packages boost)
+  #:use-module (gnu packages compression)
   #:use-module (gnu packages doxygen)
   #:use-module (gnu packages libffi))
 
@@ -232,3 +235,45 @@ display server running on Linux kernel modesetting and evdev input devices, an X
 application, or a wayland client itself.  The clients can be traditional
 applications, X servers (rootless or fullscreen) or other display servers.")
     (license license:x11)))
+
+(define-public exempi
+  (package
+    (name "exempi")
+    (version "2.2.2")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   "http://libopenraw.freedesktop.org/download/"
+                   name "-" version ".tar.bz2"))
+             (sha256
+              (base32
+               "01vcd1mfn2s0iiq2cjyzgvnxx6kcq9cwra1iipijhs0vwvjx0yhf"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags (list (string-append "--with-boost="
+                               (assoc-ref %build-inputs "boost")))
+       #:phases (modify-phases %standard-phases
+                 (add-after
+                  'unpack 'fix-autogen
+                  (lambda _
+                   (substitute* "autogen.sh"
+                    ;; autogen.sh tries to run configure before we
+                    ;; are able to patch it
+                    (("^.*topsrcdir/configure.*$") ""))))
+                 (add-after
+                  'fix-autogen 'autogen
+                  (lambda _
+                   (zero? (system* "sh" "./autogen.sh")))))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("boost" ,boost)))
+    (inputs
+     `(("expat" ,expat)
+       ("zlib" ,zlib)))
+    (home-page "https://wiki.freedesktop.org/libopenraw/Exempi")
+    (synopsis "XMP metadata handling library")
+    (description "Exempi is an implementation of the Extensible Metadata
+Platform (XMP), which enables embedding metadata in PDF and image formats.")
+    (license license:bsd-3)))
-- 
1.9.1


[-- Attachment #3: 0002-gnu-Add-eog.patch --]
[-- Type: text/x-patch, Size: 2872 bytes --]

From 38dfad4931a29022682248948a3820ac3f45027d Mon Sep 17 00:00:00 2001
From: David Hashe <david.hashe@dhashe.com>
Date: Wed, 15 Jul 2015 22:52:22 -0500
Subject: [PATCH 2/2] gnu: Add eog.

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

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 879c27e..ac90231 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -61,6 +61,7 @@
   #:use-module (gnu packages lua)
   #:use-module (gnu packages image)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
@@ -3001,3 +3002,53 @@ which can read a large number of file formats.")
    (description "Rhythmbox is a music playing application for GNOME.  It
 supports playlists, song ratings, and any codecs installed through gstreamer.")
    (license license:gpl2+)))
+
+(define-public eog
+ (package
+   (name "eog")
+   (version "3.16.2")
+   (source (origin
+            (method url-fetch)
+            (uri (string-append "mirror://gnome/sources/" name "/"
+                                (version-major+minor version) "/"
+                                name "-" version ".tar.xz"))
+            (sha256
+             (base32
+              "0frw1b5jix9pffznav5s7ajjx91a8rv5lf4sjvjv3fw65mbnhbw0"))))
+   (build-system glib-or-gtk-build-system)
+   (arguments
+    `(#:phases
+      (modify-phases %standard-phases
+        (add-after
+         'install 'wrap-eog
+         (lambda* (#:key outputs #:allow-other-keys)
+           (let ((out               (assoc-ref outputs "out"))
+                 (gi-typelib-path   (getenv "GI_TYPELIB_PATH")))
+             (wrap-program (string-append out "/bin/eog")
+               `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
+           #t)))))
+   (propagated-inputs
+    `(("dconf" ,dconf)))
+   (native-inputs
+    `(("intltool" ,intltool)
+      ("glib" ,glib "bin")
+      ("gobject-introspection" ,gobject-introspection)
+      ("pkg-config" ,pkg-config)))
+   (inputs
+    `(("gnome-desktop" ,gnome-desktop)
+      ("shared-mime-info" ,shared-mime-info)
+      ("itstool" ,itstool)
+      ("adwaita-icon-theme" ,adwaita-icon-theme)
+      ("exempi" ,exempi)
+      ("lcms" ,lcms)
+      ("libexif" ,libexif)
+      ("libpeas" ,libpeas)
+      ("libjpeg" ,libjpeg)
+      ("librsvg" ,librsvg)
+      ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+      ("gtk+" ,gtk+)))
+   (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
+   (synopsis "GNOME image viewer")
+   (description "Eye of GNOME is the GNOME image viewer.  It
+supports image conversion, rotation, and slideshows.")
+   (license license:gpl2+)))
-- 
1.9.1


  reply	other threads:[~2015-07-16  4:28 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-15  6:36 [PATCH] gnu: Add exempi and eog David Hashe
2015-07-15  6:46 ` Ricardo Wurmus
2015-07-15 13:01 ` 宋文武
2015-07-15 16:15 ` Mark H Weaver
2015-07-16  4:28   ` David Hashe [this message]
2015-07-16 13:25     ` David Hashe
2015-07-17 12:49       ` 宋文武

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAAn-YqGNnMQUDd_MYQJn49D0JFB1wUjag4yq6aLOJY=Bhx99hg@mail.gmail.com' \
    --to=david.hashe@dhashe.com \
    --cc=guix-devel@gnu.org \
    --cc=mhw@netris.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).