2005-05-02 18:57:19 +02:00
|
|
|
# $NetBSD: Makefile,v 1.64 2005/05/02 16:57:19 drochner Exp $
|
1998-12-04 12:36:03 +01:00
|
|
|
|
2005-05-02 18:57:19 +02:00
|
|
|
DISTNAME= R-2.1.0
|
2000-04-19 17:30:05 +02:00
|
|
|
CATEGORIES= math
|
2004-11-18 13:31:29 +01:00
|
|
|
MASTER_SITES= ${MASTER_SITE_R_CRAN:=base/R-2/}
|
2000-04-19 17:30:05 +02:00
|
|
|
|
2003-07-17 23:41:05 +02:00
|
|
|
MAINTAINER= markd@NetBSD.org
|
2000-11-03 02:14:51 +01:00
|
|
|
HOMEPAGE= http://www.R-project.org/
|
2001-08-13 12:25:03 +02:00
|
|
|
COMMENT= Statistical language for data analysis and graphics
|
2000-04-19 17:30:05 +02:00
|
|
|
|
2002-06-16 04:56:50 +02:00
|
|
|
#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
|
|
|
|
|
2004-05-18 13:27:29 +02:00
|
|
|
PKG_INSTALLATION_TYPES= overwrite pkgviews
|
|
|
|
|
2003-12-03 13:05:18 +01:00
|
|
|
TEST_TARGET= check
|
2000-04-19 17:30:05 +02:00
|
|
|
USE_X11= # defined
|
|
|
|
USE_PERL5= # defined
|
2004-01-24 14:51:13 +01:00
|
|
|
USE_GNU_TOOLS+= make
|
2001-07-23 15:14:44 +02:00
|
|
|
USE_GNU_READLINE= # uses callback interface
|
2003-12-03 13:05:18 +01:00
|
|
|
USE_MAKEINFO= # defined
|
2004-11-18 13:31:29 +01:00
|
|
|
TEXINFO_REQD= 4.5
|
2000-04-19 17:30:05 +02:00
|
|
|
|
|
|
|
GNU_CONFIGURE= # defined
|
Update R to version 1.6.1.
Pkgsrc changes:
Now builds the libR.so and provides a buildlink2.mk for packages that want
to use it. From suggestions from Kent Polk.
Recommended library set is now included in the base package.
Changes:
CHANGES IN R VERSION 1.6.1
NEW FEATURES
o Added a few "trivial and obviously missing" functions to tcltk:
tkchooseDirectory, tkpopup, tkdialog, tkread
o barplot() has a new argument `axis.lty', which if set to 1
allows the pre-1.6.0 behaviour of plotting the axis and tick
marks for the categorical axis. (This was apparently not
intentional, but axis() used to ignore lty=0.)
The argument `border' is no longer ".NotYetUsed".
CHANGES IN R VERSION 1.6.0
USER-VISIBLE CHANGES
o The default colour palette now has "grey" instead of "white"
in location 8. See palette().
o grid(nx) behaves differently (but the same as in R versions <= 0.64).
NEW FEATURES
o Preparations for name space support:
o The objects created in the methods package to represent
classes, generic functions, method definitions, and
inheritance relations now themselves belong to true classes. In
particular, the "classRepresentation" objects follow the description
in "Programming with Data" (section 7.6).
o Other additions and changes to the methods package:
o New methods ([[, print, str) and extended plot() method
(incl. logical `horiz') for "dendrogram" class.
o sprintf() now checks the agreement between formats and object
types, and handles special values (NA, Inf, ...) correctly.
o chol() now uses a tolerance for non-positive-definiteness and
so should give more consistent results across platforms.
o New function agrep() for approximate (fuzzy) string matching.
o help.search() can now use both approximate (fuzzy) and regular
expression matching. By default, if the pattern to be matched
consists of only alphanumeric characters, whitespace or a dash,
approximate matching is used.
o axis() has three new optional arguments `col', `lty', and `lwd'
all for drawing the axis line and tick marks.
o Function vcov() (formerly in MASS), a generic function to
return the variance-covariance matrix of the parameter
estimates of a fitted model.
o duplicated() and unique() have methods for matrices and arrays
(based on ideas from Jens Oehlschl<E4>gel).
o Internally memory sizes and counts of cons cells are now stored
in unsigned longs. This allows memory limits to be set and
objects created in the range 2-4Gb on 32-bit platforms, and
allows 64-bit platforms to use much larger amounts of memory.
o Command-line flags to set memory can now use the suffix `G'
for gigabytes. The setting of maximum vsize is now only
limited by the platform's address space.
o All warning and error messages are truncated to a length set
by options(warning.length=), defaulting to 1000. (Previously
most (but not quite all) were truncated at 8192 characters.)
o [dpqr]gamma() check for shape parameter > 0.
o as.POSIX[cl]t can now convert logical NAs.
o All installed packages (even those shipped with R) are
given a `Built' field in the DESCRIPTION file.
o as.data.frame() now coerces logical matrices into logical
columns (rather than factors).
o [[<-.data.frame no longer coerces character replacement values
to factor. This is consistent with using $ to replace and
with S4.
o library() attempts to detect improperly installed packages, so
as from this version an installed package must have a
DESCRIPTION file and that file must have been stamped with a
`Built:' line (which was introduced in 1.2.0). Under
Unix-alikes, the platform is checked against that used for
installation.
o print.factor() has new arguments `max.levels' (with a smart default)
and `width'. print.ordered() is no longer needed.
o RNGkind() has an additional option for normal random generators:
"Inversion".
o data.frame() recycles factors and "AsIs" objects as well as
atomic vectors.
o rect() accepts additional graphics parameters through a ...
argument (in the same way as polygon).
o strwidth/strheight() now coerce their first argument in exactly
the same way text() does, so a wider range of inputs is allowed.
o prompt()'s default and data.frame methods have a new 3rd argument
`name' allowing them to used more easily in scripts and loops.
o rgb() has a new `maxColorValue' argument, allowing r,g,b in [0,M],
particularly in {0:255}, efficiently and non-error-prone.
o summaryRprof() provides the functionality of R CMD Rprof in R
code, though more slowly.
o pdf() now uses PDF not R code for clipping, which ensures that
partially visible text strings are (partially) shown.
o Each R session uses a per-session temporary directory which
is removed at normal termination. The directory name is given
by the tempdir() function, and filenames returned by
tempfile() will be within that directory.
o help.start() on Unix now uses a .R subdirectory of the
per-session temporary directory and not ~/.R. A side effect
is that ~/.R is now never deleted by R.
o cbind/rbind() used to ignore all zero-length vectors, an
undocumented quirk for S-compatibility. This caused problems
when combining zero-extent matrices and zero-length vectors, and
now zero-length vectors are ignored unless the result would
have zero rows/columns.
o plot.spec(x) now also works for other x than AR and Pgram results.
o New functions La.chol() and La.chol2inv() for Cholesky
decomposition and inverse of positive definite matrices using
Lapack.
o Changes to the tcltk package
o New function axTicks() returning tick mark locations like axis().
o grid() has a more sensible default behavior. Tick axis alignment
only happens when no numbers of grid cells are specified. New
arguments lwd and equilogs; nx/ny = NA for not drawing, see ?grid.
o installed.packages() has a new argument `priority'.
o termplot() uses factor levels rather than 1,2,3... for x-axis.
o The trace() function has been robustified and a new function
tracingState() added to turn tracing temporarily on and off.
o New cophenetic() in "mva" as utility for hierarchical clustering.
o p.adjust() has two new methods, 'Hommel' and 'FDR', contributed
by Gordon Smyth <smyth@wehi.edu.au>.
o stars() now has add and plot arguments.
and lots of bug fixes.
2002-12-10 12:58:10 +01:00
|
|
|
CONFIGURE_ARGS+= --enable-R-shlib
|
2000-08-12 01:02:37 +02:00
|
|
|
CONFIGURE_ARGS+= --with-x
|
|
|
|
CONFIGURE_ARGS+= --with-readline
|
2001-07-23 15:14:44 +02:00
|
|
|
CONFIGURE_ARGS+= --with-tcltk
|
2002-09-09 02:59:00 +02:00
|
|
|
CONFIGURE_ARGS+= --with-tcl-config=${BUILDLINK_PREFIX.tcl}/lib/tclConfig.sh
|
|
|
|
CONFIGURE_ARGS+= --with-tk-config=${BUILDLINK_PREFIX.tk}/lib/tkConfig.sh
|
2001-07-23 15:14:44 +02:00
|
|
|
CONFIGURE_ARGS+= --without-gnome # not yet stable
|
Update R to 1.9.0 and buildlink3ify
USER-VISIBLE CHANGES
o Underscore '_' is now allowed in syntactically valid names, and
make.names() no longer changes underscores. Very old code
that makes use of underscore for assignment may now give
confusing error messages.
o Package 'base' has been split into packages 'base', 'graphics',
'stats' and 'utils'. All four are loaded in a default
installation, but the separation allows a 'lean and mean'
version of R to be used for tasks such as building indices.
Packages ctest, eda, modreg, mva, nls, stepfun and ts have been
merged into stats, and lqs has been returned to MASS. In all
cases a stub has been left that will issue a warning and ensure
that the appropriate new home is loaded. All the time series
datasets have been moved to package stats. Sweave has been
moved to utils.
Package mle has been moved to stats4 which will become the
central place for statistical S4 classes and methods
distributed with base R. Package mle remains as a stub.
Users may notice that code in .Rprofile is run with only the
new base loaded and so functions may now not be found. For
example, ps.options(horizontal = TRUE) should be preceded by
library(graphics) or called as graphics::ps.options or,
better, set as a hook -- see ?setHook.
o There has been a concerted effort to speed up the startup of
an R session: it now takes about 2/3rds of the time of 1.8.1.
o A warning is issued at startup in a UTF-8 locale, as currently R
only supports single-byte encodings.
plus many new features and bug fixes.
2004-04-27 13:24:31 +02:00
|
|
|
CONFIGURE_ARGS+= --with-zlib
|
|
|
|
CONFIGURE_ARGS+= --with-bzlib
|
|
|
|
CONFIGURE_ARGS+= --with-pcre
|
2001-07-23 15:14:44 +02:00
|
|
|
CONFIGURE_ENV+= XMKMF="${XMKMF}"
|
|
|
|
|
|
|
|
# Use BLAS (math/blas)
|
|
|
|
#
|
2000-08-12 01:02:37 +02:00
|
|
|
CONFIGURE_ARGS+= --without-atlas
|
2003-12-04 14:42:37 +01:00
|
|
|
CONFIGURE_ARGS+= --with-blas
|
2000-08-12 01:02:37 +02:00
|
|
|
CONFIGURE_ARGS+= --without-blas_risc
|
2000-04-19 17:30:05 +02:00
|
|
|
CONFIGURE_ARGS+= --without-dxml
|
2000-08-12 01:02:37 +02:00
|
|
|
CONFIGURE_ARGS+= --without-libmoto
|
|
|
|
|
2001-07-23 15:14:44 +02:00
|
|
|
# Work around missing MAIN__() definition used in -lF77 by AC_CHECK_LIB.
|
|
|
|
CONFIGURE_ENV+= ac_cv_lib_blas_dgemm=yes
|
|
|
|
CONFIGURE_ENV+= ac_cv_lib_blas_dgemm_=yes
|
2000-08-12 01:02:37 +02:00
|
|
|
|
2001-07-23 15:14:44 +02:00
|
|
|
# Pass the Fortran compiler to the configure script in case it's overridden
|
|
|
|
# by the package builder.
|
|
|
|
#
|
2004-03-01 12:42:13 +01:00
|
|
|
USE_LANGUAGES= c fortran
|
1998-12-04 12:36:03 +01:00
|
|
|
|
2004-05-08 00:47:26 +02:00
|
|
|
# Package assumes it can append to files (specifically DESCRIPTION) that have
|
|
|
|
# been installed SHAREMODE
|
|
|
|
SHAREMODE= 644
|
|
|
|
|
1998-12-04 12:36:03 +01:00
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
|
|
|
|
# R_PAPERSIZE can be: A4, Letter, Legal, Executive
|
|
|
|
#
|
|
|
|
.if defined(PAPERSIZE)
|
2000-04-19 17:30:05 +02:00
|
|
|
R_PAPERSIZE?= ${PAPERSIZE}
|
1999-06-09 02:45:08 +02:00
|
|
|
.else
|
2000-04-19 17:30:05 +02:00
|
|
|
R_PAPERSIZE?= A4
|
1999-05-26 01:45:05 +02:00
|
|
|
.endif
|
1998-12-04 12:36:03 +01:00
|
|
|
.if (${R_PAPERSIZE} == "Letterdj")
|
2000-04-19 17:30:05 +02:00
|
|
|
R_PAPERSIZE= Letter
|
1998-12-04 12:36:03 +01:00
|
|
|
.endif
|
2000-04-19 17:30:05 +02:00
|
|
|
CONFIGURE_ENV+= R_PAPERSIZE="${R_PAPERSIZE}"
|
1998-12-04 12:36:03 +01:00
|
|
|
|
2000-08-12 01:02:37 +02:00
|
|
|
# These macros are used during the build, so strip off the -o,-g flags.
|
|
|
|
#
|
|
|
|
INSTALL_DATA= ${INSTALL} ${COPY} -m ${SHAREMODE}
|
|
|
|
INSTALL_SCRIPT= ${INSTALL} ${COPY} -m ${BINMODE}
|
2000-04-19 17:30:05 +02:00
|
|
|
|
2000-08-16 21:04:42 +02:00
|
|
|
PLIST_SRC= ${WRKDIR}/.PLIST_SRC
|
|
|
|
R_LIBDIR= ${PREFIX}/lib/R
|
2002-09-26 07:36:48 +02:00
|
|
|
R_INSTALL_DIRS= ${R_LIBDIR}
|
2000-08-16 21:04:42 +02:00
|
|
|
|
2005-01-12 23:49:35 +01:00
|
|
|
# R does ugly things in the configure to get the default list of
|
|
|
|
# arguments for linking Fortran and exposes the buildlink directory
|
|
|
|
# in various files and scripts that will later be installed, so clean
|
|
|
|
# up after configure is complete.
|
2002-09-09 02:59:00 +02:00
|
|
|
#
|
2005-01-12 23:49:35 +01:00
|
|
|
SUBST_CLASSES+= fix-R
|
|
|
|
SUBST_STAGE.fix-R= post-configure
|
|
|
|
SUBST_MESSAGE.fix-R= ${SUBST_MESSAGE.unwrap}
|
|
|
|
SUBST_FILES.fix-R= etc/Makeconf src/scripts/R.sh src/scripts/f77
|
|
|
|
SUBST_SED.fix-R= ${SUBST_SED.unwrap} \
|
|
|
|
-e "s|${BUILDLINK_DIR}/|${LOCALBASE}/|g" \
|
|
|
|
-e "s|${BUILDLINK_X11_DIR}/|${X11BASE}/|g"
|
2001-07-23 15:14:44 +02:00
|
|
|
|
2005-01-12 23:50:20 +01:00
|
|
|
BUILDLINK_DEPENDS.zlib+= zlib>=1.2.1
|
|
|
|
|
|
|
|
.include "../../archivers/bzip2/buildlink3.mk"
|
|
|
|
.include "../../devel/pcre/buildlink3.mk"
|
|
|
|
.include "../../devel/readline/buildlink3.mk"
|
|
|
|
.include "../../devel/zlib/buildlink3.mk"
|
|
|
|
.include "../../graphics/jpeg/buildlink3.mk"
|
|
|
|
.include "../../graphics/png/buildlink3.mk"
|
|
|
|
.include "../../math/blas/buildlink3.mk"
|
|
|
|
.include "../../x11/tk/buildlink3.mk"
|
|
|
|
|
2000-08-16 21:04:42 +02:00
|
|
|
# Generate the PLIST dynamically as it changes in each version only in a
|
|
|
|
# specific subtree. This will make maintaining this package a little easier
|
|
|
|
# when updating.
|
|
|
|
#
|
1998-12-21 11:29:39 +01:00
|
|
|
post-install:
|
2000-08-16 21:04:42 +02:00
|
|
|
${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${R_LIBDIR}
|
|
|
|
${RM} -f ${PLIST_SRC}
|
|
|
|
${CAT} ${PKGDIR}/PLIST > ${PLIST_SRC}
|
2001-07-23 15:14:44 +02:00
|
|
|
( cd ${PREFIX}; \
|
2002-09-26 07:36:48 +02:00
|
|
|
for dir in ${R_INSTALL_DIRS}; do \
|
2002-09-23 15:41:15 +02:00
|
|
|
${FIND} $${dir#${PREFIX}/} \( -type f -o -type l \) -print; \
|
2001-07-23 15:14:44 +02:00
|
|
|
done; \
|
2002-04-23 03:14:49 +02:00
|
|
|
) | ${GREP} -v "lib/R/doc/html/packages.html" | \
|
|
|
|
${GREP} -v "lib/R/doc/html/search/index.txt" | \
|
|
|
|
${SORT} -u >> ${PLIST_SRC}
|
2002-05-24 15:24:36 +02:00
|
|
|
${ECHO} "@unexec ${RM} -f %D/lib/R/doc/html/packages.html" >> ${PLIST_SRC}
|
|
|
|
${ECHO} "@unexec ${RM} -f %D/lib/R/doc/html/search/index.txt" >> ${PLIST_SRC}
|
2001-07-23 15:14:44 +02:00
|
|
|
( cd ${PREFIX}; \
|
2002-09-26 07:36:48 +02:00
|
|
|
for dir in ${R_INSTALL_DIRS}; do \
|
2001-07-23 15:14:44 +02:00
|
|
|
${FIND} $${dir#${PREFIX}/} -type d -print; \
|
|
|
|
done; \
|
|
|
|
) | ${SORT} -ur | ${SED} -e "s|^|@dirrm |" >> ${PLIST_SRC}
|
2002-04-23 03:14:49 +02:00
|
|
|
${ECHO} "@exec R CMD ${PERL5} %D/lib/R/share/perl/build-help.pl --htmllists 2>/dev/null" >> ${PLIST_SRC}
|
|
|
|
${ECHO} "@exec ${CAT} %D/lib/R/library/*/CONTENTS > %D/lib/R/doc/html/search/index.txt 2>/dev/null" >> ${PLIST_SRC}
|
1998-12-04 12:36:03 +01:00
|
|
|
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|