ports/math/coq/Makefile
Yasuhiro Kimura ba4eb3a50e editors/emacs: Update to 29.1
* 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
2023-08-20 09:53:11 +09:00

71 lines
2.2 KiB
Makefile

PORTNAME= coq
PORTVERSION= 8.6
PORTREVISION= 19
PORTEPOCH= 3
CATEGORIES= math
MASTER_SITES= http://coq.inria.fr/distrib/V${PORTVERSION}/files/ \
ftp://ftp.stack.nl/pub/users/johans/coq/
PKGNAMESUFFIX= ${EMACS_PKGNAMESUFFIX}
MAINTAINER= hrs@FreeBSD.org
COMMENT= Theorem prover based on lambda-C
WWW= https://coq.inria.fr/
LICENSE= LGPL21
LICENSE_FILE= ${WRKSRC}/LICENSE
BROKEN_armv6= fails to compile: Fatal error: exception Invalid_argument("index out of bounds")
BROKEN_armv7= fails to compile: Fatal error: exception Invalid_argument("index out of bounds")
BUILD_DEPENDS= camlp5:devel/ocaml-camlp5 \
ocamlfind:devel/ocaml-findlib \
${LOCALBASE}/${OCAML_SITELIBDIR}/num/META:math/ocaml-num
LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2
RUN_DEPENDS= ${LOCALBASE}/lib/ocaml/stublibs/dllnums.so:math/ocaml-num
USES= emacs gettext-runtime gmake gnome
USE_GNOME= atk cairo gdkpixbuf2 glib20 gtk20 gtksourceview2 pango
USE_LDCONFIG= ${PREFIX}/lib/coq
USE_OCAML= yes
HAS_CONFIGURE= yes
CONFIGURE_ARGS= -prefix ${PREFIX} \
-mandir ${PREFIX}/man \
-emacslib ${PREFIX}/share/emacs/site-lisp/coq \
-usecamlp5 \
-byteonly
MAKE_ENV= VERBOSE=1 USERFLAGS=-unsafe-string
ALL_TARGET= world
CONFLICTS_INSTALL= coq coq-emacs_* # bin/coq-tex bin/coq_makefile bin/coqc bin/coqchk bin/coqdep bin/coqdoc bin/coqide bin/coqmktop bin/coqtop bin/coqtop.byte bin/coqwc bin/coqworkmgr bin/gallina
OPTIONS_DEFINE= DOCS IDE
OPTIONS_DEFAULT= IDE
OPTIONS_SUB= yes
IDE_DESC= Include desktop environment (coqide)
IDE_BUILD_DEPENDS= lablgtk2:x11-toolkits/ocaml-lablgtk2
IDE_RUN_DEPENDS= lablgtk2:x11-toolkits/ocaml-lablgtk2
IDE_CONFIGURE_OFF= -coqide no
DOCS_USES= tex
DOCS_USE= TEX=latex:build,dvipsk:build
DOCS_BUILD_DEPENDS= hevea:textproc/hevea
DOCS_CONFIGURE_OFF= -with-doc no
STRIP_FILES= lib/coq/dllcoqrun.so
# Workaround bsd.ocaml.mk to fix packaging
add-plist-post:
@${DO_NADA}
post-patch:
@${REINPLACE_CMD} -e '/show_latex_mes/s/)$$/; true)/' \
${WRKSRC}/Makefile.doc
# Allow passing USERFLAGS down to inner make(1) via environment
@${REINPLACE_CMD} -e '/User compilation flag/,+1d' \
${WRKSRC}/configure.ml
post-install:
cd ${STAGEDIR}${PREFIX} && ${STRIP_CMD} ${STRIP_FILES}
.include <bsd.port.mk>