# Maintainer: Felix Yan <felixonmars@archlinux.org>

pkgname=ruby-sawyer
pkgver=0.9.3
pkgrel=1
pkgdesc='Secret User Agent of HTTP'
arch=(any)
url='https://github.com/lostisland/sawyer'
license=(MIT)
depends=(
  ruby
  ruby-faraday
  ruby-addressable
)
makedepends=(
  git
  ruby-rdoc
)
checkdepends=(
  ruby-minitest
  ruby-rake
)
options=(!emptydirs)
source=(
  "git+https://github.com/lostisland/sawyer.git#tag=v$pkgver"
  "${pkgname}_fix_tests.patch"
)
sha512sums=('d5ebd250cb4e1feed66bca3c68e30a26ed13d0eee52bfeac05731e76bac15832bc5bcb177812198beeef2bb71eb38c842d37a862e69f333724b220f699d558df'
            '47e30e4516a71af4ebde60bc2dcf0780a78ae952987b48afd35f4e344927afefd21e32965f79673fcea89fa809e50feee77ecf253b860451838eceb06be3898b')
b2sums=('7c641f183be81a0fbf9cd7bae8f2c23a3d7a2b33ac6b5a890ffa2d00bf991528d1a7e6f27de6dd96a2a26d72a8ffa25e9d25a1e77cfb5c6769e8e9148dca89ba'
        '4bf11f8b55b2d0e413fbf37b98e03f5cf7fe62ae75fd9ce3991256aecdcef08fc89a27668a4527446e711f70e504d55602b00aa25ffdc353edf778865521d2af')

prepare() {
  cd sawyer

  patch --verbose --strip=1 --input="../${pkgname}_fix_tests.patch"

  # update gemspec/Gemfile to allow newer version of the dependencies
  sed --in-place --regexp-extended 's|~>|>=|g' sawyer.gemspec

  sed -i '/bundler/Id' Rakefile
}

build() {
  cd sawyer

  local _gemdir="$(gem env gemdir)"

  gem build --verbose sawyer.gemspec

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

  # remove unrepreducible files
  rm --force --recursive --verbose \
    "tmp_install${_gemdir}/cache/" \
    "tmp_install${_gemdir}/gems/sawyer-${pkgver}/vendor/" \
    "tmp_install${_gemdir}/doc/sawyer-${pkgver}/ri/ext/"

  find "tmp_install${_gemdir}/gems/" \
    -type f \
    \( \
      -iname "*.o" -o \
      -iname "*.c" -o \
      -iname "*.so" -o \
      -iname "*.time" -o \
      -iname "gem.build_complete" -o \
      -iname "Makefile" \
    \) \
    -delete

  find "tmp_install${_gemdir}/extensions/" \
    -type f \
    \( \
      -iname "mkmf.log" -o \
      -iname "gem_make.out" \
    \) \
    -delete
}

check() {
  cd sawyer

  local _gemdir="$(gem env gemdir)"

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

package() {
  cd sawyer

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

  install --verbose -D --mode=0644 LICENSE* --target-directory "${pkgdir}/usr/share/licenses/${pkgname}"
  install --verbose -D --mode=0644 *.md --target-directory "${pkgdir}/usr/share/doc/${pkgname}"
}

# vim: tabstop=2 shiftwidth=2 expandtab:
