Subject: [bug#39718] [PATCH 1/1] gnu: Add emacs-exiftool.

From: Arun Isaac <[email-masked]>
Date: Sat, 22 Feb 2020 01:00:01 +0530

* gnu/packages/emacs-xyz.scm (emacs-exiftool): New variable.
---
 gnu/packages/emacs-xyz.scm | 40 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 39 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index e2e8a9e62e..82df71118b 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -16,7 +16,7 @@
 ;;; Copyright © 2016, 2019 Alex Griffin <[email-masked]>
 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nicolas Goaziou <[email-masked]>
 ;;; Copyright © 2016, 2017, 2018 Alex Vong <[email-masked]>
-;;; Copyright © 2016, 2017, 2018, 2019 Arun Isaac <[email-masked]>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Arun Isaac <[email-masked]>
 ;;; Copyright © 2017 Christopher Baines <[email-masked]>
 ;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe <[email-masked]>
 ;;; Copyright © 2017, 2018, 2019 Clément Lassieur <[email-masked]>
@@ -153,6 +153,7 @@
   #:use-module (gnu packages video)
   #:use-module (gnu packages haskell-xyz)
   #:use-module (gnu packages wordnet)
+  #:use-module (gnu packages photo)
   #:use-module (guix utils)
   #:use-module (srfi srfi-1)
   #:use-module (ice-9 match))
@@ -21477,3 +21478,40 @@ Values are stored in a directory in @code{user-emacs-directory}, using
 one file per value.  This makes it easy to delete or remove unused
 variables.")
     (license license:gpl3+)))
+
+(define-public emacs-exiftool
+  (package
+    (name "emacs-exiftool")
+    (version "0.3.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://git.systemreboot.net/exiftool.el/")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0bv58is66cz21yhc0qqkp1z4nk13zfi2l7i6pjbhyi0g1n88qqyv"))))
+    (build-system emacs-build-system)
+    (arguments
+     `(#:tests? #t
+       #:test-command '("make" "-C" "tests")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'configure
+           (lambda* (#:key inputs #:allow-other-keys)
+             (make-file-writable "exiftool.el")
+             (emacs-substitute-variables "exiftool.el"
+               ("exiftool-executable"
+                (string-append (assoc-ref inputs "perl-image-exiftool")
+                               "/bin/exiftool")))
+             #t)))))
+    (inputs
+     `(("perl-image-exiftool" ,perl-image-exiftool)))
+    (home-page "https://git.systemreboot.net/exiftool.el/about/")
+    (synopsis "Elisp wrapper around ExifTool")
+    (description "@code{emacse-exiftool} is an elisp wrapper around ExifTool.
+ExifTool supports reading and writing metadata in various formats including
+EXIF, XMP and IPTC.")
+    (license license:gpl3+)))
-- 
2.23.0