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 <m...@netris.org> wrote: > David Hashe <david.ha...@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.ha...@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 <wi...@pobox.com> > > ;;; Copyright © 2015 Ludovic Courtès <l...@gnu.org> > > ;;; Copyright © 2015 Ricardo Wurmus <rek...@elephly.net> > > +;;; Copyright © 2015 David Hashe <david.ha...@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 <m...@netris.org> wrote: > David Hashe <david.ha...@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.ha...@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 <wi...@pobox.com> > > ;;; Copyright © 2015 Ludovic Courtès <l...@gnu.org> > > ;;; Copyright © 2015 Ricardo Wurmus <rek...@elephly.net> > > +;;; Copyright © 2015 David Hashe <david.ha...@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 >
From 075fd7d8140561afe03aba8eeb8135001e0ed836 Mon Sep 17 00:00:00 2001 From: David Hashe <david.ha...@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 <wi...@pobox.com> ;;; Copyright © 2015 Ludovic Courtès <l...@gnu.org> ;;; Copyright © 2015 Ricardo Wurmus <rek...@elephly.net> +;;; Copyright © 2015 David Hashe <david.ha...@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
From 38dfad4931a29022682248948a3820ac3f45027d Mon Sep 17 00:00:00 2001 From: David Hashe <david.ha...@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