diff options
author | wiz <wiz@pkgsrc.org> | 2014-01-19 22:50:43 +0000 |
---|---|---|
committer | wiz <wiz@pkgsrc.org> | 2014-01-19 22:50:43 +0000 |
commit | 84a445a39c931d299977a6fa4e17b125f7eacd02 (patch) | |
tree | f25b1c9ab3520dd8ad982316bf5c01320920eb2f /math | |
parent | e545e1bdc5397b93ac9bd6d9c85008f8475c0b99 (diff) | |
download | pkgsrc-84a445a39c931d299977a6fa4e17b125f7eacd02.tar.gz |
Update to 2.3.0:
Release 2.3.0
=============
New Features
------------
:mod:`rpy2.rinterface`:
- C-level API, allowing other C-level modules to make use of utilities
without going through the Python level. The exact definition of
the API is not yet fixed. For now there is
PyRinteractive_IsInitialized() to assess whether R was initialized
(through :mod:`rpy2.rinterface` or not).
- C-module _rpy_device, allowing one to implement R graphical devices
in Python [(very) experimental]
- Tracking of R objects kept protected from garbage collection by rpy2
is now possible.
- New method :meth:`Sexp.rid` to return the identifier of the R object
represented by a Python/rpy2 object
:mod:`rpy2.rinteractive`:
- Dynamic build of Python docstrings out of the R manual pages
:mod:`rpy2.robjects.help`:
- Build dynamic help
:mod:`rpy2.robjects.packages:
- Build anonymous R packages from strings
- When using :func:`importr`, the datasets are added as an attribute
:attr:`data`, itself an instance of a new class :class:`PackageData`.
It no longer possible to access datasets are regular objects from
a code package (because of changes in R), and the new system is
more robust against quirks.
Changes
-------
:mod:`rpy2.rinterface`:
- :attr:`SexpClosure.env` to replace the method `closureenv`.
Release 2.2.6
=============
Bugs fixed
----------
- Newest R-2.15 and ggplot2 0.9 broke the ggplot2 interaface
in :mod:`rpy2.robjects.lib.ggplot2`
Release 2.2.5
=============
Bugs fixed
----------
- install process: Library location for some of the R installations
- should compile on win32 (thanks to a patch from Evgeny Cherkashin),
a work to a limited extend
Release 2.2.4
=============
Bugs fixed
----------
- Memory leak when creating R vectors from Python (issue #82)
Release 2.2.3
=============
Bugs fixed
----------
- Dynamic construction of S4 classes was looking for R help as 'class.<class>'
rather than '<class>-class'
- The cleanup of temporary directories created by R was not happening if
the Python process terminated without calline :func:`rpy2.rinterface.endr()`
(issue #68, and proof-of-principle fix by chrish42)
Release 2.2.2
=============
Bugs fixed
----------
- With the robjects layer, repr() on a list containing non-vector elements
was failing
Release 2.2.1
=============
Bugs fixed
----------
- MANIFEST.in was missing from MANIFEST.in, required with Python 3
Release 2.2.0
=============
New Features
------------
- Support for Python 3, and for some of its features ported to Python 2.7
:mod:`rpy2.robjects`:
- :meth:`Environment.keys` to list the keys
- classes :class:`robjects.vectors.POSIXlt` and
:class:`robjects.vectors.POSIXlt` to represent vectors of R
dates/time
- :func:`packages.get_packagepath` to get the path to an R package
- module :mod:`rpy2.robjects.help` to expose the R help system to Python
- Metaclass utilities in :mod:`rpy2.robjects.methods`, allowing to reflect
automatically R S4 classes as Python classes.
- :meth:`rpy2.robjects.vectors.FactorVector.iter_labels` to iterate over the labels
- :class:`rpy2.robjects.vectors.ListVector` to represent R lists.
- Constructor for :class:`rpy2.robjects.vectors.ListVector` and
:class:`rpy2.robjects.vectors.DataFrame` accept any iterable at the condition
that the elements iterated through also valid subscripts for it (e.g., given
an iterable v, the following is valid:
.. code-block:: python
x[k] for x in v
:mod:`rpy2.rinterface`:
- :data:`NA_Complex` and :class:`NAComplexType` for missing complex values.
- :class:`SexpExtPtr` to represent R objects of type EXTPTR (external pointers).
- :func:`rpy2.rinterface.parse` to parse a string a R code
- :func:`rpy2.rinterface.rternalise` to wrap Python function as :class:`SexpClosure` that can
be called by R just as it was a function of its own.
- :class:`rpy2.rinterface.RNULLType` for R's C-level NULL value and
:class:`rpy2.rinterface.UnboundValueType` for R's C-level R_UnboundValue
(both singletons).
- :meth:`rinterface.SexpVector.index`, of similar behaviour to :meth:`list.index`.
- :meth:`rpy2.rinterface.Sexp.list_attrs` to list the names of all R attributes
for a given object.
- :class:`rpy2.rinterface.ByteSexpVector` to represent R 'raw' vectors.
- constant `R_LEN_T_MAX` to store what is the maximum length for a vector in R.
- tuple `R_VERSION_BUILD` to store the version of R rpy2 was built against
- getter :attr:`Sexp.rclass` to return the R class associated with an object
:mod:`rpy2.rlike`:
- :class:`container.OrdDict` get proper methods :meth:`keys` and `get`
:mod:`rpy2.interactive`:
- A new sub-package to provide utilities for interactive work, either for
handling R interactive events or use Python for interactive programming
(as often done with the R console)
Changes
-------
:mod:`rpy2.robjects`:
- NA_bool, NA_real, NA_integer, NA_character and NA_complex are now
deprecated (and removed).
NA_Logical, NA_Real, NA_Integer, NA_Character, NA_Complex should be used.
- :class:`rpy2.robjects.packages.Package` now inherits from :class:`types.ModuleType`
- classes representing R vector also inherit their type-specific
rinterface-level counterpart.
- Importing the :class:`rpy2.robjects.numpy2ri` is no longer sufficient
to active the conversion. Explicit activation is now needed; the function
`activate` can do that.
:mod:`rpy2.rinterface`:
- :class:`IntSexpVector`, :class:`FloatSexpVector`,
:class:`StrSexpVector`, :class:`BoolSexpVector`, :class:`ComplexSexpVector`
are now defined at the C level, improving performances
and memory footprint whenever a lot of instances are created.
Bugs fixed
----------
- Better and more explicit detection system for needed libraries when
compiling rpy2 (ported to release 2.1.6)
- Long-standing issue with readline fixed (issue #10)
Release 2.1.9
=============
Bugs fixed
----------
- The R class in rpy2.robjects is now truly a singleton
- When using numpy 1.5 and Python >= 2.7, the exposed buffer for R numerical (double)
vectors or arrays was wrong.
Release 2.1.8
=============
Bugs fixed
----------
- Fixed issue with R arrays with more than 2 dimensions and numpy arrays
(issue #47 - backported from the branch 2.2.x).
Release 2.1.7
=============
Bugs fixed
----------
- More fixes for the automated detection of include and libraries at build time.
Release 2.1.6
=============
Bugs fixed
----------
- Further fixes in the automatic detection of includes and libraries
needed to compile rpy2 against R. The detection code has
been refactored (backport from the 2.2.x branch)
Release 2.1.5
=============
Bugs fixed
----------
- fixes the automatic detection of R_HOME/lib during building/compiling
when R_HOME/lib is not in lib/ (issue #54)
Release 2.1.4
=============
New features
------------
- :mod:`rpy2.robjects.lib.ggplot2` now has the functions :func:`limits`,
:func:`xlim`, :func:`ylim` exposed (patch contributed anonymously)
Bugs fixed
----------
- Install script when the BLAS library used by R is specified as a library
file (patch by Michael Kuhn)
Diffstat (limited to 'math')
-rw-r--r-- | math/py-rpy/Makefile | 10 | ||||
-rw-r--r-- | math/py-rpy/PLIST | 38 | ||||
-rw-r--r-- | math/py-rpy/distinfo | 9 | ||||
-rw-r--r-- | math/py-rpy/patches/patch-aa | 43 |
4 files changed, 42 insertions, 58 deletions
diff --git a/math/py-rpy/Makefile b/math/py-rpy/Makefile index be2c20485e7..e1678f60bbd 100644 --- a/math/py-rpy/Makefile +++ b/math/py-rpy/Makefile @@ -1,8 +1,7 @@ -# $NetBSD: Makefile,v 1.30 2012/09/11 23:04:32 asau Exp $ -# +# $NetBSD: Makefile,v 1.31 2014/01/19 22:50:43 wiz Exp $ -DISTNAME= rpy2-2.1.3 -PKGNAME= ${PYPKGPREFIX}-rpy-2.1.3 +DISTNAME= rpy2-2.3.0 +PKGNAME= ${PYPKGPREFIX}-${DISTNAME:S/rpy2/rpy/} CATEGORIES= math python MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=rpy/} @@ -11,14 +10,13 @@ HOMEPAGE= http://rpy.sourceforge.net/ COMMENT= R interface for Python LICENSE= mpl-1.1 OR gnu-gpl-v2 OR gnu-lgpl-v2.1 -PYDISTUTILSPKG= YES USE_LANGUAGES+= c fortran77 BUILDLINK_API_DEPENDS.R+= R>=2.11.0 LDFLAGS.SunOS+= -mimpure-text -.include "../../lang/python/extension.mk" +.include "../../lang/python/distutils.mk" .include "../../math/py-numpy/buildlink3.mk" .include "../../math/R/buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/math/py-rpy/PLIST b/math/py-rpy/PLIST index 91eb097450f..6cd41751bc6 100644 --- a/math/py-rpy/PLIST +++ b/math/py-rpy/PLIST @@ -1,13 +1,22 @@ -@comment $NetBSD: PLIST,v 1.12 2010/06/09 21:04:26 markd Exp $ +@comment $NetBSD: PLIST,v 1.13 2014/01/19 22:50:43 wiz Exp $ +${PYSITELIB}/${EGG_FILE} ${PYSITELIB}/rpy2/__init__.py ${PYSITELIB}/rpy2/__init__.pyc ${PYSITELIB}/rpy2/__init__.pyo -${PYSITELIB}/rpy2/images/rpy2_logo.png +${PYSITELIB}/rpy2/interactive/__init__.py +${PYSITELIB}/rpy2/interactive/__init__.pyc +${PYSITELIB}/rpy2/interactive/__init__.pyo +${PYSITELIB}/rpy2/interactive/process_revents.py +${PYSITELIB}/rpy2/interactive/process_revents.pyc +${PYSITELIB}/rpy2/interactive/process_revents.pyo +${PYSITELIB}/rpy2/interactive/tests/__init__.py +${PYSITELIB}/rpy2/interactive/tests/__init__.pyc +${PYSITELIB}/rpy2/interactive/tests/__init__.pyo ${PYSITELIB}/rpy2/rinterface/__init__.py ${PYSITELIB}/rpy2/rinterface/__init__.pyc ${PYSITELIB}/rpy2/rinterface/__init__.pyo -${PYSITELIB}/rpy2/rinterface/rinterface.so -${PYSITELIB}/rpy2/rinterface/rpy_device.so +${PYSITELIB}/rpy2/rinterface/_rinterface.so +${PYSITELIB}/rpy2/rinterface/_rpy_device.so ${PYSITELIB}/rpy2/rinterface/tests/__init__.py ${PYSITELIB}/rpy2/rinterface/tests/__init__.pyc ${PYSITELIB}/rpy2/rinterface/tests/__init__.pyo @@ -26,6 +35,9 @@ ${PYSITELIB}/rpy2/rinterface/tests/test_SexpClosure.pyo ${PYSITELIB}/rpy2/rinterface/tests/test_SexpEnvironment.py ${PYSITELIB}/rpy2/rinterface/tests/test_SexpEnvironment.pyc ${PYSITELIB}/rpy2/rinterface/tests/test_SexpEnvironment.pyo +${PYSITELIB}/rpy2/rinterface/tests/test_SexpExtPtr.py +${PYSITELIB}/rpy2/rinterface/tests/test_SexpExtPtr.pyc +${PYSITELIB}/rpy2/rinterface/tests/test_SexpExtPtr.pyo ${PYSITELIB}/rpy2/rinterface/tests/test_SexpVector.py ${PYSITELIB}/rpy2/rinterface/tests/test_SexpVector.pyc ${PYSITELIB}/rpy2/rinterface/tests/test_SexpVector.pyo @@ -59,12 +71,24 @@ ${PYSITELIB}/rpy2/rlike/tests/test_indexing.pyo ${PYSITELIB}/rpy2/robjects/__init__.py ${PYSITELIB}/rpy2/robjects/__init__.pyc ${PYSITELIB}/rpy2/robjects/__init__.pyo +${PYSITELIB}/rpy2/robjects/constants.py +${PYSITELIB}/rpy2/robjects/constants.pyc +${PYSITELIB}/rpy2/robjects/constants.pyo ${PYSITELIB}/rpy2/robjects/conversion.py ${PYSITELIB}/rpy2/robjects/conversion.pyc ${PYSITELIB}/rpy2/robjects/conversion.pyo +${PYSITELIB}/rpy2/robjects/environments.py +${PYSITELIB}/rpy2/robjects/environments.pyc +${PYSITELIB}/rpy2/robjects/environments.pyo ${PYSITELIB}/rpy2/robjects/functions.py ${PYSITELIB}/rpy2/robjects/functions.pyc ${PYSITELIB}/rpy2/robjects/functions.pyo +${PYSITELIB}/rpy2/robjects/help.py +${PYSITELIB}/rpy2/robjects/help.pyc +${PYSITELIB}/rpy2/robjects/help.pyo +${PYSITELIB}/rpy2/robjects/language.py +${PYSITELIB}/rpy2/robjects/language.pyc +${PYSITELIB}/rpy2/robjects/language.pyo ${PYSITELIB}/rpy2/robjects/lib/__init__.py ${PYSITELIB}/rpy2/robjects/lib/__init__.pyc ${PYSITELIB}/rpy2/robjects/lib/__init__.pyo @@ -104,6 +128,12 @@ ${PYSITELIB}/rpy2/robjects/tests/testFormula.pyo ${PYSITELIB}/rpy2/robjects/tests/testFunction.py ${PYSITELIB}/rpy2/robjects/tests/testFunction.pyc ${PYSITELIB}/rpy2/robjects/tests/testFunction.pyo +${PYSITELIB}/rpy2/robjects/tests/testHelp.py +${PYSITELIB}/rpy2/robjects/tests/testHelp.pyc +${PYSITELIB}/rpy2/robjects/tests/testHelp.pyo +${PYSITELIB}/rpy2/robjects/tests/testLanguage.py +${PYSITELIB}/rpy2/robjects/tests/testLanguage.pyc +${PYSITELIB}/rpy2/robjects/tests/testLanguage.pyo ${PYSITELIB}/rpy2/robjects/tests/testMethods.py ${PYSITELIB}/rpy2/robjects/tests/testMethods.pyc ${PYSITELIB}/rpy2/robjects/tests/testMethods.pyo diff --git a/math/py-rpy/distinfo b/math/py-rpy/distinfo index e05bea878d8..53bb6fd4fef 100644 --- a/math/py-rpy/distinfo +++ b/math/py-rpy/distinfo @@ -1,6 +1,5 @@ -$NetBSD: distinfo,v 1.10 2011/12/18 21:32:08 dholland Exp $ +$NetBSD: distinfo,v 1.11 2014/01/19 22:50:43 wiz Exp $ -SHA1 (rpy2-2.1.3.tar.gz) = cf067b0fbcc9589b442538ee89273e61973c6207 -RMD160 (rpy2-2.1.3.tar.gz) = fb9354770fbbda39e07603f616bd9852f9573bc8 -Size (rpy2-2.1.3.tar.gz) = 127887 bytes -SHA1 (patch-aa) = 5ea826e4ec3d09feb4249e94f17e9e3115f70abf +SHA1 (rpy2-2.3.0.tar.gz) = 57756415b343bfb960f319b53e6387ddbd0e0d08 +RMD160 (rpy2-2.3.0.tar.gz) = f2c70f8f7b242686e04d19c055090d3eb08005a9 +Size (rpy2-2.3.0.tar.gz) = 178022 bytes diff --git a/math/py-rpy/patches/patch-aa b/math/py-rpy/patches/patch-aa deleted file mode 100644 index dc17299deb8..00000000000 --- a/math/py-rpy/patches/patch-aa +++ /dev/null @@ -1,43 +0,0 @@ -$NetBSD: patch-aa,v 1.7 2011/12/18 21:32:08 dholland Exp $ - -- configure compiler for pkgsrc -- allow BLAS_LIBS to be empty -- handle extra_link_args correctly -- accept pkgsrc-reported link args - ---- setup.py.orig 2010-05-16 12:23:30.000000000 +0000 -+++ setup.py -@@ -1,5 +1,12 @@ - - import os, os.path, sys, shutil, re, itertools -+import distutils.sysconfig -+old_customize_compiler = distutils.sysconfig.customize_compiler -+def customize_compiler(compiler): -+ old_customize_compiler(compiler) -+ compiler.set_executables(linker_so=os.environ['FC'] + ' -shared') -+distutils.sysconfig.customize_compiler = customize_compiler -+ - from distutils.command.build_ext import build_ext as _build_ext - from distutils.command.build import build as _build - -@@ -130,10 +137,10 @@ class build_ext(_build_ext): - extra_link_args = get_rconfig(r_home, '--ldflags') +\ - get_rconfig(r_home, 'LAPACK_LIBS', - allow_empty=True) +\ -- get_rconfig(r_home, 'BLAS_LIBS') -+ get_rconfig(r_home, 'BLAS_LIBS', allow_empty=True) - - for e in self.extensions: -- e.extra_compile_args.extend(extra_link_args) -+ e.extra_link_args.extend(extra_link_args) - - def run(self): - _build_ext.run(self) -@@ -180,6 +187,7 @@ def get_rconfig(r_home, about, allow_emp - #sanity check of what is returned into rconfig - rconfig_m = None - possible_patterns = ('^(-L.+) (-l.+)$', -+ '^(-Wl,-R.+) (-L.+) (-l.+)$', - '^(-l.+)$', # fix for the case -lblas is returned - '^(-F.+? -framework .+)$', # fix for MacOS X - '^(-framework .+)$', |