# Maintainer: George Rawlinson <grawlinson@archlinux.org>
# Contributor: Anatol Pomozov <anatol.pomozov@gmail.com>
# Contributor: Massimiliano Torromeo <massimiliano.torromeo at gmail dot com>
# Contributor: Alexsandr Pavlov <kidoz at mail dot ru>
# Contributor: Andreas 'Segaja' Schleifer <segaja at archlinux dot org>

_gemname=rdiscount
pkgname=ruby-$_gemname
pkgver=2.2.7.3
pkgrel=7.2
pkgdesc="Fast Implementation of Gruber's Markdown in C"
arch=(x86_64 aarch64)
url='https://dafoster.net/projects/rdiscount/'
license=(BSD-3-Clause)
depends=(ruby)
makedepends=(git ruby-rdoc ruby-rake)
checkdepends=(ruby-test-unit)
options=(!emptydirs)
source=("$pkgname::git+https://github.com/davidfstr/rdiscount#tag=$pkgver")
sha512sums=('ef50b315831677374c8bb8766b097f40192bcd35ee2ec22a6a0182def571ccf919fed56f189fc1358e366ae9b037c92b5eb25f461c22732bb2599efbe44515c9')
b2sums=('e006909fb4e474fe0ad7b3b523ee7d4954ff89435cba1dab543cf76aa4fed97e24278622d578057235fe6d16c954d25e3d5400e90699b3bca5de52755ff191f4')

prepare() {
  cd "$pkgname"

  # Do not rebuild extension to run test
  sed -i -r "/task 'test:unit' => \[:build\]/d;s/=> \[:build\] (do |t|)/\1/" Rakefile
}

build() {
  cd "$pkgname"

  local _gemdir="$(ruby -e'puts Gem.default_dir')"
  local _platform="$(gem env platform | cut -d':' -f2)"
  local _extension_api_version="$(ruby -e'puts Gem.extension_api_version')"

  gem build --verbose "${_gemname}.gemspec"
  rake build

  gem install --ignore-dependencies --no-user-install -i "tmp_install$_gemdir" -n "tmp_install/usr/bin" $_gemname-$pkgver.gem
  rm "tmp_install/$_gemdir/cache/$_gemname-$pkgver.gem" \
      "tmp_install/${_gemdir}/extensions/${_platform}/${_extension_api_version}/${_gemname}-${pkgver}/gem_make.out"
  install -D -m644 "tmp_install/$_gemdir/gems/$_gemname-$pkgver/COPYING" "tmp_install/usr/share/licenses/$pkgname/COPYING"

  rm -rf "tmp_install/$_gemdir/gems/$_gemname-$pkgver/ext" \
      "tmp_install/${_gemdir}/doc/${_gemname}-${pkgver}/ri/ext"
}

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}"
}
