# Maintainer: George Rawlinson <grawlinson@archlinux.org>

pkgname=ruby-rbtree
_pkgname="${pkgname#ruby-}"
pkgver=0.4.6
pkgrel=7.2
pkgdesc='A sorted associative collection that is implemented with a Red-Black Tree'
arch=('x86_64' 'aarch64')
url='https://github.com/mame/rbtree'
license=('MIT')
depends=('ruby')
makedepends=('git')
checkdepends=('ruby-bundler' 'ruby-rake' 'ruby-test-unit')
options=('!emptydirs')
source=("$pkgname::git+$url#tag=v$pkgver")
sha512sums=('3c99b3e3b111f437308ae65edfbd6c156e16ad989f380317093d56852a9c1daa31c870ad9d3645ec350e1330895b0b7d61e74fe3c48edf1bbb649baf741ebffa')
b2sums=('0c7b9f1efeffe89c1a395599b4e33dc12f57d9e38d50b689c257bbe02a737b591a916cfd6cba57c5a20e2aaec419edf478704a3207b5eb0b84578ec1bc0cf418')

build() {
  cd "$pkgname"

  local _gemdir="$(gem env gemdir)"

  gem build "$_pkgname.gemspec"

  gem install \
    --local \
    --verbose \
    --ignore-dependencies \
    --no-user-install \
    --install-dir "tmp_install/$_gemdir" \
    --bindir "$tmp_install/usr/bin" \
    "$_pkgname-$pkgver.gem"

  # delete unnecessary files/folders
  rm -rf "tmp_install/$_gemdir/cache"
  find "tmp_install" \
    -type f \
    -name '*.o' -delete -o \
    -name 'gem_make.out' -delete -o \
    -name 'mkmf.log' -delete
  rm -rf "tmp_install/$_gemdir/gems/$_pkgname-$pkgver/$_pkgname.so"

  # license
  install -vd "tmp_install/usr/share/licenses/$pkgname"
  ln -sf "$_gemdir/gems/$_pkgname-$pkgver/LICENSE" "tmp_install/usr/share/licenses/$pkgname"
}

check() {
  cd "$pkgname"

  local _gemdir="$(ruby -e'puts Gem.default_dir')"

  GEM_HOME="tmp_install${_gemdir}" rake test
}

package() {
  cd "$pkgname"

  cp --archive --verbose tmp_install/* "${pkgdir}"
}
