aboutsummaryrefslogtreecommitdiffstats
path: root/math/giacxcas/Makefile
blob: 0b8cf44a0d7ad043f7ab7b35d14b6910d2671c9a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# Created by: Frederic Han <han@math.jussieu.fr>
# $FreeBSD$

PORTNAME=   giacxcas
DISTVERSION=    1.2.2-57
PORTREVISION=   4
CATEGORIES= math
MASTER_SITES=   http://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/:giac \
        http://www-fourier.ujf-grenoble.fr/~parisse/giac/freebsd/
DISTFILES=  giac_${DISTVERSION}${EXTRACT_SUFX}:giac \
        CoCoALib-0.9950.tgz \
        fltk-giac.tar.gz
DIST_SUBDIR=    ${PORTNAME}

MAINTAINER= ports@FreeBSD.org
COMMENT=    Computer algebra system

LICENSE=    GPLv3
LICENSE_FILE=   ${WRKSRC}/COPYING

BROKEN=     fails to link

BUILD_DEPENDS=  bash:shells/bash
LIB_DEPENDS=    libgmp.so:math/gmp \
        libpng.so:graphics/png \
        libpari.so:math/pari \
        libmpfr.so:math/mpfr \
        libgsl.so:math/gsl
RUN_DEPENDS=    xdg-open:devel/xdg-utils

NO_CDROM=   French documentation is for non-commercial use only

GNU_CONFIGURE=  yes
USES=       blaslapack desktop-file-utils fortran gettext gmake jpeg \
        libtool readline shebangfix
USE_GL=     gl
USE_XORG=   x11 xcursor xext xft xi xinerama
USE_TEX=    latex:build dvipsk:build
USE_LDCONFIG=   yes
# Warning:  don't remove the USE_GCC without a runtime test *after* make install
USE_GCC=    yes
CONFIGURE_ENV=  ac_cv_lib_X11_main=yes \
        ac_cv_lib_cocoa_main=yes \
        ac_cv_lib_fltk_gl_main=yes \
        ac_cv_lib_fltk_main=yes \
        ac_cv_lib_fltk_images_main=yes \
        ac_cv_lib_jpeg_main=yes
SHEBANG_FILES=  src/pgiac
INSTALL_TARGET= install-strip
INSTALLS_ICONS= yes

CXXFLAGS+=  -I${LOCALBASE}/include
CPPFLAGS+=  -I${COCOALIB-GIAC}/include \
        -I${FLTKDEV-GIAC} \
        -I${LOCALBASE}/include
LDFLAGS+=   -L${COCOALIB-GIAC}/lib \
        -L${FLTKDEV-GIAC}/lib \
        -L${LOCALBASE}/lib

WRKSRC=     ${WRKDIR}/giac-${DISTVERSION:C/-[0-9]*//}
FLTKDEV-GIAC=   ${WRKDIR}/fltk-1.3.0
COCOALIB-GIAC=  ${WRKDIR}/CoCoALib-0.9950

DATADIR=    ${PREFIX}/share/giac
DOCSDIR=    ${PREFIX}/share/doc/giac
EXAMPLESDIR=    ${PREFIX}/share/examples/giac

INFO=       giac_es giac_us

OPTIONS_DEFINE= DOCS EXAMPLES

#NB: built of giacxcas with USE_GCC and nlt is successfull if the ntl port is also
#    installed  with USE_GCC
CONFIGURE_ARGS+=    --disable-ntl

post-extract:
    @${FIND} ${WRKSRC}/examples/Exemples -name "._*" -delete

post-patch:
    @${GREP} -Rl --null /bin/bash ${COCOALIB-GIAC} | ${XARGS} -0 \
        ${REINPLACE_CMD} -e 's|/bin/bash|/usr/bin/env bash|'
    @${REINPLACE_CMD} -e '/^SUBDIR/s|examples||' \
        ${WRKSRC}/Makefile.in
    @${REINPLACE_CMD} -e 's|/usr/bin|${LOCALBASE}/bin|' \
        ${WRKSRC}/xcas.applications
    @${REINPLACE_CMD} -e 's|cp -f \*|$$(INSTALL_DATA) WARNINGS [a-z]*|' \
        ${WRKSRC}/doc/el/*/Makefile.in
    @${REINPLACE_CMD} -e '/browser=/s|"mozilla"|"xdg-open"|' \
        ${WRKSRC}/src/global.cc
    @${FIND} ${WRKSRC} -name "Makefile.in" | ${XARGS} \
        ${REINPLACE_CMD} -e 's|$$(prefix)/share/giac/doc|$$(docdir)|'
    @${FIND} ${COCOALIB-GIAC} -name "Makefile" | ${XARGS} \
        ${REINPLACE_CMD} -e \
        's|\($$(MAKE) \)-s |\1|; s|\([[:blank:]]\)@|\1|'
    @${REINPLACE_CMD} -e '/.SILENT:/s|^|#|' \
        ${FLTKDEV-GIAC}/makeinclude.in

pre-configure:
    @(cd ${COCOALIB-GIAC} && ${SETENV} ${CONFIGURE_ENV} ./configure \
        --with-libgmp=${LOCALBASE}/lib/libgmp.a \
        --with-cxx="${CXX}")
    @(cd ${FLTKDEV-GIAC} && ${SETENV} ${CONFIGURE_ENV} ./configure \
        --prefix=${FLTKDEV-GIAC} \
        CXX="${CXX}" CXXFLAGS="${CXXFLAGS}")

pre-build:
    @(cd ${COCOALIB-GIAC} && ${DO_MAKE_BUILD} \
        CXXFLAGS_SPECIFIC="${CXXFLAGS}" library)
    @(cd ${FLTKDEV-GIAC}/src && ${DO_MAKE_BUILD})

post-install-DOCS-on:
    @${LN} -sf ../doc/giac ${STAGEDIR}${DATADIR}/doc

post-install-EXAMPLES-on:
    @(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} "Exemples [a-z]*" \
        ${STAGEDIR}${EXAMPLESDIR})
    @${LN} -sf ../examples/giac ${STAGEDIR}${DATADIR}/examples

.include <bsd.port.mk>