View | Details | Raw Unified | Return to bug 210990
Collapse All | Expand All

(-)Makefile (-9 / +172 lines)
Lines 1-17 Link Here
1
# Created by: Eric van Gyzen <vangyzen@stat.duke.edu>
1
# Created by: Eric van Gyzen <vangyzen@stat.duke.edu>
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	libRmath
4
PORTNAME=		libRmath
5
PORTVERSION=		3.3.1
6
PORTREVISION=		2
7
CATEGORIES=		math lang
8
MASTER_SITES=		http://cran.r-project.org/%SUBDIR%/ \
9
			ftp://cran.r-project.org/pub/R/%SUBDIR%/ \
10
			http://cran.at.r-project.org/%SUBDIR%/ \
11
			http://cran.au.r-project.org/%SUBDIR%/ \
12
			http://cran.br.r-project.org/%SUBDIR%/ \
13
			http://cran.ch.r-project.org/%SUBDIR%/ \
14
			http://cran.es.r-project.org/%SUBDIR%/ \
15
			http://cran.dk.r-project.org/%SUBDIR%/ \
16
			http://cran.uk.r-project.org/%SUBDIR%/ \
17
			http://cran.us.r-project.org/%SUBDIR%/ \
18
			ftp://ftp.u-aizu.ac.jp/pub/lang/R/CRAN/%SUBDIR%/ \
19
			http://lib.stat.cmu.edu/R/CRAN/%SUBDIR%/ \
20
			http://cran.stat.ucla.edu/%SUBDIR%/ \
21
			http://probability.ca/cran/%SUBDIR%/
22
MASTER_SITE_SUBDIR=	src/base/R-${PORTVERSION:C|\..*||}
23
DISTNAME=		R-${DISTVERSION}${DISTVERSIONSUFFIX}
5
24
6
COMMENT=	The standalone math library from R
25
MAINTAINER=		jrm@ftfl.ca
26
COMMENT=		Standalone math library from R
7
27
8
BROKEN=		fails to configure
28
LICENSE=		GPLv2
9
29
10
DESCR=	${.CURDIR}/pkg-descr
30
LIB_DEPENDS=		libcurl.so:ftp/curl \
11
LIBRMATH_SLAVEPORT=	yes
31
			libpcre.so:devel/pcre
12
MASTERDIR=	${.CURDIR}/../R
13
PLIST=	${.CURDIR}/pkg-plist
14
32
15
BROKEN_powerpc64=	Does not build
33
BUILD_WRKSRC=		${WRKSRC}/src/nmath/standalone
16
34
17
.include "${MASTERDIR}/Makefile"
35
RMATH_SOVERSION=	0
36
GNU_CONFIGURE=		yes
37
USES=			fortran readline
38
USE_LDCONFIG=		yes
39
CONFIGURE_ARGS=		--without-cairo --without-ICU --disable-java \
40
			--without-jpeglib --without-libintl-prefix \
41
			--without-libpng --disable-nls --without-readline \
42
			--without-tcltk --without-libtiff --without-x
43
CONFIGURE_ENV+=		ac_cv_header_iconv_h=no
44
PLIST_SUB=		RMATH_SOVERSION="${RMATH_SOVERSION}"
45
46
R_LD_LIBRARY_PATH=	${_GCC_RUNTIME}:${LOCALBASE}/lib
47
MAKE_JOBS_UNSAFE=	yes
48
49
OPTIONS_DEFINE=		MISSING DOCS LTO OPENMP LDOUBLE
50
51
OPTIONS_SINGLE=		BLAS
52
OPTIONS_SINGLE_BLAS=	ATLAS OPENBLAS NETLIB RBLAS
53
54
ATLAS_DESC=		ATLAS BLAS implementation
55
LDOUBLE_DESC=		Enable long double data type
56
LTO_DESC=		Try to produce faster code through LTO
57
MISSING_DESC=		Use libmissing rather than libquadmath
58
NETLIB_DESC=		Netlib BLAS implementation
59
OPENBLAS_DESC=		OpenBLAS BLAS implementation
60
RBLAS_DESC=		Use R-bundled BLAS implementation
61
62
OPTIONS_DEFAULT=	OPENBLAS
63
64
ATLAS_USES=		blaslapack:atlas
65
ATLAS_VARS=		MANUAL_PACKAGE_BUILD="Choose a BLAS option other than ATLAS for package building."
66
67
LDOUBLE_CONFIGURE_ENABLE=long-double
68
69
LTO_CONFIGURE_ENABLE=	lto
70
71
.for i in acos asin atan cos cosh exp log pow sin sinh tan tanh
72
MISSING_CONFIGURE_ENV+=	ac_cv_have_decl_c${i}=yes
73
.endfor
74
MISSING_LIB_DEPENDS=	libmissing.so:math/libmissing
75
MISSING_VARS=		LIBM="-L${LOCALBASE}/lib -lmissing -lm" \
76
			LIBMH=<missing_math.h>
77
MISSING_VARS_OFF=	LIBM='-lquadmath -lm' \
78
			LIBMH=<quadmath.h>
79
80
NETLIB_USES=		blaslapack:netlib
81
82
OPENBLAS_USES=		blaslapack:openblas
83
84
OPENMP_CONFIGURE_ENABLE=openmp
85
86
.for i in KPSEWHICH MAKEINDEX PDFLATEX PDFTEX TEX TEXI2DVI
87
CONFIGURE_ENV+=		ac_cv_path_${i}=""
88
.endfor
89
90
RBLAS_CONFIGURE_ON=	--without-blas \
91
			--without-lapack
92
RBLAS_CONFIGURE_OFF=	--with-blas="-L${LOCALBASE}/lib ${BLASLIB}" \
93
			--with-lapack="${LAPACKLIB}"
94
95
.include "compiler.mk"
96
.include <bsd.port.options.mk>
97
98
.if ${OSVERSION} > 1000052 && \
99
(${ARCH} == amd64 || ${ARCH} == i386 || ${ARCH} == ia64 || ${ARCH} == pc98 || \
100
${ARCH} == sparc64)
101
.for _f in coshl erfcl erfl lgammal powl sinhl tanhl tgammal
102
CFLAGS+=	-fno-builtin-${_f}
103
LDFLAGS+=	-fno-builtin-${_f}
104
.endfor
105
.endif
106
107
.if ${PORT_OPTIONS:MMISSING}
108
.for _f in acos asin atan cos cosh exp log pow sin sinh tan tanh
109
CONFIGURE_ENV+=		ac_cv_have_decl_c${_f}=yes
110
.endfor
111
LIB_DEPENDS+=		libmissing.so:math/libmissing
112
LIBM=			-L${LOCALBASE}/lib -lmissing -lm
113
LIBMH=			"missing_math.h"
114
.if defined(LIBRMATH_SLAVEPORT)
115
CPPFLAGS+=		-I${LOCALBASE}/include
116
.endif
117
.else
118
LIBM=			-lquadmath -lm
119
LIBMH=			<quadmath.h>
120
.endif
121
122
post-patch:
123
.if !${PORT_OPTIONS:MMISSING}
124
.if ${OSVERSION} < 1000016
125
	@${REINPLACE_CMD} -e \
126
's/# define EXP expl/# define EXP(x) (long double)expq((__float128)(x))/' \
127
		${WRKSRC}/src/nmath/pnchisq.c \
128
		${WRKSRC}/src/nmath/pgamma.c
129
	@${REINPLACE_CMD} -e \
130
's/# define LOG logl/# define LOG(x) (long double)logq((__float128)(x))/' \
131
		${WRKSRC}/src/nmath/pnchisq.c \
132
		${WRKSRC}/src/nmath/pgamma.c
133
.endif
134
.if ${OSVERSION} < 1000034
135
	@${REINPLACE_CMD} -Ee 's/(log)(1p)?l\(/(long double)\1\2q((__float128)/'\
136
		${WRKSRC}/src/nmath/dnbeta.c \
137
		${WRKSRC}/src/nmath/pnbeta.c
138
.endif
139
	@${REINPLACE_CMD} -Ee \
140
's/powl\((.*)(long double)/(long double)powq((__float128)\1__float128/' \
141
		${WRKSRC}/src/main/format.c
142
.else # !PORT_OPTIONS:MMISSING
143
.if ${OSVERSION} > 1000052 && \
144
(${ARCH} == amd64 || ${ARCH} == i386 || ${ARCH} == ia64 || ${ARCH} == pc98 || \
145
${ARCH} == sparc64)
146
	@${REINPLACE_CMD} -e '\|^FLIBS="$$ac_cv_f77_libs"|s|"|&${LIBM} |' \
147
		${WRKSRC}/configure
148
.endif
149
	@${REINPLACE_CMD} -e \
150
'\|#[[:blank:]]*include[[:blank:]]*<complex.h>|{x;s|^.*$$|#include "missing_complex.h"|;H;x;}' \
151
		${WRKSRC}/src/main/complex.c
152
.endif # !PORT_OPTIONS:MMISSING
153
	@${REINPLACE_CMD} -e \
154
'\|#[[:blank:]]*include[[:blank:]]*<math.h>|{x;s|^.*$$|#include ${LIBMH}|;H;x;}'\
155
		${WRKSRC}/src/nmath/nmath.h \
156
		${WRKSRC}/src/include/Rmath.h0.in
157
	@${REINPLACE_CMD} -e 's|(libdir)/pkgconfig|(prefix)/libdata/pkgconfig|g'\
158
		${WRKSRC}/src/nmath/standalone/Makefile.in \
159
		${WRKSRC}/src/unix/Makefile.in
160
	@${REINPLACE_CMD} -e "s|/usr/local|${LOCALBASE}|g" \
161
		${WRKSRC}/configure \
162
		${WRKSRC}/src/library/profile/Rprofile.unix \
163
		${WRKSRC}/src/scripts/javareconf.in
164
165
.if ! ${PORT_OPTIONS:MMISSING}
166
pre-configure:
167
	@if [ ! -f ${_GCC_RUNTIME}/libquadmath.a ] ; then \
168
		IGNORE="\n\n\n%s\n\n\n" "libquadmath is not available for your\
169
		compiler and architecture: please enable the MISSING option."; \
170
	fi
171
.endif
172
173
do-install:
174
	${INSTALL_DATA} ${WRKSRC}/src/include/Rmath.h ${STAGEDIR}${PREFIX}/include
175
	${INSTALL_DATA} ${BUILD_WRKSRC}/libRmath.a ${STAGEDIR}${PREFIX}/lib
176
	${INSTALL_LIB} ${BUILD_WRKSRC}/libRmath.so \
177
	${STAGEDIR}${PREFIX}/lib/libRmath.so.${RMATH_SOVERSION}
178
	@(cd ${STAGEDIR}${PREFIX}/lib; ${LN} -sf libRmath.so.${RMATH_SOVERSION} libRmath.so)
179
180
.include <bsd.port.mk>
(-)compiler.mk (+2 lines)
Line 0 Link Here
1
# Compiler settings required for R and the R-cran ports.
2
USE_GCC=	yes
(-)distinfo (+3 lines)
Line 0 Link Here
1
TIMESTAMP = 1468186527
2
SHA256 (R-3.3.1.tar.gz) = 3dc59ae5831f5380f83c169bac2103ad052efe0ecec4ffa74bde4d85a0fda9e2
3
SIZE (R-3.3.1.tar.gz) = 29848329

Return to bug 210990