Compare commits

...

11 Commits

Author SHA1 Message Date
Tom Callaway cf5f05d4a4 4.0.3 2020-10-13 11:31:44 -04:00
Tom Callaway 5496d01312 bump release to match changelog from previous commit 2020-09-08 12:32:41 -04:00
Tom Callaway ba64e1993e make cups a Recommends, update syslapack conditional to include f31 2020-09-08 12:30:48 -04:00
Iñaki Úcar 9344422d47 https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager 2020-08-07 20:57:25 +02:00
Fedora Release Engineering 07d744324a - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 10:37:31 +00:00
Tom Callaway 694c9856f0 add additional paths to find libjvm.so (OpenJDK 11+) 2020-07-15 18:03:29 -04:00
Tom Callaway e1d61d8c08 4.0.2 2020-06-23 10:56:37 -04:00
Tom Callaway c157b16a55 4.0.1 2020-06-16 11:26:39 -04:00
Pete Walter 92d90f3656 Rebuild for ICU 67 2020-06-15 13:37:37 +01:00
Tom Callaway 8a1584b8c4 apply upstream fix for ppc64 infinite loop 2020-06-02 14:50:27 -04:00
Tom Callaway ac049188bd 4.0.0 2020-05-29 12:18:38 -04:00
4 changed files with 167 additions and 31 deletions

7
.gitignore vendored
View File

@ -34,3 +34,10 @@
/pcre-8.43.tar.bz2
/curl-7.67.0.tar.bz2
/R-3.6.3.tar.gz
/R-4.0.0.tar.gz
/R-4.0.1.tar.gz
/R-4.0.2.tar.gz
/xz-5.2.5.tar.bz2
/R-4.0.3.tar.gz
/pcre-8.44.tar.bz2
/curl-7.72.0.tar.bz2

View File

@ -0,0 +1,50 @@
diff -up R-4.0.0/src/main/machar.c.ppc64 R-4.0.0/src/main/machar.c
--- R-4.0.0/src/main/machar.c.ppc64 2020-06-02 14:42:18.741222048 -0400
+++ R-4.0.0/src/main/machar.c 2020-06-02 14:44:26.523106368 -0400
@@ -98,21 +98,22 @@ MACH_NAME(int *ibeta, int *it, int *irnd
{
volatile DTYPE a, b, beta, betain, betah, one,
t, temp, tempa, temp1, two, y, z, zero;
- int i, itemp, iz, j, k, mx, nxres;
+ int i, iz, j, k, mx, nxres;
one = 1;
two = one+one;
zero = one-one;
/* determine ibeta, beta ala malcolm. */
-
- a = one;
+ a = one; // a = <large> = 9.0072e+15 for 'double' is used later
do {
a = a + a;
temp = a + one;
temp1 = temp - a;
}
while(temp1 - one == zero);
+#ifdef _no_longer___did_overflow_ // on IBM PowerPPC ('Power 8')
+ int itemp;
b = one;
do {
b = b + b;
@@ -121,6 +122,9 @@ MACH_NAME(int *ibeta, int *it, int *irnd
}
while (itemp == 0);
*ibeta = itemp;
+#else
+ *ibeta = (int) FLT_RADIX;
+#endif
beta = *ibeta;
/* determine it, irnd */
diff -up R-4.0.0/src/main/platform.c.ppc64 R-4.0.0/src/main/platform.c
--- R-4.0.0/src/main/platform.c.ppc64 2020-06-02 14:44:40.940754817 -0400
+++ R-4.0.0/src/main/platform.c 2020-06-02 14:45:08.940072121 -0400
@@ -43,6 +43,7 @@
#include <Rinterface.h>
#include <Fileio.h>
#include <ctype.h> /* toupper */
+#include <float.h> // -> FLT_RADIX
#include <limits.h>
#include <string.h>
#include <stdlib.h> /* for realpath */

133
R.spec
View File

@ -4,10 +4,11 @@
%global runjavareconf 1
# lapack comes from openblas, whenever possible.
# We decided to implement this change in Fedora 32+ and EPEL-8 only.
# We decided to implement this change in Fedora 31+ and EPEL-8 only.
# This was to minimize the impact on end-users who might have R modules
# installed locally with the old dependency on libRlapack.so
%if 0%{?fedora} >= 32
%if 0%{?fedora} >= 31
%global syslapack 1
%else
%if 0%{?rhel} && 0%{?rhel} >= 8
@ -35,6 +36,12 @@
%endif
%endif
%if 0%{?fedora} >= 33
%global flexiblas 1
%else
%global flexiblas 0
%endif
%if 0%{?fedora} >= 31
%global usemacros 1
%else
@ -146,12 +153,16 @@
%global texi2any 1
%endif
%global major_version 4
%global minor_version 0
%global patch_version 3
Name: R
Version: 3.6.3
Version: %{major_version}.%{minor_version}.%{patch_version}
Release: 1%{?dist}
Summary: A language for data analysis and graphics
URL: http://www.r-project.org
Source0: https://cran.r-project.org/src/base/R-3/R-%{version}.tar.gz
Source0: https://cran.r-project.org/src/base/R-4/R-%{version}.tar.gz
%if %{texi2any}
# If we have texi2any 5.1+, we can generate the docs on the fly.
# If not, we're building for a very old target (RHEL 6 or older)
@ -169,9 +180,9 @@ Source106: https://cran.r-project.org/doc/FAQ/R-FAQ.html
%if %{zlibhack}
%global zlibv 1.2.11
%global bzipv 1.0.8
%global xzv 5.2.4
%global pcrev 8.43
%global curlv 7.67.0
%global xzv 5.2.5
%global pcrev 8.44
%global curlv 7.72.0
Source1000: http://zlib.net/zlib-%{zlibv}.tar.gz
Source1001: https://www.sourceware.org/pub/bzip2/bzip2-%{bzipv}.tar.gz
Source1002: http://tukaani.org/xz/xz-%{xzv}.tar.bz2
@ -232,16 +243,22 @@ BuildRequires: java
BuildRequires: tre-devel
BuildRequires: autoconf, automake, libtool
%endif
%if %{flexiblas}
BuildRequires: flexiblas-devel
%else
%if %{openblas}
BuildRequires: openblas-devel
%endif
%endif
%if %{syslapack}
%if !%{flexiblas}
%if !%{openblas}
BuildRequires: lapack-devel >= 3.5.0-7
BuildRequires: blas-devel >= 3.5.0-7
%endif
%endif
%endif
BuildRequires: libSM-devel, libX11-devel, libICE-devel, libXt-devel
BuildRequires: bzip2-devel, libXmu-devel, cairo-devel, libtiff-devel
@ -286,7 +303,9 @@ and called at run time.
%package core
Summary: The minimal R components necessary for a functional runtime
Requires: xdg-utils, cups
Requires: xdg-utils
# Bugzilla 1875165
Recommends: cups
# R inherits the compiler flags it was built with, hence we need this on hardened systems
%if 0%{hardening}
Requires: redhat-rpm-config
@ -306,16 +325,22 @@ Requires: sed, gawk, tex(latex), less, make, unzip
Requires: libRmath%{?_isa} = %{version}-%{release}
%if !%{syslapack}
%if !%{flexiblas}
%if %{openblas}
Requires: openblas-Rblas
%endif
%endif
%endif
%if %{use_devtoolset}
# We need it for CXX11 and higher support.
Requires: devtoolset-%{dts_version}-toolchain
%endif
# This is our ABI provides to prevent mismatched installs.
# R packages should autogenerate a Requires: R(ABI) based on the R they were built against.
Provides: R(ABI) = %{major_version}.%{minor_version}
# These are the submodules that R-core provides. Sometimes R modules say they
# depend on one of these submodules rather than just R. These are provided for
# packager convenience.
@ -327,32 +352,32 @@ Requires: devtoolset-%{dts_version}-toolchain
print("Provides: R(" .. name .. ") = " .. version)
}
%add_submodule base %{version}
%add_submodule boot 1.3-24
%add_submodule class 7.3-15
%add_submodule boot 1.3-25
%add_submodule class 7.3-17
%add_submodule cluster 2.1.0
%add_submodule codetools 0.2-16
%add_submodule compiler %{version}
%add_submodule datasets %{version}
%add_submodule foreign 0.8-75
%add_submodule foreign 0.8-80
%add_submodule graphics %{version}
%add_submodule grDevices %{version}
%add_submodule grid %{version}
%add_submodule KernSmooth 2.23-16
%add_submodule lattice 0.20-38
%add_submodule MASS 7.3-51.5
%add_submodule KernSmooth 2.23-17
%add_submodule lattice 0.20-41
%add_submodule MASS 7.3-53
%add_submodule Matrix 1.2-18
Obsoletes: R-Matrix < 0.999375-7
%add_submodule methods %{version}
%add_submodule mgcv 1.8-31
%add_submodule nlme 3.1-144
%add_submodule nnet 7.3-12
%add_submodule mgcv 1.8-33
%add_submodule nlme 3.1-149
%add_submodule nnet 7.3-14
%add_submodule parallel %{version}
%add_submodule rpart 4.1-15
%add_submodule spatial 7.3-11
%add_submodule spatial 7.3-12
%add_submodule splines %{version}
%add_submodule stats %{version}
%add_submodule stats4 %{version}
%add_submodule survival 3.1-8
%add_submodule survival 3.2-7
%add_submodule tcltk %{version}
%add_submodule tools %{version}
%add_submodule translations %{version}
@ -386,10 +411,14 @@ Requires: pcre-devel
Requires: pcre2-devel
%endif
%if %{syslapack}
%if %{flexiblas}
Requires: flexiblas-devel
%else
%if %{openblas}
Requires: openblas-devel
%endif
%endif
%endif
%if %{modern}
Requires: libicu-devel
%endif
@ -644,6 +673,11 @@ export FFLAGS="%{optflags} --no-optimize-sibling-calls"
# of the R bundled blas, that can be replaced by an optimized version.
# It also results in R using the bundled lapack copy.
%if %{flexiblas}
# avoid this check
sed -i '/"checking whether the BLAS is complete/i r_cv_complete_blas=yes' configure
%endif
( %configure \
%if 0%{?rhel} && 0%{?rhel} <= 5
--with-readline=no \
@ -654,7 +688,11 @@ export FFLAGS="%{optflags} --no-optimize-sibling-calls"
--with-system-valgrind-headers \
%if %{syslapack}
--with-lapack \
%if %{flexiblas}
--with-blas="flexiblas" \
%else
--with-blas \
%endif
%else
--enable-BLAS-shlib \
%endif
@ -676,8 +714,7 @@ export FFLAGS="%{optflags} --no-optimize-sibling-calls"
%endif
rdocdir=%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}} \
rincludedir=%{_includedir}/R \
rsharedir=%{_datadir}/R) \
> CONFIGURE.log
rsharedir=%{_datadir}/R) | tee CONFIGURE.log
cat CONFIGURE.log | grep -A30 'R is now' - > CAPABILITIES
%if 0%{?zlibhack}
make V=1 CURL_CPPFLAGS='-DCURL_STATICLIB -I%{_builddir}/%{name}-%{version}/curl-%{curlv}/target%{_includedir}' CURL_LIBS=`%{_builddir}/%{name}-%{version}/curl-%{curlv}/target/usr/bin/curl-config --libs`
@ -800,11 +837,13 @@ sed -i 's|/builddir/build/BUILD/R-%{version}/curl-%{curlv}/target%{_libdir}/:/bu
%endif
%if !%{syslapack}
%if !%{flexiblas}
%if %{openblas}
# Rename the R blas so.
mv %{buildroot}%{_libdir}/R/lib/libRblas.so %{buildroot}%{_libdir}/R/lib/libRrefblas.so
%endif
%endif
%endif
# okay, look. its very clear that upstream does not run the test suite on any non-intel architectures.
%check
@ -825,9 +864,9 @@ R CMD javareconf \
JAVA_HOME=%{_jvmdir}/jre \
JAVA_CPPFLAGS='-I%{_jvmdir}/java/include\ -I%{_jvmdir}/java/include/linux' \
JAVA_LIBS='-L%{_jvmdir}/jre/lib/%{java_arch}/server \
-L%{_jvmdir}/jre/lib/%{java_arch}\ -L%{_jvmdir}/java/lib/%{java_arch} \
-L%{_jvmdir}/jre/lib/%{java_arch}\ -L%{_jvmdir}/java/lib/%{java_arch}\ -L%{_jvmdir}/jre/lib/server \
-L/usr/java/packages/lib/%{java_arch}\ -L/lib\ -L/usr/lib\ -ljvm' \
JAVA_LD_LIBRARY_PATH=%{_jvmdir}/jre/lib/%{java_arch}/server:%{_jvmdir}/jre/lib/%{java_arch}:%{_jvmdir}/java/lib/%{java_arch}:/usr/java/packages/lib/%{java_arch}:/lib:/usr/lib \
JAVA_LD_LIBRARY_PATH=%{_jvmdir}/jre/lib/%{java_arch}/server:%{_jvmdir}/jre/lib/%{java_arch}:%{_jvmdir}/java/lib/%{java_arch}:%{_jvmdir}/jre/lib/server:/usr/java/packages/lib/%{java_arch}:/lib:/usr/lib \
> /dev/null 2>&1 || exit 0
%endif
@ -859,9 +898,9 @@ R CMD javareconf \
JAVA_HOME=%{_jvmdir}/jre \
JAVA_CPPFLAGS='-I%{_jvmdir}/java/include\ -I%{_jvmdir}/java/include/linux' \
JAVA_LIBS='-L%{_jvmdir}/jre/lib/%{java_arch}/server \
-L%{_jvmdir}/jre/lib/%{java_arch}\ -L%{_jvmdir}/java/lib/%{java_arch} \
-L%{_jvmdir}/jre/lib/%{java_arch}\ -L%{_jvmdir}/java/lib/%{java_arch}\ -L%{_jvmdir}/jre/lib/server \
-L/usr/java/packages/lib/%{java_arch}\ -L/lib\ -L/usr/lib\ -ljvm' \
JAVA_LD_LIBRARY_PATH=%{_jvmdir}/jre/lib/%{java_arch}/server:%{_jvmdir}/jre/lib/%{java_arch}:%{_jvmdir}/java/lib/%{java_arch}:/usr/java/packages/lib/%{java_arch}:/lib:/usr/lib \
JAVA_LD_LIBRARY_PATH=%{_jvmdir}/jre/lib/%{java_arch}/server:%{_jvmdir}/jre/lib/%{java_arch}:%{_jvmdir}/java/lib/%{java_arch}:%{_jvmdir}/jre/lib/server:/usr/java/packages/lib/%{java_arch}:/lib:/usr/lib \
> /dev/null 2>&1 || exit 0
%endif
@ -871,9 +910,9 @@ R CMD javareconf \
JAVA_HOME=%{_jvmdir}/jre \
JAVA_CPPFLAGS='-I%{_jvmdir}/java/include\ -I%{_jvmdir}/java/include/linux' \
JAVA_LIBS='-L%{_jvmdir}/jre/lib/%{java_arch}/server \
-L%{_jvmdir}/jre/lib/%{java_arch}\ -L%{_jvmdir}/java/lib/%{java_arch} \
-L%{_jvmdir}/jre/lib/%{java_arch}\ -L%{_jvmdir}/java/lib/%{java_arch}\ -L%{_jvmdir}/jre/lib/server \
-L/usr/java/packages/lib/%{java_arch}\ -L/lib\ -L/usr/lib\ -ljvm' \
JAVA_LD_LIBRARY_PATH=%{_jvmdir}/jre/lib/%{java_arch}/server:%{_jvmdir}/jre/lib/%{java_arch}:%{_jvmdir}/java/lib/%{java_arch}:/usr/java/packages/lib/%{java_arch}:/lib:/usr/lib \
JAVA_LD_LIBRARY_PATH=%{_jvmdir}/jre/lib/%{java_arch}/server:%{_jvmdir}/jre/lib/%{java_arch}:%{_jvmdir}/java/lib/%{java_arch}:%{_jvmdir}/jre/lib/server:/usr/java/packages/lib/%{java_arch}:/lib:/usr/lib \
> /dev/null 2>&1 || exit 0
%endif
%endif
@ -933,6 +972,7 @@ R CMD javareconf \
%lang(de) %{_libdir}/R/library/boot/po/de/
%lang(en) %{_libdir}/R/library/boot/po/en*/
%lang(fr) %{_libdir}/R/library/boot/po/fr/
%lang(it) %{_libdir}/R/library/boot/po/it/
%lang(ko) %{_libdir}/R/library/boot/po/ko/
%lang(pl) %{_libdir}/R/library/boot/po/pl/
%lang(ru) %{_libdir}/R/library/boot/po/ru/
@ -952,6 +992,7 @@ R CMD javareconf \
%lang(de) %{_libdir}/R/library/class/po/de/
%lang(en) %{_libdir}/R/library/class/po/en*/
%lang(fr) %{_libdir}/R/library/class/po/fr/
%lang(it) %{_libdir}/R/library/class/po/it/
%lang(ko) %{_libdir}/R/library/class/po/ko/
%lang(pl) %{_libdir}/R/library/class/po/pl/
%{_libdir}/R/library/class/R/
@ -1003,6 +1044,7 @@ R CMD javareconf \
%lang(de) %{_libdir}/R/library/foreign/po/de/
%lang(en) %{_libdir}/R/library/foreign/po/en*/
%lang(fr) %{_libdir}/R/library/foreign/po/fr/
%lang(it) %{_libdir}/R/library/foreign/po/it/
%lang(pl) %{_libdir}/R/library/foreign/po/pl/
%{_libdir}/R/library/foreign/R/
# graphics
@ -1024,6 +1066,7 @@ R CMD javareconf \
%lang(de) %{_libdir}/R/library/KernSmooth/po/de/
%lang(en) %{_libdir}/R/library/KernSmooth/po/en*/
%lang(fr) %{_libdir}/R/library/KernSmooth/po/fr/
%lang(it) %{_libdir}/R/library/KernSmooth/po/it/
%lang(ko) %{_libdir}/R/library/KernSmooth/po/ko/
%lang(pl) %{_libdir}/R/library/KernSmooth/po/pl/
%{_libdir}/R/library/KernSmooth/R/
@ -1063,6 +1106,7 @@ R CMD javareconf \
%lang(de) %{_libdir}/R/library/MASS/po/de/
%lang(en) %{_libdir}/R/library/MASS/po/en*/
%lang(fr) %{_libdir}/R/library/MASS/po/fr/
%lang(it) %{_libdir}/R/library/MASS/po/it/
%lang(ko) %{_libdir}/R/library/MASS/po/ko/
%lang(pl) %{_libdir}/R/library/MASS/po/pl/
%{_libdir}/R/library/MASS/R/
@ -1134,6 +1178,7 @@ R CMD javareconf \
%lang(de) %{_libdir}/R/library/nnet/po/de/
%lang(en) %{_libdir}/R/library/nnet/po/en*/
%lang(fr) %{_libdir}/R/library/nnet/po/fr/
%lang(it) %{_libdir}/R/library/nnet/po/it/
%lang(ko) %{_libdir}/R/library/nnet/po/ko/
%lang(pl) %{_libdir}/R/library/nnet/po/pl/
%{_libdir}/R/library/nnet/R/
@ -1174,6 +1219,7 @@ R CMD javareconf \
%lang(de) %{_libdir}/R/library/spatial/po/de/
%lang(en) %{_libdir}/R/library/spatial/po/en*/
%lang(fr) %{_libdir}/R/library/spatial/po/fr/
%lang(it) %{_libdir}/R/library/spatial/po/it/
%lang(ko) %{_libdir}/R/library/spatial/po/ko/
%lang(pl) %{_libdir}/R/library/spatial/po/pl/
%{_libdir}/R/library/spatial/ppdata/
@ -1234,6 +1280,39 @@ R CMD javareconf \
%{_libdir}/libRmath.a
%changelog
* Mon Oct 12 2020 Tom Callaway <spot@fedoraproject.org> - 4.0.3-1
- update to 4.0.3
* Tue Sep 8 2020 Tom Callaway <spot@fedoraproject.org> - 4.0.2-5
- make cups a "Recommends" instead of a "Requires" (bz1875165)
- even though f31 uses a forked spec file, reflect the systemlapack change there here
* Fri Aug 07 2020 Iñaki Úcar <iucar@fedoraproject.org> - 4.0.2-4
- https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 15 2020 Tom Callaway <spot@fedoraproject.org> - 4.0.2-2
- add additional paths to find libjvm.so (OpenJDK 11+)
* Mon Jun 22 2020 Tom Callaway <spot@fedoraproject.org> - 4.0.2-1
- update to 4.0.2
* Tue Jun 16 2020 Tom Callaway <spot@fedoraproject.org> - 4.0.1-1
- update to 4.0.1
* Mon Jun 15 2020 Pete Walter <pwalter@fedoraproject.org> - 4.0.0-3
- Rebuild for ICU 67
* Tue Jun 2 2020 Tom Callaway <spot@fedoraproject.org> - 4.0.0-2
- apply upstream fix for ppc64 infinite loop
* Fri May 8 2020 Tom Callaway <spot@fedoraproject.org> - 4.0.0-1
- update to 4.0.0
NOTE: This major release update requires all installed R modules to be rebuilt in order to work.
To help with this, we've added an R(ABI) Provides/Requires setup.
* Mon Mar 2 2020 Tom Callaway <spot@fedoraproject.org> - 3.6.3-1
- update to 3.6.3
- conditionalize lapack changes from previous commits to Fedora 32+ and EPEL-8

View File

@ -1,6 +1,6 @@
SHA512 (zlib-1.2.11.tar.gz) = 73fd3fff4adeccd4894084c15ddac89890cd10ef105dd5e1835e1e9bbb6a49ff229713bd197d203edfa17c2727700fce65a2a235f07568212d820dca88b528ae
SHA512 (xz-5.2.4.tar.bz2) = 25a548c34a304ba51cdaa63813df0fa4ac2f3cf0ec6dc2d181ec5b62fe586090cd0f1c866ee7ba19e9b264ecabf9ca9f2f1dda7f95313546da4152f3cfaa7e6e
SHA512 (bzip2-1.0.8.tar.gz) = 083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3
SHA512 (pcre-8.43.tar.bz2) = 3b4ac2c7ccd77c9575d07a33c3456f40b50731029e62d01fb8f2f5871d7118e12bc9e6bc7a8079769c765e38da5ecf98c4b261b10ff0a2f14f0881b434f67af7
SHA512 (curl-7.67.0.tar.bz2) = 096e12be86bca1c19ba9e1d98b8342ec0d76b2e00cab322a7109d1e3559343ff7702b993c772f221fa073d2b8b6ffe6535d15411819fb245d3fa2c18e110b0a5
SHA512 (R-3.6.3.tar.gz) = 9b1dc78922e431bd1af81e6e560b10ad04d121718f680fed32db735d561fd40ea6028759976722db11559f1a78fe684119b766f0567128cb2ee5003aa87a0931
SHA512 (xz-5.2.5.tar.bz2) = 89e25ddf72427ee9608cbf2e9dbc24d592cb67a27f44ccf7d47e4d9405774444e9cfcd02ac4bcb92064860371ed31d3cfbecd5fe063f296ead607714c0a664a1
SHA512 (R-4.0.3.tar.gz) = 2493295f3052d077a4820c0f84ca1c37df262b8b357f62f2ea99dbfffea065861735a08fa2098421078e58e917c540e680a668546d450af734722b421669e058
SHA512 (pcre-8.44.tar.bz2) = f26d850aab5228799e58ac8c2306fb313889332c39e29b118ef1de57677c5c90f970d68d3f475cabc64f8b982a77f04eca990ff1057f3ccf5e19bd137997c4ac
SHA512 (curl-7.72.0.tar.bz2) = ca787b8890c485f3176b9d51b024d217d69f28c34ab84c4091a2fcbbe5f13346efd559e9bb507971aec0ecb6ec4ed5975d2722773015728b72d3f26a3574c312