# 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>
# Contributor: bill-auger <bill-auger@programmer.net>


pkgbase=libretools
pkgname=(libretools librelib gitget)
pkgver=20240403
_pacman_constraints=( 'pacman<6.2' )
pkgrel=1
pkgdesc="Programs for Parabola development"
arch=('any')
url="https://git.parabola.nu/packages/libretools.git/"
# license=(GPL-2.0-only GPL-3.0-or-later) # TODO:
license=('GPL2' 'GPL3')

makedepends=(ruby-ronn-ng)
checkdepends=(
  bats
  git
  "${_pacman_constraints[@]}"
  expac
  openssh
  rsync
  tokyocabinet
)

source=(https://repo.parabola.nu/other/$pkgname/$pkgname-$pkgver.tar.gz{,.sig})
sha256sums=('210fecb2c5113818c685e90dc7e67f0f64995142cecc5eed1ac1284589d5840e'
            'SKIP')
validpgpkeys=('99195DD3BB6FE10A2F36ED8445698744D4FFBFC9'  # Luke Shumaker
              '6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78'  # David P.
              'BFA8008A8265677063B11BF47171986E4B745536'  # Andreas Grapentin
              '3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40') # bill-auger

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

  make
}

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

  SUDO_USER= make check BATS_FLAGS='--filter-tags !network,!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)

  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)

  depends=(
    arch-install-scripts # `mkarchroot` uses `pacstrap`
    binutils             # `libremakepkg`->`makepkg` uses `strip`
    expac                # `libredbdiff`
    fakeroot             # `libremakepkg`->`makepkg` uses `fakeroot`
    make                 # `librefetch`
    openssh              # `librerelease`
    pacutils             # `librechroot` uses `pacsift`
    rsync                # `librerelease` and `makechrootpkg.sh`
    tokyocabinet         # `toru`
    namcap               # `libremakepkg`
    subversion           # `diff-unfree`
    wget                 # `aur`, optdepend for librelib:`blacklist`
  )
  depends+=( # pinned dependencies
    "librelib=$pkgver"
    "gitget=$pkgver"     # `createworkdir`
    "${_pacman_constraints[@]}"
    'systemd-tools>=234' # `systemd-nspawn` # TODO: merge 'nonsystemd' branch
  )
  depends=( ${depends[*]/pacutils/} ) # WIP
  depends=( ${depends[*]/namcap/} ) # FIXME: Namcap is currently disabled in libremakepkg :-(
  optdepends=(
    'qemu-user-static-binfmt: To build ARM packages from x86'
  )

  cd "$srcdir"/$pkgbase-$pkgver

  make install-libretools DESTDIR="$pkgdir"
}
