View | Details | Raw Unified | Return to bug 210987 | Differences between
and this patch

Collapse All | Expand All

(-)Makefile (-9 / +165 lines)
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_VARS=		MANUAL_PACKAGE_BUILD="Choose a BLAS option other than ATLAS for package building."
62
63
ICU_CONFIGURE_WITH=	ICU
64
ICU_LIB_DEPENDS=	libicui18n.so:devel/icu
65
66
LDOUBLE_CONFIGURE_ENABLE=long-double
67
68
LTO_CONFIGURE_ENABLE=	lto
69
70
.for i in acos asin atan cos cosh exp log pow sin sinh tan tanh
71
MISSING_CONFIGURE_ENV+=	ac_cv_have_decl_c${i}=yes
72
.endfor
73
MISSING_LIB_DEPENDS=	libmissing.so:math/libmissing
74
MISSING_VARS=		LIBM="-L${LOCALBASE}/lib -lmissing -lm" \
75
			LIBMH=<missing_math.h>
76
MISSING_VARS_OFF=	LIBM='-lquadmath -lm' \
77
			LIBMH=<quadmath.h>
78
79
NETLIB_USES=		blaslapack:netlib
80
81
OPENBLAS_USES=		blaslapack:openblas
82
83
OPENMP_CONFIGURE_ENABLE=openmp
84
85
NLS_CONFIGURE_OFF=	--disable-nls
86
NLS_USES=		gettext
87
88
.for i in KPSEWHICH MAKEINDEX PDFLATEX PDFTEX TEX TEXI2DVI
89
CONFIGURE_ENV+=		ac_cv_path_${i}=""
90
.endfor
91
92
RBLAS_CONFIGURE_ON=	--without-blas \
93
			--without-lapack
94
RBLAS_CONFIGURE_OFF=	--with-blas="-L${LOCALBASE}/lib ${BLASLIB}" \
95
			--with-lapack="${LAPACKLIB}"
96
97
.include "compiler.mk"
98
.include <bsd.port.options.mk>
99
100
.if ${OSVERSION} > 1000052 && \
101
(${ARCH} == amd64 || ${ARCH} == i386 || ${ARCH} == ia64 || ${ARCH} == pc98 || \
102
${ARCH} == sparc64)
103
.for i in coshl erfcl erfl lgammal powl sinhl tanhl tgammal
104
CFLAGS+=		-fno-builtin-${i}
105
LDFLAGS+=		-fno-builtin-${i}
106
.endfor
107
.endif
108
109
post-patch:
110
.if !${PORT_OPTIONS:MMISSING}
111
.if ${OSVERSION} < 1000016
112
	@${REINPLACE_CMD} -e \
113
's/# define EXP expl/# define EXP(x) (long double)expq((__float128)(x))/' \
114
		${WRKSRC}/src/nmath/pnchisq.c \
115
		${WRKSRC}/src/nmath/pgamma.c
116
	@${REINPLACE_CMD} -e \
117
's/# define LOG logl/# define LOG(x) (long double)logq((__float128)(x))/' \
118
		${WRKSRC}/src/nmath/pnchisq.c \
119
		${WRKSRC}/src/nmath/pgamma.c
120
.endif
121
.if ${OSVERSION} < 1000034
122
	@${REINPLACE_CMD} -Ee 's/(log)(1p)?l\(/(long double)\1\2q((__float128)/'\
123
		${WRKSRC}/src/nmath/dnbeta.c \
124
		${WRKSRC}/src/nmath/pnbeta.c
125
.endif
126
	@${REINPLACE_CMD} -Ee \
127
's/powl\((.*)(long double)/(long double)powq((__float128)\1__float128/' \
128
		${WRKSRC}/src/main/format.c
129
.else # !PORT_OPTIONS:MMISSING
130
.if ${OSVERSION} > 1000052 && \
131
(${ARCH} == amd64 || ${ARCH} == i386 || ${ARCH} == ia64 || ${ARCH} == pc98 || \
132
${ARCH} == sparc64)
133
	@${REINPLACE_CMD} -e '\|^FLIBS="$$ac_cv_f77_libs"|s|"|&${LIBM} |' \
134
		${WRKSRC}/configure
135
.endif
136
	@${REINPLACE_CMD} -e \
137
'\|#[[:blank:]]*include[[:blank:]]*<complex.h>|{x;s|^.*$$|#include "missing_complex.h"|;H;x;}' \
138
		${WRKSRC}/src/main/complex.c
139
.endif # !PORT_OPTIONS:MMISSING
140
	@${REINPLACE_CMD} -e \
141
'\|#[[:blank:]]*include[[:blank:]]*<math.h>|{x;s|^.*$$|#include ${LIBMH}|;H;x;}'\
142
		${WRKSRC}/src/nmath/nmath.h \
143
		${WRKSRC}/src/include/Rmath.h0.in
144
	@${REINPLACE_CMD} -e 's|(libdir)/pkgconfig|(prefix)/libdata/pkgconfig|g'\
145
		${WRKSRC}/src/nmath/standalone/Makefile.in \
146
		${WRKSRC}/src/unix/Makefile.in
147
	@${REINPLACE_CMD} -e "s|/usr/local|${LOCALBASE}|g" \
148
		${WRKSRC}/configure \
149
		${WRKSRC}/src/library/profile/Rprofile.unix \
150
		${WRKSRC}/src/scripts/javareconf.in
151
152
.if !${PORT_OPTIONS:MMISSING}
153
pre-configure:
154
	@if [ ! -f ${_GCC_RUNTIME}/libquadmath.a ] ; then \
155
		IGNORE="\n\n\n%s\n\n\n" "libquadmath is not available for your\
156
		compiler and architecture: please enable the MISSING option."; \
157
	fi
158
.endif
159
160
do-build:
161
.for d in include extra
162
	@(cd ${WRKSRC}/src/${d}; ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS} \
163
	${MAKE_ARGS} R)
164
.endfor
165
	@(cd ${WRKSRC}/src/main; ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS} \
166
	${MAKE_ARGS} Makefile Makedeps libR.a)
167
168
do-install:
169
	@${MKDIR} ${STAGEDIR}${PREFIX}/lib/R/lib
170
	${INSTALL_DATA} ${WRKSRC}/src/main/libR.a ${STAGEDIR}${PREFIX}/lib/R/lib
171
172
.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 = 1468110440
2
SHA256 (R-3.3.1.tar.gz) = 3dc59ae5831f5380f83c169bac2103ad052efe0ecec4ffa74bde4d85a0fda9e2
3
SIZE (R-3.3.1.tar.gz) = 29848329
(-)pkg-descr (-3 / +2 lines)
Lines 1-5 Link Here
1
This is the static libR library from R -- a language and
1
This is the static libR library from R, a language and environment for
2
environment for statistical computing and graphics.
2
statistical computing and graphics.  See the math/R port.
3
See ports/math/R.
4
3
5
WWW: http://www.R-project.org/
4
WWW: http://www.R-project.org/

Return to bug 210987