diff --git a/R-2.5.0-pkgconfig.patch b/R-2.5.0-pkgconfig.patch new file mode 100644 index 0000000..bcf7b3c --- /dev/null +++ b/R-2.5.0-pkgconfig.patch @@ -0,0 +1,149 @@ +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 > $@) ++ + ## + ## 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" diff --git a/R.spec b/R.spec index c3503fc..1e6bf02 100644 --- a/R.spec +++ b/R.spec @@ -1,11 +1,12 @@ Name: R Version: 2.5.0 -Release: 1%{?dist} +Release: 2%{?dist} 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 License: GPL Group: Applications/Engineering +Patch0: R-2.5.0-pkgconfig.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gcc-gfortran BuildRequires: gcc-c++, tetex-latex, texinfo-tex @@ -14,6 +15,8 @@ BuildRequires: tcl-devel, tk-devel, ncurses-devel BuildRequires: blas >= 3.0, pcre-devel, zlib-devel BuildRequires: java-1.5.0-gcj, lapack-devel BuildRequires: libSM-devel, libX11-devel, libICE-devel, libXt-devel +# This isn't entirely true, but Martyn Plummer thinks it will be soon. +BuildRequires: gcc-objc Requires: evince, cups, firefox # These are the submodules that R provides. Sometimes R modules say they @@ -98,6 +101,7 @@ and header files. %prep %setup -q +%patch0 -p1 %build # Add PATHS to Renviron for R_LIBS @@ -236,6 +240,10 @@ fi /sbin/ldconfig %changelog +* Mon Apr 30 2007 Tom "spot" Callaway 2.5.0-2 +- patch from Martyn Plummer fixes .pc files +- add new BR: gcc-objc + * Wed Apr 25 2007 Tom "spot" Callaway 2.5.0-1 - bump to 2.5.0