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)
This commit is contained in:
parent
dbc05b1ecd
commit
936f44710a
4 changed files with 42 additions and 58 deletions
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 .+)$',
|
Loading…
Reference in a new issue