Hi,

with the switch from 1.8 to 1.10, the autotools build system is no 
longer supported. The new build system is meson - so this is pretty
much a new port.

Software changes between 1.8 and 1.10 are documented here:
https://github.com/djcb/mu/blob/release/1.10/NEWS.org

The smaller changes are on the release page:
https://github.com/djcb/mu/releases

portcheck, port lib depends check and the test target are happy.

I'm happy to hear test reports (especially for guile/mu4e) / comments
and OKs.

Best Regards,
Stefan

Index: mail/mu/Makefile
===================================================================
RCS file: /cvs/ports/mail/mu/Makefile,v
retrieving revision 1.41
diff -u -p -u -p -r1.41 Makefile
--- mail/mu/Makefile    6 Feb 2023 16:30:06 -0000       1.41
+++ mail/mu/Makefile    3 Sep 2023 11:47:11 -0000
@@ -1,6 +1,6 @@
 COMMENT=       maildir indexer and searcher with emacs frontend
 
-V=             1.8.14
+V=             1.10.7
 GUILE_V=       3.0
 
 DISTNAME=      mu-$V
@@ -8,7 +8,7 @@ DISTNAME=       mu-$V
 FLAVORS=       guile
 FLAVOR ?=
 
-SHARED_LIBS=   guile-mu        0.0
+SHARED_LIBS=   guile-mu        0.1 # 1.10.7
 
 CATEGORIES=    mail
 HOMEPAGE=      http://www.djcbsoftware.nl/code/mu/
@@ -18,45 +18,41 @@ MAINTAINER= Stefan Hagen <sh+ports@codev
 # GPLv3+
 PERMIT_PACKAGE=        Yes
 
-WANTLIB += ${COMPILER_LIBCXX} assuan c curses ffi gio-2.0 glib-2.0
-WANTLIB += gmime-3.0 gmodule-2.0 gobject-2.0 gpg-error gpgme gthread-2.0
-WANTLIB += iconv idn2 intl m pcre2-8 readline unistring xapian z
+WANTLIB =  ${COMPILER_LIBCXX} c gio-2.0 glib-2.0 gmime-3.0 gobject-2.0
+WANTLIB += m xapian
 
 MASTER_SITES=  https://github.com/djcb/mu/releases/download/v${V}/
 EXTRACT_SUFX=  .tar.xz
 
-BUILD_DEPENDS= emacs->=24:editors/emacs
+MODULES=       devel/meson
+
+BUILD_DEPENDS= emacs->=26.3:editors/emacs
 
 LIB_DEPENDS=   databases/xapian-core \
                devel/glib2 \
-               mail/gmime30 \
-               security/gpgme
+               mail/gmime30
 
 # C++17
 COMPILER=      base-clang ports-gcc
 
-AUTOCONF_VERSION=      2.69
-AUTOMAKE_VERSION=      1.15
-CONFIGURE_STYLE=       autoreconf
-
 .if ${FLAVOR} == "guile"
-WANTLIB +=             guile-${GUILE_V} gc ltdl gmp
-LIB_DEPENDS +=         devel/libtool,-ltdl \
-                       lang/guile3
+WANTLIB +=     guile-${GUILE_V}
+LIB_DEPENDS += lang/guile3
 .else
-CONFIGURE_ARGS +=      --disable-guile
+CONFIGURE_ARGS +=      -Dguile=disabled
 .endif
 
-MAKE_FLAGS =           "CPPFLAGS=${CPPFLAGS} -I/usr/include"
-
-USE_GMAKE=             Yes
-
-SEPARATE_BUILD=                Yes
+# needs readline >= 8.0
+CONFIGURE_ARGS +=      -Dreadline=disabled
 
 pre-configure:
        sed -e 's/exec guile/exec guile${GUILE_V}/' -i \
                ${WRKDIST}/guile/*/*.scm
-       sed -e 's/guile-snarf/guile-snarf${GUILE_V}/' -i \
-               ${WRKDIST}/configure.ac
+
+post-install:
+       gunzip ${WRKINST}/${TRUEPREFIX}/share/info/*.info.gz
+       mv ${WRKINST}/${TRUEPREFIX}/share/info/*.info \
+               ${WRKINST}/${TRUEPREFIX}/info/
+       rm -r ${WRKINST}/${TRUEPREFIX}/share/info
 
 .include <bsd.port.mk>
Index: mail/mu/distinfo
===================================================================
RCS file: /cvs/ports/mail/mu/distinfo,v
retrieving revision 1.26
diff -u -p -u -p -r1.26 distinfo
--- mail/mu/distinfo    6 Feb 2023 16:30:06 -0000       1.26
+++ mail/mu/distinfo    3 Sep 2023 11:47:11 -0000
@@ -1,2 +1,2 @@
-SHA256 (mu-1.8.14.tar.xz) = GpxeFbXotnYi9+WN+t1FOr8jLAtxW9X4m5VecERVIZw=
-SIZE (mu-1.8.14.tar.xz) = 543828
+SHA256 (mu-1.10.7.tar.xz) = 6qrJulFdojIpWwPyeX7tE1Uv3SmjASITTdOCpk0NPCE=
+SIZE (mu-1.10.7.tar.xz) = 570740
Index: mail/mu/patches/patch-configure_ac
===================================================================
RCS file: mail/mu/patches/patch-configure_ac
diff -N mail/mu/patches/patch-configure_ac
--- mail/mu/patches/patch-configure_ac  31 Jul 2022 11:43:48 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
-Index: configure.ac
---- configure.ac.orig
-+++ configure.ac
-@@ -38,7 +38,6 @@ AC_PROG_CXX
- AC_PROG_CC
- AC_PROG_CPP
- AC_PROG_INSTALL
--AC_CHECK_INCLUDES_DEFAULT
- AC_PROG_EGREP
- 
- 
Index: mail/mu/patches/patch-lib_mu-store_cc
===================================================================
RCS file: /cvs/ports/mail/mu/patches/patch-lib_mu-store_cc,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 patch-lib_mu-store_cc
--- mail/mu/patches/patch-lib_mu-store_cc       19 Dec 2022 18:38:39 -0000      
1.2
+++ mail/mu/patches/patch-lib_mu-store_cc       3 Sep 2023 11:47:11 -0000
@@ -3,7 +3,7 @@ fix time_t format specifier
 Index: lib/mu-store.cc
 --- lib/mu-store.cc.orig
 +++ lib/mu-store.cc
-@@ -603,7 +603,7 @@ Store::set_dirstamp(const std::string& path, time_t ts
+@@ -699,7 +699,7 @@ Store::set_dirstamp(const std::string& path, time_t ts
  {
        std::array<char, 2 * sizeof(tstamp) + 1> data{};
        const auto len = static_cast<size_t>(
Index: mail/mu/patches/patch-mu_mu-cmd-server_cc
===================================================================
RCS file: /cvs/ports/mail/mu/patches/patch-mu_mu-cmd-server_cc,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 patch-mu_mu-cmd-server_cc
--- mail/mu/patches/patch-mu_mu-cmd-server_cc   31 Jul 2022 11:43:48 -0000      
1.3
+++ mail/mu/patches/patch-mu_mu-cmd-server_cc   3 Sep 2023 11:47:11 -0000
@@ -3,12 +3,12 @@
 Index: mu/mu-cmd-server.cc
 --- mu/mu-cmd-server.cc.orig
 +++ mu/mu-cmd-server.cc
-@@ -130,7 +130,7 @@ Mu::mu_cmd_server(const MuConfig* opts) try {
-                 opts->debug ? "yes" : "no",
+@@ -125,7 +125,7 @@ Mu::mu_cmd_server(const Mu::Options& opts) try {
+                 opts.debug ? "yes" : "no",
                  have_readline() ? "yes" : "no");
  
 -      tty = ::isatty(::fileno(stdout));
 +      tty = ::isatty(fileno(stdout));
-       const auto eval = std::string{opts->commands ? "(help :full t)"
-                                     : opts->eval   ? opts->eval
-                                                    : ""};
+       const auto eval = std::string{opts.server.commands ? "(help :full t)" : 
opts.server.eval};
+       if (!eval.empty()) {
+               server.invoke(eval);
Index: mail/mu/patches/patch-mu_mu-options_cc
===================================================================
RCS file: mail/mu/patches/patch-mu_mu-options_cc
diff -N mail/mu/patches/patch-mu_mu-options_cc
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ mail/mu/patches/patch-mu_mu-options_cc      3 Sep 2023 11:47:11 -0000
@@ -0,0 +1,15 @@
+:: doesn't work on macro expansion
+Index: mu/mu-options.cc
+--- mu/mu-options.cc.orig
++++ mu/mu-options.cc
+@@ -630,8 +630,8 @@ bool
+ Options::default_no_color()
+ {
+       static const auto no_color =
+-              !::isatty(::fileno(stdout)) ||
+-              !::isatty(::fileno(stderr)) ||
++              !::isatty(fileno(stdout)) ||
++              !::isatty(fileno(stderr)) ||
+               ::getenv("NO_COLOR") != NULL;
+ 
+       return no_color;
Index: mail/mu/pkg/PFRAG.guile
===================================================================
RCS file: /cvs/ports/mail/mu/pkg/PFRAG.guile,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 PFRAG.guile
--- mail/mu/pkg/PFRAG.guile     6 Feb 2023 16:30:06 -0000       1.4
+++ mail/mu/pkg/PFRAG.guile     3 Sep 2023 11:47:11 -0000
@@ -1,18 +1,13 @@
-@info info/mu-guile.info
-@static-lib lib/libguile-mu.a
-lib/libguile-mu.la
-@lib lib/libguile-mu.so.${LIBguile-mu_VERSION}
+info/mu-guile.info
+@lib lib/guile/3.0/extensions/libguile-mu.so.${LIBguile-mu_VERSION}
 share/guile/site/3.0/mu/
-share/guile/site/3.0/mu.scm
+share/guile/site/3.0/mu/message.scm
+share/guile/site/3.0/mu/mu.scm
 share/guile/site/3.0/mu/plot.scm
 share/guile/site/3.0/mu/script.scm
 share/guile/site/3.0/mu/stats.scm
 share/mu/
 share/mu/scripts/
 share/mu/scripts/find-dups.scm
+share/mu/scripts/histogram.scm
 share/mu/scripts/msgs-count.scm
-share/mu/scripts/msgs-per-day.scm
-share/mu/scripts/msgs-per-hour.scm
-share/mu/scripts/msgs-per-month.scm
-share/mu/scripts/msgs-per-year-month.scm
-share/mu/scripts/msgs-per-year.scm
Index: mail/mu/pkg/PLIST
===================================================================
RCS file: /cvs/ports/mail/mu/pkg/PLIST,v
retrieving revision 1.10
diff -u -p -u -p -r1.10 PLIST
--- mail/mu/pkg/PLIST   31 Jul 2022 11:43:48 -0000      1.10
+++ mail/mu/pkg/PLIST   3 Sep 2023 11:47:11 -0000
@@ -1,8 +1,7 @@
 @bin bin/mu
-@info info/mu4e.info
+info/mu4e.info
 @man man/man1/mu-add.1
 @man man/man1/mu-cfind.1
-@man man/man1/mu-easy.1
 @man man/man1/mu-extract.1
 @man man/man1/mu-fields.1
 @man man/man1/mu-find.1
@@ -12,12 +11,12 @@
 @man man/man1/mu-init.1
 @man man/man1/mu-mkdir.1
 @man man/man1/mu-remove.1
-@man man/man1/mu-script.1
 @man man/man1/mu-server.1
 @man man/man1/mu-verify.1
 @man man/man1/mu-view.1
 @man man/man1/mu.1
 @man man/man5/mu-bookmarks.5
+@man man/man7/mu-easy.7
 @man man/man7/mu-query.7
 %%guile%%
 share/doc/mu/
@@ -33,7 +32,6 @@ share/emacs/site-lisp/mu4e/mu4e-bookmark
 share/emacs/site-lisp/mu4e/mu4e-compose.el
 share/emacs/site-lisp/mu4e/mu4e-compose.elc
 share/emacs/site-lisp/mu4e/mu4e-config.el
-share/emacs/site-lisp/mu4e/mu4e-config.elc
 share/emacs/site-lisp/mu4e/mu4e-contacts.el
 share/emacs/site-lisp/mu4e/mu4e-contacts.elc
 share/emacs/site-lisp/mu4e/mu4e-context.el
@@ -58,8 +56,16 @@ share/emacs/site-lisp/mu4e/mu4e-mark.el
 share/emacs/site-lisp/mu4e/mu4e-mark.elc
 share/emacs/site-lisp/mu4e/mu4e-message.el
 share/emacs/site-lisp/mu4e/mu4e-message.elc
+share/emacs/site-lisp/mu4e/mu4e-modeline.el
+share/emacs/site-lisp/mu4e/mu4e-modeline.elc
+share/emacs/site-lisp/mu4e/mu4e-notification.el
+share/emacs/site-lisp/mu4e/mu4e-notification.elc
+share/emacs/site-lisp/mu4e/mu4e-obsolete.el
+share/emacs/site-lisp/mu4e/mu4e-obsolete.elc
 share/emacs/site-lisp/mu4e/mu4e-org.el
 share/emacs/site-lisp/mu4e/mu4e-org.elc
+share/emacs/site-lisp/mu4e/mu4e-query-items.el
+share/emacs/site-lisp/mu4e/mu4e-query-items.elc
 share/emacs/site-lisp/mu4e/mu4e-search.el
 share/emacs/site-lisp/mu4e/mu4e-search.elc
 share/emacs/site-lisp/mu4e/mu4e-server.el
@@ -72,9 +78,9 @@ share/emacs/site-lisp/mu4e/mu4e-vars.el
 share/emacs/site-lisp/mu4e/mu4e-vars.elc
 share/emacs/site-lisp/mu4e/mu4e-view.el
 share/emacs/site-lisp/mu4e/mu4e-view.elc
+share/emacs/site-lisp/mu4e/mu4e-window.el
+share/emacs/site-lisp/mu4e/mu4e-window.elc
 share/emacs/site-lisp/mu4e/mu4e.el
 share/emacs/site-lisp/mu4e/mu4e.elc
-share/emacs/site-lisp/mu4e/org-mu4e.el
-share/emacs/site-lisp/mu4e/org-mu4e.elc
 @comment mu is compiled without gtk
 @comment man/man1/mug.1

Reply via email to