Merge pull request #2542 from linj-fork/mu4e-package.el

mu4e: make it conform with `package.el`
This commit is contained in:
Dirk-Jan C. Binnema 2023-08-24 23:20:53 +03:00 committed by GitHub
commit a44c54b04d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 30 additions and 6 deletions

View File

@ -194,7 +194,8 @@ endif
# emacs -- needed for mu4e compilation
emacs_name=get_option('emacs')
emacs=find_program([emacs_name], version: '>=26.3', required:false)
emacs_min_version='26.3'
emacs=find_program([emacs_name], version: '>='+emacs_min_version, required:false)
if not emacs.found()
message('emacs not found; not pre-compiling mu4e sources')
endif

View File

@ -23,11 +23,19 @@ mu4e_meta = configure_file(
install_dir: mu4e_lispdir,
configuration: {
'VERSION' : meson.project_version(),
# project_build_root() with meson >= 0.56
'abs_top_builddir': join_paths(meson.current_build_dir()),
'MU_DOC_DIR' : join_paths(datadir, 'doc', 'mu'),
})
mu4e_pkg_desc = configure_file(
input: 'mu4e-pkg.el.in',
output: 'mu4e-pkg.el',
install: true,
install_dir: mu4e_lispdir,
configuration: {
'VERSION' : meson.project_version(),
'EMACS_MIN_VERSION' : emacs_min_version,
})
mu4e_srcs=[
'mu4e-actions.el',
'mu4e-bookmarks.el',
@ -75,6 +83,17 @@ foreach src : mu4e_srcs
install_mode: 'r--r--r--')
endforeach
# this depends on the above hack: all mu4e elisp files needs to be in builddir
mu4e_autoloads = configure_file(
output: 'mu4e-autoloads.el',
install: true,
install_dir: mu4e_lispdir,
command: [emacs,
'--no-init-file',
'--batch',
'--load', 'package',
'--eval', '(package-generate-autoloads "mu4e" "' + meson.current_build_dir() + '" )'])
foreach src : mu4e_srcs
target_name= '@BASENAME@.elc'
target_path = join_paths(meson.current_build_dir(), target_name)

View File

@ -3,9 +3,6 @@
(defconst mu4e-mu-version "@VERSION@"
"Required mu binary version; mu4e's version must agree with this.")
(defconst mu4e-builddir "@abs_top_builddir@"
"Top-level build directory.")
(defconst mu4e-doc-dir "@MU_DOC_DIR@"
"Mu4e's data-dir.")

7
mu4e/mu4e-pkg.el.in Normal file
View File

@ -0,0 +1,7 @@
;; -*- no-byte-compile: t; -*-
(define-package "mu4e" "@VERSION@"
"part of mu4e, the mu mail user agent"
'((emacs "@EMACS_MIN_VERSION@"))
:authors '(("Dirk-Jan C. Binnema" . "djcb@djcbsoftware.nl"))
:maintainer '("Dirk-Jan C. Binnema" . "djcb@djcbsoftware.nl")
:keywords '("email"))