#
# Conditional build
-%bcond_without tcl # disable tcl support
-%bcond_without tests # do not run "make check"
+%bcond_without openmp # OpenMP support
+%bcond_without tcl # Tcl/Tk support
+%bcond_without tests # do not run "make check"
+%bcond_without docs # do not build documentation
#
# NOTE:
# - /etc/localtime must be present for tests to work
# TODO:
# - script for rpm to autoprovides/autorequires R internals
#
-%include /usr/lib/rpm/macros.perl
Summary: A language for data analysis and graphics
Summary(pl.UTF-8): Język do analizy danych oraz grafiki
Name: R
-Version: 2.13.0
-Release: 2
-License: Mixed (distributable), mostly GPL
+Version: 3.6.1
+Release: 1
+License: mixed (distributable), mostly GPL v2+
Group: Development/Languages
# CRAN master site: ftp://cran.r-project.org/pub/R/src/
-Source0: ftp://stat.ethz.ch/R-CRAN/src/base/R-2/%{name}-%{version}.tar.gz
-# Source0-md5: ecfb928067cfd932e75135f8b8bba3e7
+Source0: ftp://stat.ethz.ch/R-CRAN/src/base/R-3/%{name}-%{version}.tar.gz
+# Source0-md5: f5003472d58a3d3765a1c537fdae71d5
Source1: %{name}.desktop
Source2: %{name}.xpm
-Patch0: %{name}-install.patch
URL: http://www.r-project.org/
-BuildRequires: autoconf >= 2.60
+# yes, it is, or tests will fail
+BuildRequires: /etc/localtime
+BuildRequires: autoconf >= 2.69
BuildRequires: automake
BuildRequires: blas-devel >= 3.2.2-2
-BuildRequires: bzip2-devel
-BuildRequires: cairo-devel
+BuildRequires: bzip2-devel >= 1.0.6
+BuildRequires: cairo-devel >= 1.6
+BuildRequires: curl-devel >= 7.28.0
BuildRequires: gcc-fortran
-BuildRequires: gettext-devel
+BuildRequires: gettext-tools >= 0.16.1
BuildRequires: lapack-devel >= 3.2.2-2
+%{?with_openmp:BuildRequires: libgomp-devel}
BuildRequires: libicu-devel
BuildRequires: libjpeg-devel >= 6b
-BuildRequires: libpng-devel >= 1.0.5
+BuildRequires: libpng-devel >= 1.2.7
BuildRequires: libstdc++-devel
BuildRequires: libtiff-devel
-BuildRequires: libtool
+BuildRequires: libtool >= 2:2.0
BuildRequires: libxml2-devel >= 2.6.26
BuildRequires: pango-devel
-BuildRequires: pcre-devel
+BuildRequires: pcre-devel >= 8.32
+# actually not used
+#BuildRequires: pcre2-8-devel
BuildRequires: perl-base >= 1:5.6
BuildRequires: pkgconfig
BuildRequires: readline-devel
BuildRequires: rpm-perlprov
-%{?with_tcl:BuildRequires: tcl-devel}
+%if %{with tcl}
+BuildRequires: tcl-devel >= 8.4
+BuildRequires: tk-devel >= 8.4
+%endif
+BuildRequires: tre-devel
+%if %{with docs}
BuildRequires: tetex-dvips
BuildRequires: tetex-latex
BuildRequires: tetex-pdftex
-BuildRequires: texinfo-texi2dvi
-%{?with_tcl:BuildRequires: tk-devel}
+BuildRequires: texinfo-texi2dvi >= 4.7
+%endif
BuildRequires: xorg-lib-libX11-devel
BuildRequires: xorg-lib-libXmu-devel
BuildRequires: xorg-lib-libXt-devel
-BuildRequires: xz-devel
+BuildRequires: xz-devel >= 5.0.3
BuildRequires: zip
-BuildRequires: zlib-devel >= 1.1.3
+BuildRequires: zlib-devel >= 1.2.3
#Requires: lpr
Requires(post): perl-base
Requires(post): textutils
Requires: blas >= 3.2.2-2
+Requires: bzip2 >= 1.0.6
+Requires: curl-libs >= 7.28.0
+Requires: pcre >= 8.32
+Requires: xz-libs >= 5.0.3
+Requires: zlib >= 1.2.3
Suggests: rkward
Obsoletes: R-base
Obsoletes: R-contrib
Chambersa i Wilksa) oraz Scheme (Sussmana). R jest podobny do S, ale
implementacja i semantyka wywodzi się ze Scheme.
+%package java-tools
+Summary: R Java tools
+Summary(pl.UTF-8): Narzędzia R w Javie
+Group: Development/Tools
+Requires: %{name} = %{version}-%{release}
+
+%description java-tools
+R Java classes.
+
+%description java-tools -l pl.UTF-8
+Narzędzia R w Javie.
+
%prep
%setup -q
-%patch0 -p1
%build
%{__aclocal} -I m4
%{__autoconf}
-%configure \
+install -d build
+cd build
+../%configure \
+ F77=gfortran \
+ FC=gfortran \
--enable-R-shlib \
--enable-largefile \
+ %{!?with_openmp:--disable-openmp} \
+ --with-internal-tzcode \
--with-ICU \
--with-blas \
--with-cairo \
--with-libpng \
--with-readline \
--with-recommended-packages \
- --with-system-bzlib \
- --with-system-pcre \
- --with-system-xz \
- --with-system-zlib \
- --with%{!?with_tcl:out}-tcltk \
+ --with-system-tre \
+%if %{with tcl}
+ --with-tcltk \
+ --with-tcl-config=/usr/lib/tclConfig.sh \
+ --with-tk-config=/usr/lib/tkConfig.sh \
+%else
+ --without-tcltk \
+%endif
--with-x
-%{__make}
+%{__make} -j1
+
%if %{with tests}
%{__make} check
%endif
+
+%if %{with docs}
%{__make} docs pdf info
+%endif
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1,%{_libdir}/R,%{_includedir},%{_desktopdir},%{_pixmapsdir}}
-%{__make} -j1 install \
+%{__make} -C build -j1 install \
DESTDIR=$RPM_BUILD_ROOT
install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
install %{SOURCE2} $RPM_BUILD_ROOT%{_pixmapsdir}
-mv $RPM_BUILD_ROOT%{_libdir}/R/lib/libR*.so $RPM_BUILD_ROOT%{_libdir}
-mv $RPM_BUILD_ROOT%{_libdir}/%{name}/include $RPM_BUILD_ROOT%{_includedir}/R
+ln -sf %{_libdir}/R/lib/libR.so $RPM_BUILD_ROOT%{_libdir}
+
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/%{name}/include $RPM_BUILD_ROOT%{_includedir}/R
ln -sf %{_includedir}/R $RPM_BUILD_ROOT%{_libdir}/R/include
+gen_lang() {
+ dir="$1"
+ for d in $RPM_BUILD_ROOT${dir}/* ; do
+ bd=$(basename $d)
+ lang="${bd%@*}"
+ echo "%lang($lang) ${dir}/${bd}"
+ done
+}
+
+for moddir in $RPM_BUILD_ROOT%{_libdir}/R/library/* ; do
+ module=$(basename $moddir)
+ echo "%dir %{_libdir}/R/library/${module}"
+ if [ "$module" = "translations" ]; then
+ for f in $moddir/* ; do
+ bf=$(basename $f)
+ case "$bf" in
+ DESCRIPTION|en|en@quot)
+ echo "%{_libdir}/R/library/${module}/${bf}"
+ ;;
+ *)
+ echo "%lang(${bf}) %{_libdir}/R/library/${module}/${bf}"
+ ;;
+ esac
+ done
+ else
+ for f in $moddir/* ; do
+ bf=$(basename $f)
+ case "$bf" in
+ po)
+ echo "%dir %{_libdir}/R/library/${module}/po"
+ gen_lang %{_libdir}/R/library/${module}/po
+ ;;
+ libs)
+ echo "%dir %{_libdir}/R/library/${module}/libs"
+ echo "%attr(755,root,root) %{_libdir}/R/library/${module}/libs/*.so"
+ ;;
+ *)
+ echo "%{_libdir}/R/library/${module}/${bf}"
+ ;;
+ esac
+ done
+ fi
+done > R.files
+
+# just GPL
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/R/doc/COPYING
+# packaged as %doc
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/R/doc/{AUTHORS,COPYRIGHTS,FAQ,NEWS.rds,THANKS}
+%if %{with docs}
+# pdf version of NEWS
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/R/doc/NEWS.pdf
+%endif
+
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
-%files
+%files -f R.files
%defattr(644,root,root,755)
-%doc NEWS README doc/{AUTHORS,COPYRIGHTS,FAQ,RESOURCES,THANKS}
+%doc README doc/{AUTHORS,COPYRIGHTS,FAQ,NEWS,NEWS.[012],RESOURCES,THANKS}
%attr(755,root,root) %{_bindir}/R
%attr(755,root,root) %{_bindir}/Rscript
-%attr(755,root,root) %{_libdir}/libR*.so
%dir %{_libdir}/R
+%dir %{_libdir}/R/lib
+%attr(755,root,root) %{_libdir}/R/lib/libR.so
+%attr(755,root,root) %{_libdir}/libR.so
%{_libdir}/R/COPYING
-%{_libdir}/R/NEWS
%{_libdir}/R/SVN-REVISION
%attr(755,root,root) %{_libdir}/R/bin
+%exclude %{_libdir}/R/bin/javareconf
# %{_libdir}/R/doc %except %{_libdir}/R/doc/html/{packages.html,search/index.txt}
%dir %{_libdir}/R/doc
%{_libdir}/R/doc/[KRm]*
+%{_libdir}/R/doc/BioC_mirrors.csv
+%{_libdir}/R/doc/CRAN_mirrors.csv
+%{_libdir}/R/doc/NEWS*
%dir %{_libdir}/R/doc/html
+%{_libdir}/R/doc/html/Rlogo.svg
%{_libdir}/R/doc/html/*.css
-%{_libdir}/R/doc/html/[Ra-lr-u]*.html
+%{_libdir}/R/doc/html/[NRSa-lr-u]*.html
%{_libdir}/R/doc/html/packages-head*.html
+%{_libdir}/R/doc/html/favicon.ico
%{_libdir}/R/doc/html/*.jpg
%ghost %{_libdir}/R/doc/html/packages.html
%{_libdir}/R/etc
%{_libdir}/R/include
%dir %{_libdir}/R/library
-%{_libdir}/R/library/KernSmooth
-%{_libdir}/R/library/MASS
-%{_libdir}/R/library/Matrix
-%{_libdir}/R/library/base
-%{_libdir}/R/library/boot
-%{_libdir}/R/library/class
-%{_libdir}/R/library/cluster
-%{_libdir}/R/library/codetools
-%{_libdir}/R/library/compiler
-%{_libdir}/R/library/datasets
-%{_libdir}/R/library/foreign
-%{_libdir}/R/library/grDevices
-%{_libdir}/R/library/graphics
-%{_libdir}/R/library/grid
-%{_libdir}/R/library/lattice
-%{_libdir}/R/library/methods
-%{_libdir}/R/library/mgcv
-%{_libdir}/R/library/nlme
-%{_libdir}/R/library/nnet
-%{_libdir}/R/library/rpart
-%{_libdir}/R/library/spatial
-%{_libdir}/R/library/splines
-%{_libdir}/R/library/stats
-%{_libdir}/R/library/stats4
-%{_libdir}/R/library/survival
-%{_libdir}/R/library/tcltk
-%{_libdir}/R/library/tools
-%{_libdir}/R/library/utils
+# library files list is autogenerated (see R.files above)
%attr(755,root,root) %{_libdir}/R/modules
-%{_libdir}/R/share
+%dir %{_libdir}/R/share
+%{_libdir}/R/share/R
+%{_libdir}/R/share/Rd
+%{_libdir}/R/share/dictionaries
+%{_libdir}/R/share/encodings
+%{_libdir}/R/share/licenses
+%{_libdir}/R/share/make
+%{_libdir}/R/share/sh
+%{_libdir}/R/share/texmf
+%{_libdir}/R/share/zoneinfo
%{_desktopdir}/R.desktop
%{_pixmapsdir}/R.xpm
%{_includedir}/R
%{_pkgconfigdir}/libR.pc
%{_mandir}/man1/R.1*
%{_mandir}/man1/Rscript*
+
+%files java-tools
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/R/bin/javareconf
+%{_libdir}/R/share/java