aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2016-11-19 13:44:29 -0400
committerDavid Bremner <david@tethera.net>2016-11-26 07:57:58 -0400
commit10f8c5d205d5398bb86809bf8e7958038ba3b6fe (patch)
tree8abd39cbd0c5a075b667da2b7f94a2bdb3c9865a
parent46a47f06a628c7025246da040fa9ab6301c49313 (diff)
build/emacs: add target to create elpa package
This package can be created without emacs, but will only be usable in versions of emacs supporting package.el
-rw-r--r--Makefile.global2
-rw-r--r--emacs/Makefile.local10
2 files changed, 12 insertions, 0 deletions
diff --git a/Makefile.global b/Makefile.global
index 444e6bb4..d8f335af 100644
--- a/Makefile.global
+++ b/Makefile.global
@@ -23,6 +23,8 @@ ifeq ($(IS_GIT),yes)
VERSION:=$(shell git --git-dir=${srcdir}/.git describe --abbrev=7 --match '[0-9.]*'|sed -e s/_/~/ -e s/-/+/ -e s/-/~/)
# drop the ~g$sha1 part
ELPA_VERSION:=$(word 1,$(subst ~, ,$(VERSION)))
+# convert git version to package.el friendly form
+ELPA_VERSION:=$(subst +,snapshot,$(ELPA_VERSION))
# Write the file 'version.stamp' in case its contents differ from $(VERSION)
FILE_VERSION:=$(shell test -f version.stamp && read vs < version.stamp || vs=; echo $$vs)
diff --git a/emacs/Makefile.local b/emacs/Makefile.local
index 90a57cca..f1636177 100644
--- a/emacs/Makefile.local
+++ b/emacs/Makefile.local
@@ -24,6 +24,8 @@ emacs_sources := \
$(dir)/notmuch-company.el \
$(dir)/notmuch-draft.el
+elpa_sources := ${emacs_sources} $(dir)/notmuch-pkg.el
+
$(dir)/notmuch-version.el: $(dir)/Makefile.local version.stamp
$(dir)/notmuch-version.el: $(srcdir)/$(dir)/notmuch-version.el.tmpl
@sed -e 's/%AG%/Generated file (from $(<F)) -- do not edit!/' \
@@ -73,6 +75,14 @@ ifeq ($(HAVE_EMACS),1)
$(call quiet,EMACS) --directory emacs -batch -f batch-byte-compile $<
endif
+elpa: $(ELPA_FILE)
+
+notmuch-emacs-%.tar: ${elpa_sources}
+ mkdir -p .elpa-build/notmuch-${ELPA_VERSION}
+ cp ${elpa_sources} .elpa-build/notmuch-${ELPA_VERSION}
+ tar -C .elpa-build -cf $@ notmuch-${ELPA_VERSION}
+ rm -r .elpa-build
+
ifeq ($(WITH_EMACS),1)
ifeq ($(HAVE_EMACS),1)
all: $(emacs_bytecode)