Install the new interchangeable BLAS system created by Thomas Orgis,
currently supporting Netlib BLAS/LAPACK, OpenBLAS, cblas, lapacke, and
Apple's Accelerate.framework. This system allows the user to select any
BLAS implementation without modifying packages or using package options, by
setting PKGSRC_BLAS_TYPES in mk.conf. See mk/blas.buildlink3.mk for details.
This commit should not alter behavior of existing packages as the system
defaults to Netlib BLAS/LAPACK, which until now has been the only supported
implementation.
Details:
Add new mk/blas.buildlink3.mk for inclusion in dependent packages
Install compatible Netlib math/blas and math/lapack packages
Update math/blas and math/lapack MAINTAINER approved by adam@
OpenBLAS, cblas, and lapacke will follow in separate commits
Update direct dependents to use mk/blas.buildlink3.mk
Perform recursive revbump
The function make.df.depends() constructs a dataframe for DEPENDS lines in
the updated Makefile. That dataframe is combined with other dataframes for
different portions of the Makefile. Consequently, all the dataframes must
have the same fields or combining with rbind() fails. Previously, the
dataframe had the wrong set of fields; this explicitly selects the correct
set that matches the other dataframes so that they can all be combined
correctly.
In order for recursive calls of R2pkg to work, they must receive the same
set of arguments as the original. Previous argument handling stripped the
hyphen (-) from each argument; this explicitly restores it.
Placing the code into a main function allows the tests to source the file
without any side effects.
The LC_ALL=C environment variable is necessary on NetBSD/x86_64 8.0 in
the en_US.UTF-8 locale since otherwise R dumps core in the source(...)
call, deep inside towctrans.
Before, it was difficult to edit the R code since all dollars,
backslashes and backticks had to be escaped. Separating the code also
makes the R part testable on its own.
Changes since 0.6:
* Run properly even if TMPDIR is not set.
* Quote variables to prevent unintended interpolation.
* Write error messages to stderr instead of stdout.
Changes since version 0.5:
* Improve the canonical format of an R package Makefile:
- Place R_PKGNAME, R_PKGVER, and CATEGORIES in the first stanza.
- Simplify CATEGORIES by defining common ones in Makefile.extension.
- Use the default value of HOMEPAGE defined in Makefile.extension.
* Annotate generated comments with [R2pkg] to make them easier to find.
Changes since 0.3:
* Fix recursion.
* Add both c and c++ to USE_LANGUAGES.
* Add maintainer email handling (-M).
* Use buildlink3.mk files for dependencies when available.
- Add recursive handling of dependencies.
- Simplify updating pre-existing R packages.
- Improve handling of packages that conflict with base R packages.
The R2pkg program, which is modeled after url2pkg, creates a new
pkgsrc package for the corresponding R package. It is intended to
help pkgsrc developers create new R packages quickly and easily.
This package was discussed in a thread beginning with the following:
http://mail-index.netbsd.org/tech-pkg/2015/02/04/msg014227.html