# Contributor: Thomas Dziedzic # Contributor: Allan McRae # Contributor: John Proctor # Contributor: Jeramy Rutley # ALARM: Kevin Mihelich # - patch to fix running ruby on 32-bit ARM pkgname=(ruby ruby-docs) pkgver=2.6.3 pkgrel=1 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 0001-Use-only-unsigned-long-for-rb_serial_t.patch) sha512sums=('959a613f5cf5b3185a1d7a7ba0e1921166b3930f30461b391b1c9fcfe396f56dc3c736123dfc7b4e72c32a97dc5a1eb1fd7f09bcc3793a3c5526f6644ba421c8' 'e832b64ee46721b4a8be4c44cc62a4ae3ca25e1a9fa9803e5001757d6ce11565bfa82d87182029b6d054f45bb556d4a1b515047edec8932c31dab4d0f3ad060c') 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 ../0001-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 rubygems) optdepends=( 'ruby-docs: Ruby documentation' 'tk: for Ruby/TK' ) cd ruby-${pkgver} make DESTDIR="${pkgdir}" install-nodoc install -D -m644 COPYING "${pkgdir}/usr/share/licenses/ruby/LICENSE" install -D -m644 BSDL "${pkgdir}/usr/share/licenses/ruby/BSDL" rubyver=${pkgver:0:3}.0 # remove rubygems as it shipped as a separate package rm -r "${pkgdir}"/usr/lib/ruby/${rubyver}/{rubygems,rubygems.rb} rm "${pkgdir}"/usr/bin/gem # remove bundler as it shipped as a separate package rm -r "${pkgdir}"/usr/lib/ruby/${rubyver}/{bundler,bundler.rb} rm "${pkgdir}"/usr/bin/{bundle,bundler} rm "${pkgdir}"/usr/lib/ruby/gems/${rubyver}/specifications/default/bundler-*.gemspec rm "${pkgdir}"/usr/share/man/man1/{bundle,bundle-*}.1 # remove bundled rdoc gem rm -r "${pkgdir}"/usr/lib/ruby/${rubyver}/{rdoc,rdoc.rb} rm "${pkgdir}"/usr/bin/{rdoc,ri} rm "${pkgdir}"/usr/lib/ruby/gems/${rubyver}/specifications/default/rdoc-*.gemspec # remove irb as it is a separate package now rm -r "${pkgdir}"/usr/lib/ruby/${rubyver}/{irb,irb.rb} rm "${pkgdir}"/usr/bin/irb rm "${pkgdir}"/usr/lib/ruby/gems/${rubyver}/specifications/default/irb-*.gemspec rm "${pkgdir}"/usr/share/man/man1/irb.1 # remove all bundled gems to avoid conflicts with ruby-* Arch packages rm -r "${pkgdir}"/usr/lib/ruby/gems/${rubyver}/gems/* } 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" }