diff --git a/.cvsignore b/.cvsignore index e69de29..9c58ace 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +R-2.0.1.tar.gz diff --git a/R-2.0.1-gcc4.patch b/R-2.0.1-gcc4.patch new file mode 100644 index 0000000..f89833b --- /dev/null +++ b/R-2.0.1-gcc4.patch @@ -0,0 +1,53 @@ +--- R-2.0.1/src/main/connections.c.BAD 2005-03-24 16:59:46.000000000 -0600 ++++ R-2.0.1/src/main/connections.c 2005-03-24 16:56:22.000000000 -0600 +@@ -2194,7 +2194,7 @@ + va_list(ap); + + va_start(ap, format); +- res = con->vfprintf(con, format, ap); ++ res = (con->vfprintf)(con, format, ap); + va_end(ap); + return res; + } +@@ -2292,7 +2292,7 @@ + { + va_list(ap); + va_start(ap, format); +- con->vfprintf(con, format, ap); ++ (con->vfprintf)(con, format, ap); + va_end(ap); + } + +--- R-2.0.1/src/main/printutils.c.BAD 2005-03-24 16:58:59.000000000 -0600 ++++ R-2.0.1/src/main/printutils.c 2005-03-24 16:59:12.000000000 -0600 +@@ -427,7 +427,7 @@ + + do{ + con = getConnection(con_num); +- con->vfprintf(con, format, arg); ++ (con->vfprintf)(con, format, arg); + con->fflush(con); + con_num = getActiveSink(i++); + } while(con_num>0); +@@ -452,7 +452,7 @@ + /* should never happen, but in case of corruption... */ + R_ErrorCon = 2; + } else { +- con->vfprintf(con, format, arg); ++ (con->vfprintf)(con, format, arg); + con->fflush(con); + return; + } +--- R-2.0.1/src/include/R_ext/RS.h.BAD 2005-03-25 07:59:09.000000000 -0600 ++++ R-2.0.1/src/include/R_ext/RS.h 2005-03-25 07:59:26.000000000 -0600 +@@ -34,8 +34,8 @@ + #ifndef STRICT_R_HEADERS + + #define R_PROBLEM_BUFSIZE 4096 +-#define PROBLEM {char R_problem_buf[R_PROBLEM_BUFSIZE];sprintf(R_problem_buf, +-#define MESSAGE {char R_problem_buf[R_PROBLEM_BUFSIZE];sprintf(R_problem_buf, ++#define PROBLEM {char R_problem_buf[R_PROBLEM_BUFSIZE];(sprintf)(R_problem_buf, ++#define MESSAGE {char R_problem_buf[R_PROBLEM_BUFSIZE];(sprintf)(R_problem_buf, + #define ERROR ),error(R_problem_buf);} + #define RECOVER(x) ),error(R_problem_buf);} + #define WARNING(x) ),warning(R_problem_buf);} diff --git a/R-LANG.patch b/R-LANG.patch new file mode 100644 index 0000000..61c3bc3 --- /dev/null +++ b/R-LANG.patch @@ -0,0 +1,10 @@ +--- R-1.9.0/src/scripts/R.sh.in 2004-03-07 12:15:11.000000000 +0100 ++++ R-1.9.0-fixed/src/scripts/R.sh.in 2004-04-01 18:43:49.000000000 +0200 +@@ -1,6 +1,7 @@ + #!/bin/sh + # Shell wrapper for R executable. + ++LANG=C + R_HOME_DIR= + if test -n "${R_HOME}" && \ + test "${R_HOME}" != "${R_HOME_DIR}"; then diff --git a/R.spec b/R.spec new file mode 100644 index 0000000..0b531a4 --- /dev/null +++ b/R.spec @@ -0,0 +1,328 @@ +Name: R +Version: 2.0.1 +Release: 10 +Summary: A language for data analysis and graphics +URL: http://www.r-project.org +Source0: ftp://cran.r-project.org/pub/R/src/base/R-2/R-%{version}.tar.gz +Patch0: R-LANG.patch +Patch1: R-2.0.1-gcc4.patch +License: GPL +Group: Applications/Engineering +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: gcc-gfortran +BuildRequires: gcc-c++, tetex-latex, texinfo +BuildRequires: libpng-devel, libjpeg-devel, readline-devel, libtermcap-devel +BuildRequires: XFree86-devel +BuildRequires: tcl-devel, tk-devel +Requires: evince, cups, firefox + +# These are the submodules that R provides. Sometimes R modules say they +# depend on one of these submodules rather than just R. These are +# provided for packager convenience. +Provides: R-base = %{version} +Provides: R-boot = %{version} +Provides: R-class = %{version} +Provides: R-cluster = %{version} +Provides: R-datasets = %{version} +Provides: R-foreign = %{version} +Provides: R-graphics = %{version} +Provides: R-grDevices = %{version} +Provides: R-grid = %{version} +Provides: R-KernSmooth = %{version} +Provides: R-lattice = %{version} +Provides: R-MASS = %{version} +Provides: R-methods = %{version} +Provides: R-mgcv = %{version} +Provides: R-nlme = %{version} +Provides: R-nnet = %{version} +Provides: R-rpart = %{version} +Provides: R-spatial = %{version} +Provides: R-splines = %{version} +Provides: R-stats = %{version} +Provides: R-stats4 = %{version} +Provides: R-survival = %{version} +Provides: R-tcltk = %{version} +Provides: R-tools = %{version} +Provides: R-utils = %{version} +Provides: R-VR = %{version} + +# Temporary fix to avoid the SNAFU of the 0.fdr.2.* release +Conflicts: R-devel < %{version}-%{release} + +%description +A language and environment for statistical computing and graphics. +R is similar to the award-winning S system, which was developed at +Bell Laboratories by John Chambers et al. It provides a wide +variety of statistical and graphical techniques (linear and +nonlinear modelling, statistical tests, time series analysis, +classification, clustering, ...). + +R is designed as a true computer language with control-flow +constructions for iteration and alternation, and it allows users to +add additional functionality by defining new functions. For +computationally intensive tasks, C, C++ and Fortran code can be linked +and called at run time. + +%package devel +Summary: files for development of R packages. +Group: Applications/Engineering +Requires: R = %{version} +# You need all the BuildRequires for the development version +Requires: gcc-c++, gcc-gfortran, tetex-latex, texinfo +Requires: libpng-devel, libjpeg-devel, readline-devel, libtermcap-devel +Requires: XFree86-devel +Requires: tcl-devel, tk-devel + +%description devel +Install R-devel if you are going to develop or compile R packages. + +%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 +from the R project. This packages provides the shared libRmath library. + +%package -n libRmath-devel +Summary: standalone math library from the R project +Group: Development/Libraries +Requires: libRmath = %{version} +%description -n libRmath-devel +A standalone library of mathematical and statistical functions derived +from the R project. This packages provides the static libRmath library +and header files. + +%prep +%setup -q +%patch0 -p1 +%patch1 -p1 + +%build +export R_PDFVIEWER="%{_bindir}/evince" +export R_PRINTCMD="lpr" +export R_BROWSER="%{_bindir}/firefox" +export F77="gfortran" +( %configure \ + --with-tcl-config=%{_libdir}/tclConfig.sh \ + --with-tk-config=%{_libdir}/tkConfig.sh \ + --enable-R-shlib )\ + | egrep '^R is now|^ |^$' - > CAPABILITIES +make +(cd src/nmath/standalone; make) +#make check-all +make pdf +make info + +%install + +%makeinstall rhome=${RPM_BUILD_ROOT}%{_libdir}/R install-info +rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir +rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir.old + +#Install libRmath files +(cd src/nmath/standalone; make install \ + includedir=${RPM_BUILD_ROOT}%{_includedir} \ + libdir=${RPM_BUILD_ROOT}%{_libdir}) + +#Fix location of R_HOME_DIR in shell wrapper. +# +sed -e "s@R_HOME_DIR=.*@R_HOME_DIR=%{_libdir}/R@" < bin/R \ + > ${RPM_BUILD_ROOT}%{_libdir}/R/bin/R +sed -e "s@R_HOME_DIR=.*@R_HOME_DIR=%{_libdir}/R@" < bin/R \ + > ${RPM_BUILD_ROOT}%{_bindir}/R +chmod 755 ${RPM_BUILD_ROOT}%{_libdir}/R/bin/R +chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/R + +# Remove package indices. They are rebuilt by the postinstall script. +# +rm -f ${RPM_BUILD_ROOT}%{_libdir}/R/doc/html/function.html +rm -f ${RPM_BUILD_ROOT}%{_libdir}/R/doc/html/packages.html +rm -f ${RPM_BUILD_ROOT}%{_libdir}/R/doc/html/search/index.txt + +# Some doc files are also installed. We don't need them +(cd %{buildroot}%{_libdir}/R; + rm -f AUTHORS COPYING COPYING.LIB COPYRIGHTS FAQ NEWS ONEWS RESOURCES THANKS) + +%files +%defattr(-, root, root) +%{_bindir}/R +%{_libdir}/R +%{_infodir}/R-*.info* +%{_mandir}/man1/* +%doc AUTHORS CAPABILITIES COPYING COPYING.LIB COPYRIGHTS FAQ NEWS +%doc ONEWS README RESOURCES THANKS VERSION Y2K +%doc doc/manual/R-admin.pdf +%doc doc/manual/R-FAQ.pdf +%doc doc/manual/R-lang.pdf +%doc doc/manual/R-data.pdf +%doc doc/manual/R-intro.pdf + +%files devel +%defattr(-, root, root) +%doc doc/manual/R-exts.pdf + +%files -n libRmath +%defattr(-, root, root) +%{_libdir}/libRmath.so + +%files -n libRmath-devel +%defattr(-, root, root) +%{_libdir}/libRmath.a +%{_includedir}/Rmath.h + +%clean +rm -rf ${RPM_BUILD_ROOT}; + +%post +# 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 + +# Update package indices +%{_bindir}/R CMD perl %{_libdir}/R/share/perl/build-help.pl --htmllists > /dev/null 2>/dev/null +%__cat %{_libdir}/R/library/*/CONTENTS > %{_libdir}/R/doc/html/search/index.txt 2>/dev/null + +%preun +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 + # Remove package indices + %__rm -f %{_libdir}/R/doc/html/function.html + %__rm -f %{_libdir}/R/doc/html/packages.html + %__rm -f %{_libdir}/R/doc/html/search/index.txt +fi + +%post -n libRmath +/sbin/ldconfig + +%postun -n libRmath +/sbin/ldconfig + +%changelog +* Thu Apr 14 2005 Tom "spot" Callaway 2.0.1-10 +- bump for cvs errors + +* Mon Apr 11 2005 Tom "spot" Callaway 2.0.1-9 +- fix URL for Source0 + +* Mon Apr 11 2005 Tom "spot" Callaway 2.0.1-8 +- spec file cleanup + +* Fri Apr 1 2005 Tom "spot" Callaway 2.0.1-7 +- use evince instead of ggv +- make custom provides for R subfunctions + +* Wed Mar 30 2005 Tom "spot" Callaway 2.0.1-6 +- configure now calls --enable-R-shlib + +* Thu Mar 24 2005 Tom "spot" Callaway 2.0.1-5 +- cleaned up package for Fedora Extras + +* Mon Feb 28 2005 Martyn Plummer 0:2.0.1-0.fdr.4 +- Fixed file ownership in R-devel and libRmath packages + +* Wed Feb 16 2005 Martyn Plummer 0:2.0.1-0.fdr.3 +- R-devel package is now a stub package with no files, except a documentation + file (RPM won't accept sub-packages with no files). R now conflicts + with earlier (i.e 0:2.0.1-0.fdr.2) versions of R-devel. +- Created libRmath subpackage with shared library. + +* Mon Jan 31 2005 Martyn Plummer 0:2.0.1-0.fdr.2 +- Created R-devel and libRmath-devel subpackages + +* Mon Nov 15 2004 Martyn Plummer 0:2.0.1-0.fdr.1 +- Built R 2.0.1 + +* Wed Nov 10 2004 Martyn Plummer 0:2.0.0-0.fdr.3 +- Set R_PRINTCMD at configure times so that by default getOption(printcmd) + gives "lpr". +- Define macro fcx for all Fedora distributions. This replaces Rinfo + +* Tue Oct 12 2004 Martyn Plummer 0:2.0.0-0.fdr.2 +- Info support is now conditional on the macro Rinfo, which is only + defined for Fedora 1 and 2. + +* Thu Oct 7 2004 Martyn Plummer 0:2.0.0-0.fdr.1 +- Built R 2.0.0 +- There is no longer a BUGS file, so this is not installed as a + documentation file. + +* Mon Aug 9 2004 Martyn Plummer 0:1.9.1-0.fdr.4 +- Added gcc-g++ to the list of BuildRequires for all platforms. + Although a C++ compiler is not necessary to build R, it must + be present at configure time or R will not be correctly configured + to build packages containing C++ code. + +* Thu Jul 1 2004 Martyn Plummer 0:1.9.1-0.fdr.3 +- Modified BuildRequires so we can support older Red Hat versions without + defining any macros. + +* Mon Jun 23 2004 Martyn Plummer 0:1.9.1-0.fdr.2 +- Added libtermcap-devel as BuildRequires for RH 8.0 and 9. Without + this we get no readline support. + +* Mon Jun 21 2004 Martyn Plummer 0:1.9.1-0.fdr.1 +- Build R 1.9.1 +- Removed Xorg patch since fix is now in R sources + +* Mon Jun 14 2004 Martyn Plummer 0:1.9.0-0.fdr.4 +- Added XFree86-devel as conditional BuildRequires for rh9, rh80 + +* Wed Jun 08 2004 Martyn Plummer 0:1.9.0-0.fdr.3 +- Corrected names for fc1/fc2/el3 when using conditional BuildRequires +- Configure searches for C++ preprocessor and fails if we don't have + gcc-c++ installed. Added to BuildRequires for FC2. + +* Tue Jun 08 2004 Martyn Plummer 0:1.9.0-0.fdr.2 +- Added patch to overcome problems with X.org headers (backported + from R 1.9.1; patch supplied by Graeme Ambler) +- Changed permissions of source files to 644 to please rpmlint + +* Tue May 03 2004 Martyn Plummer 0:1.9.0-0.fdr.1 +- R.spec file now has mode 644. Previously it was unreadable by other + users and this was causing a crash building under mach. +- Changed version number to conform to Fedora conventions. +- Removed Provides: and Obsoletes: R-base, R-recommended, which are + now several years old. Nobody should have a copy of R-base on a + supported platform. +- Changed buildroot to Fedora standard +- Added Requires(post,preun): info +- Redirect output from postinstall/uninstall scripts to /dev/null +- Added BuildRequires tags necessary to install R with full + capabilities on a clean mach buildroot. Conditional buildrequires + for tcl-devel and tk-devel which were not present on RH9 or earlier. + +* Thu Apr 01 2004 Martyn Plummer +- Added patch to set environment variable LANG to C in shell wrapper, + avoiding warnings about UTF-8 locale not being supported + +* Mon Mar 15 2004 Martyn Plummer +- No need to export optimization flags. This is done by %configure +- Folded info installation into %makeinstall +- Check that RPM_BASE_ROOT is not set to "/" before cleaning up + +* Thu Feb 03 2004 Martyn Plummer +- Removed tcl-devel from BuildRequires + +* Tue Feb 03 2004 Martyn Plummer +- Changes from James Henstridge to allow building on IA64: +- Added BuildRequires for tcl-devel tk-devel tetex-latex +- Use the %configure macro to call the configure script +- Pass --with-tcl-config and --with-tk-config arguments to configure +- Set rhome to point to the build root during "make install" + +* Wed Jan 07 2004 Martyn Plummer +- Changed obsolete "copyright" field to "license" + +* Fri Nov 21 2003 Martyn Plummer +- Built 1.8.1 diff --git a/sources b/sources index e69de29..e7fa391 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +fb47b1fdef4323031e24d541a2f36b2b R-2.0.1.tar.gz