# Maintainer: George Rawlinson <grawlinson@archlinux.org>
# Contributor: Felix Yan <felixonmars@archlinux.org>
# Contributor: Mario Finelli <mario at finel dot li>
# Contributor: Artem Vorotnikov <artem at vorotnikov dot me>

_gemname=ffi
pkgname=ruby-$_gemname
pkgver=1.17.1
pkgrel=2
pkgdesc='Ruby FFI'
arch=('x86_64' 'aarch64')
url='https://github.com/ffi/ffi'
license=('BSD-3-Clause' 'MIT')
depends=('ruby')
makedepends=('ruby-rdoc')
options=('!emptydirs')
source=("https://rubygems.org/downloads/$_gemname-$pkgver.gem")
noextract=("$_gemname-$pkgver.gem")
sha512sums=('b467ef8bcd0f3877705b352502489d4918113fed741a44e1e954bfa921a6b5620730829e677c739c356473e8b4d4c7a57e302439b06d06bf46e36c09b17b78f7')
b2sums=('2d96b4bc2a4e46e4de6b13ad20bec05f33f8651c4d8fc91bf927459e65526f514395242cdabbeede370c5132e27119d345579ebf38a20df0f7554608940fc067')

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

  gem install \
    --verbose \
    --ignore-dependencies \
    --no-document \
    --no-user-install \
    --install-dir "$pkgdir/$_gemdir" \
    --bindir "$pkgdir/usr/bin" \
    "$_gemname-$pkgver.gem"

  # delete unnecessary files & folders
  cd "$pkgdir/$_gemdir"
  find . -type f -name 'gem_make.out' -delete -o -name 'mkmf.log' -delete
  rm -vrf cache
  cd "gems/$_gemname-$pkgver"
  rm -vrf Gemfile Rakefile "$_gemname.gemspec" ext rakelib
  find lib/ffi/platform/* -prune -not -name "$CARCH-linux" -exec rm -rf {} +

  # move documentation
  install -vd "$pkgdir/usr/share/doc/$pkgname"
  mv -v samples CHANGELOG.md README.md "$pkgdir/usr/share/doc/$pkgname"

  # move licenses
  install -vd "$pkgdir/usr/share/licenses/$pkgname"
  mv -v LICENSE* COPYING "$pkgdir/usr/share/licenses/$pkgname"

  # generate Ruby documentation
  rdoc \
    --format ri \
    --output "$pkgdir$_gemdir/doc/$_gemname-$pkgver/ri" \
    ./lib
  # delete unnecessary artifacts
  rm -rf "$pkgdir$_gemdir/doc/$_gemname-$pkgver/ri/"{lib,created.rid}
}
