From ca49c77afc3165ec484bd9d2a690c48fec81321a Mon Sep 17 00:00:00 2001 From: Kurt Jaeger Date: Tue, 19 Jun 2018 19:29:32 +0000 Subject: [PATCH] mail/notmuch,mail/notmuch-emacs,mail/py-notmuch: update 0.26.2 -> 0.27 - add LICENSE to pet portlint - remove BROKEN_powerpc64 since the cause has been fixed in ports r471400 - adjust to upstream's new info page handling - fix parallel installation of flavored mail/py-notmuch PR: 229075 Submitted by: Sebastian Schwarz (maintainer) Relnotes: https://notmuchmail.org/pipermail/notmuch/2018/026684.html --- mail/notmuch-emacs/Makefile | 32 ++++++++++------- .../files/patch-doc_Makefile.local | 11 ++++++ .../files/patch-emacs_notmuch-emacs-mua | 35 +++++++++++++++++++ mail/notmuch/Makefile | 18 ++++++---- mail/notmuch/distinfo | 6 ++-- mail/notmuch/files/patch-doc_Makefile.local | 11 ++++++ .../files/patch-emacs_notmuch-emacs-mua | 35 +++++++++++++++++++ mail/notmuch/pkg-plist | 2 +- mail/py-notmuch/Makefile | 10 +++--- 9 files changed, 132 insertions(+), 28 deletions(-) create mode 100644 mail/notmuch-emacs/files/patch-doc_Makefile.local create mode 100644 mail/notmuch-emacs/files/patch-emacs_notmuch-emacs-mua create mode 100644 mail/notmuch/files/patch-doc_Makefile.local create mode 100644 mail/notmuch/files/patch-emacs_notmuch-emacs-mua diff --git a/mail/notmuch-emacs/Makefile b/mail/notmuch-emacs/Makefile index 4614da2bb91a..b3980b332151 100644 --- a/mail/notmuch-emacs/Makefile +++ b/mail/notmuch-emacs/Makefile @@ -1,17 +1,17 @@ # $FreeBSD$ -PORTREVISION= 1 CATEGORIES= mail elisp PKGNAMESUFFIX= ${EMACS_PKGNAMESUFFIX} COMMENT= Emacs major-mode for the Notmuch email search and tagging application +LICENSE= GPLv3 + RUN_DEPENDS= notmuch:mail/notmuch USES= emacs gmake INSTALL_TARGET= install-emacs -MAKE_ARGS+= subdirs+=emacs MASTERDIR= ${.CURDIR}/../notmuch NO_ARCH= yes @@ -21,15 +21,18 @@ OPTIONS_SUB= yes DESKTOP_DESC= Install .desktop file for notmuch-emacs-mua -DESKTOP_MAKE_ARGS= WITH_DESKTOP=1 +DESKTOP_CONFIGURE_ON= WITH_DESKTOP=1 DESKTOP_USES= desktop-file-utils +DOCS_ALL_TARGET= build-info DOCS_BUILD_DEPENDS= sphinx-build:textproc/py-sphinx +DOCS_CONFIGURE_ON= HAVE_INSTALL_INFO=1 HAVE_MAKEINFO=1 HAVE_SPHINX=1 DOCS_INFO= notmuch-emacs +DOCS_INSTALL_TARGET= install-info DOCS_USES= makeinfo MANPAGES_ALL_TARGET= build-man MANPAGES_BUILD_DEPENDS= sphinx-build:textproc/py-sphinx +MANPAGES_CONFIGURE_ON= HAVE_SPHINX=1 MANPAGES_INSTALL_TARGET= install-man -MANPAGES_MAKE_ARGS= subdirs+=doc # fake ./configure to avoid unneeded dependencies do-configure: @@ -41,28 +44,31 @@ do-configure: emacsetcdir=${PREFIX}/${EMACS_SITE_LISPDIR} \ emacslispdir=${PREFIX}/${EMACS_SITE_LISPDIR} \ HAVE_EMACS=1 \ - HAVE_SPHINX=1 \ + infodir=${PREFIX}/${INFO_PATH} \ mandir=${MANPREFIX}/man \ + NOTMUCH_SRCDIR=${WRKSRC} \ prefix=${PREFIX} \ srcdir=. \ + subdirs='doc emacs' \ WITH_EMACS=1 \ + ${CONFIGURE_ARGS} \ > ${WRKSRC}/Makefile.config -do-build-DOCS-on: - @${MAKE_CMD} -C ${WRKSRC} subdirs=doc sphinx-texinfo - @${MAKE_CMD} -C ${WRKSRC}/doc/_build/texinfo MAKEINFO='${MAKEINFO} --no-split' info - -do-install-DOCS-on: - ${INSTALL_MAN} ${WRKSRC}/doc/_build/texinfo/notmuch-emacs.info ${STAGEDIR}${PREFIX}/${INFO_PATH} +# work around race condition in Sphinx (cf. PR-227460) +pre-build: + @${MKDIR} ${WRKSRC}/doc/_build/doctrees post-install: @${GZIP_CMD} ${STAGEDIR}${PREFIX}/${EMACS_SITE_LISPDIR}/*.el # keep poudriere testport happy +post-install-DOCS-on: + @${FIND} ${STAGEDIR}${PREFIX}/${INFO_PATH} ! -type d ! -name notmuch-emacs.info -delete + post-install-MANPAGES-on: @${FIND} ${STAGEDIR}${MANPREFIX}/man ! -type d ! -name notmuch-emacs-mua.1.gz -delete -.include "${MASTERDIR}/Makefile" - # modify what Mk/Uses/emacs.mk set MAKE_ARGS+= EMACS+=--quick + +.include "${MASTERDIR}/Makefile" diff --git a/mail/notmuch-emacs/files/patch-doc_Makefile.local b/mail/notmuch-emacs/files/patch-doc_Makefile.local new file mode 100644 index 000000000000..08b8ad5de116 --- /dev/null +++ b/mail/notmuch-emacs/files/patch-doc_Makefile.local @@ -0,0 +1,11 @@ +--- doc/Makefile.local.orig 2018-06-16 21:06:47 UTC ++++ doc/Makefile.local +@@ -44,7 +44,7 @@ sphinx-texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(DOCBUILDDIR)/texinfo + + sphinx-info: sphinx-texinfo +- make -C $(DOCBUILDDIR)/texinfo info ++ $(MAKE) -C $(DOCBUILDDIR)/texinfo info + + # Use the man page converter that is available. We should never depend + # on MAN_ROFF_FILES if a converter is not available. diff --git a/mail/notmuch-emacs/files/patch-emacs_notmuch-emacs-mua b/mail/notmuch-emacs/files/patch-emacs_notmuch-emacs-mua new file mode 100644 index 000000000000..56878a4b1648 --- /dev/null +++ b/mail/notmuch-emacs/files/patch-emacs_notmuch-emacs-mua @@ -0,0 +1,35 @@ +--- emacs/notmuch-emacs-mua.orig 2017-07-18 20:34:56 UTC ++++ emacs/notmuch-emacs-mua +@@ -1,4 +1,4 @@ +-#!/usr/bin/env bash ++#!/bin/sh + # + # notmuch-emacs-mua - start composing a mail on the command line + # +@@ -26,8 +26,8 @@ set -eu + # calling convention: escape -v var "$arg" (like in bash printf). + escape () + { +- local __escape_arg__=${3//\\/\\\\} +- printf -v $2 '%s' "${__escape_arg__//\"/\\\"}" ++ __escape_arg__="$(printf '%s' "$3" | sed -e 's|\\|\\\\|g' -e 's|\"|\\\"|g')" ++ eval "$2=\$__escape_arg__" + } + + EMACS=${EMACS:-emacs} +@@ -150,14 +150,14 @@ if [ -n "${MAILTO}" ]; then + exit 1 + fi + ELISP="(browse-url-mail \"${MAILTO}\")" +-elif [ -z "${ELISP}" -a -n "${HELLO}" ]; then ++elif [ -z "${ELISP}" ] && [ -n "${HELLO}" ]; then + ELISP="(notmuch)" + else + ELISP="(notmuch-mua-new-mail) ${ELISP}" + fi + + # Kill the terminal/frame if we're creating one. +-if [ -z "$USE_EMACSCLIENT" -o -n "$CREATE_FRAME" -o -n "$NO_WINDOW" ]; then ++if [ -z "$USE_EMACSCLIENT" ] || [ -n "$CREATE_FRAME" ] || [ -n "$NO_WINDOW" ]; then + ELISP="${ELISP} (message-add-action #'save-buffers-kill-terminal 'exit)" + fi diff --git a/mail/notmuch/Makefile b/mail/notmuch/Makefile index bb6ab2387d14..89a36cfed11f 100644 --- a/mail/notmuch/Makefile +++ b/mail/notmuch/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= notmuch -PORTVERSION= 0.26.2 +PORTVERSION= 0.27 CATEGORIES?= mail MASTER_SITES= https://notmuchmail.org/releases/ @@ -12,8 +12,6 @@ COMMENT?= Thread-based email index, search and tagging application LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/${WRKSRC_SUBDIR:C/[^\/]+/../g}/COPYING-GPL-3 -BROKEN_powerpc64= Does not build due to databases/xapian-core - .ifndef MASTERDIR LIB_DEPENDS= libgmime-2.6.so:mail/gmime26 \ libxapian.so:databases/xapian-core \ @@ -34,7 +32,8 @@ USE_GNOME= glib20 USE_LDCONFIG= yes HAS_CONFIGURE= yes -CONFIGURE_ARGS= --mandir=${MANPREFIX}/man \ +CONFIGURE_ARGS= --infodir=${PREFIX}/${INFO_PATH} \ + --mandir=${MANPREFIX}/man \ --prefix=${PREFIX} \ --with-bash-completion \ --with-retry-lock \ @@ -48,6 +47,7 @@ TEST_ENV+= NOTMUCH_SKIP_TESTS="basic.12 count.14 insert.2[89] insert.3[0-9] mess TEST_TARGET= test .endif +PATCH_WRKSRC= ${WRKSRC}/${WRKSRC_SUBDIR:C/[^\/]+/../g} PKGDIR= ${.CURDIR} .ifndef MASTERDIR @@ -62,11 +62,15 @@ MANPAGES_CONFIGURE_WITH= docs # install completions even in absence of shells/bash-completions post-configure: - @${REINPLACE_CMD} -e '/^WITH_BASH[[:blank:]]*=/s/=.*/= 1/' ${WRKSRC}/Makefile.config + ${REINPLACE_CMD} \ + -e '/^HAVE_INSTALL_INFO[[:blank:]]*=/s/=.*/=0/' \ + -e '/^HAVE_MAKEINFO[[:blank:]]*=/s/=.*/=0/' \ + -e '/^WITH_BASH[[:blank:]]*=/s/=.*/= 1/' \ + ${WRKSRC}/Makefile.config post-install: - @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/notmuch - @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libnotmuch.so.5.1.0 + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/notmuch + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libnotmuch.so.?*.?*.?* # keep poudriere testport happy post-install-MANPAGES-on: diff --git a/mail/notmuch/distinfo b/mail/notmuch/distinfo index 5bd380e9ddbb..d54ff57f5744 100644 --- a/mail/notmuch/distinfo +++ b/mail/notmuch/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1525128779 -SHA256 (notmuch-0.26.2.tar.gz) = 109c1865db7a035d08707421d13e9b6b82ee8e9f1534db70c28c51bc39370e3b -SIZE (notmuch-0.26.2.tar.gz) = 907187 +TIMESTAMP = 1529138705 +SHA256 (notmuch-0.27.tar.gz) = 40d3192f8f130f227b511fc80be86310c7f60ccb6d043b563f201fa505de0876 +SIZE (notmuch-0.27.tar.gz) = 912583 diff --git a/mail/notmuch/files/patch-doc_Makefile.local b/mail/notmuch/files/patch-doc_Makefile.local new file mode 100644 index 000000000000..08b8ad5de116 --- /dev/null +++ b/mail/notmuch/files/patch-doc_Makefile.local @@ -0,0 +1,11 @@ +--- doc/Makefile.local.orig 2018-06-16 21:06:47 UTC ++++ doc/Makefile.local +@@ -44,7 +44,7 @@ sphinx-texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(DOCBUILDDIR)/texinfo + + sphinx-info: sphinx-texinfo +- make -C $(DOCBUILDDIR)/texinfo info ++ $(MAKE) -C $(DOCBUILDDIR)/texinfo info + + # Use the man page converter that is available. We should never depend + # on MAN_ROFF_FILES if a converter is not available. diff --git a/mail/notmuch/files/patch-emacs_notmuch-emacs-mua b/mail/notmuch/files/patch-emacs_notmuch-emacs-mua new file mode 100644 index 000000000000..56878a4b1648 --- /dev/null +++ b/mail/notmuch/files/patch-emacs_notmuch-emacs-mua @@ -0,0 +1,35 @@ +--- emacs/notmuch-emacs-mua.orig 2017-07-18 20:34:56 UTC ++++ emacs/notmuch-emacs-mua +@@ -1,4 +1,4 @@ +-#!/usr/bin/env bash ++#!/bin/sh + # + # notmuch-emacs-mua - start composing a mail on the command line + # +@@ -26,8 +26,8 @@ set -eu + # calling convention: escape -v var "$arg" (like in bash printf). + escape () + { +- local __escape_arg__=${3//\\/\\\\} +- printf -v $2 '%s' "${__escape_arg__//\"/\\\"}" ++ __escape_arg__="$(printf '%s' "$3" | sed -e 's|\\|\\\\|g' -e 's|\"|\\\"|g')" ++ eval "$2=\$__escape_arg__" + } + + EMACS=${EMACS:-emacs} +@@ -150,14 +150,14 @@ if [ -n "${MAILTO}" ]; then + exit 1 + fi + ELISP="(browse-url-mail \"${MAILTO}\")" +-elif [ -z "${ELISP}" -a -n "${HELLO}" ]; then ++elif [ -z "${ELISP}" ] && [ -n "${HELLO}" ]; then + ELISP="(notmuch)" + else + ELISP="(notmuch-mua-new-mail) ${ELISP}" + fi + + # Kill the terminal/frame if we're creating one. +-if [ -z "$USE_EMACSCLIENT" -o -n "$CREATE_FRAME" -o -n "$NO_WINDOW" ]; then ++if [ -z "$USE_EMACSCLIENT" ] || [ -n "$CREATE_FRAME" ] || [ -n "$NO_WINDOW" ]; then + ELISP="${ELISP} (message-add-action #'save-buffers-kill-terminal 'exit)" + fi diff --git a/mail/notmuch/pkg-plist b/mail/notmuch/pkg-plist index eecfe2ab7702..78b13c376b86 100644 --- a/mail/notmuch/pkg-plist +++ b/mail/notmuch/pkg-plist @@ -21,6 +21,6 @@ bin/notmuch include/notmuch.h lib/libnotmuch.so lib/libnotmuch.so.5 -lib/libnotmuch.so.5.1.0 +lib/libnotmuch.so.5.2.0 share/bash-completion/completions/notmuch share/zsh/functions/Completion/Unix/_notmuch diff --git a/mail/py-notmuch/Makefile b/mail/py-notmuch/Makefile index f3dfde1f6e10..745e1ab2bd8e 100644 --- a/mail/py-notmuch/Makefile +++ b/mail/py-notmuch/Makefile @@ -5,14 +5,16 @@ PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} COMMENT= Python interface for the Notmuch email search and tagging library +LICENSE= GPLv3 + LIB_DEPENDS= libnotmuch.so:mail/notmuch -USES= python +USES= python uniquefiles:dirs USE_PYTHON= autoplist distutils MASTERDIR= ${.CURDIR}/../notmuch NO_ARCH= yes -PORTDOCS= python/ +PORTDOCS= * WRKSRC_SUBDIR= bindings/python OPTIONS_DEFINE= DOCS @@ -23,7 +25,7 @@ do-build-DOCS-on: @${MAKE_CMD} -C ${WRKSRC}/docs html do-install-DOCS-on: - cd ${WRKSRC}/docs/html && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}/python - @${RM} ${STAGEDIR}${DOCSDIR}/python/.buildinfo + cd ${WRKSRC}/docs/html && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} + @${RM} ${STAGEDIR}${DOCSDIR}/.buildinfo .include "${MASTERDIR}/Makefile"