Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 31 May 2026 13:03:46 +0000
From:      Kousuke Kannagi <mce@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 5df94822c564 - main - mail/mu: Fix build
Message-ID:  <6a1c31b2.1dc84.61405269@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by mce:

URL: https://cgit.FreeBSD.org/ports/commit/?id=5df94822c5640814599905f6c1626bf3282af40a

commit 5df94822c5640814599905f6c1626bf3282af40a
Author:     Kousuke Kannagi <mce@FreeBSD.org>
AuthorDate: 2026-05-20 03:38:46 +0000
Commit:     Kousuke Kannagi <mce@FreeBSD.org>
CommitDate: 2026-05-31 13:02:55 +0000

    mail/mu: Fix build
    
    Fix build with MANPAGES=off and MU4E=on because BUILD_DEPENDS=emacs was
    changed to MANPAGES_BUILD_DEPENDS.
    Delete the *.elc files to enable compatibility with the new Emacs
    framework.
    
    PR:             295350
    Approved by:    rwn@mailo.com (maintainer, timeout, implicit)
    Approved by:    fluffy (mentor)
---
 mail/mu/Makefile                     |  6 +--
 mail/mu/files/patch-mu4e_meson.build | 81 ++++++++++++++++++++++++++++++++++++
 mail/mu/pkg-plist                    | 35 +---------------
 3 files changed, 85 insertions(+), 37 deletions(-)

diff --git a/mail/mu/Makefile b/mail/mu/Makefile
index 3591e7969c2d..175b3f8c46fe 100644
--- a/mail/mu/Makefile
+++ b/mail/mu/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	mu
 DISTVERSION=	1.12.15
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	mail
 MASTER_SITES=	https://github.com/djcb/${PORTNAME}/releases/download/v${DISTVERSION}/
 
@@ -34,8 +34,8 @@ CLD2_MESON_ENABLED=	cld2
 GUILE_USES=		guile:3.0
 GUILE_MESON_ENABLED=	guile
 
-MANPAGES_BUILD_DEPENDS=	emacs:editors/emacs
+MANPAGES_BUILD_DEPENDS=	emacs:editors/emacs@nox
 
-MU4E_RUN_DEPENDS=	emacs:editors/emacs
+MU4E_BUILD_DEPENDS=	emacs:editors/emacs@nox
 
 .include <bsd.port.mk>
diff --git a/mail/mu/files/patch-mu4e_meson.build b/mail/mu/files/patch-mu4e_meson.build
new file mode 100644
index 000000000000..b94687ff3a3c
--- /dev/null
+++ b/mail/mu/files/patch-mu4e_meson.build
@@ -0,0 +1,81 @@
+--- mu4e/meson.build.orig	2026-05-16 23:56:38 UTC
++++ mu4e/meson.build
+@@ -46,6 +46,7 @@ mu4e_srcs=[
+   'mu4e-contacts.el',
+   'mu4e-context.el',
+   'mu4e-contrib.el',
++  'mu4e-dbus.el',
+   'mu4e-draft.el',
+   'mu4e-folders.el',
+   'mu4e-headers.el',
+@@ -66,69 +67,13 @@ mu4e_srcs=[
+   'mu4e-server.el',
+   'mu4e-speedbar.el',
+   'mu4e-thread.el',
++  'mu4e-transient.el',
+   'mu4e-update.el',
+   'mu4e-vars.el',
+   'mu4e-view.el',
+   'mu4e-window.el',
+   'mu4e.el'
+ ]
+-
+-# 'bc'->byte-compile. The above should always be byte-compiled.
+-mu4e_bc_srcs = mu4e_srcs
+-
+-# emacs 28 is guaranteed to have transient
+-# not very elegant, but
+-# https://stackoverflow.com/questions/49221792/byte-compile-file-only-when-library-is-found
+-mu4e_srcs += 'mu4e-transient.el'
+-if emacs28.found()
+-  mu4e_bc_srcs += 'mu4e-transient.el'
+-else
+-  message('mu4e-transient.el cannot be byte-compiled')
+-endif
+-
+-# do have we have dbus support?
+-mu4e_srcs += 'mu4e-dbus.el'
+-emacs_dbus = run_command(emacs, '--batch', '--eval', '(kill-emacs (if (featurep \'dbusbind) 0 1))',
+-                         check: false)
+-if emacs_dbus.returncode() == 0
+-  mu4e_bc_srcs += 'mu4e-dbus.el'
+-else
+-  message('mu4e-dbus.el cannot be byte-compiled')
+-endif
+-
+-# note, we cannot compile mu4e-config.el without incurring
+-#  WARNING: Source item
+-#   '[...]/build/mu4e/mu4e-meta.el' cannot be converted to File object, because
+-#   it is a generated file. This will become a hard error in the future.
+-#
+-#... so let's not do that!
+-
+-# byte compile the sources that can be byte-compiled. This may exclude mu4e-transient.el and
+-# mu4e-dbus.el
+-foreach src : mu4e_bc_srcs
+-  target_name= '@BASENAME@.elc'
+-  target_path = join_paths(meson.current_build_dir(), target_name)
+-  target_func = '(setq byte-compile-dest-file-function(lambda(_) "' + target_path + '"))'
+-
+-  custom_target(src.underscorify() + '_el',
+-                build_by_default: true,
+-                input: src,
+-                output: target_name,
+-                install_dir: mu4e_lispdir,
+-                install: true,
+-                # rebuild all if any changed.
+-                depend_files: mu4e_srcs,
+-                command: [emacs,
+-                          '--no-init-file',
+-                          '--batch',
+-                          '--directory', meson.current_source_dir(),
+-                          '--directory', meson.current_build_dir(),
+-                          # we don't need warnings for items that have become
+-                          # obsolete _after_ our last supported emacs release.
+-                          '--eval', '(setq byte-compile-warnings \'(not obsolete))',
+-                          '--eval', target_func,
+-                          '--funcall', 'batch-byte-compile', '@INPUT@'])
+-endforeach
+ 
+ # hack-around for native compile issue: copy sources to builddir.
+ # see: https://debbugs.gnu.org/db/47/47987.html
diff --git a/mail/mu/pkg-plist b/mail/mu/pkg-plist
index b4a7789445d8..7e4c93329c91 100644
--- a/mail/mu/pkg-plist
+++ b/mail/mu/pkg-plist
@@ -21,76 +21,43 @@ bin/mu
 %%MANPAGES%%share/man/man7/mu-query.7.gz
 %%PORTDOCS%%%%DOCSDIR%%/IDEAS.org
 %%PORTDOCS%%%%DOCSDIR%%/NEWS.org
-%%PORTDOCS%%%%DOCSDIR%%/mu4e-about.org
+%%MU4E%%%%PORTDOCS%%%%DOCSDIR%%/mu4e-about.org
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-actions.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-actions.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-autoloads.el
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-bookmarks.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-bookmarks.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-compose.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-compose.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-config.el
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-contacts.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-contacts.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-context.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-context.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-contrib.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-contrib.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-dbus.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-dbus.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-draft.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-draft.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-folders.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-folders.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-headers.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-headers.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-helpers.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-helpers.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-icalendar.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-icalendar.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-labels.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-labels.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-lists.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-lists.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-main.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-main.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-mark.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-mark.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-message.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-message.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-mime-parts.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-mime-parts.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-modeline.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-modeline.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-notification.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-notification.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-obsolete.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-obsolete.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-org.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-org.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-pkg.el
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-query-items.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-query-items.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-search.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-search.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-server.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-server.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-speedbar.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-speedbar.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-thread.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-thread.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-transient.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-transient.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-update.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-update.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-vars.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-vars.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-view.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-view.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e-window.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e-window.elc
 %%MU4E%%share/emacs/site-lisp/mu4e/mu4e.el
-%%MU4E%%share/emacs/site-lisp/mu4e/mu4e.elc
 %%GUILE%%lib/guile/%%GUILE_VER%%/extensions/libguile-mu.so
 %%GUILE%%%%GUILE_SITE%%/mu.scm
 %%GUILE%%%%GUILE_SITE%%/mu/message.scm


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a1c31b2.1dc84.61405269>