# Maintainer (Arch): Thomas Dziedzic <gostrc@gmail.com>
# Contributor (Arch): Allan McRae <allan@archlinux.org>
# Contributor (Arch): John Proctor <jproctor@prium.net>
# Contributor (Arch): Jeramy Rutley <jrutley@gmail.com>
# Maintainer: Daniel Milewski <niitotantei@riseup.net>
# Maintainer: André Silva <emulatorman@parabola.nu>

pkgname=(ruby ruby-docs)
pkgver=2.3.1
_jsonver=1.8.1
pkgrel=1.parabola1
arch=(i686 x86_64 armv7h)
url='http://www.ruby-lang.org/en/'
license=(BSD custom)
makedepends=(gdbm openssl libffi doxygen graphviz libyaml ttf-dejavu tk)
options=(!emptydirs)
mksource=(http://cache.ruby-lang.org/pub/ruby/${pkgver:0:3}/ruby-${pkgver}.tar.xz
          https://github.com/flori/json/archive/v${_jsonver}.tar.gz)
source=(https://repo.parabola.nu/other/ruby-libre/ruby-libre-${pkgver}.tar.xz
        json-${_jsonver}.gem
        remove-nonfree-json-references.patch
        remove-nonfree-ruby-references.patch
        gemrc)
mksha1sums=('83499c14c674cf2d88e495031434a94c06330879'
            '043ed2df4b0ce2174c9c020ffcb4ec31f9fde560')
sha1sums=('6edfb2faa3e80fb9d2fd34483ed3c19237eff08f'
          '2cd288d00c5211e4c9d9338080b30af65cbb143a'
          '0ba1010a271e6fcc1734f7382b99963f46133ea5'
          'da8bdd298104be19221d5ba5353b992d07943840'
          'dc536754c8fac2c3d82965c5a708cd8f79562d98')

mksource() {
  rm -rv ruby-${pkgver}/ext/json
  rm -rv ruby-${pkgver}/test/json
  rm -rv json-${_jsonver}/ext
}

prepare() {
  cd ruby-${pkgver}

  install -D -m644 ${srcdir}/json-${_jsonver}.gem gems

  patch -Np1 -i ${srcdir}/remove-nonfree-ruby-references.patch

  cd ${srcdir}/json-${_jsonver}

  patch -Np1 -i ${srcdir}/remove-nonfree-json-references.patch
}

build() {
  cd ruby-${pkgver}

  PKG_CONFIG=/usr/bin/pkg-config ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --sharedstatedir=/var/lib \
    --libexecdir=/usr/lib/ruby \
    --enable-shared \
    --disable-rpath \
    --with-dbm-type=gdbm_compat

  make
}

check() {
  cd ruby-${pkgver}

  make test
}

package_ruby() {
  pkgdesc='An object-oriented language for quick and easy programming, with free variant of json gem'
  depends=(gdbm openssl libffi libyaml gmp zlib)
  optdepends=(
      'ruby-docs: Ruby documentation'
      'tk: for Ruby/TK'
  )
  provides=(rubygems rake)
  conflicts=(rake)
  backup=(etc/gemrc)
  install=ruby.install

  cd ruby-${pkgver}

  make DESTDIR="${pkgdir}" install-nodoc

  install -D -m644 ${srcdir}/gemrc "${pkgdir}/etc/gemrc"

  install -D -m644 COPYING "${pkgdir}/usr/share/licenses/ruby/LICENSE"
  install -D -m644 BSDL "${pkgdir}/usr/share/licenses/ruby/BSDL"
}

package_ruby-docs() {
  pkgdesc='Documentation files for ruby'

  cd ruby-${pkgver}

  make DESTDIR="${pkgdir}" install-doc install-capi

  install -D -m644 COPYING "${pkgdir}/usr/share/licenses/ruby-docs/LICENSE"
  install -D -m644 BSDL "${pkgdir}/usr/share/licenses/ruby-docs/BSDL"
}