### this file is sourced not run

# Dependencies: rsync.

PKGNAME=R
PKGVER=3.3.2
PKGARCH=x86_64
PKGBUILD=1
RAPPDIR=/usr/local/apps/RLanguage
RAPPDESKTOPFILE=/usr/share/applications/R.desktop
RAPPDESC="R Language"
MIMEPACKAGE= # if any (more specific SentTos)

TARBALL=R-$PKGVER.tar.gz
MD5SUM=2437014ef40641cdc9673e89c040b7a8
SRC_URL=http://cran.r-project.org/src/base/R-3/$TARBALL
BUNDLE=

SLACKDESC="R: R $PKGVER (Programming)
R: The R Project for Statistical Computing.
R: R is a free software environment for statistical computing and graphics.
R: 
R: 
R: 
R: 
R: 
R: 
R: 
R: http://www.r-project.org/
"
# http://software.jaos.org/git/slapt-get/plain/FAQ.html#slgFAQ19
SLACKREQ='libgfortran'
# http://software.jaos.org/git/slapt-get/plain/FAQ.html#slgFAQ44
SLACKSUG='rstudio >= 1.0.136-x86_64-1
libgomp'
# http://software.jaos.org/git/slapt-get/plain/FAQ.html#slgFAQ31
SLACKCON=

at_subst() { # $@-file-list
  sed -i \
    -e "s|@RAPPDIR|$RAPPDIR|g" \
    -e "s|@RAPPDESKTOPFILE|$RAPPDESKTOPFILE|g" \
    -e "s|@RAPPDESC|$RAPPDESC|g" \
    -e "s|@MIMEPACKAGE|$MIMEPACKAGE|g" \
    -e "s/@PKGNAME/$PKGNAME/g" \
    -e "s/@PKGVER/$PKGVER/g" \
    -e "s/@PKGARCH/$PKGARCH/g" \
    -e "s/@PKGBUILD/$PKGBUILD/g" \
    $(readlink -f "$@")
}

rename() { # $1-source $2-target:is-removed-first
  rm -fr "$2" && mv "$1" "$2"
}

### default pkg_download
### default pkgـprepare
### default pkg_package
### build
pkg_build() {
  
  # Build from source.
  cd /tmp/R-* &&
  mkdir -p build && cd build &&
  ../configure \
    --build=x86_64-fatdog-linux-gnu \
    --prefix=/usr \
    --libdir=/usr/lib64 \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --disable-lto \
    --enable-R-shlib &&
  make -k &&
  make install-strip rhome=/usr/lib64/R-$PKGVER &&
  
  # Build slackdesk and install/uninstall files.
  cd / &&
  if pkg_build_slackdesc tmp/pkg/pkg; then
  (
    cd tmp/pkg/pkg/install &&      
    pi=$(readlink pinstall.sh) &&
    pu=$(readlink puninstall.sh) &&
    at_subst doinst.sh "$pi" "$pu" "../$RAPPDIR/createshortcut" &&
    cp "$pu" slack-uninstall.sh &&
    sed -i "s/removepkg/: removepkg/" slack-uninstall.sh &&
    rm -f pinstall.sh puninstall.sh &&
    true
  )
  fi &&
  # "cp --remove-destination -a x/* ." won't copy over existing dirs and links
  # while rsync does all that
  rsync -a tmp/pkg/pkg/* . &&

  # Enable installing side-by-side with earlier versions.
  # doinst.sh will take further the moves marked #doinst#
  if true; then
    cd / &&
    at_subst "./$RAPPDIR/AppRun" &&
    rename "./$RAPPDIR" "./$RAPPDIR-$PKGVER" && #doinst#
    true > "./$RAPPDIR-$PKGVER/install.log" &&
    rename "./$RAPPDESKTOPFILE" "./${RAPPDESKTOPFILE%.desktop}-$PKGVER.desktop" && #doinst#
    rename /usr/bin/R /usr/bin/R-$PKGVER && #doinst#
    rename /usr/bin/Rscript /usr/bin/Rscript-$PKGVER && #doinst#
    rename /usr/share/man/man1/R.1 /usr/share/man/man1/R-${PKGVER}.1 && #doinst#
    rename /usr/share/man/man1/Rscript.1 /usr/share/man/man1/Rscript-${PKGVER}.1 && #doinst#
    rename /usr/lib64/pkgconfig/libR.pc /usr/lib64/pkgconfig/libR-${PKGVER}.pc && ##
    true
  fi
}

# vim: ft=sh:
