Bump math/cadabra2 to version 2.1.2_2
[dports.git] / math / cadabra2 / Makefile
1 # Created by: Yuri Victorovich <yuri@rawbw.com>
2 # $FreeBSD$
3
4 PORTNAME=       cadabra2
5 PORTVERSION=    2.1.2
6 PORTREVISION=   2
7 CATEGORIES=     math
8
9 MAINTAINER=     yuri@rawbw.com
10 COMMENT=        Computer algebra system for solving field theory problems
11
12 LICENSE=        LGPL3
13 LICENSE_FILE=   ${WRKSRC}/doc/license.txt
14
15 PATCH_DEPENDS=  ${NONEXISTENT}:devel/boost-libs:extract \
16                 ${NONEXISTENT}:devel/websocketpp:extract
17 BUILD_DEPENDS=  ${LOCALBASE}/include/websocketpp/client.hpp:devel/websocketpp
18 LIB_DEPENDS=    libboost_python.so:devel/boost-python-libs \
19                 libboost_system.so:devel/boost-libs \
20                 libpcrecpp.so:devel/pcre \
21                 libjsoncpp.so:devel/jsoncpp \
22                 libgmp.so:math/gmp \
23                 libuuid.so:misc/e2fsprogs-libuuid
24 RUN_DEPENDS=    ${PYTHON_SITELIBDIR}/sympy/__init__.py:math/py-sympy \
25                 ${PYTHON_SITELIBDIR}/matplotlib/__init__.py:math/py-matplotlib
26
27 USE_GITHUB=     yes
28 GH_ACCOUNT=     kpeeters
29
30 OPTIONS_DEFINE= GUI
31 OPTIONS_DEFAULT=GUI
32
33 USES=           compiler:c++14-lang cmake gettext-runtime pkgconfig python:2 sqlite
34 GUI_USE=        GNOME=gtkmm30,gdkpixbuf2
35 USE_TEX=        base texmf texhash
36 USE_LDCONFIG=   yes
37 OPTIONS_SUB=    yes
38 GUI_INSTALLS_ICONS=     yes
39 GUI_USES=       desktop-file-utils
40
41 CMAKE_ARGS+=    -DBOOST_ROOT=${LOCALBASE}
42 CMAKE_ARGS+=    -DUSE_PYTHON_3:BOOL=OFF
43 GUI_CMAKE_BOOL= FRONTEND
44 CXXFLAGS+=      -I${LOCALBASE}/include
45 CXXFLAGS+=      -I${LOCALBASE}/include/jsoncpp
46 LDFLAGS+=       -L${LOCALBASE}/lib -ljsoncpp
47 CMAKE_CXX_FLAGS=${CXXFLAGS}
48 CMAKE_INSTALL_PREFIX=${PREFIX}
49
50 post-extract:
51         @${RM} -r ${WRKSRC}/client_server/jsoncpp ${WRKSRC}/client_server/websocketpp
52
53 pre-patch:
54         # workaround for https://github.com/zaphoyd/websocketpp/issues/563, so that the local patch can be applied
55         @${MKDIR} ${WRKSRC}/override/include/boost/asio/detail/impl
56         @${CP} `${MAKE} -C ${PORTSDIR}/devel/boost-libs -V WRKSRC`/boost/asio/detail/impl/socket_ops.ipp \
57                 ${WRKSRC}/override/include/boost/asio/detail/impl/
58         # workaround for https://github.com/zaphoyd/websocketpp/issues/587, so that the local patch can be applied
59         @${MKDIR} ${WRKSRC}/override/include/websocketpp/transport/asio
60         @${CP} `${MAKE} -C ${PORTSDIR}/devel/websocketpp -V WRKSRC`/websocketpp/transport/asio/endpoint.hpp \
61                 ${WRKSRC}/override/include/websocketpp/transport/asio/
62
63 post-patch:
64         @${REINPLACE_CMD} -e 's|execute|#execute|' \
65                         -e 's|"$${GIT_COMMIT_SERIAL}.$${GIT_SHORT_SHA}"|"FreeBSD port version=${PORTVERSION} tag=${GH_TAGNAME}"|' \
66                         -e 's|set(CADABRA_VERSION_DATE "$${THE_DATE}"|set(CADABRA_VERSION_DATE "'`date "+%Y-%m-%d"`'"|' \
67                         -e 's|include_directories(|include_directories($${PROJECT_SOURCE_DIR}/override/include |' \
68                                 ${WRKSRC}/CMakeLists.txt
69
70 post-install:
71         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/cadabra2html
72         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/cadabra-server
73         ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/cadabra2.so
74
75 post-install-GUI-on:
76         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/cadabra2-gtk
77         @${GZIP_CMD}    < ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps/cadabra2-gtk.svg \
78                         > ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps/cadabra2-gtk.svgz
79         @${RM} ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps/cadabra2-gtk.svg
80         @${LN} ${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps/cadabra2-gtk.png \
81                ${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps/cadabra-gtk.png
82         @${LN} ${STAGEDIR}${PREFIX}/share/icons/hicolor/128x128/apps/cadabra2-gtk.png \
83                ${STAGEDIR}${PREFIX}/share/icons/hicolor/128x128/apps/cadabra-gtk.png
84         @${LN} ${STAGEDIR}${PREFIX}/share/icons/hicolor/64x64/apps/cadabra2-gtk.png \
85                ${STAGEDIR}${PREFIX}/share/icons/hicolor/64x64/apps/cadabra-gtk.png
86         @${LN} ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps/cadabra2-gtk.svgz \
87                ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps/cadabra-gtk.svgz
88
89 .include <bsd.port.mk>