]> git.pld-linux.org Git - packages/R.git/blobdiff - R.spec
icu rebuild
[packages/R.git] / R.spec
diff --git a/R.spec b/R.spec
index 0ec3ace9da5f0315610e7231e255a07cabee6cd8..7a6e13fc9309aa3d61d6bb32249bc43b2082fc83 100644 (file)
--- a/R.spec
+++ b/R.spec
@@ -1,67 +1,83 @@
 #
 # 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 doc     # do not build documentation
 #
 # NOTE:
 # - /etc/localtime must be present for tests to work
 #
 # TODO:
-# - 755 for %{_libdir}/R/library/*/libs/*.so
-# - %lang( ) for %{_libdir}/R/library/*/po/* dirs
 # - 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.14.1
-Release:       5
-License:       Mixed (distributable), mostly GPL v2+
+Version:       4.1.3
+Release:       2
+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: ba5b6fb15b660670ea29b885348f322a
+Source0:       https://cran.r-project.org/src/base/R-4/%{name}-%{version}.tar.gz
+# Source0-md5: 409bc782b1a42c8247712f6446d7d640
 Source1:       %{name}.desktop
 Source2:       %{name}.xpm
-URL:           http://www.r-project.org/
-BuildRequires: autoconf >= 2.62
+Patch0:                %{name}-timezone.patch
+Patch1:                curl8.patch
+URL:           https://www.r-project.org/
+# 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 >= 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.2.7
+BuildRequires: libpng-devel >= 2:1.2.7
 BuildRequires: libstdc++-devel
 BuildRequires: libtiff-devel
+BuildRequires: libtirpc-devel
 BuildRequires: libtool >= 2:2.0
-BuildRequires: libxml2-devel >= 2.6.26
 BuildRequires: pango-devel
-BuildRequires: pcre-devel >= 7.6
+BuildRequires: pcre2-8-devel
 BuildRequires: perl-base >= 1:5.6
 BuildRequires: pkgconfig
 BuildRequires: readline-devel
 BuildRequires: rpm-perlprov
-%{?with_tcl:BuildRequires:     tcl-devel >= 8.4}
-BuildRequires: tetex-dvips
-BuildRequires: tetex-latex
-BuildRequires: tetex-pdftex
+%if %{with tcl}
+BuildRequires: tcl-devel >= 8.4
+BuildRequires: tk-devel >= 8.4
+%endif
+# 0.8.0 is too old currently (checking for tre_regncompb in -ltre... no)
+#BuildRequires:        tre-devel >= ?
+%if %{with doc}
 BuildRequires: texinfo-texi2dvi >= 4.7
-%{?with_tcl:BuildRequires:     tk-devel >= 8.4}
+BuildRequires: texlive-dvips
+BuildRequires: texlive-latex
+BuildRequires: texlive-latex-ae
+BuildRequires: texlive-pdftex
+%endif
 BuildRequires: xorg-lib-libX11-devel
 BuildRequires: xorg-lib-libXmu-devel
 BuildRequires: xorg-lib-libXt-devel
-BuildRequires: xz-devel >= 4.999
+BuildRequires: xz-devel >= 5.0.3
 BuildRequires: zip
 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
@@ -89,8 +105,22 @@ Język R był zainspirowany dwoma istniejącymi językami: S (Beckera,
 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
+%patch1 -p0
 
 %build
 %{__aclocal} -I m4
@@ -98,8 +128,12 @@ implementacja i semantyka wywodzi się ze Scheme.
 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 \
@@ -108,20 +142,25 @@ cd build
        --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 doc}
 %{__make} docs pdf info
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -133,7 +172,9 @@ install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1,%{_libdir}/R,%{_includedir
 install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
 install %{SOURCE2} $RPM_BUILD_ROOT%{_pixmapsdir}
 
-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() {
@@ -145,27 +186,49 @@ gen_lang() {
        done
 }
 
-gen_lang %{_libdir}/R/share/locale > R.files
 for moddir in $RPM_BUILD_ROOT%{_libdir}/R/library/* ; do
        module=$(basename $moddir)
        echo "%dir %{_libdir}/R/library/${module}"
-       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
-done >> R.files
+       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 doc}
+# pdf version of NEWS
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/R/doc/NEWS.pdf
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -175,23 +238,29 @@ rm -rf $RPM_BUILD_ROOT
 
 %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
 %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
@@ -201,17 +270,22 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/R/modules
 %dir %{_libdir}/R/share
 %{_libdir}/R/share/R
+%{_libdir}/R/share/Rd
+%{_libdir}/R/share/dictionaries
 %{_libdir}/R/share/encodings
-%{_libdir}/R/share/java
 %{_libdir}/R/share/licenses
-%dir %{_libdir}/R/share/locale
-# locale files list is autogenerated (see R.files above)
 %{_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
This page took 0.081777 seconds and 4 git commands to generate.