This commit is contained in:
Tom Callaway 2014-04-29 10:57:24 -04:00
parent 5b9b77d2d3
commit 07fac606e4
2 changed files with 112 additions and 40 deletions

150
R.spec
View File

@ -5,26 +5,36 @@
%endif %endif
# Assume not modern. Override if needed. # Assume not modern. Override if needed.
%global modern 0 %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} %if 0%{?fedora}
%global modern 1 %global modern 1
%endif %endif
%if 0%{?rhel} >= 6 %if 0%{?rhel} >= 6
%global modern 1 %global modern 1
%endif %endif
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
Name: R Name: R
Version: 3.0.2 Version: 3.1.0
Release: 1%{?dist} Release: 2%{?dist}
Summary: A language for data analysis and graphics Summary: A language for data analysis and graphics
URL: http://www.r-project.org URL: http://www.r-project.org
Source0: ftp://cran.r-project.org/pub/R/src/base/R-3/R-%{version}.tar.gz Source0: ftp://cran.r-project.org/pub/R/src/base/R-3/R-%{version}.tar.gz
Source1: macros.R Source1: macros.R
Source2: R-make-search-index.sh 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
License: GPLv2+ License: GPLv2+
Group: Applications/Engineering Group: Applications/Engineering
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -32,12 +42,16 @@ BuildRequires: gcc-gfortran
BuildRequires: gcc-c++, tex(latex), texinfo-tex BuildRequires: gcc-c++, tex(latex), texinfo-tex
BuildRequires: libpng-devel, libjpeg-devel, readline-devel BuildRequires: libpng-devel, libjpeg-devel, readline-devel
BuildRequires: tcl-devel, tk-devel, ncurses-devel BuildRequires: tcl-devel, tk-devel, ncurses-devel
BuildRequires: blas >= 3.0, pcre-devel, zlib-devel BuildRequires: blas-devel >= 3.0, pcre-devel, zlib-devel
%if %{modern} %if %{modern}
BuildRequires: java-1.5.0-gcj BuildRequires: java-headless
%else %else
BuildRequires: java-1.4.2-gcj-compat BuildRequires: java-1.4.2-gcj-compat
%endif %endif
%if %{system_tre}
BuildRequires: tre-devel
BuildRequires: autoconf, automake, libtool
%endif
BuildRequires: lapack-devel BuildRequires: lapack-devel
BuildRequires: libSM-devel, libX11-devel, libICE-devel, libXt-devel BuildRequires: libSM-devel, libX11-devel, libICE-devel, libXt-devel
BuildRequires: bzip2-devel, libXmu-devel, cairo-devel, libtiff-devel BuildRequires: bzip2-devel, libXmu-devel, cairo-devel, libtiff-devel
@ -48,6 +62,7 @@ BuildRequires: libicu-devel
BuildRequires: less BuildRequires: less
%if 0%{?fedora} >= 18 %if 0%{?fedora} >= 18
BuildRequires: tex(inconsolata.sty) BuildRequires: tex(inconsolata.sty)
BuildRequires: tex(upquote.sty)
%endif %endif
# R-devel will pull in R-core # R-devel will pull in R-core
Requires: R-devel = %{version}-%{release} Requires: R-devel = %{version}-%{release}
@ -90,31 +105,31 @@ Requires: perl, sed, gawk, tex(latex), less
# depend on one of these submodules rather than just R. These are provided for # depend on one of these submodules rather than just R. These are provided for
# packager convenience. # packager convenience.
Provides: R-base = %{version} Provides: R-base = %{version}
Provides: R-boot = 1.3.9 Provides: R-boot = 1.3.11
Provides: R-class = 7.3.9 Provides: R-class = 7.3.10
Provides: R-cluster = 1.14.4 Provides: R-cluster = 1.15.2
Provides: R-codetools = 0.2.8 Provides: R-codetools = 0.2.8
Provides: R-datasets = %{version} Provides: R-datasets = %{version}
Provides: R-foreign = 0.8.55 Provides: R-foreign = 0.8.61
Provides: R-graphics = %{version} Provides: R-graphics = %{version}
Provides: R-grDevices = %{version} Provides: R-grDevices = %{version}
Provides: R-grid = %{version} Provides: R-grid = %{version}
Provides: R-KernSmooth = 2.23.10 Provides: R-KernSmooth = 2.23.12
Provides: R-lattice = 0.20.23 Provides: R-lattice = 0.20.29
Provides: R-MASS = 7.3.29 Provides: R-MASS = 7.3.31
Provides: R-Matrix = 1.0.14 Provides: R-Matrix = 1.1.3
Obsoletes: R-Matrix < 0.999375-7 Obsoletes: R-Matrix < 0.999375-7
Provides: R-methods = %{version} Provides: R-methods = %{version}
Provides: R-mgcv = 1.7.26 Provides: R-mgcv = 1.7.29
Provides: R-nlme = 3.1.111 Provides: R-nlme = 3.1.117
Provides: R-nnet = 7.3.7 Provides: R-nnet = 7.3.8
Provides: R-parallel = %{version} Provides: R-parallel = %{version}
Provides: R-rpart = 4.1.3 Provides: R-rpart = 4.1.8
Provides: R-spatial = 7.3.7 Provides: R-spatial = 7.3.8
Provides: R-splines = %{version} Provides: R-splines = %{version}
Provides: R-stats = %{version} Provides: R-stats = %{version}
Provides: R-stats4 = %{version} Provides: R-stats4 = %{version}
Provides: R-survival = 2.37.4 Provides: R-survival = 2.37.7
Provides: R-tcltk = %{version} Provides: R-tcltk = %{version}
Provides: R-tools = %{version} Provides: R-tools = %{version}
Provides: R-utils = %{version} Provides: R-utils = %{version}
@ -140,7 +155,13 @@ Requires: R-core = %{version}-%{release}
# You need all the BuildRequires for the development version # You need all the BuildRequires for the development version
Requires: gcc-c++, gcc-gfortran, tex(latex), texinfo-tex Requires: gcc-c++, gcc-gfortran, tex(latex), texinfo-tex
Requires: bzip2-devel, libX11-devel, pcre-devel, zlib-devel Requires: bzip2-devel, libX11-devel, pcre-devel, zlib-devel
Requires: tcl-devel, tk-devel, pkgconfig Requires: tcl-devel, tk-devel, pkgconfig, xz-devel
%if %{modern}
Requires: libicu-devel
%endif
%if %{system_tre}
Requires: tre-devel
%endif
# TeX files needed # TeX files needed
%if 0%{?fedora} >= 18 %if 0%{?fedora} >= 18
Requires: tex(ecrm1000.tfm) Requires: tex(ecrm1000.tfm)
@ -153,7 +174,7 @@ Requires: tex(ptmri8t.tfm)
Requires: tex(ptmro8t.tfm) Requires: tex(ptmro8t.tfm)
Requires: tex(cm-super-ts1.enc) Requires: tex(cm-super-ts1.enc)
%endif %endif
Provides: R-Matrix-devel = 1.0.14 Provides: R-Matrix-devel = 1.1.3
Obsoletes: R-Matrix-devel < 0.999375-7 Obsoletes: R-Matrix-devel < 0.999375-7
%if %{modern} %if %{modern}
@ -167,10 +188,12 @@ Install R-core-devel if you are going to develop or compile R packages.
%endif %endif
%package devel %package devel
Summary: Full R development environment metapackage Summary: Full R development environment metapackage
Requires: R-core-devel = %{version}-%{release} Requires: R-core-devel = %{version}-%{release}
%if %{modern} %if %{modern}
Requires: R-java-devel = %{version}-%{release} Requires: R-java-devel = %{version}-%{release}
%else
Group: Development/Libraries
%endif %endif
%description devel %description devel
@ -182,7 +205,7 @@ environment.
Summary: R with Fedora provided Java Runtime Environment Summary: R with Fedora provided Java Runtime Environment
Group: Applications/Engineering Group: Applications/Engineering
Requires(post): R-core = %{version}-%{release} Requires(post): R-core = %{version}-%{release}
Requires(post): java Requires(post): java-headless
%description java %description java
A language and environment for statistical computing and graphics. A language and environment for statistical computing and graphics.
@ -240,7 +263,6 @@ from the R project. This package provides the static libRmath library.
%prep %prep
%setup -q %setup -q
%patch0 -p1 -b .armfix
# Filter false positive provides. # Filter false positive provides.
cat <<EOF > %{name}-prov cat <<EOF > %{name}-prov
@ -273,7 +295,7 @@ export R_PRINTCMD="lpr"
export R_BROWSER="%{_bindir}/xdg-open" export R_BROWSER="%{_bindir}/xdg-open"
case "%{_target_cpu}" in case "%{_target_cpu}" in
x86_64|mips64|ppc64|powerpc64|sparc64|s390x) x86_64|mips64|ppc64|powerpc64|sparc64|s390x|powerpc64le|ppc64le)
export CC="gcc -m64" export CC="gcc -m64"
export CXX="g++ -m64" export CXX="g++ -m64"
export F77="gfortran -m64" export F77="gfortran -m64"
@ -299,14 +321,27 @@ case "%{_target_cpu}" in
;; ;;
esac esac
export FCFLAGS="%{optflags}" # With gcc 4.9, if we don't pass -ffat-lto-objects along with -flto, Matrix builds without the needed object code
# ... and doesn't work at all as a result.
export CFLAGS="%{optflags} -ffat-lto-objects"
export CXXFLAGS="%{optflags} -ffat-lto-objects"
export FCFLAGS="%{optflags} -ffat-lto-objects"
( %configure \ ( %configure \
%if %{system_tre}
--with-system-tre \
%endif
--with-system-zlib --with-system-bzlib --with-system-pcre \ --with-system-zlib --with-system-bzlib --with-system-pcre \
--with-lapack \ --with-lapack \
--with-blas \
--with-tcl-config=%{_libdir}/tclConfig.sh \ --with-tcl-config=%{_libdir}/tclConfig.sh \
--with-tk-config=%{_libdir}/tkConfig.sh \ --with-tk-config=%{_libdir}/tkConfig.sh \
--enable-R-shlib \ --enable-R-shlib \
--enable-prebuilt-html \ --enable-prebuilt-html \
%if %{modern}
%ifnarch %{arm}
--enable-lto \
%endif
%endif
rdocdir=%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}} \ rdocdir=%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}} \
rincludedir=%{_includedir}/R \ rincludedir=%{_includedir}/R \
rsharedir=%{_datadir}/R) \ rsharedir=%{_datadir}/R) \
@ -321,7 +356,7 @@ make pdf
cp doc/manual/R-exts.texi doc/manual/R-exts.texi.spot cp doc/manual/R-exts.texi doc/manual/R-exts.texi.spot
cp doc/manual/R-intro.texi doc/manual/R-intro.texi.spot cp doc/manual/R-intro.texi doc/manual/R-intro.texi.spot
sed -i 's|@eqn|@math|g' doc/manual/R-exts.texi sed -i 's|@eqn|@math|g' doc/manual/R-exts.texi
sed -i 's|@eqn|@math|g' doc/manual/R-intro.texi sed -i 's|@eqn|@math|g' doc/manual/R-intro.texi
%endif %endif
make info make info
@ -353,17 +388,17 @@ echo "%{_libdir}/R/lib" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf
mkdir -p $RPM_BUILD_ROOT%{_datadir}/R/library mkdir -p $RPM_BUILD_ROOT%{_datadir}/R/library
# Install rpm helper macros # Install rpm helper macros
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm/ mkdir -p $RPM_BUILD_ROOT%{macrosdir}/
install -m0644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/ install -m0644 %{SOURCE1} $RPM_BUILD_ROOT%{macrosdir}/
# Install rpm helper script # Install rpm helper script
mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm/ mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm/
install -m0755 %{SOURCE2} $RPM_BUILD_ROOT/usr/lib/rpm/ install -m0755 %{SOURCE2} $RPM_BUILD_ROOT/usr/lib/rpm/
# Fix multilib # Fix multilib
touch -r NEWS ${RPM_BUILD_ROOT}%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}/CAPABILITIES touch -r README ${RPM_BUILD_ROOT}%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}/CAPABILITIES
touch -r NEWS doc/manual/*.pdf touch -r README doc/manual/*.pdf
touch -r NEWS $RPM_BUILD_ROOT%{_bindir}/R touch -r README $RPM_BUILD_ROOT%{_bindir}/R
# Fix html/packages.html # Fix html/packages.html
# We can safely use RHOME here, because all of these are system packages. # We can safely use RHOME here, because all of these are system packages.
@ -424,6 +459,7 @@ popd
%{_libdir}/R/library/base/ %{_libdir}/R/library/base/
# boot # boot
%dir %{_libdir}/R/library/boot/ %dir %{_libdir}/R/library/boot/
%{_libdir}/R/library/boot/bd.q
%{_libdir}/R/library/boot/CITATION %{_libdir}/R/library/boot/CITATION
%{_libdir}/R/library/boot/data/ %{_libdir}/R/library/boot/data/
%{_libdir}/R/library/boot/DESCRIPTION %{_libdir}/R/library/boot/DESCRIPTION
@ -473,6 +509,7 @@ popd
%dir %{_libdir}/R/library/cluster/po/ %dir %{_libdir}/R/library/cluster/po/
%lang(de) %{_libdir}/R/library/cluster/po/de/ %lang(de) %{_libdir}/R/library/cluster/po/de/
%lang(en) %{_libdir}/R/library/cluster/po/en*/ %lang(en) %{_libdir}/R/library/cluster/po/en*/
%lang(fr) %{_libdir}/R/library/cluster/po/fr/
%lang(pl) %{_libdir}/R/library/cluster/po/pl/ %lang(pl) %{_libdir}/R/library/cluster/po/pl/
# codetools # codetools
%dir %{_libdir}/R/library/codetools/ %dir %{_libdir}/R/library/codetools/
@ -522,6 +559,7 @@ popd
%dir %{_libdir}/R/library/KernSmooth/po/ %dir %{_libdir}/R/library/KernSmooth/po/
%lang(de) %{_libdir}/R/library/KernSmooth/po/de/ %lang(de) %{_libdir}/R/library/KernSmooth/po/de/
%lang(en) %{_libdir}/R/library/KernSmooth/po/en*/ %lang(en) %{_libdir}/R/library/KernSmooth/po/en*/
%lang(fr) %{_libdir}/R/library/KernSmooth/po/fr/
%lang(ko) %{_libdir}/R/library/KernSmooth/po/ko/ %lang(ko) %{_libdir}/R/library/KernSmooth/po/ko/
%lang(pl) %{_libdir}/R/library/KernSmooth/po/pl/ %lang(pl) %{_libdir}/R/library/KernSmooth/po/pl/
%{_libdir}/R/library/KernSmooth/R/ %{_libdir}/R/library/KernSmooth/R/
@ -583,6 +621,7 @@ popd
%dir %{_libdir}/R/library/Matrix/po/ %dir %{_libdir}/R/library/Matrix/po/
%lang(de) %{_libdir}/R/library/Matrix/po/de/ %lang(de) %{_libdir}/R/library/Matrix/po/de/
%lang(en) %{_libdir}/R/library/Matrix/po/en*/ %lang(en) %{_libdir}/R/library/Matrix/po/en*/
%lang(fr) %{_libdir}/R/library/Matrix/po/fr/
%lang(pl) %{_libdir}/R/library/Matrix/po/pl/ %lang(pl) %{_libdir}/R/library/Matrix/po/pl/
%{_libdir}/R/library/Matrix/R/ %{_libdir}/R/library/Matrix/R/
%{_libdir}/R/library/Matrix/test-tools.R %{_libdir}/R/library/Matrix/test-tools.R
@ -687,11 +726,11 @@ popd
%{_libdir}/R/library/utils/ %{_libdir}/R/library/utils/
%{_libdir}/R/modules %{_libdir}/R/modules
%{_libdir}/R/COPYING %{_libdir}/R/COPYING
%{_libdir}/R/NEWS* # %{_libdir}/R/NEWS*
%{_libdir}/R/SVN-REVISION %{_libdir}/R/SVN-REVISION
/usr/lib/rpm/R-make-search-index.sh /usr/lib/rpm/R-make-search-index.sh
%{_infodir}/R-*.info* %{_infodir}/R-*.info*
%{_sysconfdir}/rpm/macros.R %{macrosdir}/macros.R
%{_mandir}/man1/* %{_mandir}/man1/*
%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}} %{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}
%docdir %{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}} %docdir %{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}
@ -811,6 +850,39 @@ R CMD javareconf \
%postun -n libRmath -p /sbin/ldconfig %postun -n libRmath -p /sbin/ldconfig
%changelog %changelog
* Fri Apr 25 2014 Tom Callaway <spot@fedoraproject.org> - 3.1.0-2
- fix core-devel Requires
* Mon Apr 21 2014 Tom Callaway <spot@fedoraproject.org> - 3.1.0-1
- update to 3.1.0
* Mon Mar 24 2014 Brent Baude <baude@us.ibm.com> - 3.0.3-2
- add ppc64le support
- rhbz #1077819
* Thu Mar 20 2014 Tom Callaway <spot@fedoraproject.org> - 3.0.3-1
- update to 3.0.3
- switch to java-headless
* Fri Feb 14 2014 David Tardon <dtardon@redhat.com> - 3.0.2-7
- rebuild for new ICU
* Sat Feb 8 2014 Ville Skyttä <ville.skytta@iki.fi> - 3.0.2-6
- Install macros to %%{_rpmconfigdir}/macros.d where available.
- Fix rpmlint spaces vs tabs warnings.
* Fri Feb 7 2014 Tom Callaway <spot@fedoraproject.org> - 3.0.2-5
- add support for system tre (f21+, rhel 7+)
* Fri Feb 7 2014 Orion Poplawski <orion@cora.nwra.com> - 3.0.2-4
- Use BR java
* Fri Jan 24 2014 Tom Callaway <spot@fedoraproject.org> - 3.0.2-3
- disable lto on non-modern targets (not just ppc)
* Fri Dec 20 2013 Tom Callaway <spot@fedoraproject.org> - 3.0.2-2
- add --with-blas, --enable-lto to configure
* Tue Oct 15 2013 Tom Callaway <spot@fedoraproject.org> - 3.0.2-1 * Tue Oct 15 2013 Tom Callaway <spot@fedoraproject.org> - 3.0.2-1
- update to 3.0.2 - update to 3.0.2

View File

@ -1 +1 @@
f9a8374736e7650e4848f33e2e3bbee3 R-3.0.2.tar.gz a1ee52446bee81820409661e6d114ab1 R-3.1.0.tar.gz