freebsd-ports/math/asymptote/Makefile

97 lines
2.9 KiB
Makefile
Raw Normal View History

PORTNAME= asymptote
PORTVERSION= 2.81
PORTREVISION= 1
CATEGORIES= math
MASTER_SITES= SF/${PORTNAME}/${PORTVERSION}
DISTNAME= ${PORTNAME}-${PORTVERSION}.src
PATCH_SITES= https://github.com/vectorgraphics/asymptote/commit/
PATCHFILES+= fa28442195bd99b9bac87e3ff752953ac57ee172.patch:-p1 # backport fix for https://github.com/vectorgraphics/asymptote/issues/328
MAINTAINER= nivit@FreeBSD.org
COMMENT= Powerful script-based vector graphics language
WWW= https://asymptote.sourceforge.io/
LICENSE= GPLv3 LGPL3
LICENSE_COMB= dual
ONLY_FOR_ARCHS= amd64 i386
BROKEN_FreeBSD_12_i386= ./base/plain_filldraw.asy: 21.5: runtime: gmake[2]: *** [Makefile:42: makepen.pdf] Floating point exception (core dumped)
2022-05-06 21:18:43 +02:00
LIB_DEPENDS= libboost_filesystem.so:devel/boost-libs \
libcurl.so:ftp/curl \
2020-09-27 15:54:24 +02:00
libsigsegv.so:devel/libsigsegv
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cson>=0.8:devel/py-cson@${PY_FLAVOR} \
${PY_PILLOW}
USES= compiler:c++14-lang gettext-runtime ghostscript gl gmake gnome ncurses perl5 python:3.6+ \
Update Qt/PySide2 to 5.15.2 / PyQt to 5.15.1 / SIP to 5.4.0 This commit combines several updates. - Update Qt to 5.12.2 - Update PyQt to 5.15.1 - Since PySide 5.15.1 is broken with Qt 5.15.2, so PySide and Shiboken are also updated to 5.15.2. - Update sip to 5.4.0 SIP is a collection of tools to create Python bindings for C and C++ libraries and used by PyQt and wxPython. There are some changes with sip5 [1]: - python 3.5+ is required - sip drops support of old deprecated methods as sipdistutils & cie. - this version breaks also PyQt5 extension ABI. SIP files will be installed in ${PYTHON_SITELIBDIR}/PyQt${_PYQT_VERSION}/bindings - some ports will use the new pyqtbuilder package with the pyproject.toml setup. Instead if the project have a setup.py, you should use sip-build to build it. - if a port needs sip, it should also needs pysip. BTW, py-qt5-core requires pysip, so that should be enough for PyQt packages. List of ports impacted by this change. Most of the patches have been integrated or are in the process of being integrated upstream: - devel/libsavitar - graphics/py-python-poppler-qt5 - net-im/scudcloud - net/libarcus - print/py-frescobaldi - science/py-veusz - graphics/qgis and graphics/qgis-ltr - deskutils/calibre A special note regarding calibre. New versions require sip>=5, we update it to the latest version (thanks to madpilot@) science/scidavis will remove the PyQt binding soon and there is no patch planned, so we remove the python option (ok makc@) While here, convert some ports to USE_PYQT (cad/cura, cad/uranium, devel/eric6, ...) Thanks to tcberner and adridg! [1] https://www.riverbankcomputing.com/static/Docs/sip/ PR: 250853 Exp-run by: antoine
2020-12-08 21:03:07 +01:00
pyqt:5 shebangfix tar:tgz
SHEBANG_FILES= GUI/*.py
USE_GL= gl glu glut
USE_GNOME= librsvg2:run
USE_PERL5= build
USE_TEX= dvipsk formats
USE_PYQT= pyqt5_run
CPPFLAGS+= -I${LOCALBASE}/include
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-lsp # disable the module with Boost-related errors
MAKE_ENV= ASYMPTOTE_HOME=${WRKDIR} HOME=${WRKDIR}
MAKE_JOBS_UNSAFE= yes # see https://github.com/vectorgraphics/asymptote/issues/331
ALL_TARGET= asy asy-keywords.el
INSTALL_TARGET= install-asy
SUB_FILES= pkg-message
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
OPTIONS_DEFAULT= FFTW GSL MANPAGES READLINE
OPTIONS_DEFINE= BDWGC DOCS EXAMPLES FFTW GSL MANPAGES OFFSCREEN READLINE
BDWGC_LIB_DEPENDS= libgc-threaded.so:devel/boehm-gc-threaded
BDWGC_DESC= Enable Boehm-Demers-Weiser garbage collector
BDWGC_CONFIGURE_ENABLE= gc=${LOCALBASE}
DOCS_ALL_TARGET= html
DOCS_BUILD_DEPENDS= texi2dvi:print/texinfo
DOCS_CONFIGURE_WITH= docdir=${DOCSDIR}
DOCS_INSTALL_TARGET= install-html
FFTW_CONFIGURE_ENABLE= fftw
FFTW_DESC= Use FFTW to compute the Discrete Fourier Transform
FFTW_LIB_DEPENDS= libfftw3.so:math/fftw3
GSL_CONFIGURE_ENABLE= gsl
GSL_DESC= Enable GNU Scientific library
GSL_LIB_DEPENDS= libgsl.so:math/gsl
MANPAGES_ALL_TARGET= man
MANPAGES_BUILD_DEPENDS= texi2dvi:print/texinfo
MANPAGES_INFO= asy-faq
OFFSCREEN_CONFIGURE_ENABLE= offscreen
OFFSCREEN_DESC= Enable offscreen rendering using OSMesa library
OFFSCREEN_LIB_DEPENDS= libOSMesa.so:graphics/libosmesa
READLINE_CONFIGURE_ENABLE= readline
READLINE_USES= readline
2020-09-27 15:54:24 +02:00
TEST_TARGET= test
TEST_WRKSRC= ${WRKSRC}/tests
PORTEXAMPLES= *
post-patch:
@${REINPLACE_CMD} 's/-lgc/-lgc-threaded/' ${WRKSRC}/configure
@${REINPLACE_CMD} 's,makeinfo,${LOCALBASE}/bin/makeinfo,' \
${WRKSRC}/doc/png/Makefile.in
# Fix the python interpreter in the generated file share/asymptote/GUI/xasyVersion.py:
2020-09-27 15:54:24 +02:00
@${REINPLACE_CMD} 's,/usr/bin/env python3,${PYTHON_CMD},' ${WRKSRC}/Makefile.in
post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/asy
.include <bsd.port.mk>