pkgsrc/math/R/Makefile

132 lines
4.3 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.64 2005/05/02 16:57:19 drochner Exp $
DISTNAME= R-2.1.0
CATEGORIES= math
MASTER_SITES= ${MASTER_SITE_R_CRAN:=base/R-2/}
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/
COMMENT= Statistical language for data analysis and graphics
#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
TEST_TARGET= check
USE_X11= # defined
USE_PERL5= # defined
USE_GNU_TOOLS+= make
USE_GNU_READLINE= # uses callback interface
USE_MAKEINFO= # defined
TEXINFO_REQD= 4.5
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
CONFIGURE_ARGS+= --with-x
CONFIGURE_ARGS+= --with-readline
CONFIGURE_ARGS+= --with-tcltk
CONFIGURE_ARGS+= --with-tcl-config=${BUILDLINK_PREFIX.tcl}/lib/tclConfig.sh
CONFIGURE_ARGS+= --with-tk-config=${BUILDLINK_PREFIX.tk}/lib/tkConfig.sh
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
CONFIGURE_ENV+= XMKMF="${XMKMF}"
# Use BLAS (math/blas)
#
CONFIGURE_ARGS+= --without-atlas
CONFIGURE_ARGS+= --with-blas
CONFIGURE_ARGS+= --without-blas_risc
CONFIGURE_ARGS+= --without-dxml
CONFIGURE_ARGS+= --without-libmoto
# 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
# 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
# Package assumes it can append to files (specifically DESCRIPTION) that have
# been installed SHAREMODE
SHAREMODE= 644
.include "../../mk/bsd.prefs.mk"
# R_PAPERSIZE can be: A4, Letter, Legal, Executive
#
.if defined(PAPERSIZE)
R_PAPERSIZE?= ${PAPERSIZE}
.else
R_PAPERSIZE?= A4
.endif
.if (${R_PAPERSIZE} == "Letterdj")
R_PAPERSIZE= Letter
.endif
CONFIGURE_ENV+= R_PAPERSIZE="${R_PAPERSIZE}"
# 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}
PLIST_SRC= ${WRKDIR}/.PLIST_SRC
R_LIBDIR= ${PREFIX}/lib/R
R_INSTALL_DIRS= ${R_LIBDIR}
# 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.
#
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"
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"
# 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.
#
post-install:
${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${R_LIBDIR}
${RM} -f ${PLIST_SRC}
${CAT} ${PKGDIR}/PLIST > ${PLIST_SRC}
( cd ${PREFIX}; \
for dir in ${R_INSTALL_DIRS}; do \
${FIND} $${dir#${PREFIX}/} \( -type f -o -type l \) -print; \
done; \
) | ${GREP} -v "lib/R/doc/html/packages.html" | \
${GREP} -v "lib/R/doc/html/search/index.txt" | \
${SORT} -u >> ${PLIST_SRC}
${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}
( cd ${PREFIX}; \
for dir in ${R_INSTALL_DIRS}; do \
${FIND} $${dir#${PREFIX}/} -type d -print; \
done; \
) | ${SORT} -ur | ${SED} -e "s|^|@dirrm |" >> ${PLIST_SRC}
${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}
.include "../../mk/bsd.pkg.mk"