Compare commits

..

No commits in common. "master" and "f25" have entirely different histories.
master ... f25

15 changed files with 182 additions and 10837 deletions

54
.gitignore vendored
View File

@ -1,8 +1,28 @@
/xz-5.2.2.tar.bz2
/zlib-1.2.8.tar.gz
/bzip2-1.0.6.tar.gz
/curl-7.48.0.tar.bz2
/pcre-8.38.tar.bz2
R-2.11.1.tar.gz
/R-2.12.0.tar.gz
/R-2.12.1.tar.gz
/R-2.12.2.tar.gz
/R-2.13.0.tar.gz
/R-2.13.1.tar.gz
/R-2.13.2.tar.gz
/R-2.14.0.tar.gz
/R-2.14.1.tar.gz
/R-2.15.0.tar.gz
/R-2.15.1.tar.gz
/R-2.15.2.tar.gz
/R-3.0.0.tar.gz
/R-3.0.1.tar.gz
/R-3.0.2.tar.gz
/R-3.0.3.tar.gz
/R-3.1.1.tar.gz
/R-3.1.2.tar.gz
/R-3.1.3.tar.gz
/R-3.2.0.tar.gz
/R-3.2.1.tar.gz
/R-3.2.2.tar.gz
/R-3.2.3.tar.gz
/R-3.2.4-revised.tar.gz
/R-3.3.0.tar.gz
/R-3.3.1.tar.gz
/R-3.3.2.tar.gz
/R-3.3.3.tar.gz
@ -17,27 +37,3 @@
/pcre-8.41.tar.bz2
/curl-7.56.1.tar.bz2
/R-3.4.3.tar.gz
/R-3.4.4.tar.gz
/pcre-8.42.tar.bz2
/curl-7.59.0.tar.bz2
/xz-5.2.4.tar.bz2
/R-3.5.0.tar.gz
/R-3.5.1.tar.gz
/curl-7.61.1.tar.bz2
/curl-7.63.0.tar.bz2
/R-3.5.2.tar.gz
/R-3.5.3.tar.gz
/R-3.6.0.tar.gz
/R-3.6.1.tar.gz
/R-3.6.2.tar.gz
/bzip2-1.0.8.tar.gz
/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

File diff suppressed because it is too large Load Diff

View File

@ -1,149 +0,0 @@
diff -uNr R-2.5.0/src/nmath/standalone/Makefile.in R-2.5.0-patched/src/nmath/standalone/Makefile.in
--- R-2.5.0/src/nmath/standalone/Makefile.in 2007-03-26 18:42:08.000000000 +0200
+++ R-2.5.0-patched/src/nmath/standalone/Makefile.in 2007-04-29 14:50:55.000000000 +0200
@@ -67,7 +67,7 @@
libRmath_la_LDFLAGS =
CLEANFILES = Makedeps *.d *.o *.lo test $(SOURCES)
-DISTCLEANFILES = Makefile $(Rexeclibdir_LIBRARIES) $(Rexeclibdir_LTLIBRARIES)
+DISTCLEANFILES = Makefile libRmath.pc $(Rexeclibdir_LIBRARIES) $(Rexeclibdir_LTLIBRARIES)
DEFS = -DHAVE_CONFIG_H -DMATHLIB_STANDALONE
ALL_CPPFLAGS = $(R_XTRA_CPPFLAGS) -I$(srcdir)/.. $(CPPFLAGS) $(DEFS)
@@ -78,7 +78,7 @@
@r_cc_lo_rules_frag@
-all: Makefile inc static shared
+all: Makefile inc static shared build-pc
inc:
(cd ../../include; $(MAKE) Rmath.h)
@@ -100,6 +100,11 @@
shared: Makefile ../../include/Rconfig.h Copy Makedeps
@$(MAKE) $(Rexeclibdir_LTLIBRARIES)
+build-pc:
+ @$(SED) -e "s:@libdir:$(libdir):" -e "s:@includedir:$(includedir):" \
+ -e 's/@VERSION/$(VERSION)/' -e 's/@libm/$(LIBM)/' $(srcdir)/libRmath.pc.in \
+ > "libRmath.pc"
+
../../include/Rconfig.h:
(cd $(@D); $(MAKE) $(@F))
@@ -163,9 +168,7 @@
install-pc:
@$(MKINSTALLDIRS) "$(libdir)/pkgconfig"
- @$(SED) -e "s:@libdir:$(libdir):" -e "s:@includedir:$(includedir):" \
- -e 's/@VERSION/$(VERSION)/' -e 's/@libm/$(LIBM)/' $(srcdir)/libRmath.pc.in \
- > "$(libdir)/pkgconfig/libRmath.pc"
+ @$(INSTALL_DATA) libRmath.pc "$(libdir)/pkgconfig/libRmath.pc"
uninstall:
@rm -f $(includedir)/Rmath.h $(libdir)/$(libRmath_la) $(libdir)/libRmath.a "$(libdir)/pkgconfig/libRmath.pc"
diff -uNr R-2.5.0/src/scripts/Makefile.in R-2.5.0-patched/src/scripts/Makefile.in
--- R-2.5.0/src/scripts/Makefile.in 2007-03-26 18:42:09.000000000 +0200
+++ R-2.5.0-patched/src/scripts/Makefile.in 2007-04-29 14:50:14.000000000 +0200
@@ -23,17 +23,22 @@
DISTFILES = Makefile.in Makefile.win $(SCRIPTS_S) $(SCRIPTS_B_IN) R.sh.in
CLEANFILES =
-DISTCLEANFILES = Makefile R.fe R.sh $(SCRIPTS_B)
+DISTCLEANFILES = Makefile R.fe R.fe2 R.sh $(SCRIPTS_B)
all: Makefile R
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-R: $(SCRIPTS_B) R.fe
+R: $(SCRIPTS_B) R.fe R.fe2
@$(MAKE) rhome=$(top_builddir) install-cmds
@$(INSTALL_SCRIPT) R.fe $(top_builddir)/bin/R
+R.fe2:
+ @(d=`echo '$(rhome)' | sed 's,/,\\\/,g';`; \
+ sed -e "s/\\(R_HOME_DIR=\\).*/\\1$${d}/;" -e "s+\\(R_SHARE_DIR=\\).*+\\1$(rsharedir)+;" -e "s+\\(R_INCLUDE_DIR=\\).*+\\1$(rincludedir)+;" -e "s+\\(R_DOC_DIR=\\).*+\\1$(rdocdir)+;"\
+ < R.fe > $@)
+
## <NOTE>
## Seems we need target rules for creating FOO from FOO.in: pattern
## rules ('%:%.in') are not portable, and some versions of Make do not
@@ -95,10 +100,8 @@
install: installdirs install-cmds
@rm -f $(bindir)/R
- @(d=`echo '$(rhome)' | sed 's,/,\\\/,g';`; \
- sed -e "s/\\(R_HOME_DIR=\\).*/\\1$${d}/;" -e "s+\\(R_SHARE_DIR=\\).*+\\1$(rsharedir)+;" -e "s+\\(R_INCLUDE_DIR=\\).*+\\1$(rincludedir)+;" -e "s+\\(R_DOC_DIR=\\).*+\\1$(rdocdir)+;"\
- < R.fe > "$(Rexecbindir)/R")
- @$(INSTALL_SCRIPT) "$(Rexecbindir)/R" "$(bindir)/R"
+ @$(INSTALL_SCRIPT) R.fe2 "$(Rexecbindir)/R"
+ @$(INSTALL_SCRIPT) R.fe2 "$(bindir)/R"
@chmod 755 "$(bindir)/R" "$(Rexecbindir)/R"
## why of all the scriots does this alone chmod just one copy?
installdirs:
diff -uNr R-2.5.0/src/unix/Makefile.in R-2.5.0-patched/src/unix/Makefile.in
--- R-2.5.0/src/unix/Makefile.in 2007-03-26 18:41:33.000000000 +0200
+++ R-2.5.0-patched/src/unix/Makefile.in 2007-04-29 14:51:55.000000000 +0200
@@ -26,7 +26,7 @@
@WANT_R_SHLIB_TRUE@ALL_CFLAGS = $(ALL_CFLAGS_LO)
-all: Makefile Makedeps R
+all: Makefile Makedeps R
Makefile: $(srcdir)/Makefile.in \
$(top_builddir)/config.status \
@@ -38,11 +38,23 @@
@cat $(DEPENDS) >> Makefile
@touch $@
-R: Makefile
+R: Makefile
@$(MAKE) Makedeps
@WANT_R_SHLIB_FALSE@ @$(MAKE) libunix.a
@WANT_R_SHLIB_TRUE@ @$(MAKE) stamp-lo
+ @$(MAKE) rhome=$(abs_top_builddir) build-Rscript
@$(MAKE) rhome=$(abs_top_builddir) install-Rscript
+ @$(MAKE) build-Rscript
+ @$(MAKE) build-pc
+
+build-pc:
+ @$(SED) -e "s:@rhome:$(rhome):" -e "s:@rincludedir:$(rincludedir):" \
+ -e 's/@VERSION/$(VERSION)/' $(srcdir)/libR.pc.in \
+ > "libR.pc"
+
+build-Rscript:
+ $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -DR_HOME='"$(rhome)"' -o Rscript \
+ $(srcdir)/Rscript.c
## is this portable?
../include/Rversion.h:
@@ -60,22 +72,19 @@
clean:
@-rm -rf .libs _libs
@-rm -f Makedeps *.d *.o *.a *.lo *.la stamp-lo
+ @-rm -f Rscript libR.pc
distclean: clean
@-rm -f Makefile
maintainer-clean: distclean
-## we need to build at install time to capture the correct 'rhome'
+## install previously built Rscript
install-Rscript:
- $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -DR_HOME='"$(rhome)"' -o Rscript \
- $(srcdir)/Rscript.c
@$(MKINSTALLDIRS) "$(Rexecbindir)"
@$(INSTALL_PROGRAM) Rscript "$(Rexecbindir)/Rscript"
-## substitute at install time to allow 'prefix' to be overridden
+## install previously built libR.pc
install-pc:
@$(MKINSTALLDIRS) "$(libdir)/pkgconfig"
- @$(SED) -e "s:@rhome:$(rhome):" -e "s:@rincludedir:$(rincludedir):" \
- -e 's/@VERSION/$(VERSION)/' $(srcdir)/libR.pc.in \
- > "$(libdir)/pkgconfig/libR.pc"
+ @$(INSTALL_DATA) libR.pc "$(libdir)/pkgconfig/libR.pc"
install: install-Rscript @WANT_R_SHLIB_TRUE@ install-pc
@$(MKINSTALLDIRS) "$(bindir)"
@$(INSTALL_PROGRAM) Rscript "$(bindir)/Rscript"

View File

@ -1,18 +0,0 @@
Index: src/unix/Makefile.in
===================================================================
--- src/unix/Makefile.in (revision 45534)
+++ src/unix/Makefile.in (revision 45535)
@@ -78,11 +78,11 @@
-e 's/@VERSION/$(VERSION)/' $(srcdir)/libR.pc.in \
> "$(DESTDIR)$(libdir)/pkgconfig/libR.pc"
-install: install-main install-Rscript
+install: install-main
install: @WANT_R_SHLIB_TRUE@ install-pc
install: @WANT_R_STATIC_TRUE@ install-pc
-install-main:
+install-main: install-Rscript
@$(MKINSTALLDIRS) "$(DESTDIR)$(bindir)"
@$(INSTALL_PROGRAM) Rscript "$(DESTDIR)$(bindir)/Rscript"

View File

@ -1,27 +0,0 @@
diff -up R-2.7.1/src/scripts/javareconf.BAD R-2.7.1/src/scripts/javareconf
--- R-2.7.1/src/scripts/javareconf.BAD 2008-08-29 11:04:21.000000000 -0400
+++ R-2.7.1/src/scripts/javareconf 2008-08-29 11:05:34.000000000 -0400
@@ -125,16 +125,17 @@ fi
javac_works='not present'
if test -n "$JAVAC"; then
javac_works='not functional'
- rm -rf /tmp/A.java /tmp/A.class
- echo "public class A { }" > /tmp/A.java
- if test -e /tmp/A.java; then
- if "${JAVAC}" /tmp/A.java >/dev/null; then
- if test -e /tmp/A.class; then
+ tempdir=`mktemp -d`
+ echo "public class A { }" > ${tempdir}/A.java
+ if test -e ${tempdir}/A.java; then
+ if "${JAVAC}" ${tempdir}/A.java >/dev/null; then
+ if test -e ${tempdir}/A.class; then
javac_works=yes
fi
fi
fi
- rm -rf /tmp/A.java /tmp/A.class
+ rm -rf ${tempdir}
+
fi
if test "${javac_works}" = yes; then
echo "Java compiler : ${JAVAC}"

View File

@ -1,11 +0,0 @@
--- R-2.7.2/configure.org 2008-09-25 15:00:20.000000000 +0900
+++ R-2.7.2/configure 2008-09-25 15:00:35.000000000 +0900
@@ -26995,7 +26995,7 @@
;;
# Ignore these flags.
- -lang* | -lcrt*.o | -lc | -lgcc* | -lSystem | -libmil | -LANG:=* | -LIST:* | -LNO:*)
+ -little | -lang* | -lcrt*.o | -lc | -lgcc* | -lSystem | -libmil | -LANG:=* | -LIST:* | -LNO:*)
;;
-lkernel32)
test x"$CYGWIN" != xyes && ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg"

View File

@ -1,26 +0,0 @@
diff -up R-2.8.0/configure.BAD R-2.8.0/configure
--- R-2.8.0/configure.BAD 2008-10-26 11:51:56.000000000 -0400
+++ R-2.8.0/configure 2008-10-26 11:52:31.000000000 -0400
@@ -44779,6 +44779,11 @@ else
have_bzlib=no
fi
if test "x${have_bzlib}" = xyes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_BZLIB_H 1
+_ACEOF
+
{ echo "$as_me:$LINENO: checking if bzip2 version >= 1.0.5" >&5
echo $ECHO_N "checking if bzip2 version >= 1.0.5... $ECHO_C" >&6; }
if test "${r_cv_have_bzlib+set}" = set; then
diff -up R-2.8.0/m4/R.m4.BAD R-2.8.0/m4/R.m4
--- R-2.8.0/m4/R.m4.BAD 2008-09-21 18:05:06.000000000 -0400
+++ R-2.8.0/m4/R.m4 2008-10-26 11:53:05.000000000 -0400
@@ -3055,6 +3055,7 @@ else
have_bzlib=no
fi
if test "x${have_bzlib}" = xyes; then
+AC_DEFINE(HAVE_BZLIB_H, 1, [Define to 1 if you have bzlib.h.])
AC_CACHE_CHECK([if bzip2 version >= 1.0.5], [r_cv_have_bzlib],
[AC_LANG_PUSH(C)
r_save_LIBS="${LIBS}"

View File

@ -1,32 +0,0 @@
diff -up R-3.0.1/src/library/tools/R/install.R.armfix R-3.0.1/src/library/tools/R/install.R
--- R-3.0.1/src/library/tools/R/install.R.armfix 2013-08-12 13:57:17.956790673 -0400
+++ R-3.0.1/src/library/tools/R/install.R 2013-08-12 13:59:51.230800752 -0400
@@ -108,7 +108,11 @@
SHLIB_EXT <- if (WINDOWS) ".dll" else {
## can we do better?
mconf <- file.path(R.home(), paste0("etc", rarch), "Makeconf")
- sub(".*= ", "", grep("^SHLIB_EXT", readLines(mconf), value = TRUE))
+ if (substr( Sys.info()["machine"], 1, 3) == "arm") { # arm has broken regexps in libc
+ sub(".*= ", "", grep("^SHLIB_EXT", readLines(mconf), value = TRUE), perl = TRUE)
+ } else {
+ sub(".*= ", "", grep("^SHLIB_EXT", readLines(mconf), value = TRUE))
+ }
}
options(warn = 1)
@@ -1627,8 +1631,13 @@
mconf <- readLines(file.path(R.home(),
paste0("etc", Sys.getenv("R_ARCH")),
"Makeconf"))
- SHLIB_EXT <- sub(".*= ", "", grep("^SHLIB_EXT", mconf, value = TRUE))
- SHLIB_LIBADD <- sub(".*= ", "", grep("^SHLIB_LIBADD", mconf, value = TRUE))
+ if (substr( Sys.info()["machine"], 1, 3) == "arm") { # arm has broken regexps in libc
+ SHLIB_EXT <- sub(".*= ", "", grep("^SHLIB_EXT", mconf, value = TRUE), perl = TRUE)
+ SHLIB_LIBADD <- sub(".*= ", "", grep("^SHLIB_LIBADD", mconf, value = TRUE), perl = TRUE)
+ } else {
+ SHLIB_EXT <- sub(".*= ", "", grep("^SHLIB_EXT", mconf, value = TRUE))
+ SHLIB_LIBADD <- sub(".*= ", "", grep("^SHLIB_LIBADD", mconf, value = TRUE))
+ }
MAKE <- Sys.getenv("MAKE")
rarch <- Sys.getenv("R_ARCH")
} else {

View File

@ -1,16 +0,0 @@
diff -up R-3.6.2/src/main/arithmetic.c.ppc64 R-3.6.2/src/main/arithmetic.c
--- R-3.6.2/src/main/arithmetic.c.ppc64 2019-10-18 18:15:02.000000000 -0400
+++ R-3.6.2/src/main/arithmetic.c 2019-12-18 09:05:50.363220122 -0500
@@ -177,7 +177,12 @@ void attribute_hidden InitArithmetic()
}
#if HAVE_LONG_DOUBLE && (SIZEOF_LONG_DOUBLE > SIZEOF_DOUBLE)
+# ifdef __PPC64__
+ // PowerPC 64 (when gcc has -mlong-double-128) fails constant folding with LDOUBLE
+# define q_1_eps (1 / LDBL_EPSILON)
+# else
static LDOUBLE q_1_eps = 1 / LDBL_EPSILON;
+# endif
#else
static double q_1_eps = 1 / DBL_EPSILON;
#endif

View File

@ -1,50 +0,0 @@
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 */

7
R-make-search-index.sh Executable file
View File

@ -0,0 +1,7 @@
#!/bin/bash
# This script used to do something, now it doesn't.
# Why are you reading this?
exit 0

532
R.spec
View File

@ -1,63 +1,3 @@
# We do not want this.
%define __brp_mangle_shebangs /usr/bin/true
%global runjavareconf 1
# lapack comes from openblas, whenever possible.
# 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} >= 31
%global syslapack 1
%else
%if 0%{?rhel} && 0%{?rhel} >= 8
%global syslapack 1
%else
%global syslapack 0
%endif
%endif
%if 0%{?rhel} >= 8
%global openblas 1
%else
%if 0%{?rhel} == 7
%ifarch x86_64 %{ix86} armv7hl %{power64} aarch64
%global openblas 1
%else
%global openblas 0
%endif
%else
%if 0%{?fedora}
%global openblas 1
%else
%global openblas 0
%endif
%endif
%endif
%if 0%{?fedora} >= 33
%global flexiblas 1
%else
%global flexiblas 0
%endif
%if 0%{?fedora} >= 31
%global usemacros 1
%else
%if 0%{?rhel} && 0%{?rhel} >= 8
%global usemacros 1
%else
%global usemacros 0
%endif
%endif
%if 0%{?rhel} && 0%{?rhel} <= 6
%ifarch ppc64 ppc64le
%global runjavareconf 0
%endif
%endif
%ifarch x86_64
%global java_arch amd64
%else
@ -80,21 +20,6 @@
%global with_java_headless 1
%endif
# We need this on old EL for C++11 support.
%if 0%{?rhel} && 0%{?rhel} <= 7
%global use_devtoolset 1
%else
%global use_devtoolset 0
%endif
%if 0%{?rhel} == 7
%global dts_version 8
%endif
%if 0%{?rhel} == 6
%global dts_version 7
%endif
# Using lto breaks debuginfo.
# %%if 0%%{?fedora} >= 19
# %%global with_lto 1
@ -153,16 +78,30 @@
%global texi2any 1
%endif
%global major_version 4
%global minor_version 0
%global patch_version 3
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
%ifarch x86_64 %{ix86} armv7hl %{power64} aarch64
%if 0%{?rhel} >= 7
%global openblas 1
%else
%if 0%{?fedora} >= 23
%global openblas 1
%else
%global openblas 0
%endif
%endif
%else
%global openblas 0
%endif
Name: R
Version: %{major_version}.%{minor_version}.%{patch_version}
Version: 3.4.3
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-4/R-%{version}.tar.gz
Source0: ftp://cran.r-project.org/pub/R/src/base/R-3/R-%{version}.tar.gz
Source1: macros.R
Source2: R-make-search-index.sh
%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)
@ -179,14 +118,14 @@ Source106: https://cran.r-project.org/doc/FAQ/R-FAQ.html
%endif
%if %{zlibhack}
%global zlibv 1.2.11
%global bzipv 1.0.8
%global xzv 5.2.5
%global pcrev 8.44
%global curlv 7.72.0
%global bzipv 1.0.6
%global xzv 5.2.3
%global pcrev 8.41
%global curlv 7.56.1
Source1000: http://zlib.net/zlib-%{zlibv}.tar.gz
Source1001: https://www.sourceware.org/pub/bzip2/bzip2-%{bzipv}.tar.gz
Source1001: http://www.bzip.org/1.0.6/bzip2-%{bzipv}.tar.gz
Source1002: http://tukaani.org/xz/xz-%{xzv}.tar.bz2
Source1003: https://ftp.pcre.org/pub/pcre/pcre-%{pcrev}.tar.bz2
Source1003: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-%{pcrev}.tar.bz2
Source1004: https://curl.haxx.se/download/curl-%{curlv}.tar.bz2
BuildRequires: glibc-devel
BuildRequires: groff
@ -208,15 +147,13 @@ BuildRequires: stunnel
# see https://bugzilla.redhat.com/show_bug.cgi?id=1324145
Patch1: R-3.3.0-fix-java_path-in-javareconf.patch
License: GPLv2+
Group: Applications/Engineering
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gcc-gfortran
BuildRequires: gcc-c++, tex(latex), texinfo-tex
BuildRequires: libpng-devel, libjpeg-devel, readline-devel
BuildRequires: tcl-devel, tk-devel, ncurses-devel
BuildRequires: pcre-devel, zlib-devel
%if 0%{modern}
# Fedora (at least rawhide) pulls this into the buildroot anyways, but lets be explicit for consistency
BuildRequires: pcre2-devel
%endif
%if 0%{?rhel}
# RHEL older than 6
%if 0%{?rhel} < 7
@ -243,26 +180,29 @@ 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}
# We use the bundled lapack and shim for BLAS now.
%if 0
%if 0%{?fedora} >= 21
BuildRequires: lapack-devel >= 3.5.0-7
BuildRequires: blas-devel >= 3.5.0-7
%else
%if 0%{?fedora} >= 19
BuildRequires: lapack-devel >= 3.4.2-7
BuildRequires: blas-devel >= 3.4.2-7
%else
BuildRequires: lapack-devel
BuildRequires: blas-devel >= 3.0
%endif
%endif
%endif
BuildRequires: libSM-devel, libX11-devel, libICE-devel, libXt-devel
BuildRequires: bzip2-devel, libXmu-devel, cairo-devel, libtiff-devel
BuildRequires: pango-devel, xz-devel
BuildRequires: gcc-objc, pango-devel, xz-devel
%if %{libicu}
BuildRequires: libicu-devel
%endif
@ -271,10 +211,6 @@ BuildRequires: less
BuildRequires: tex(inconsolata.sty)
BuildRequires: tex(upquote.sty)
%endif
%if %{use_devtoolset}
BuildRequires: devtoolset-%{dts_version}-toolchain
%endif
# R-devel will pull in R-core
Requires: R-devel = %{version}-%{release}
# libRmath-devel will pull in libRmath
@ -303,9 +239,8 @@ and called at run time.
%package core
Summary: The minimal R components necessary for a functional runtime
Requires: xdg-utils
# Bugzilla 1875165
Recommends: cups
Group: Applications/Engineering
Requires: xdg-utils, cups
# R inherits the compiler flags it was built with, hence we need this on hardened systems
%if 0%{hardening}
Requires: redhat-rpm-config
@ -324,64 +259,42 @@ Requires: sed, gawk, tex(latex), less, make, unzip
# Make sure we bring the new libRmath with us
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.
%define add_submodule() %{lua:
local name = rpm.expand("%1")
local version = rpm.expand("%2")
local rpm_version = string.gsub(version, "-", ".")
print("Provides: R-" .. name .. " = " .. rpm_version .. "\\n")
print("Provides: R(" .. name .. ") = " .. version)
}
%add_submodule base %{version}
%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-80
%add_submodule graphics %{version}
%add_submodule grDevices %{version}
%add_submodule grid %{version}
%add_submodule KernSmooth 2.23-17
%add_submodule lattice 0.20-41
%add_submodule MASS 7.3-53
%add_submodule Matrix 1.2-18
Provides: R-base = %{version}
Provides: R-boot = 1.3.20
Provides: R-class = 7.3.14
Provides: R-cluster = 2.0.6
Provides: R-codetools = 0.2.15
Provides: R-datasets = %{version}
Provides: R-foreign = 0.8.69
Provides: R-graphics = %{version}
Provides: R-grDevices = %{version}
Provides: R-grid = %{version}
Provides: R-KernSmooth = 2.23.15
Provides: R-lattice = 0.20.35
Provides: R-MASS = 7.3.47
Provides: R-Matrix = 1.2.12
Obsoletes: R-Matrix < 0.999375-7
%add_submodule methods %{version}
%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-12
%add_submodule splines %{version}
%add_submodule stats %{version}
%add_submodule stats4 %{version}
%add_submodule survival 3.2-7
%add_submodule tcltk %{version}
%add_submodule tools %{version}
%add_submodule translations %{version}
%add_submodule utils %{version}
Provides: R-methods = %{version}
Provides: R-mgcv = 1.8.22
Provides: R-nlme = 3.1.131
Provides: R-nnet = 7.3.12
Provides: R-parallel = %{version}
Provides: R-rpart = 4.1.11
Provides: R-spatial = 7.3.11
Provides: R-splines = %{version}
Provides: R-stats = %{version}
Provides: R-stats4 = %{version}
Provides: R-survival = 2.41.3
Provides: R-tcltk = %{version}
Provides: R-tools = %{version}
Provides: R-utils = %{version}
%description core
A language and environment for statistical computing and graphics.
@ -399,26 +312,14 @@ and called at run time.
%package core-devel
Summary: Core files for development of R packages (no Java)
Group: Applications/Engineering
Requires: R-core = %{version}-%{release}
# You need all the BuildRequires for the development version
Requires: gcc-c++, gcc-gfortran, tex(latex), texinfo-tex
Requires: bzip2-devel, libX11-devel, zlib-devel
Requires: bzip2-devel, libX11-devel, pcre-devel, zlib-devel
Requires: tcl-devel, tk-devel, pkgconfig, xz-devel
# This may go away at some point, possibly R 3.6?
Requires: pcre-devel
%if 0%{modern}
# Configure picks this up, but despite linking to it, it does not seem to be used as of R 3.5.2.
Requires: pcre2-devel
%endif
%if %{syslapack}
%if %{flexiblas}
Requires: flexiblas-devel
%else
%if %{openblas}
Requires: openblas-devel
%endif
%endif
%endif
# No longer true.
# Requires: blas-devel >= 3.0, lapack-devel
%if %{modern}
Requires: libicu-devel
%endif
@ -443,7 +344,7 @@ Requires: tex(cm-super-ts1.enc)
Requires: qpdf
%endif
Provides: R-Matrix-devel = 1.2.18
Provides: R-Matrix-devel = 1.2.12
Obsoletes: R-Matrix-devel < 0.999375-7
%if %{modern}
@ -458,13 +359,11 @@ Install R-core-devel if you are going to develop or compile R packages.
%package devel
Summary: Full R development environment metapackage
%if %{usemacros}
Requires: R-rpm-macros
%endif
Requires: R-core-devel = %{version}-%{release}
%if %{modern}
Requires: R-java-devel = %{version}-%{release}
%else
Group: Development/Libraries
%endif
%description devel
@ -474,6 +373,7 @@ environment.
%if %{modern}
%package java
Summary: R with Fedora provided Java Runtime Environment
Group: Applications/Engineering
Requires(post): R-core = %{version}-%{release}
%if %{with_java_headless}
Requires: java-headless
@ -500,6 +400,7 @@ Fedora's openJDK.
%package java-devel
Summary: Development package for use with Java enabled R components
Group: Applications/Engineering
Requires(post): R-core-devel = %{version}-%{release}
Requires(post): java-devel
@ -510,6 +411,7 @@ that assume java is present and configured on the system.
%package -n libRmath
Summary: Standalone math library from the R project
Group: Development/Libraries
%description -n libRmath
A standalone library of mathematical and statistical functions derived
@ -517,6 +419,7 @@ from the R project. This package provides the shared libRmath library.
%package -n libRmath-devel
Summary: Headers from the R Standalone math library
Group: Development/Libraries
Requires: libRmath = %{version}-%{release}, pkgconfig
%description -n libRmath-devel
@ -525,6 +428,7 @@ from the R project. This package provides the libRmath header files.
%package -n libRmath-static
Summary: Static R Standalone math library
Group: Development/Libraries
Requires: libRmath-devel = %{version}-%{release}
%description -n libRmath-static
@ -595,9 +499,6 @@ make DESTDIR=%{_builddir}/%{name}-%{version}/curl-%{curlv}/target INSTALL="insta
popd
%endif
%if %{use_devtoolset}
. /opt/rh/devtoolset-%{dts_version}/enable
%endif
# 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
@ -617,7 +518,7 @@ case "%{_target_cpu}" in
export F77="gfortran -m64"
export FC="gfortran -m64"
;;
ia64|alpha|arm*|aarch64|sh*|riscv*)
ia64|alpha|arm*|aarch64|sh*)
export CC="gcc"
export CXX="g++"
export F77="gfortran"
@ -656,28 +557,16 @@ export FCFLAGS="%{optflags} -ffat-lto-objects"
%else
export FCFLAGS="%{optflags}"
%endif
%if 0%{?fedora} >= 30
# gcc9 needs us to pass --no-optimize-sibling-calls to gfortran
export FCFLAGS="%{optflags} --no-optimize-sibling-calls"
export FFLAGS="%{optflags} --no-optimize-sibling-calls"
%endif
# RHEL 5 & 6 & 7 have a broken BLAS, so we need to use the bundled bits in R until
# they are fixed... and it doesn't look like it will ever be fixed in RHEL 5.
# https://bugzilla.redhat.com/show_bug.cgi?id=1117491
# https://bugzilla.redhat.com/show_bug.cgi?id=1117496
# https://bugzilla.redhat.com/show_bug.cgi?id=1117497
#
# On old RHEL, we use --enable-BLAS-shlib here. It generates a shared library
# We use --enable-BLAS-shlib here. It generates a shared library
# 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 \
@ -686,22 +575,14 @@ sed -i '/"checking whether the BLAS is complete/i r_cv_complete_blas=yes' config
--with-system-tre \
%endif
--with-system-valgrind-headers \
%if %{syslapack}
%if 0%{?fedora}
--with-lapack \
%if %{flexiblas}
--with-blas="flexiblas" \
%else
--with-blas \
%endif
%else
--enable-BLAS-shlib \
%endif
--with-tcl-config=%{_libdir}/tclConfig.sh \
--with-tk-config=%{_libdir}/tkConfig.sh \
--enable-BLAS-shlib \
--enable-R-shlib \
--enable-prebuilt-html \
--enable-R-profiling \
--enable-memory-profiling \
%if %{with_lto}
%ifnarch %{arm}
--enable-lto \
@ -714,7 +595,8 @@ sed -i '/"checking whether the BLAS is complete/i r_cv_complete_blas=yes' config
%endif
rdocdir=%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}} \
rincludedir=%{_includedir}/R \
rsharedir=%{_datadir}/R) | tee CONFIGURE.log
rsharedir=%{_datadir}/R) \
> 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`
@ -735,24 +617,17 @@ sed -i 's|@eqn|@math|g' doc/manual/R-intro.texi
%if %{texi2any}
make MAKEINFO=texi2any info
%else
# Well, this used to work, but now rhel 6 is too old and buggy.
# make MAKEINFO=makeinfo info
make MAKEINFO=makeinfo info
%endif
%if %{texi2any}
# Convert to UTF-8
for i in doc/manual/R-intro.info doc/manual/R-FAQ.info doc/FAQ doc/manual/R-admin.info doc/manual/R-exts.info-1; do
iconv -f iso-8859-1 -t utf-8 -o $i{.utf8,}
mv $i{.utf8,}
done
%endif
%install
%if %{texi2any}
make DESTDIR=${RPM_BUILD_ROOT} install install-info
%else
make DESTDIR=${RPM_BUILD_ROOT} install
%endif
# And now, undo the hack. :P
%if 0%{?fedora} >= 19
mv doc/manual/R-exts.texi.spot doc/manual/R-exts.texi
@ -777,6 +652,14 @@ echo "%{_libdir}/R/lib" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf
mkdir -p $RPM_BUILD_ROOT%{_datadir}/R/library
# Install rpm helper macros
mkdir -p $RPM_BUILD_ROOT%{macrosdir}/
install -m0644 %{SOURCE1} $RPM_BUILD_ROOT%{macrosdir}/
# Install rpm helper script
mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm/
install -m0755 %{SOURCE2} $RPM_BUILD_ROOT/usr/lib/rpm/
# Fix multilib
touch -r README ${RPM_BUILD_ROOT}%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}/CAPABILITIES
touch -r README doc/manual/*.pdf
@ -792,7 +675,6 @@ done
# Fix exec bits
chmod +x $RPM_BUILD_ROOT%{_datadir}/R/sh/echo.sh
chmod +x $RPM_BUILD_ROOT%{_libdir}/R/bin/*
chmod -x $RPM_BUILD_ROOT%{_libdir}/R/library/mgcv/CITATION ${RPM_BUILD_ROOT}%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}/CAPABILITIES
@ -807,7 +689,7 @@ fi
if [ ! -d "$RPM_BUILD_ROOT%{_datadir}/texmf/tex/latex/R" ]; then
mkdir -p $RPM_BUILD_ROOT%{_datadir}/texmf/tex/latex
pushd $RPM_BUILD_ROOT%{_datadir}/texmf/tex/latex
ln -s %{_datadir}/R/texmf/tex/latex R
ln -s ../../../R/texmf/tex/latex R
popd
fi
@ -836,39 +718,43 @@ sed -i 's|:/builddir/build/BUILD/R-%{version}/curl-%{curlv}/target%{_libdir}/:/b
sed -i 's|/builddir/build/BUILD/R-%{version}/curl-%{curlv}/target%{_libdir}/:/builddir/build/BUILD/R-%{version}/curl-%{curlv}/target%{_libdir}||g' %{buildroot}%{_libdir}/R/etc/ldpaths
%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
%if 0%{?zlibhack}
# Most of these tests pass. Some don't. All pieces belong to you.
%else
%ifnarch ppc64 ppc64le armv7hl s390x aarch64
%ifnarch ppc64 ppc64le
# Needed by tests/ok-error.R, which will smash the stack on PPC64. This is the purpose of the test.
ulimit -s 16384
TZ="Europe/Paris" make check
%endif
%endif
%clean
rm -rf ${RPM_BUILD_ROOT}
%post core
# Create directory entries for info files
# (optional doc files, so we must check that they are installed)
for doc in admin exts FAQ intro lang; do
file=%{_infodir}/R-${doc}.info.gz
if [ -e $file ]; then
/sbin/install-info ${file} %{_infodir}/dir 2>/dev/null || :
fi
done
/sbin/ldconfig
%if %{runjavareconf}
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/server \
-L%{_jvmdir}/jre/lib/%{java_arch}\ -L%{_jvmdir}/java/lib/%{java_arch} \
-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}:%{_jvmdir}/jre/lib/server:/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}:/usr/java/packages/lib/%{java_arch}:/lib:/usr/lib \
> /dev/null 2>&1 || exit 0
%endif
# With 2.10.0, we no longer need to do any of this.
@ -882,6 +768,18 @@ R CMD javareconf \
# Don't use .. based paths, substitute /usr/share/R
# sed -i "s!../../..!/usr/share/R!g" %{_docdir}/R-%{version}/html/search/index.txt
%preun core
if [ $1 = 0 ]; then
# Delete directory entries for info files (if they were installed)
for doc in admin exts FAQ intro lang; do
file=%{_infodir}/R-${doc}.info.gz
if [ -e ${file} ]; then
/sbin/install-info --delete R-${doc} %{_infodir}/dir 2>/dev/null || :
fi
done
fi
%postun core
/sbin/ldconfig
if [ $1 -eq 0 ] ; then
@ -893,40 +791,39 @@ fi
%if %{modern}
%post java
%if %{runjavareconf}
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/server \
-L%{_jvmdir}/jre/lib/%{java_arch}\ -L%{_jvmdir}/java/lib/%{java_arch} \
-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}:%{_jvmdir}/jre/lib/server:/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}:/usr/java/packages/lib/%{java_arch}:/lib:/usr/lib \
> /dev/null 2>&1 || exit 0
%endif
%post java-devel
%if %{runjavareconf}
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/server \
-L%{_jvmdir}/jre/lib/%{java_arch}\ -L%{_jvmdir}/java/lib/%{java_arch} \
-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}:%{_jvmdir}/jre/lib/server:/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}:/usr/java/packages/lib/%{java_arch}:/lib:/usr/lib \
> /dev/null 2>&1 || exit 0
%endif
%endif
%ldconfig_scriptlets -n libRmath
%post -n libRmath -p /sbin/ldconfig
%postun -n libRmath -p /sbin/ldconfig
%files
# Metapackage
%files core
%defattr(-, root, root, -)
%{_bindir}/R
%{_bindir}/Rscript
%{_datadir}/R/
%{_datadir}/texmf/tex/latex/R
%{_datadir}/texmf/
# Have to break this out for the translations
%dir %{_libdir}/R/
%{_libdir}/R/bin/
@ -972,7 +869,6 @@ 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/
@ -992,7 +888,6 @@ 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/
@ -1009,7 +904,6 @@ R CMD javareconf \
%{_libdir}/R/library/cluster/NAMESPACE
%{_libdir}/R/library/cluster/NEWS.Rd
%{_libdir}/R/library/cluster/R/
%{_libdir}/R/library/cluster/test-tools.R
%dir %{_libdir}/R/library/cluster/po/
%lang(de) %{_libdir}/R/library/cluster/po/de/
%lang(en) %{_libdir}/R/library/cluster/po/en*/
@ -1044,7 +938,6 @@ 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
@ -1066,7 +959,6 @@ 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/
@ -1106,7 +998,6 @@ 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/
@ -1178,7 +1069,6 @@ 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/
@ -1219,7 +1109,6 @@ 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/
@ -1243,15 +1132,16 @@ R CMD javareconf \
%{_libdir}/R/COPYING
# %%{_libdir}/R/NEWS*
%{_libdir}/R/SVN-REVISION
%if %{texi2any}
/usr/lib/rpm/R-make-search-index.sh
%{_infodir}/R-*.info*
%endif
%{macrosdir}/macros.R
%{_mandir}/man1/*
%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}
%docdir %{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}
/etc/ld.so.conf.d/*
%files core-devel
%defattr(-, root, root, -)
%{_libdir}/pkgconfig/libR.pc
%{_includedir}/R
# Symlink to %%{_includedir}/R/
@ -1269,170 +1159,20 @@ R CMD javareconf \
%endif
%files -n libRmath
%defattr(-, root, root, -)
%doc doc/COPYING
%{_libdir}/libRmath.so
%files -n libRmath-devel
%defattr(-, root, root, -)
%{_includedir}/Rmath.h
%{_libdir}/pkgconfig/libRmath.pc
%files -n libRmath-static
%defattr(-, root, root, -)
%{_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
* Tue Feb 18 2020 Tom Callaway <spot@fedoraproject.org> - 3.6.2-5
- fix openblas conditionals, openblas has wider arch support everywhere except el7
* Tue Feb 18 2020 Tom Callaway <spot@fedoraproject.org> - 3.6.2-4
- fix conditionals so that Fedora builds against system openblas for lapack/blas
and we only generate the R lapack/blas libs on RHEL 5-6-7 (where system lapack/openblas
is not reliable). Thanks to Dirk Eddelbuettel for pointing out the error.
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Dec 18 2019 Tom Callaway <spot@fedoraproject.org> - 3.6.2-2
- adjust ppc64 patch to reflect upstream fix
* Thu Dec 12 2019 Tom Callaway <spot@fedoraproject.org> - 3.6.2-1
- update to 3.6.2
- disable tests on all non-intel arches
- fix powerpc64
* Fri Nov 01 2019 Pete Walter <pwalter@fedoraproject.org> - 3.6.1-3
- Rebuild for ICU 65
* Fri Aug 30 2019 Tom Callaway <spot@fedoraproject.org> - 3.6.1-2
- conditionalize macro usage so that it only happens on Fedora 31+ and EPEL-8
* Fri Aug 16 2019 Tom Callaway <spot@fedoraproject.org> - 3.6.1-1
- update to 3.6.1
* Sun Aug 11 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.6.0-5
- Remove unused and nonfunctional macros and helper script
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Jul 21 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.6.0-3
- Add automated dependency generator to R-devel
- Add standard Provides for bundled libraries
* Thu Jun 13 2019 Tom Callaway <spot@fedoraproject.org> - 3.6.0-2
- use devtoolset toolchain to compile on el6/el7 for C++11 support
* Wed May 29 2019 Tom Callaway <spot@fedoraproject.org> - 3.6.0-1
- update to 3.6.0
- use --no-optimize-sibling-calls for gfortran to work around issues
* Mon Mar 11 2019 Tom Callaway <spot@fedoraproject.org> - 3.5.3-1
- update to 3.5.3
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.5.2-5
- Rebuild for readline 8.0
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Jan 23 2019 Pete Walter <pwalter@fedoraproject.org> - 3.5.2-3
- Rebuild for ICU 63
* Tue Jan 8 2019 Tom Callaway <spot@fedoraproject.org> - 3.5.2-2
- handle pcre2 use/detection
* Mon Jan 7 2019 Tom Callaway <spot@fedoraproject.org> - 3.5.2-1
- update to 3.5.2
* Fri Dec 7 2018 Tom Callaway <spot@fedoraproject.org> - 3.5.1-2
- use absolute path in symlink for latex dir (bz1594102)
* Mon Sep 10 2018 Tom Callaway <spot@fedoraproject.org> - 3.5.1-1
- update to 3.5.1
- update bundled curl to 7.61.1
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jul 10 2018 Pete Walter <pwalter@fedoraproject.org> - 3.5.0-5
- Rebuild for ICU 62
* Tue Jun 5 2018 Tom Callaway <spot@fedoraproject.org> - 3.5.0-4
- only own /usr/share/texmf/tex/latex/R ... not /usr/share/texmf
* Fri May 18 2018 Tom Callaway <spot@fedoraproject.org> - 3.5.0-3
- do not run javareconf on el6/ppc64 EVEN in the java subpackages
* Fri May 18 2018 Tom Callaway <spot@fedoraproject.org> - 3.5.0-2
- do not run javareconf on el6/ppc64
* Mon May 14 2018 Tom Callaway <spot@fedoraproject.org> - 3.5.0-1
- update to 3.5.0
- update xz bundle (rhel6 only)
- disable tests on armv7hl
- disable info builds on rhel 6
* Sun May 13 2018 Stefan O'Rear <sorear2@gmail.com> - 3.4.4-3
- Add riscv* to target CPU specs
* Mon Apr 30 2018 Pete Walter <pwalter@fedoraproject.org> - 3.4.4-2
- Rebuild for ICU 61.1
* Wed Mar 28 2018 Tom Callaway <spot@fedoraproject.org> - 3.4.4-1
- update to 3.4.4
- update pcre and curl bundles (rhel6 only)
* Mon Feb 12 2018 Tom Callaway <spot@fedoraproject.org> - 3.4.3-6
- undefine %%__brp_mangle_shebangs (we need +x on files in %%{_libdir}/R/bin/)
* Wed Feb 7 2018 Tom Callaway <spot@fedoraproject.org> - 3.4.3-5
- fix exec permissions on files in %%{_libdir}/R/bin/
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Feb 2 2018 Tom Callaway <spot@fedoraproject.org> - 3.4.3-3
- rebuild for new gfortran
* Fri Dec 01 2017 Pete Walter <pwalter@fedoraproject.org> - 3.4.3-2
- Rebuild once more for ICU 60.1
* Thu Nov 30 2017 Tom Callaway <spot@fedoraproject.org> - 3.4.3-1
- update to 3.4.3

9
macros.R Normal file
View File

@ -0,0 +1,9 @@
#
# RPM macros for R packaging
#
#
# Make R search index.txt
#
%_R_make_search_index /usr/lib/rpm/R-make-search-index.sh

View File

@ -1,2 +0,0 @@
[koji]
targets = epel8 epel8-playground

10
sources
View File

@ -1,6 +1,6 @@
SHA512 (zlib-1.2.11.tar.gz) = 73fd3fff4adeccd4894084c15ddac89890cd10ef105dd5e1835e1e9bbb6a49ff229713bd197d203edfa17c2727700fce65a2a235f07568212d820dca88b528ae
SHA512 (bzip2-1.0.8.tar.gz) = 083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3
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
SHA512 (bzip2-1.0.6.tar.gz) = 00ace5438cfa0c577e5f578d8a808613187eff5217c35164ffe044fbafdfec9e98f4192c02a7d67e01e5a5ccced630583ad1003c37697219b0f147343a3fdd12
SHA512 (xz-5.2.3.tar.bz2) = 313af8a9eb919de1cd048482779c5ef4d8ebfad89e307f01732f77de4363db8f3cf48f4b737e02f233324d5da0ff7ddfe9a195673b84d0e29d4d456c34c78eef
SHA512 (pcre-8.41.tar.bz2) = cc9cdbeb98c010fe4f093a019bebfb91965dae4c6a48f8e49c38ec8df7d9da7f0d32c12fc58f22c51f1c2f010e72b65bcbf8bbf180060e93edf464fa9a7c3551
SHA512 (curl-7.56.1.tar.bz2) = f8a602e6890b2791ea9199c80801ffd027980de3733d4ab001ee80b5167f840cc821c6fe7852087c88a471edc9d3f328cf660af3e2c6f7139d6c8de62b0ade68
SHA512 (R-3.4.3.tar.gz) = d4b89daac5060c6d32b2287192c47fc7e8f71f8c2f70f133799bb279c6e486239cb7f298779a59a124eb4228d728ffdaf6bb138c4fd64653bbce0cdf5b0b3412