mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-19 00:13:33 +00:00
ba4eb3a50e
* Update Canna patch to the one for Emacs 29. * Add new options PGTK, SQLITE3, TREESITTER and WEBP. SQLITE3 and TREESITTER are ON by default. PGTK and WEBP options are excluded from nox flavor. * CARGO option doesn't imply XFT but prevents it. It is caused as a result of adding pure GTK support (PGTK option). * OTK options doesn't imply XTF any more. It is also caused as a result of adding pure GTK support. * Update NATIVECOMP option so it specifies ahead-of-time compilation via the configure argument. * Remove "experimental" from NATIVECOMP_DESC. * Add print/freetype2 and x11-fonts/fontconfig to CAIRO_LIB_DEPENDS and GTK3_LIB_DEPENDS. Necessary to link emacs binary with shared libraries. * When PGTK option is ON and SCROLLBARS is OFF, configure fails as following ---------------------------------------------------------------------- checking for gnutls >= 2.12.2... yes checking for jansson >= 2.7... yes checking for tree-sitter >= 0.20.2... yes checking for libkqueue... no checking for library containing kqueue... none required configure: error: Non-toolkit scroll bars are not implemented for your system ---------------------------------------------------------------------- So add SCROLLBARS to PGTK_IMPLIES to avoid such options setting. * When MODULES option is OFF and TREESITTER is ON, link error happens as following. ---------------------------------------------------------------------- cc -o temacs.tmp \ -Demacs -I. -I. -I../lib -I../lib -I/usr/local/include -I/usr/local/include/librsvg-2.0 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/local/include/gdk-pixbuf-2.0 -pthread -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -D_THREAD_SAFE -I/usr/local/include/libpng16 -I/usr/local/include/libxml2 -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include -I/usr/local/include -D_THREAD_SAFE -I/usr/local/include -D_THREAD_SAFE -I/usr/local/include -D_THREAD_SAFE -I/usr/local/include -D_THREAD_SAFE -I/usr/local/include -I/usr/local/include/webp -I/usr/local/include -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -pthread -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include/harfbuzz -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -MMD -MF deps/.d -MP -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/include/p11-kit-1 -I/usr/local/include/cairo -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/pixman-1 -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -D_THREAD_SAFE -Wno-switch -Wno-pointer-sign -Wno-string-plus-int -Wno-unknown-attributes -Wno-unknown-pragmas -Wno-initializer-overrides -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -fstack-protector-strong -L/usr/local/lib -L/usr/local/lib \ dispnew.o frame.o scroll.o xdisp.o menu.o xmenu.o window.o charset.o coding.o category.o ccl.o character.o chartab.o bidi.o cm.o term.o terminal.o xfaces.o xterm.o xfns.o xselect.o xrdb.o xsmfns.o xsettings.o dbusbind.o emacs.o keyboard.o macros.o keymap.o sysdep.o bignum.o buffer.o filelock.o insdel.o marker.o minibuf.o fileio.o dired.o cmds.o casetab.o casefiddle.o indent.o search.o regex-emacs.o undo.o alloc.o pdumper.o data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o sort.o font.o print.o lread.o syntax.o bytecode.o comp.o process.o gnutls.o callproc.o region-cache.o sound.o timefns.o atimer.o doprnt.o intervals.o textprop.o composite.o xml.o lcms.o kqueue.o profiler.o decompress.o thread.o systhread.o sqlite.o treesit.o itree.o xfont.o ftfont.o ftcrfont.o hbfont.o fontset.o fringe.o image.o xgselect.o json.o terminfo.o lastfile.o ../lib/libgnu.a ../oldXMenu/libXMenu11.a -ltiff -ljpeg -L/usr/local/lib -lpng16 -lgif -L/usr/local/lib -lwebpdemux -lwebpdecoder -lSM -lICE -lX11 -lXrender -L/usr/local/lib -lrsvg-2 -lm -lgio-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lglib-2.0 -lintl -lcairo -lrt -L/usr/local/lib -ldbus-1 -lexecinfo -L/usr/local/lib -lXrandr -L/usr/local/lib -lXinerama -L/usr/local/lib -lXfixes -lXext -lXext -L/usr/local/lib -lxml2 -lutil -L/usr/local/lib -lcairo -lncurses -L/usr/local/lib -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl -L/usr/local/lib -lgobject-2.0 -lglib-2.0 -lintl -L/usr/local/lib -lfreetype -L/usr/local/lib -lfontconfig -lfreetype -L/usr/local/lib -lharfbuzz -L/usr/local/lib -lgnutls -lpthread -L/usr/local/lib -llcms2 -llcms2_fast_float -llcms2_threaded -lm -lz -L/usr/local/lib -ljansson -lgmp -L/usr/local/lib -lXi -L/usr/local/lib -ltree-sitter -lsqlite3 -lXcomposite -lXext ld: error: undefined symbol: dynlib_error >>> referenced by treesit.c >>> treesit.o:(treesit_load_language) >>> referenced by treesit.c >>> treesit.o:(treesit_load_language) >>> referenced by treesit.c >>> treesit.o:(treesit_load_language) >>> referenced 1 more times ld: error: undefined symbol: dynlib_sym >>> referenced by treesit.c >>> treesit.o:(treesit_load_language) ld: error: undefined symbol: dynlib_open >>> referenced by treesit.c >>> treesit.o:(treesit_load_language) cc: error: linker command failed with exit code 1 (use -v to see invocation) ---------------------------------------------------------------------- So add MODULES to TREESITTER_IMPLIES to avoid such options setting. * Bump PORTREVISION of ports that use "USES=emacs". ChangeLog: https://git.savannah.gnu.org/cgit/emacs.git/tree/etc/NEWS?h=emacs-29.1 Reviewed by: ashish, jrm Differential Revision: https://reviews.freebsd.org/D41444
76 lines
2.1 KiB
Makefile
76 lines
2.1 KiB
Makefile
PORTREVISION= 5
|
|
CATEGORIES= mail elisp
|
|
PKGNAMESUFFIX= ${EMACS_PKGNAMESUFFIX:S/^$/-emacs/}
|
|
COMMENT= Emacs major-mode for the Notmuch email search and tagging application
|
|
WWW= https://notmuchmail.org/notmuch-emacs/
|
|
|
|
LICENSE= GPLv3
|
|
|
|
RUN_DEPENDS= notmuch:mail/notmuch
|
|
|
|
USES= emacs gmake
|
|
|
|
INSTALL_TARGET= install-emacs
|
|
MASTERDIR= ${.CURDIR}/../notmuch
|
|
NO_ARCH= yes
|
|
|
|
OPTIONS_DEFINE= DESKTOP DOCS MANPAGES
|
|
OPTIONS_DEFAULT= MANPAGES
|
|
OPTIONS_SUB= yes
|
|
|
|
DESKTOP_DESC= Install .desktop file for notmuch-emacs-mua
|
|
|
|
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
|
|
|
|
PORTSCOUT= limit:^[0-9\.]*$$
|
|
|
|
# fake ./configure to avoid unneeded dependencies
|
|
do-configure:
|
|
@${CP} ${WRKSRC}/version.txt ${WRKSRC}/version.stamp
|
|
@${ECHO_CMD} 'quiet=$$($$(word 1, $$(1)))' > ${WRKSRC}/Makefile.local
|
|
@${PRINTF} \
|
|
'%s\n' \
|
|
BASH_ABSOLUTE=/bin/sh \
|
|
desktop_dir=${PREFIX}/share/applications \
|
|
emacsetcdir=${PREFIX}/${EMACS_SITE_LISPDIR} \
|
|
emacslispdir=${PREFIX}/${EMACS_SITE_LISPDIR} \
|
|
HAVE_BASH=1 \
|
|
HAVE_EMACS=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
|
|
@${PRINTF} "tags.add('WITH_EMACS')\nrsti_dir = '${WRKSRC}/emacs'\n" \
|
|
> ${WRKSRC}/sphinx.config
|
|
|
|
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
|
|
|
|
# modify what Mk/Uses/emacs.mk set
|
|
MAKE_ARGS+= EMACS+=--quick
|
|
|
|
.include "${MASTERDIR}/Makefile"
|