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

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

pkgver=20181004
source=(https://repo.parabola.nu/other/$pkgname/$pkgname-$pkgver.tar.gz{,.sig}
        0001-libremakepkg-rw-startdir.patch
        0002-libremakepkg-pacman_5_2.patch)
sha256sums=('2bdefd1803ba3e6cbd1eb955fad3de9ce8a4abfd23a0bd96a60772762df7b53b'
            'SKIP'
            '19ed0fd21c9c789dd336b63b22094c45363b6ac5d7d1ab0eecd852d7f00d1883'
            '8986adf14a81b979b2ff4c4e3e76483115c146782e4ba30640649299f98355df')
validpgpkeys=('99195DD3BB6FE10A2F36ED8445698744D4FFBFC9') # Luke Shumaker

pkgrel=6.2
arch=('any')
makedepends=(ruby-ronn)
checkdepends=(
  bash-bats git
  'pacman>=5.1.1-1.parabola5' 'pacman<6.1'
  expac
  openssh
  rsync
  tokyocabinet
)

prepare() {
  cd "$srcdir/$pkgbase-$pkgver"
  patch -N -p1 -i $srcdir/0001-libremakepkg-rw-startdir.patch
  patch -N -p1 -i $srcdir/0002-libremakepkg-pacman_5_2.patch
}

build() {
  cd "$srcdir/$pkgbase-$pkgver"
  make
}

check() {
  cd "$srcdir/$pkgbase-$pkgver"
  # FIXME as soon as possible
  # we needed to unbreak kernel builds, but tests were failing
  # with the stock PKGBUILD like this:
  # |  not ok 13 libreblacklist works with everything set
  # |  # (in test file cases/lib-blacklist.bats, line 15)
  # |  #   `v="$(libreblacklist get-rep <<<"$line")"; [[ $v == 'libre/linux-libre' ]]' failed
  # |  # gpg: Warning: using insecure memory!
  # |  # gpg: key 57169AAE979EC3AB marked as ultimately trusted
  # |  # gpg: Warning: using insecure memory!
  # |  # OK closing connection
  # SUDO_USER= make check TESTENVFLAGS='--no-network --no-sudo'
}

package_librelib() {
  pkgdesc="The shell library portion of libretools"
  license=(GPL2)
  conflicts=('xbs')
  optdepends=(
    'libretools: for libreblacklist/blacklist.sh'
    'wget: for libreblacklist/blacklist.sh'
  )

  cd "$srcdir/$pkgbase-$pkgver"
  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-$pkgver"
  make install-gitget DESTDIR="$pkgdir"
}

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

  depends=(
    "librelib=$pkgver"
    "gitget=$pkgver" # `createworkdir`
    'pacman>=5.1.1-1.parabola5' 'pacman<6.1'
    arch-install-scripts # `mkarchroot` uses `pacstrap`
    binutils # `libremakepkg` uses `makepkg` uses `strip`
    expac # `libredbdiff`
    fakeroot # `libremakepkg` uses `makepkg` uses `fakeroot`
    make # `librefetch`
    openssh # `librerelease`
    rsync # `librerelease` and `makechrootpkg.sh`
    'systemd-tools>=234' # systemd-nspawn
    tokyocabinet # `toru`
    #namcap # Namcap is currently dissabled in libremakepkg :-(
    subversion # `diff-unfree`
    wget # `aur`, optdepend for librelib:`blacklist`
  )
  optdepends=(
    'qemu-user-static-binfmt: To build ARM packages from x86'
  )

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