# Contributor: Thomas Dziedzic # Contributor: Allan McRae # Contributor: John Proctor # Contributor: Jeramy Rutley # ALARM: Kevin Mihelich # - patch to fix running ruby on v5 (#705) pkgname=(ruby ruby-docs) pkgver=2.5.0 pkgrel=4 arch=(x86_64) url='http://www.ruby-lang.org/en/' license=(BSD custom) makedepends=(gdbm openssl libffi doxygen graphviz libyaml ttf-dejavu tk) options=(!emptydirs) source=(https://cache.ruby-lang.org/pub/ruby/${pkgver:0:3}/ruby-${pkgver}.tar.xz gemrc 0002-Use-only-unsigned-long-for-rb_serial_t.patch) sha512sums=('55714a33d7661fe8b432f73c34fd67b49699f8b79df1cbd680a74899124d31111ab0f444677672aac1ba725820182940d485efb2db0bf2bc96737c5d40c54578' '8cafd14d414ee3c16aa94f79072bc6c100262f925dc1300e785846c3fabbbbffc1356b8e2223af5684e3340c55032d41231179ffa948bb12e01dbae0f4131911' '5b3a73b66ed35eb25997109076ec3146ff5f7f843b2e39e7a15b32349c3b38c6035668e8b5d6dd94d97030dea52187e481e8ccdcb6bfc7a79bb12043a322711e') prepare() { cd ruby-${pkgver} # remove bundled gems, we are going to ship them as separate packages rm -rf gems/ # fixes https://bugs.ruby-lang.org/issues/9507 [[ $CARCH == 'arm' ]] && patch -Np1 -i ../0002-Use-only-unsigned-long-for-rb_serial_t.patch || true } build() { cd ruby-${pkgver} ./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' depends=(gdbm openssl libffi libyaml gmp zlib) optdepends=( 'ruby-docs: Ruby documentation' 'tk: for Ruby/TK' ) provides=(rubygems) 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" gemver=${pkgver:0:3}.0 # remove bundled rdoc gem # we are doing it here instead of prepare() because rdoc used doring Ruby build process rm -r "${pkgdir}"/usr/lib/ruby/${gemver}/rdoc/ rm -r "${pkgdir}"/usr/bin/{rdoc,ri} rm -r "${pkgdir}"/usr/lib/ruby/gems/${gemver}/gems/* rm -r "${pkgdir}"/usr/lib/ruby/gems/${gemver}/specifications/default/rdoc-*.gemspec } 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" }