emacs: add notmuch-version.el.tmpl and create notmuch-version.el from it
authorTomi Ollila <tomi.ollila@iki.fi>
Wed, 19 Mar 2014 20:37:10 +0000 (22:37 +0200)
committerDavid Bremner <david@tethera.net>
Fri, 11 Apr 2014 02:25:36 +0000 (23:25 -0300)
The notmuch cli program and emacs lisp versions may differ (especially
in remote usage). It helps to resolve problems if we can determine
the versions of notmuch cli and notmuch emacs mua separately.

The build process now creates notmuch-version.el from template file
by filling the version info to notmuch-emacs-version variable.

emacs/.gitignore
emacs/Makefile.local
emacs/notmuch-version.el.tmpl [new file with mode: 0644]
emacs/notmuch.el

index 5421301c2fe3a5137d927c62db0b9c7f2f1fa955..9fa1c44e5b2d347b6043acf40935a3edffa91a42 100644 (file)
@@ -1,2 +1,3 @@
 .eldeps*
 *.elc
+notmuch-version.el
index 6a39b32d2fab386252faddcd228072b2735215b6..ca039e598ee59f5ede3308f2203d0f20abac496b 100644 (file)
@@ -17,7 +17,14 @@ emacs_sources := \
        $(dir)/notmuch-crypto.el \
        $(dir)/notmuch-tag.el \
        $(dir)/coolj.el \
-       $(dir)/notmuch-print.el
+       $(dir)/notmuch-print.el \
+       $(dir)/notmuch-version.el
+
+$(dir)/notmuch-version.el: $(dir)/Makefile.local version.stamp
+$(dir)/notmuch-version.el: $(dir)/notmuch-version.el.tmpl
+       @sed -e 's/%AG%/Generated file (from $(<F)) -- do not edit!/' \
+            -e 's/%VERSION%/"$(VERSION)"/' $< > $@
+
 
 emacs_images := \
        $(srcdir)/$(dir)/notmuch-logo.png
@@ -71,4 +78,4 @@ endif
        mkdir -p "$(DESTDIR)$(emacsetcdir)"
        install -m0644 $(emacs_images) "$(DESTDIR)$(emacsetcdir)"
 
-CLEAN := $(CLEAN) $(emacs_bytecode)
+CLEAN := $(CLEAN) $(emacs_bytecode) $(dir)/notmuch-version.el
diff --git a/emacs/notmuch-version.el.tmpl b/emacs/notmuch-version.el.tmpl
new file mode 100644 (file)
index 0000000..236aaf7
--- /dev/null
@@ -0,0 +1,23 @@
+;; -*- emacs-lisp -*-
+;;
+;; %AG%
+;;
+;; This file is part of Notmuch.
+;;
+;; Notmuch 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.
+;;
+;; Notmuch 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 Notmuch.  If not, see <http://www.gnu.org/licenses/>.
+
+(defconst notmuch-emacs-version %VERSION%
+  "Version of Notmuch Emacs MUA.")
+
+(provide 'notmuch-version)
index 233c784d9a0676733903b9562247b1575fb02cdb..64295ac996aaf84ff524bb2dd7aa647a15fbe268 100644 (file)
 (require 'notmuch-message)
 (require 'notmuch-parser)
 
+(unless (require 'notmuch-version nil t)
+  (defconst notmuch-emacs-version "unknown"
+    "Placeholder variable when notmuch-version.el[c] is not available."))
+
 (defcustom notmuch-search-result-format
   `(("date" . "%12s ")
     ("count" . "%-7s ")