# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
# Contributor: Joshua Ismael Haase Hernández (xihh) <hahj87@gmail.com>
# Contributor: fauno <fauno@kiwwwi.com.ar>
# Contributor: Márcio Silva <coadde@parabola.nu>

pkgbase=libretools
pkgname=(libretools libretools-mips64el librelib gitget xbs)
pkgdesc="Programs for Parabola development"
url="https://projects.parabola.nu/packages/libretools.git/"
license=('GPL3' 'GPL2')

pkgver=20141128
_libretools_commit=8b17eaf422ae5bea4c1f2264576a3280d50b66dd
_devtools_commit=34ac2931234b898d587bffe76ba061082b6c673c
md5sums=('b21b285b451d8d9a9055401a12f47ba6'
         'fa2d1e26e5ebf39d37430f903ca0e4d6')

_packages_url=https://projects.parabola.nu/packages
source=($_packages_url/libretools.git/snapshot/libretools-$_libretools_commit.tar.bz2
	$_packages_url/devtools-par.git/snapshot/devtools-par-$_devtools_commit.tar.bz2)

pkgrel=1
arch=('any')
makedepends=(emacs ruby-ronn) # emacs --batch is used during the build to process text
checkdepends=(sh-roundup git)

build() {
  cd "$srcdir"
  ln -sf devtools-par-$_devtools_commit devtools-par
  cd "$srcdir/$pkgbase-$_libretools_commit"
  make build-libretools build-libretools-mips64el build-librelib build-doc
}

check() {
  cd "$srcdir/$pkgbase-$_libretools_commit"

  SUDO_USER= make check TESTENVFLAGS='--no-network --no-sudo'
}

package_librelib() {
  pkgdesc="The shell library portion of libretools"
  license=(GPL2)
  depends=(
    wget # `blacklist`
  )

  cd "$srcdir/$pkgbase-$_libretools_commit"
  make install-librelib DESTDIR="$pkgdir"
}

package_gitget() {
  pkgdesc="A simple to use downloader for git URLs"
  license=(GPL2)
  depends=("librelib=$pkgver" git)

  provides=("libregit=$pkgver")
  conflicts=("libregit")
  replaces=("libregit")

  cd "$srcdir/$pkgbase-$_libretools_commit"
  make install-gitget DESTDIR="$pkgdir"
}

package_xbs() {
  pkgdesc='A tool for working with arbitrary ABS-like build systems'
  license=(GPL2)
  depends=(
    "gitget=$pkgver" # `helper-abslibre`
    "librelib=$pkgver"
    subversion # `helper-abs`
  )

  cd "$srcdir/$pkgbase-$_libretools_commit"
  make install-xbs DESTDIR="$pkgdir"
}

package_libretools() {
  backup=(etc/libretools.conf etc/libretools.d/chroot.conf etc/libretools.d/librefetch.conf)
  install=libretools.install
  conflicts=(devtools)

  depends=(
    "librelib=$pkgver"
    "xbs=$pkgver" # `createworkdir`, `librestage`
    arch-install-scripts # `mkarchroot` uses `pacstrap`
    openssh # `librerelease`
    rsync # `librerelease` and `makechrootpkg.sh`
    systemd # systemd-nspawn
    tokyocabinet # `toru`
    #namcap # Namcap is currently dissabled in libremakepkg :(
    #subversion # `diff-unfree` # ignore because of xbs
    #wget # `aur` # ignore because of librelib
  )

  cd "$srcdir/$pkgbase-$_libretools_commit"
  make install-libretools install-doc DESTDIR="$pkgdir"
}

package_libretools-mips64el() {
  pkgdesc="Scripts for Parabola development (for mips64el architecture)"
  license=(GPL3)
  depends=("$pkgbase=$pkgver"
    git # mips-add
  )

  cd "$srcdir/$pkgbase-$_libretools_commit"
  make install-libretools-mips64el DESTDIR="$pkgdir"
}