endif
VERSION:=$(shell cat ${srcdir}/version)
+ELPA_VERSION:=$(subst ~,_,$(VERSION))
ifeq ($(filter release release-message pre-release update-versions,$(MAKECMDGOALS)),)
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)))
# 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)
ifneq ($(FILE_VERSION),$(VERSION))
# this file should be kept in sync with ../../../version
-__VERSION__ = '0.23.1'
+__VERSION__ = '0.23.2'
SOVERSION = '4'
+notmuch (0.23.2-1) unstable; urgency=medium
+
+ * New upstream bugfix release
+ * Convert notmuch-emacs to dh-elpa, new binary package elpa-notmuch
+ * Bug fix: "maintainer script(s) do not start on #!", thanks to
+ treinen@debian.org; (Closes: #843287).
+
+ -- David Bremner <bremner@debian.org> Thu, 10 Nov 2016 22:36:04 -0400
+
notmuch (0.23.1-1) unstable; urgency=medium
* New upstream bugfix release
python-all (>= 2.6.6-3~),
python3-all (>= 3.1.2-7~),
dh-python,
+ dh-elpa (>= 1.3),
python-sphinx (>= 1.0),
ruby, ruby-dev (>>1:1.9.3~),
emacs24-nox | emacs24 (>=24~) | emacs24-lucid (>=24~) |
Package: notmuch-emacs
Architecture: all
-Section: mail
-Breaks: notmuch (<<0.6~254~)
-Replaces: notmuch (<<0.6~254~)
-Depends: ${misc:Depends}, notmuch (>= ${source:Version}),
- emacs23 (>= 23~) | emacs23-nox (>=23~) | emacs23-lucid (>=23~) |
- emacs24 (>= 24~) | emacs24-nox (>=24~) | emacs24-lucid (>=24~),
- emacsen-common (>= 2.0.8)
+Description: thread-based email index, search and tagging (transitional package)
+ This dummy package help ease transition to the new package elpa-notmuch
+
+Package: elpa-notmuch
+Architecture: all
+Depends: ${misc:Depends}, ${elpa:Depends}
Description: thread-based email index, search and tagging (emacs interface)
Notmuch is a system for indexing, searching, reading, and tagging
large collections of email messages in maildir or mh format. It uses
--- /dev/null
+emacs/*.el
+++ /dev/null
-usr/share/emacs/site-lisp/notmuch
+++ /dev/null
-#!/bin/sh
-# /usr/lib/emacsen-common/packages/install/notmuch-emacs
-set -e
-
-FLAVOR=$1
-PACKAGE=notmuch
-
-case "${FLAVOR}" in
- emacs)
- return 0
- ;;
- xemacs*|emacs2[12])
- # patches welcome.
- echo install/${PACKAGE}: skipping install for unsupported emacsen flavor ${FLAVOR}
- exit 0
- ;;
- *)
- echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR}
-esac
-
-
-elc_dir=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
-el_dir=/usr/share/emacs/site-lisp/${PACKAGE}
-
-byte_compile_options="--quick --directory=${el_dir} -batch -f batch-byte-compile"
-
-echo install/${PACKAGE}: byte-compiling for ${FLAVOR}
-
-[ -d ${elc_dir} ] || mkdir ${elc_dir}
-
-# Create symlinks to the .el files (see section 6E in debian-emacs
-# polcy). This makes complation easy, and also allows find-function
-# and find-library to work properly.
-(cd ${elc_dir} && ln -sf ${el_dir}/*.el .)
-
-# Byte compile them
-(cd ${elc_dir}
- set +e
- ${FLAVOR} ${byte_compile_options} *.el > Install.log 2>&1
- if test $? -ne 0
- then
- cat Install.log
- exit 1
- fi
- set -e
- gzip -9f Install.log)
-
-exit 0;
+++ /dev/null
-#!/bin/sh
-# /usr/lib/emacsen-common/packages/remove/notmuch
-
-set -e
-
-FLAVOR=$1
-PACKAGE=notmuch
-elc_dir=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
-
-case "${FLAVOR}" in
- emacs)
- return 0
- ;;
- xemacs*|emacs2[12])
- # patches welcome.
- echo install/${PACKAGE}: skipping removal for unsupported emacsen flavor ${FLAVOR}
- exit 0
- ;;
- *)
- echo remove/${PACKAGE}: Handling removal for emacsen flavor ${FLAVOR}
-esac
-
-echo remove/${PACKAGE}: Handling removal of emacsen flavor ${FLAVOR}
-
-echo emacsen-common: purging byte-compiled files for ${FLAVOR}
-rm -f ${elc_dir}/*.elc
-rm -f ${elc_dir}/*.el
-rm -f ${elc_dir}/Install.log*
-if test -e "${elc_dir}"
-then
- rmdir --ignore-fail-on-non-empty "${elc_dir}"
-fi
-
-exit 0;
+++ /dev/null
-usr/share/emacs/site-lisp/notmuch/*.el
+++ /dev/null
-dir="/var/lib/emacsen-common/state/package/installed"
-mkdir -p -m 0755 ${dir}
-touch ${dir}/notmuch-emacs
-#DEBHELPER#
-if [ -d /0755 ]; then
- rmdir /0755 || true
-fi
+++ /dev/null
-#DEBHELPER#
-dir="/var/lib/emacsen-common/state/package/installed"
-rm -f ${dir}/notmuch-emacs
python3_all = py3versions -s | xargs -n1 | xargs -t -I {} env {}
%:
- dh $@ --with python2,python3
+ dh $@ --with python2,python3,elpa
override_dh_auto_configure:
./configure --prefix=/usr \
.eldeps*
*.elc
notmuch-version.el
+notmuch-pkg.el
dir := emacs
emacs_sources := \
$(dir)/notmuch-lib.el \
+ $(dir)/notmuch-compat.el \
$(dir)/notmuch-parser.el \
$(dir)/notmuch.el \
$(dir)/notmuch-query.el \
@sed -e 's/%AG%/Generated file (from $(<F)) -- do not edit!/' \
-e 's/%VERSION%/"$(VERSION)"/' $< > $@
+$(dir)/notmuch-pkg.el: $(srcdir)/$(dir)/notmuch-pkg.el.tmpl
+ @sed -e 's/%AG%/Generated file (from $(<F)) -- do not edit!/' \
+ -e 's/%VERSION%/"$(ELPA_VERSION)"/' $< > $@
+
+all: $(dir)/notmuch-pkg.el
+install-emacs: $(dir)/notmuch-pkg.el
emacs_images := \
$(srcdir)/$(dir)/notmuch-logo.png
mkdir -p "$(DESTDIR)$(emacsetcdir)"
install -m0644 $(emacs_images) "$(DESTDIR)$(emacsetcdir)"
-CLEAN := $(CLEAN) $(emacs_bytecode) $(dir)/notmuch-version.el
+CLEAN := $(CLEAN) $(emacs_bytecode) $(dir)/notmuch-version.el $(dir)/notmuch-pkg.el
(interactive)
(if (local-variable-p 'notmuch-address-command)
(kill-local-variable 'notmuch-address-command)
- (setq-local notmuch-address-command 'internal))
+ (notmuch-setq-local notmuch-address-command 'internal))
(if (boundp 'company-idle-delay)
(if (local-variable-p 'company-idle-delay)
(kill-local-variable 'company-idle-delay)
- (setq-local company-idle-delay nil))))
+ (notmuch-setq-local company-idle-delay nil))))
(defun notmuch-address-matching (substring)
"Returns a list of completion candidates matching SUBSTRING.
;;; Code:
(eval-when-compile (require 'cl))
+(require 'notmuch-lib)
(defvar notmuch-company-last-prefix nil)
(make-variable-buffer-local 'notmuch-company-last-prefix)
;; internal completion) can still be accessed via standard company
;; functions, e.g., company-complete.
(unless (eq notmuch-address-command 'internal)
- (setq-local company-idle-delay nil)))
+ (notmuch-setq-local company-idle-delay nil)))
;;;###autoload
(defun notmuch-company (command &optional arg &rest _ignore)
--- /dev/null
+;; Compatibility functions for emacs 23 and 24 pre 24.4
+
+;; The functions in this file are copied from eamcs 24.4 and are
+;; Copyright (C) 1985-1986, 1992, 1994-1995, 1999-2014 Free Software
+;; Foundation, Inc.
+
+(if (fboundp 'setq-local)
+ (defalias 'notmuch-setq-local 'setq-local)
+ (defmacro notmuch-setq-local (var val)
+ "Set variable VAR to value VAL in current buffer.
+
+Backport of setq-local for emacs without setq-local (pre 24.3)."
+ `(set (make-local-variable ',var) ,val)))
+
+(if (fboundp 'read-char-choice)
+ (defalias 'notmuch-read-char-choice 'read-char-choice)
+ (defun notmuch-read-char-choice (prompt chars &optional inhibit-keyboard-quit)
+ "Read and return one of CHARS, prompting for PROMPT.
+Any input that is not one of CHARS is ignored.
+
+If optional argument INHIBIT-KEYBOARD-QUIT is non-nil, ignore
+keyboard-quit events while waiting for a valid input.
+
+This is an exact copy of this function from emacs 24 for use on
+emacs 23, except with the one emacs 24 only function it calls
+inlined."
+ (unless (consp chars)
+ (error "Called `read-char-choice' without valid char choices"))
+ (let (char done show-help (helpbuf " *Char Help*"))
+ (let ((cursor-in-echo-area t)
+ (executing-kbd-macro executing-kbd-macro)
+ (esc-flag nil))
+ (save-window-excursion ; in case we call help-form-show
+ (while (not done)
+ (unless (get-text-property 0 'face prompt)
+ (setq prompt (propertize prompt 'face 'minibuffer-prompt)))
+ (setq char (let ((inhibit-quit inhibit-keyboard-quit))
+ (read-key prompt)))
+ (and show-help (buffer-live-p (get-buffer helpbuf))
+ (kill-buffer helpbuf))
+ (cond
+ ((not (numberp char)))
+ ;; If caller has set help-form, that's enough.
+ ;; They don't explicitly have to add help-char to chars.
+ ((and help-form
+ (eq char help-char)
+ (setq show-help t)
+ ;; This is an inlined copy of help-form-show as that
+ ;; was introduced in emacs 24 too.
+ (let ((msg (eval help-form)))
+ (if (stringp msg)
+ (with-output-to-temp-buffer " *Char Help*"
+ (princ msg))))))
+ ((memq char chars)
+ (setq done t))
+ ((and executing-kbd-macro (= char -1))
+ ;; read-event returns -1 if we are in a kbd macro and
+ ;; there are no more events in the macro. Attempt to
+ ;; get an event interactively.
+ (setq executing-kbd-macro nil))
+ ((not inhibit-keyboard-quit)
+ (cond
+ ((and (null esc-flag) (eq char ?\e))
+ (setq esc-flag t))
+ ((memq char '(?\C-g ?\e))
+ (keyboard-quit))))))))
+ ;; Display the question with the answer. But without cursor-in-echo-area.
+ (message "%s%s" prompt (char-to-string char))
+ char)))
+
+;; End of compatibility functions
+
+(provide 'notmuch-compat)
(require 'mm-view)
(require 'mm-decode)
(require 'cl)
+(require 'notmuch-compat)
(unless (require 'notmuch-version nil t)
(defconst notmuch-emacs-version "unknown"
;; typo, or just the user want a new folder, let the user decide
;; how to deal with it.
(error
- (let ((response (read-char-choice
+ (let ((response (notmuch-read-char-choice
"Insert failed: (r)etry, (c)reate folder, (i)gnore, or (e)dit the header? "
'(?r ?c ?i ?e))))
(case response
;; fix it in some way.
(let* ((prompt (format "Fcc %s is not a maildir: (r)etry, (c)reate folder, (i)gnore, or (e)dit the header? "
fcc-header))
- (response (read-char-choice prompt '(?r ?c ?i ?e))))
+ (response (notmuch-read-char-choice prompt '(?r ?c ?i ?e))))
(case response
(?r (notmuch-maildir-fcc-file-fcc fcc-header))
(?c (if (file-writable-p fcc-header)
--- /dev/null
+;; %AG%
+(define-package
+ "notmuch"
+ %VERSION%
+ "Emacs based front-end (MUA) for notmuch"
+ nil)