Skip to content

Commit

Permalink
editors/emacs-devel: Miscellaneous refinements
Browse files Browse the repository at this point in the history
* Use "USES=makeinfo" instead of adding print/texinfo to
  BUILD_DEPENDS.
* 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.
* Revive MOTIF option. Upstream once removed support of Motif but they
  reverted it later.
* Update CAIRO_DESC. This option prevents XFT now.
* Update OTF_DESC. This option doesn't imply XTF any more.
* Pet portclippy.

Reviewed by:	ashish, jrm
Differential Revision:	https://reviews.freebsd.org/D41233
  • Loading branch information
Yasuhiro Kimura authored and Yasuhiro Kimura committed Aug 12, 2023
1 parent 9f4f674 commit 6496ce5
Showing 1 changed file with 14 additions and 11 deletions.
25 changes: 14 additions & 11 deletions editors/emacs-devel/Makefile
Expand Up @@ -12,15 +12,15 @@ COMMENT_nox= (No X flavor)
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING

BUILD_DEPENDS= texinfo>=6.5,1:print/texinfo
LIB_DEPENDS= libgmp.so:math/gmp

FLAVORS= full nox
full_CONFLICTS_INSTALL= emacs-devel-nox
nox_PKGNAMESUFFIX= -devel-nox
nox_CONFLICTS_INSTALL= emacs-devel

USES= autoreconf:build cpe gmake localbase:ldflags ncurses pkgconfig
USES= autoreconf:build cpe gmake localbase:ldflags makeinfo ncurses \
pkgconfig
CPE_VENDOR= gnu
USE_GITHUB= yes
GH_ACCOUNT= emacs-mirror
Expand Down Expand Up @@ -94,17 +94,17 @@ OPTIONS_GROUP_GRAPHICS= CAIRO GIF JPEG MAGICK PNG SVG TIFF WEBP XPM
OPTIONS_RADIO= FILENOTIFY SOUND X11TOOLKIT
OPTIONS_RADIO_FILENOTIFY= GFILE KQUEUE
OPTIONS_RADIO_SOUND= ALSA OSS
OPTIONS_RADIO_X11TOOLKIT= GTK2 GTK3 XAW XAW3D
OPTIONS_RADIO_X11TOOLKIT= GTK2 GTK3 MOTIF XAW XAW3D
.if ${FLAVOR:U} == nox
OPTIONS_EXCLUDE= ALSA CAIRO DBUS GFILE GIF GSETTINGS GTK2 GTK3 \
HARFBUZZ JPEG LCMS2 M17N MAGICK OSS OTF PGTK \
PNG SCROLLBARS SVG TIFF WEBP XAW XAW3D XFT XIM \
XPM XWIDGETS
HARFBUZZ JPEG LCMS2 M17N MAGICK MOTIF OSS OTF \
PGTK PNG SCROLLBARS SVG TIFF WEBP XAW XAW3D XFT \
XIM XPM XWIDGETS
.endif
OPTIONS_SUB= YES

ACL_DESC= Access control list support
CAIRO_DESC= Cairo graphics library support [implies PNG]
CAIRO_DESC= Cairo graphics library support [implies PNG, prevents XFT]
FILENOTIFY_DESC= File notification support
GFILE_DESC= File notification via gfile
GRAPHICS_DESC= Graphics support
Expand All @@ -116,7 +116,7 @@ MAGICK_DESC= ImageMagick image processing support (deprecated)
MAILUTILS_DESC= Mail framework via GNU Mailutils
MODULES_DESC= Dynamic modules support
NATIVECOMP_DESC= Emacs Lisp native compiler support
OTF_DESC= Opentype fonts [implies XFT]
OTF_DESC= Opentype fonts
PGTK_DESC= Pure GTK GUI [implies CAIRO, GTK3]
SCROLLBARS_DESC= Toolkit scroll-bars
SOURCES_DESC= Install sources
Expand All @@ -133,9 +133,9 @@ ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
ALSA_CONFIGURE_ON= --with-sound=alsa
CAIRO_IMPLIES= PNG
CAIRO_PREVENTS= XFT
CAIRO_LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2
CAIRO_USE= GNOME=cairo
CAIRO_LIB_DEPENDS= libfreetype.so:print/freetype2 \
libfontconfig.so:x11-fonts/fontconfig
CAIRO_CONFIGURE_WITH= cairo
DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus
DBUS_CONFIGURE_WITH= dbus
Expand Down Expand Up @@ -175,12 +175,14 @@ MAILUTILS_CONFIGURE_WITH= mailutils
MAILUTILS_CONFIGURE_ENV_OFF= ac_cv_lib_lockfile_maillock=no \
ac_cv_prog_liblockfile=no
MODULES_CONFIGURE_WITH= modules
MOTIF_USES= motif
MOTIF_CONFIGURE_ON= --with-x-toolkit=motif
NATIVECOMP_USE= GCC=yes
NATIVECOMP_CONFIGURE_WITH= native-compilation=aot
OSS_CONFIGURE_ON= --with-sound=oss
OTF_LIB_DEPENDS= libotf.so:print/libotf
OTF_CONFIGURE_WITH= libotf
PGTK_IMPLIES= CAIRO GTK3
PGTK_IMPLIES= CAIRO GTK3 SCROLLBARS
PGTK_PREVENTS= M17N XFT XPM
PGTK_CATEGORIES= wayland
PGTK_CONFIGURE_WITH= pgtk
Expand All @@ -195,6 +197,7 @@ SVG_CONFIGURE_WITH= rsvg
THREADS_CONFIGURE_WITH= threads
TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff
TIFF_CONFIGURE_WITH= tiff
TREESITTER_IMPLIES= MODULES
TREESITTER_LIB_DEPENDS= libtree-sitter.so:devel/tree-sitter
TREESITTER_CONFIGURE_WITH= tree-sitter
WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
Expand Down

0 comments on commit 6496ce5

Please sign in to comment.