Lines 1-16
Link Here
|
1 |
# Created by: bf <bf@FreeBSD.org> |
1 |
# Created by: bf <bf@FreeBSD.org> |
2 |
# $FreeBSD$ |
2 |
# $FreeBSD$ |
3 |
|
3 |
|
4 |
PORTNAME= libR |
4 |
PORTNAME= libR |
|
|
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 static libR library from R |
25 |
MAINTAINER= jrm@ftfl.ca |
|
|
26 |
COMMENT= Static libR library from R |
7 |
|
27 |
|
8 |
DESCR= ${.CURDIR}/pkg-descr |
28 |
LICENSE= GPLv2 |
9 |
LIBR_SLAVEPORT= yes |
|
|
10 |
MASTERDIR= ${.CURDIR}/../R |
11 |
PLIST= ${.CURDIR}/pkg-plist |
12 |
PLIST_FILES= lib/R/lib/libR.a |
13 |
|
29 |
|
14 |
BROKEN= Transient breakage while restructuring the master port |
30 |
LIB_DEPENDS= libcurl.so:ftp/curl \ |
|
|
31 |
libpcre.so:devel/pcre |
15 |
|
32 |
|
16 |
.include "${MASTERDIR}/Makefile" |
33 |
PLIST_FILES= lib/R/lib/libR.a |
|
|
34 |
|
35 |
GNU_CONFIGURE= yes |
36 |
USES= fortran iconv objc:compiler perl5 readline |
37 |
USE_PERL5= build |
38 |
USE_LDCONFIG= ${PREFIX}/lib/R/lib |
39 |
CONFIGURE_ARGS= --enable-memory-profiling --enable-R-static-lib \ |
40 |
--disable-BLAS-shlib --without-cairo --disable-java \ |
41 |
--without-jpeglib --without-pic --without-libpng \ |
42 |
--without-tcltk --without-libtiff --without-x \ |
43 |
rdocdir=${DOCSDIR} |
44 |
INSTALL_TARGET= install-strip |
45 |
|
46 |
OPTIONS_DEFINE= DOCS LDOUBLE LTO MISSING NLS OPENMP |
47 |
|
48 |
OPTIONS_SINGLE= BLAS |
49 |
OPTIONS_SINGLE_BLAS= ATLAS OPENBLAS NETLIB RBLAS |
50 |
|
51 |
ATLAS_DESC= ATLAS BLAS implementation |
52 |
LDOUBLE_DESC= Enable long double data type |
53 |
LTO_DESC= Try to produce faster code through LTO |
54 |
MISSING_DESC= Use libmissing rather than libquadmath |
55 |
NETLIB_DESC= Netlib BLAS implementation |
56 |
OPENBLAS_DESC= OpenBLAS BLAS implementation |
57 |
RBLAS_DESC= Use R-bundled BLAS implementation |
58 |
|
59 |
OPTIONS_DEFAULT= OPENBLAS |
60 |
|
61 |
ATLAS_USES= blaslapack:atlas |
62 |
ATLAS_VARS= MANUAL_PACKAGE_BUILD="Choose a BLAS option other than ATLAS for package building." |
63 |
|
64 |
ICU_CONFIGURE_WITH= ICU |
65 |
ICU_LIB_DEPENDS= libicui18n.so:devel/icu |
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 |
NLS_CONFIGURE_OFF= --disable-nls |
87 |
NLS_USES= gettext |
88 |
|
89 |
.for i in KPSEWHICH MAKEINDEX PDFLATEX PDFTEX TEX TEXI2DVI |
90 |
CONFIGURE_ENV+= ac_cv_path_${i}="" |
91 |
.endfor |
92 |
|
93 |
RBLAS_CONFIGURE_ON= --without-blas \ |
94 |
--without-lapack |
95 |
RBLAS_CONFIGURE_OFF= --with-blas="-L${LOCALBASE}/lib ${BLASLIB}" \ |
96 |
--with-lapack="${LAPACKLIB}" |
97 |
|
98 |
.include "compiler.mk" |
99 |
.include <bsd.port.options.mk> |
100 |
|
101 |
.if ${OSVERSION} > 1000052 && \ |
102 |
(${ARCH} == amd64 || ${ARCH} == i386 || ${ARCH} == ia64 || ${ARCH} == pc98 || \ |
103 |
${ARCH} == sparc64) |
104 |
.for i in coshl erfcl erfl lgammal powl sinhl tanhl tgammal |
105 |
CFLAGS+= -fno-builtin-${i} |
106 |
LDFLAGS+= -fno-builtin-${i} |
107 |
.endfor |
108 |
.endif |
109 |
|
110 |
post-patch: |
111 |
.if !${PORT_OPTIONS:MMISSING} |
112 |
.if ${OSVERSION} < 1000016 |
113 |
@${REINPLACE_CMD} -e \ |
114 |
's/# define EXP expl/# define EXP(x) (long double)expq((__float128)(x))/' \ |
115 |
${WRKSRC}/src/nmath/pnchisq.c \ |
116 |
${WRKSRC}/src/nmath/pgamma.c |
117 |
@${REINPLACE_CMD} -e \ |
118 |
's/# define LOG logl/# define LOG(x) (long double)logq((__float128)(x))/' \ |
119 |
${WRKSRC}/src/nmath/pnchisq.c \ |
120 |
${WRKSRC}/src/nmath/pgamma.c |
121 |
.endif |
122 |
.if ${OSVERSION} < 1000034 |
123 |
@${REINPLACE_CMD} -Ee 's/(log)(1p)?l\(/(long double)\1\2q((__float128)/'\ |
124 |
${WRKSRC}/src/nmath/dnbeta.c \ |
125 |
${WRKSRC}/src/nmath/pnbeta.c |
126 |
.endif |
127 |
@${REINPLACE_CMD} -Ee \ |
128 |
's/powl\((.*)(long double)/(long double)powq((__float128)\1__float128/' \ |
129 |
${WRKSRC}/src/main/format.c |
130 |
.else # !PORT_OPTIONS:MMISSING |
131 |
.if ${OSVERSION} > 1000052 && \ |
132 |
(${ARCH} == amd64 || ${ARCH} == i386 || ${ARCH} == ia64 || ${ARCH} == pc98 || \ |
133 |
${ARCH} == sparc64) |
134 |
@${REINPLACE_CMD} -e '\|^FLIBS="$$ac_cv_f77_libs"|s|"|&${LIBM} |' \ |
135 |
${WRKSRC}/configure |
136 |
.endif |
137 |
@${REINPLACE_CMD} -e \ |
138 |
'\|#[[:blank:]]*include[[:blank:]]*<complex.h>|{x;s|^.*$$|#include "missing_complex.h"|;H;x;}' \ |
139 |
${WRKSRC}/src/main/complex.c |
140 |
.endif # !PORT_OPTIONS:MMISSING |
141 |
@${REINPLACE_CMD} -e \ |
142 |
'\|#[[:blank:]]*include[[:blank:]]*<math.h>|{x;s|^.*$$|#include ${LIBMH}|;H;x;}'\ |
143 |
${WRKSRC}/src/nmath/nmath.h \ |
144 |
${WRKSRC}/src/include/Rmath.h0.in |
145 |
@${REINPLACE_CMD} -e 's|(libdir)/pkgconfig|(prefix)/libdata/pkgconfig|g'\ |
146 |
${WRKSRC}/src/nmath/standalone/Makefile.in \ |
147 |
${WRKSRC}/src/unix/Makefile.in |
148 |
@${REINPLACE_CMD} -e "s|/usr/local|${LOCALBASE}|g" \ |
149 |
${WRKSRC}/configure \ |
150 |
${WRKSRC}/src/library/profile/Rprofile.unix \ |
151 |
${WRKSRC}/src/scripts/javareconf.in |
152 |
|
153 |
.if !${PORT_OPTIONS:MMISSING} |
154 |
pre-configure: |
155 |
@if [ ! -f ${_GCC_RUNTIME}/libquadmath.a ] ; then \ |
156 |
IGNORE="\n\n\n%s\n\n\n" "libquadmath is not available for your\ |
157 |
compiler and architecture: please enable the MISSING option."; \ |
158 |
fi |
159 |
.endif |
160 |
|
161 |
do-build: |
162 |
.for d in include extra |
163 |
@(cd ${WRKSRC}/src/${d}; ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS} \ |
164 |
${MAKE_ARGS} R) |
165 |
.endfor |
166 |
@(cd ${WRKSRC}/src/main; ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS} \ |
167 |
${MAKE_ARGS} Makefile Makedeps libR.a) |
168 |
|
169 |
do-install: |
170 |
@${MKDIR} ${STAGEDIR}${PREFIX}/lib/R/lib |
171 |
${INSTALL_DATA} ${WRKSRC}/src/main/libR.a ${STAGEDIR}${PREFIX}/lib/R/lib |
172 |
|
173 |
.include <bsd.port.mk> |