[PATCH 2/2] build/emacs: add target to create elpa package

David Bremner david at tethera.net
Sat Nov 19 09:44:29 PST 2016


This package can be created without emacs, but will only be usable in
versions of emacs supporting package.el
---
 Makefile.global      |  2 ++
 emacs/Makefile.local | 10 ++++++++++
 2 files changed, 12 insertions(+)

diff --git a/Makefile.global b/Makefile.global
index 444e6bb..d8f335a 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 90a57cc..f163617 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)
-- 
2.10.2



More information about the notmuch mailing list