summaryrefslogtreecommitdiff
path: root/math/scilab/Makefile
blob: a5be218ba4b4728632795098549a8dafb20e8d2f (plain)
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# $NetBSD: Makefile,v 1.72 2007/03/23 22:08:55 dmcmahill Exp $
#

DISTNAME=	${SCIBASE}-src
PKGNAME=	${SCIBASE}
CATEGORIES=	math
MASTER_SITES=	http://www.scilab.org/download/4.1/

MAINTAINER=	dmcmahill@NetBSD.org
HOMEPAGE=	http://www.scilab.org/
COMMENT=	High-level scientific math programming environment with graphics

SCIBASE=	scilab-4.1
# don't forget to update SCI and SCIVERSION in the buildlink3.mk file when
# SCIBASE is updated.
WRKSRC=		${WRKDIR}/${SCIBASE}

#needs FPC code not found in older versions of NetBSD
NOT_FOR_PLATFORM=	NetBSD-1.[0-4]*-alpha NetBSD-1.5-alpha \
			NetBSD-1.5.*-alpha NetBSD-1.5[A-U]-alpha

USE_LANGUAGES=		c fortran
USE_X11BASE=		yes
USE_LIBTOOL=		yes
USE_TOOLS+=		tee

GNU_CONFIGURE=		yes
CONFIGURE_ARGS+=	--without-local-xaw

EVAL_PREFIX+=		TCL_PREFIX=tcl
EVAL_PREFIX+=		TK_PREFIX=tk
CONFIGURE_ARGS+=	--with-tcl-library=${TCL_PREFIX}/lib
CONFIGURE_ARGS+=	--with-tcl-include=${TCL_PREFIX}/include
CONFIGURE_ARGS+=	--with-tk-library=${TK_PREFIX}/lib
CONFIGURE_ARGS+=	--with-tk-include=${TK_PREFIX}/include
CONFIGURE_ENV+=		TCL_CONFIG_SH=${BUILDLINK_PREFIX.tcl}/lib/tclConfig.sh
CONFIGURE_ENV+=		TK_CONFIG_SH=${BUILDLINK_PREFIX.tk}/lib/tkConfig.sh
CONFIGURE_ENV+=		CC_LDFLAGS=${X11_LDFLAGS:Q}\ ${COMPILER_RPATH_FLAG:Q}${BUILDLINK_PREFIX.tk:Q}/lib
CONFIGURE_ENV+=		FC_LDFLAGS=${X11_LDFLAGS:Q}\ ${COMPILER_RPATH_FLAG:Q}${BUILDLINK_PREFIX.tk:Q}/lib

# override HOME to avoid picking up a bad ${HOME}/.scilab during the build
MAKE_ENV+=		HOME=${WRKSRC:Q}
MAKE_ENV+=		PVM_ROOT=${PVM_ROOT:Q}
CONFIGURE_ENV+=		LOCALBASE=${LOCALBASE:Q}

PVM_ROOT?=		${LOCALBASE}/pvm3
CONFIGURE_ENV+=		PVM_ROOT=${PVM_ROOT:Q}
CONFIGURE_ENV+=		X11BASE=${X11BASE:Q}
PLIST_SUBST+=		SCIBASE=${SCIBASE:Q}

UNWRAP_FILES+=		Makemex config/configuration config/Makeso.incl

BUILDLINK_DEPMETHOD.sablotron=	build

.include "../../mk/bsd.prefs.mk"

.if (${MACHINE_ARCH} == "alpha")
pre-fetch: ${WRKDIR}
	@${ECHO} "===> Checking if you have working FPC"
	${CC} ${CFLAGS} -o ${WRKDIR}/chk_ieee ${FILESDIR}/chk_ieee.c
	@cd ${WRKDIR} && if ./chk_ieee ; then ${ECHO} "yes" ; else \
		${ECHO} "no" ; \
		${ECHO} "${PKGNAME} requires floating point completion on this system" ;\
		${ECHO} "Possible causes for this check failing are:" ;\
		${ECHO} "   - you have an old /usr/lib/* which was not compiled with -mieee" ;\
		${ECHO} "   - you have overridden CFLAGS for pkgsrc removing the -mieee flag" ;\
		${ECHO} "Without fixing this problem ${PKGNAME} will not work." ; ${FALSE} ; fi
.endif

EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
#post-extract:
#.for f in scicos scicos_blocks
#	@extract_file=${DISTDIR}/${DIST_SUBDIR}/${f}.tar.gz ; export extract_file ; \
#		cd ${WRKSRC}/macros/${f} && ${EXTRACT_CMD}
#.endfor

# Scilab has runtime support for building shared objects that can be
# loaded.  It needs to know the right 'make' program.
post-patch:
	${MV} ${WRKSRC}/macros/util/ilib_compile.sci ${WRKSRC}/macros/util/ilib_compile.sci.bak
	${SED} 's|make -f|export PATH ; ${MAKE_PROGRAM} -f|g' \
		${WRKSRC}/macros/util/ilib_compile.sci.bak > \
		${WRKSRC}/macros/util/ilib_compile.sci
	${RM} ${WRKSRC}/macros/util/ilib_compile.sci.bak


# clean up any possible leftovers from 'make test' so that our PLIST
# will still be right.  Also clean up a reference to WRKSRC.
pre-install:
	cd ${WRKSRC}/examples && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} distclean
	${FIND} ${WRKSRC}/examples -name \*.blsav -print | ${XARGS} ${RM} -f
	${MV} ${WRKSRC}/maple/maple2scilab.mpl ${WRKSRC}/maple/maple2scilab.mpl.bak
	${SED} 's;${WRKSRC};${PREFIX}/lib/${SCIBASE};g' ${WRKSRC}/maple/maple2scilab.mpl.bak > \
		${WRKSRC}/maple/maple2scilab.mpl
	${RM} -f ${WRKSRC}/maple/maple2scilab.mpl.bak

# delete some .orig files that got created by patching
# also fix the libtool link
post-install:
	${RM} -f ${PREFIX}/lib/${SCIBASE}/config/Makeso.incl.in.orig
	${RM} -f ${PREFIX}/lib/${SCIBASE}/macros/util/scipad.sci.orig
	${RM} -f ${PREFIX}/lib/${SCIBASE}/libtool
	${LN} -s ${LOCALBASE}/bin/libtool ${PREFIX}/lib/${SCIBASE}/libtool
	${RM} -f ${PREFIX}/lib/${SCIBASE}/config/*.subst.sav
	${RM} -f ${PREFIX}/lib/${SCIBASE}/config/config.guess
	${RM} -f ${PREFIX}/lib/${SCIBASE}/config/config.sub

.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "arm32"
GCC_REQD+=		2.95.3
.endif

# the "SCI=0 && unset SCI" is done because some of the tests really will
# fail if SCI is set to anything.
MAKE_ENV+=	SCI=${WRKSRC:Q}
do-test:
	cd ${WRKSRC}/examples && \
		${MAKE_ENV} ${MAKE_PROGRAM} tests 2>&1 | \
		${TEE} ${WRKDIR}/examples.log

# scilab wants ocamlopt so use the same list here as in the
# lang/ocaml package
.if (${MACHINE_ARCH} == "i386") || (${MACHINE_ARCH} == "powerpc") || \
    (${MACHINE_ARCH} == "sparc")
PLIST_SRC=	${PKGDIR}/PLIST.opt ${PKGDIR}/PLIST
.include "../../lang/ocaml/buildlink3.mk"
.else
PLIST_SRC=	${PKGDIR}/PLIST
CONFIGURE_ARGS+=	--without-ocaml
.endif
.include "../../parallel/pvm3/buildlink3.mk"
.include "../../textproc/sablotron/buildlink3.mk"
.include "../../x11/tk/buildlink3.mk"
.include "../../x11/Xaw3d/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"