aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.guix-authorizations4
-rw-r--r--.guix-channel3
-rw-r--r--.guix/emacs-exiftool-package.scm40
-rw-r--r--README.org20
-rw-r--r--exiftool.el3
l---------guix.scm1
-rw-r--r--tests/exiftool-tests.el10
7 files changed, 73 insertions, 8 deletions
diff --git a/.guix-authorizations b/.guix-authorizations
new file mode 100644
index 0000000..a8ef8be
--- /dev/null
+++ b/.guix-authorizations
@@ -0,0 +1,4 @@
+(authorizations
+ (version 0)
+ (("7F73 0343 F2F0 9F3C 77BF 79D3 2E25 EE8B 6180 2BB3"
+ (name "arunisaac"))))
diff --git a/.guix-channel b/.guix-channel
new file mode 100644
index 0000000..35e181f
--- /dev/null
+++ b/.guix-channel
@@ -0,0 +1,3 @@
+(channel
+ (version 0)
+ (directory ".guix"))
diff --git a/.guix/emacs-exiftool-package.scm b/.guix/emacs-exiftool-package.scm
new file mode 100644
index 0000000..007a323
--- /dev/null
+++ b/.guix/emacs-exiftool-package.scm
@@ -0,0 +1,40 @@
+;;; exiftool.el --- Elisp wrapper around ExifTool
+;;; Copyright © 2023 Arun Isaac <arunisaac@systemreboot.net>
+;;;
+;;; This file is part of exiftool.el.
+;;;
+;;; exiftool.el is free software: you can redistribute it and/or
+;;; modify it under the terms of the GNU General Public License as
+;;; published by the Free Software Foundation, either version 3 of the
+;;; License, or (at your option) any later version.
+;;;
+;;; exiftool.el is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;;; General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with exiftool.el. If not, see
+;;; <https://www.gnu.org/licenses/>.
+
+(define-module (emacs-exiftool-package)
+ #:use-module ((gnu packages emacs-xyz) #:prefix guix:)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module (guix packages)
+ #:use-module (guix utils))
+
+(define-public emacs-exiftool
+ (package
+ (inherit guix:emacs-exiftool)
+ (source (local-file ".."
+ "emacs-exiftool-checkout"
+ #:recursive? #t
+ #:select? (or (git-predicate (dirname (current-source-directory)))
+ (const #t))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments guix:emacs-exiftool)
+ ((#:test-command _ #~'())
+ #~(list "make"))))))
+
+emacs-exiftool
diff --git a/README.org b/README.org
index 81c9989..3cfd47e 100644
--- a/README.org
+++ b/README.org
@@ -1,3 +1,8 @@
+#+TITLE: exiftool.el
+#+LINK: wikipedia https://en.wikipedia.org/wiki/
+
+[[https://melpa.org/#/exiftool][https://melpa.org/packages/exiftool-badge.svg]] [[https://ci.systemreboot.net/jobs/exiftool.el][https://ci.systemreboot.net/badge/exiftool.el.svg]]
+
exiftool.el is an elisp wrapper around [[http://www.sno.phy.queensu.ca/~phil/exiftool/][ExifTool]]. ExifTool supports
reading and writing metadata in various formats including [[wikipedia:Exif][EXIF]], [[wikipedia:Extensible_Metadata_Platform][XMP]]
and [[wikipedia:IPTC_Information_Interchange_Model][IPTC]].
@@ -8,6 +13,8 @@ to be exected. So, exiftool.el starts an ExifTool process in the
* Installation
+https://repology.org/badge/vertical-allrepos/emacs:exiftool.svg
+
exiftool.el is available from [[https://melpa.org/][MELPA]]. Or, you can also clone this git
repo and add the path to your /load-path/.
@@ -94,9 +101,16 @@ one. Return the process object of the newly created process.
Tests are located in the /tests/ folder. You can run them using
#+BEGIN_SRC sh
- make -C tests
+ make check
#+END_SRC
-{{{contact}}}
+* Contributing
+
+Feedback, suggestions, feature requests, bug reports and patches are
+all welcome. Please contact me by mail at [[mailto:arunisaac@systemreboot.net][arunisaac@systemreboot.net]].
+
+* License
-{{{license(exiftool.el)}}}
+exiftool.el is free software released under the terms of the [[https://www.gnu.org/licenses/gpl.txt][GNU
+General Public License]], either version 3 of the License, or (at your
+option) any later version.
diff --git a/exiftool.el b/exiftool.el
index 4b60608..7ba3d27 100644
--- a/exiftool.el
+++ b/exiftool.el
@@ -67,6 +67,9 @@ process."
(start-process "exiftool" "*exiftool*"
exiftool-executable "-stay_open" "True" "-@" "-"))
+;; Declare exiftool-command to pacify byte compiler
+(declare-function exiftool-command "exiftool.el" (&rest args))
+
(let ((tq (tq-create (exiftool-run))))
(defun exiftool-command (&rest args)
"Execute a command in the currently running exiftool process.
diff --git a/guix.scm b/guix.scm
new file mode 120000
index 0000000..44553c7
--- /dev/null
+++ b/guix.scm
@@ -0,0 +1 @@
+.guix/emacs-exiftool-package.scm \ No newline at end of file
diff --git a/tests/exiftool-tests.el b/tests/exiftool-tests.el
index 8ed4f1c..36aeb0b 100644
--- a/tests/exiftool-tests.el
+++ b/tests/exiftool-tests.el
@@ -1,7 +1,7 @@
;;; exiftool.el --- Elisp wrapper around exiftool ;; -*- lexical-binding: t -*-
;; Elisp wrapper around exiftool
-;; Copyright (C) 2017, 2019 by Arun I
+;; Copyright (C) 2017, 2019, 2021 by Arun I
;;
;; Author: Arun I <arunisaac@systemreboot.net>
;; Keywords: data
@@ -28,6 +28,10 @@
;;; Code:
+(require 'exiftool)
+(require 'cl-lib)
+(require 'ert)
+
(defvar exiftool-tests--tag-value
'(("Marked" . "True")
("Creator" . "foo")
@@ -43,10 +47,6 @@
tag))
exiftool-tests--tag-value))
-(require 'exiftool)
-(require 'cl-lib)
-(require 'ert)
-
(defmacro with-temp-test-file (test-file temp-file &rest body)
"Copy TEST-FILE to temporary file, put path in TEMP-FILE, evaluate BODY."
(declare (indent defun))