- Update to 1.0.3

- Backport two patches from upstream (turn off debug and use the lapack
    version that R was compiled with)
This commit is contained in:
José Abílio Oliveira Matos 2008-05-21 15:24:25 +00:00
parent a6f8ffcfdc
commit 75810a5472
6 changed files with 131 additions and 5 deletions

View File

@ -1 +1 @@
rpy-1.0.2.tar.gz
rpy-1.0.3.tar.gz

View File

@ -7,7 +7,7 @@
- include_dirs = [ os.path.join(RHOME.strip(), 'include'),
- 'src', '/usr/share/R/include' ]
+ include_dirs = [ os.path.join(RHOME.strip(), 'include'),
+ 'src', '/usr/share/R/include', "/usr/include/R/"]
+ 'src', '/usr/share/R/include', "/usr/include/R"]
libraries=['R','Rlapack']
library_dirs = r_libs
runtime_libs = r_libs

View File

@ -0,0 +1,42 @@
Revision: 517
http://rpy.svn.sourceforge.net/rpy/?rev=517&view=rev
Author: warnes
Date: 2008-05-14 10:10:57 -0700 (Wed, 14 May 2008)
Log Message:
-----------
Turn off debug build flag for default installs, add todo about Rlapack/lapack
Modified Paths:
--------------
trunk/rpy/setup.py
Modified: trunk/rpy/setup.py
===================================================================
--- trunk/rpy/setup.py 2008-05-14 17:05:47 UTC (rev 516)
+++ trunk/rpy/setup.py 2008-05-14 17:10:57 UTC (rev 517)
@@ -30,13 +30,14 @@
See the files INSTALL.UNIX and INSTALL.WINDOWS for more details.
"""
-DEBUG=True
+DEBUG=False
import os, os.path, sys, shutil, re
from distutils.core import setup, Extension
from distutils.sysconfig import *
from distutils.errors import *
import rpy_tools
+
if sys.platform=="win32":
import rpy_wintools
@@ -85,7 +86,7 @@
get_config_vars()['OPT'] = '-g -Wall'
else:
# to avoid strict prototypes errors from R includes
- get_config_vars()['OPT'] = '-DNDEBUG -g -O3 -Wall'
+ get_config_vars()['OPT'] = '-DNDEBUG -O3 -Wall'
# get the Python version
if sys.version[:3] >= '2.2':

View File

@ -0,0 +1,74 @@
Revision: 523
http://rpy.svn.sourceforge.net/rpy/?rev=523&view=rev
Author: warnes
Date: 2008-05-14 11:31:21 -0700 (Wed, 14 May 2008)
Log Message:
-----------
Use the 'R CMD config LAPACK_LIBS' command to determin the appropriate link flags for lapack, instead of blindly assuming that '-L<RHOME>/lib -lRlapack' is the correct magic incantation.
Modified Paths:
--------------
trunk/rpy/rpy_tools.py
trunk/rpy/setup.py
Modified: trunk/rpy/rpy_tools.py
===================================================================
--- trunk/rpy/rpy_tools.py 2008-05-14 17:51:40 UTC (rev 522)
+++ trunk/rpy/rpy_tools.py 2008-05-14 18:31:21 UTC (rev 523)
@@ -143,3 +143,20 @@
% PYTHON_DIR )
return PYTHON_DIR
+
+def get_R_LAPACK_LIB_FLAGS(RHOME=get_R_HOME()):
+ """
+ Determine the necessary link arguments for lapack
+ """
+ rexec = os.path.join(RHOME, 'bin', 'R')
+ stat, output = getstatusoutput('"%s" CMD config LAPACK_LIBS' % rexec )
+ if stat or len(output)<=0:
+ raise RuntimeError("Couldn't execute the R interpreter" +
+ " `%s'.\n" % rexec )
+
+ LAPACK_LIB_FLAGS = output.strip()
+ if not LAPACK_LIB_FLAGS:
+ raise RuntimeError("Couldn't obtain LAPACK_LIBS information from output\n"
+ "of `R CMD config LAPACK_LIBS'.\n")
+
+ return LAPACK_LIB_FLAGS
Modified: trunk/rpy/setup.py
===================================================================
--- trunk/rpy/setup.py 2008-05-14 17:51:40 UTC (rev 522)
+++ trunk/rpy/setup.py 2008-05-14 18:31:21 UTC (rev 523)
@@ -150,23 +150,20 @@
library_dirs= r_libs
runtime_libs = r_libs
extra_compile_args=[]
- elif sys.platform=='osf1V5':
- include_dirs = [ os.path.join(RHOME.strip(), 'include'),
- 'src' ]
- libraries=['R','Rlapack']
- library_dirs = r_libs
- runtime_libs = r_libs
- extra_compile_args=["-shared"]
- source_files = source_files + ["src/setenv.c"]
+
else: # unix-like systems, this is known to work for Linux and Solaris
include_dirs = [ os.path.join(RHOME.strip(), 'include'),
'src', '/usr/share/R/include', "/usr/include/R"]
- libraries=['R','Rlapack']
library_dirs = r_libs
runtime_libs = r_libs
extra_compile_args=["-shared"]
source_files = source_files + ["src/setenv.c"]
+ libraries=['R']
+
+ # Ask R to tell us how to properly link against lapack
+ extra_compile_args += [ rpy_tools.get_R_LAPACK_LIB_FLAGS( RHOME ) ]
+
# Discover which array packages are present
try:
import numpy

View File

@ -3,14 +3,19 @@
%define rver 2.7.0
Name: rpy
Summary: Python interface to the R language
Version: 1.0.2
Version: 1.0.3
Release: 1%{?dist}
Url: http://rpy.sourceforge.net
Source: http://downloads.sf.net/%{name}/%{name}-%{version}.tar.gz
License: GPLv2+
Group: Development/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# The R headers are now in /usr/include/R (for F9+)
Patch0: rpy-1.0.1-FHSinclude.patch
# Backported patches from development
Patch1: rpy-1.0.3-turn-off-debug.patch
Patch2: rpy-1.0.3-use-lapack.patch
BuildRequires: R-devel = %{rver}, numpy, python-devel, texinfo-tex, tetex
@ -28,8 +33,9 @@ converted to Python exceptions.
%prep
%setup -q
# The R headers are now in /usr/include/R (for F9+)
%patch0
%patch1 -p2
%patch2 -p2
%build
env CFLAGS="$RPM_OPT_FLAGS" python setup.py build
@ -68,6 +74,10 @@ fi
%changelog
* Wed May 21 2008 José Matos <jamatos[AT]fc.up.pt> - 1.0.3-1
- Update to 1.0.3
- Backport two patches from upstream (turn off debug and use the lapack version that R was compiled with)
* Tue Apr 29 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 1.0.2-1
- update to 1.0.2
- R 2.7.0

View File

@ -1 +1 @@
44ad8b30fd1ab86cd7213f5bd6746242 rpy-1.0.2.tar.gz
10fd4904f622e5647638817279933900 rpy-1.0.3.tar.gz