[R] add support for using system tre on f21+, el7+
Tom Callaway
spot at fedoraproject.org
Fri Feb 7 20:56:41 UTC 2014
commit 1a814660a94b955bbb84a747a902c161918becba
Author: Tom Callaway <spot at fedoraproject.org>
Date: Fri Feb 7 15:57:15 2014 -0500
add support for using system tre on f21+, el7+
R-3.0.2-system-tre.patch | 112 ++++++++++++++++++++++++++++++++++++++++++++++
R.spec | 30 ++++++++++++-
2 files changed, 141 insertions(+), 1 deletions(-)
---
diff --git a/R-3.0.2-system-tre.patch b/R-3.0.2-system-tre.patch
new file mode 100644
index 0000000..60aab47
--- /dev/null
+++ b/R-3.0.2-system-tre.patch
@@ -0,0 +1,112 @@
+diff -up R-3.0.2/configure.ac.system-tre R-3.0.2/configure.ac
+--- R-3.0.2/configure.ac.system-tre 2014-02-04 18:14:04.233778538 -0500
++++ R-3.0.2/configure.ac 2014-02-04 18:14:52.635733566 -0500
+@@ -420,6 +420,10 @@ AC_ARG_WITH([system-pcre],
+ [AS_HELP_STRING([--with-system-pcre],[use system PCRE library (if available) @<:@no@:>@])],
+ [R_ARG_USE_SYSTEM(pcre)],
+ [use_system_pcre=no])
++AC_ARG_WITH([system-tre],
++[AS_HELP_STRING([--with-system-tre],[use system tre library (if available) @<:@no@:>@])],
++[R_ARG_USE_SYSTEM(tre)],
++[use_system_tre=no])
+ AC_ARG_WITH([system-xz],
+ [AS_HELP_STRING([--with-system-xz],[use system xz (lzma) library (if available) @<:@yes@:>@])],
+ [R_ARG_USE_SYSTEM(xz)],
+@@ -2221,6 +2225,9 @@ R_LZMA
+ ## PCRE headers and libraries.
+ R_PCRE
+
++## tre headers and libraries.
++R_TRE
++
+ ## POSIX times.
+ R_SYS_POSIX_LEAPSECONDS
+
+diff -up R-3.0.2/m4/R.m4.system-tre R-3.0.2/m4/R.m4
+--- R-3.0.2/m4/R.m4.system-tre 2014-02-04 18:15:08.196719109 -0500
++++ R-3.0.2/m4/R.m4 2014-02-04 18:27:32.854028384 -0500
+@@ -3150,6 +3150,26 @@ fi
+ AM_CONDITIONAL(BUILD_BZLIB, [test "x${have_bzlib}" = xno])
+ ])# R_BZLIB
+
++## R_TRE
++## -------
++## Try finding tre library and headers.
++## We check that both are installed,
++AC_DEFUN([R_TRE],
++[if test "x${use_system_tre}" = xyes; then
++ AC_CHECK_LIB(tre, tre_regncompb, [have_tre=yes], [have_tre=no])
++ if test "${have_tre}" = yes; then
++ AC_CHECK_HEADERS(tre/tre.h, [have_tre=yes], [have_tre=no])
++ fi
++if test "x${have_tre}" = xyes; then
++ AC_DEFINE(HAVE_TRE, 1, [Define if your system has tre.])
++ LIBS="-ltre ${LIBS}"
++fi
++else
++ have_tre="no"
++fi
++AM_CONDITIONAL(BUILD_TRE, [test x${have_tre} != xyes])
++])# R_TRE
++
+ ## R_LZMA
+ ## -------
+ ## Try finding liblzma library and headers.
+diff -up R-3.0.2/src/extra/Makefile.in.system-tre R-3.0.2/src/extra/Makefile.in
+--- R-3.0.2/src/extra/Makefile.in.system-tre 2014-02-04 18:31:50.263790068 -0500
++++ R-3.0.2/src/extra/Makefile.in 2014-02-04 18:32:11.792770146 -0500
+@@ -22,7 +22,7 @@ LIBPCRE =@BUILD_PCRE_TRUE@ make.pcre
+ LIBZ =@BUILD_ZLIB_TRUE@ make.zlib
+ LIBXDR =@BUILD_XDR_TRUE@ make.xdr
+ LIBINTL =@BUILD_LIBINTL_TRUE@ make.intl
+-LIBTRE = make.tre
++LIBTRE =@BUILD_TRE_TRUE@ make.tre
+ LIBXZ =@BUILD_XZ_TRUE@ make.xz
+ EXTRAS = $(RBLAS) $(LIBBZ2) $(LIBPCRE) $(LIBZ) $(LIBXDR) $(LIBINTL) $(LIBTRE) $(LIBXZ)
+
+diff -up R-3.0.2/src/extra/tre/Makefile.in.system-tre R-3.0.2/src/extra/tre/Makefile.in
+--- R-3.0.2/src/extra/tre/Makefile.in.system-tre 2014-02-04 18:29:54.812896929 -0500
++++ R-3.0.2/src/extra/tre/Makefile.in 2014-02-04 18:31:15.046822660 -0500
+@@ -33,7 +33,7 @@ libtre_a_SOURCES = $(SOURCES)
+ libtre_a_OBJECTS = $(OBJECTS)
+
+
+-all: R
++all: @BUILD_TRE_TRUE@ R
+
+ Makefile: $(srcdir)/Makefile.in \
+ $(top_builddir)/config.status \
+@@ -44,9 +44,9 @@ Makedeps: Makefile $(DEPENDS)
+ @cat $(DEPENDS) >> Makefile
+ @touch $@
+
+-R: Makefile
+- @$(MAKE) Makedeps
+- @$(MAKE) $(noinst_LIBRARIES)
++R: Makefile @BUILD_TRE_TRUE@
++ @BUILD_TRE_TRUE@ @$(MAKE) Makedeps
++ @BUILD_TRE_TRUE@ @$(MAKE) $(noinst_LIBRARIES)
+
+ libtre.a: $(libtre_a_OBJECTS)
+ rm -f $@
+diff -up R-3.0.2/src/main/Makefile.in.system-tre R-3.0.2/src/main/Makefile.in
+--- R-3.0.2/src/main/Makefile.in.system-tre 2014-02-04 18:28:02.924000533 -0500
++++ R-3.0.2/src/main/Makefile.in 2014-02-04 18:29:06.677941495 -0500
+@@ -69,7 +69,7 @@ DISTFILES = Makefile.in Makefile.win \
+ ZLIB_CPPFLAGS = @BUILD_ZLIB_TRUE@ -I$(top_srcdir)/src/extra/zlib
+ BZLIB_CPPFLAGS = @BUILD_BZLIB_TRUE@ -I$(top_srcdir)/src/extra/bzip2
+ PCRE_CPPFLAGS = @BUILD_PCRE_TRUE@ -I$(top_srcdir)/src/extra/pcre
+-TRE_CPPFLAGS = -I$(top_srcdir)/src/extra
++TRE_CPPFLAGS = @BUILD_TRE_TRUE@ -I$(top_srcdir)/src/extra
+ XDR_CPPFLAGS = @BUILD_XDR_TRUE@ -I$(top_srcdir)/src/extra/xdr
+ @BUILD_XDR_FALSE at XDR_CPPFLAGS = @TIRPC_CPPFLAGS@
+ XZ_CPPFLAGS = @BUILD_XZ_TRUE@ -I$(top_srcdir)/src/extra/xz/api
+@@ -84,7 +84,7 @@ ALL_CPPFLAGS = $(ZLIB_CPPFLAGS) $(BZLIB_
+ R_ZLIBS = @BUILD_ZLIB_TRUE@ ../extra/zlib/libz.a
+ R_BZLIBS = @BUILD_BZLIB_TRUE@ ../extra/bzip2/libbz2.a
+ R_PCRE = @BUILD_PCRE_TRUE@ ../extra/pcre/libpcre.a
+-R_TRE = ../extra/tre/libtre.a
++R_TRE = @BUILD_TRE_TRUE@ ../extra/tre/libtre.a
+ R_XDR = @BUILD_XDR_TRUE@ ../extra/xdr/libxdr.a
+ R_XZ = @BUILD_XZ_TRUE@ ../extra/xz/liblzma.a
+ R_LIBINTL = @BUILD_LIBINTL_TRUE@ ../extra/intl/libintl.a
diff --git a/R.spec b/R.spec
index b14fcc6..081748b 100644
--- a/R.spec
+++ b/R.spec
@@ -7,6 +7,16 @@
# Assume not modern. Override if needed.
%global modern 0
+%global system_tre 0
+# We need to use system tre on F21+/RHEL7
+%if 0%{?fedora} >= 21
+%global system_tre 1
+%endif
+
+%if 0%{?rhel} >= 7
+%global system_tre 1
+%endif
+
%if 0%{?fedora}
%global modern 1
%endif
@@ -17,7 +27,7 @@
Name: R
Version: 3.0.2
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: A language for data analysis and graphics
URL: http://www.r-project.org
Source0: ftp://cran.r-project.org/pub/R/src/base/R-3/R-%{version}.tar.gz
@@ -25,6 +35,7 @@ Source1: macros.R
Source2: R-make-search-index.sh
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=679180
Patch0: R-3.0.1-arm-compile-fix.patch
+Patch1: R-3.0.2-system-tre.patch
License: GPLv2+
Group: Applications/Engineering
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -38,6 +49,10 @@ BuildRequires: java
%else
BuildRequires: java-1.4.2-gcj-compat
%endif
+%if %{system_tre}
+BuildRequires: tre-devel
+BuildRequires: autoconf, automake, libtool
+%endif
BuildRequires: lapack-devel
BuildRequires: libSM-devel, libX11-devel, libICE-devel, libXt-devel
BuildRequires: bzip2-devel, libXmu-devel, cairo-devel, libtiff-devel
@@ -243,6 +258,9 @@ from the R project. This package provides the static libRmath library.
%prep
%setup -q
%patch0 -p1 -b .armfix
+%if %{system_tre}
+%patch1 -p1 -b .system-tre
+%endif
# Filter false positive provides.
cat <<EOF > %{name}-prov
@@ -262,6 +280,10 @@ EOF
%define __perl_requires %{_builddir}/R-%{version}/%{name}-req
chmod +x %{__perl_requires}
+%if %{system_tre}
+autoreconf -ifv -I m4
+%endif
+
%build
# Add PATHS to Renviron for R_LIBS_SITE
echo 'R_LIBS_SITE=${R_LIBS_SITE-'"'/usr/local/lib/R/site-library:/usr/local/lib/R/library:%{_libdir}/R/library:%{_datadir}/R/library'"'}' >> etc/Renviron.in
@@ -303,6 +325,9 @@ esac
export FCFLAGS="%{optflags}"
( %configure \
+%if %{system_tre}
+ --with-system-tre \
+%endif
--with-system-zlib --with-system-bzlib --with-system-pcre \
--with-lapack \
--with-blas \
@@ -819,6 +844,9 @@ R CMD javareconf \
%postun -n libRmath -p /sbin/ldconfig
%changelog
+* Fri Feb 7 2014 Tom Callaway <spot at fedoraproject.org> - 3.0.2-5
+- add support for system tre (f21+, rhel 7+)
+
* Fri Feb 7 2014 Orion Poplawski <orion at cora.nwra.com> - 3.0.2-4
- Use BR java
More information about the scm-commits
mailing list