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
next prev parent 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).