#!/bin/bash
# make-R-spec:
# automatically generates a spec-file skeleton for R add-on packages.
# A.Gebhardt <albrecht.gebhardt@uni-klu.ac.at>
# 
# This needs a patched R start script, which adds "R LIBINDEX", the 
# patch is available at ftp://ftp-stat.uni-klu.ac.at/pub/R/contrib
# as R-0.63.0.LIBINDEX-patch .
#

PACKAGE=$1
VERSION=$2
RELEASE=$3

if [ "X$RELEASE" = "X" ]; then
  echo "usage make-R-spec name version release"
  exit 1
fi

if test -w R-$PACKAGE-$VERSION.spec -o ! -f R-$PACKAGE-$VERSION.spec; then
  rm -f R-$PACKAGE-$VERSION.spec
  cat >R-$PACKAGE-$VERSION.spec <<EOT
########## automatically generated by make-R-spec #######################
# spec file for a R library
# useable at least with S.u.S.E (5.3) and Digital Unix (4.0D)
# A. Gebhardt <albrecht.gebhardt@uni-klu.ac.at>
#
%define ver      VERSION
%define rel      RELEASE
# adjust to your settings:
%define prefix   /usr/local

Name: R-PACKAGE
Version: %{ver}
Release: %{rel}
Source: ftp://ftp.ci.tuwien.ac.at/pub/R/src/contrib/PACKAGE_%{ver}-%{rel}.tar.gz
#Patch: R-PACKAGE-VERSION-linux.patch
Copyright: GPL
URL: ftp://ftp.ci.tuwien.ac.at/pub/R
Group: Applications/Math
Summary: PACKAGE - R package
Requires: R
%description
R package:
... put the contents of DESCRIPTION or TITLE here ...

%package source
Summary: R PACKAGE source directory
Group: Applications/Math
%description source
complete source tree for R package PACKAGE

%prep
%setup -T -c -a 0
#%patch -p0 -b .linux-patch

%build
cp -rpdf  PACKAGE    %{prefix}/R/src/library/
cp PACKAGE/TITLE PACKAGE/INDEX  PACKAGE/DESCRIPTION .
cd %{prefix}/R
./configure --prefix=%{prefix} 
cd %{prefix}/R/src/library/
%{prefix}/bin/R INSTALL PACKAGE

%install
cd %{prefix}/R/src/library/PACKAGE/src
make clean
# or if no Makefile exists:
#rm -f *.o *.so
# 

%post
%{prefix}/bin/R LIBINDEX

%postun
%{prefix}/bin/R LIBINDEX

%files
%doc TITLE INDEX DESCRIPTION
%{prefix}/R/library/PACKAGE

%files source
%{prefix}/R/src/library/PACKAGE

####### end of spec-file ################################################
EOT
else
  echo "R-$PACKAGE-$VERSION.spec exists and is write protected!"
  exit 1
fi

mv R-$PACKAGE-$VERSION.spec R-$PACKAGE-$VERSION.spec.tmp

cat R-$PACKAGE-$VERSION.spec.tmp \
    | sed s:PACKAGE:$PACKAGE:g \
    | sed s:VERSION:$VERSION:g  \
    | sed s:RELEASE:$RELEASE:g > R-$PACKAGE-$VERSION.spec

rm -f R-$PACKAGE-$VERSION.spec.tmp

echo "R-$PACKAGE-$VERSION.spec generated!"

