PKGBUILDs/extra/ruby/PKGBUILD

110 lines
3.8 KiB
Bash
Raw Normal View History

2018-01-29 20:16:38 +00:00
# Contributor: Thomas Dziedzic <gostrc@gmail.com>
2014-03-01 19:01:35 +00:00
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>
# Contributor: Jeramy Rutley <jrutley@gmail.com>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
2019-01-15 04:37:20 +00:00
# - patches to fix running ruby on 32-bit ARM
2014-03-01 19:01:35 +00:00
2015-03-03 19:46:19 +00:00
pkgname=(ruby ruby-docs)
2019-01-11 19:43:42 +00:00
pkgver=2.6.0
2019-01-15 04:37:20 +00:00
pkgrel=5.1
2017-12-18 18:52:36 +00:00
arch=(x86_64)
2014-03-01 19:01:35 +00:00
url='http://www.ruby-lang.org/en/'
2015-03-03 19:46:19 +00:00
license=(BSD custom)
makedepends=(gdbm openssl libffi doxygen graphviz libyaml ttf-dejavu tk)
options=(!emptydirs)
2016-11-23 00:54:03 +00:00
source=(https://cache.ruby-lang.org/pub/ruby/${pkgver:0:3}/ruby-${pkgver}.tar.xz
2019-01-15 04:37:20 +00:00
0001-Revert-Signature-of-rb_uint2big-and-rb_int2big.patch
0002-Revert-Signature-of-rb_uint2inum-and-rb_int2inum.patch
0003-Use-only-unsigned-long-for-rb_serial_t.patch)
2019-01-11 19:43:42 +00:00
sha512sums=('c56eaf85ef7b79deb34ee4590b143c07f4fc83eb79775290761aee5a7c63374659613538a41f25706ed6e19e49d5c67a1014c24d17f29948294c7abd0b0fcea8'
2019-01-15 04:37:20 +00:00
'939bd57abc38aad6f5efa747f5e59737697ab89dfe1b58060ca83c88a217b0c6a15607eef7c8279ab85c7aabe8eb83e6cf6fb67988aa771117c6b80322c5b52e'
'4a1ad988ece8fd0b5f129523087c4fc7264bc8e56869fe8549bc006c8ae05552d743a67c3693e88eaf33d3e515b10817e9c8a5e386e1a369763a94fc84563739'
'8a98c909667bbeb47146d17397d7a27e82a90bb439c83b3c3c40687600a04040fefd567dcc0929d82dd1f6ef66fcfc84dcfe9b7a24eca3fb3b027328400358e4')
2014-03-01 19:01:35 +00:00
2018-01-29 20:16:38 +00:00
prepare() {
2014-03-01 19:01:35 +00:00
cd ruby-${pkgver}
2018-01-29 20:16:38 +00:00
# remove bundled gems, we are going to ship them as separate packages
rm -rf gems/
2019-01-15 04:37:20 +00:00
patch -Np1 -i ../0001-Revert-Signature-of-rb_uint2big-and-rb_int2big.patch
patch -Np1 -i ../0002-Revert-Signature-of-rb_uint2inum-and-rb_int2inum.patch
2014-03-01 19:01:35 +00:00
# fixes https://bugs.ruby-lang.org/issues/9507
2019-01-15 04:37:20 +00:00
[[ $CARCH == 'arm' ]] && patch -Np1 -i ../0003-Use-only-unsigned-long-for-rb_serial_t.patch || true
2018-01-29 20:16:38 +00:00
}
2014-03-01 19:01:35 +00:00
2018-01-29 20:16:38 +00:00
build() {
cd ruby-${pkgver}
./configure \
2014-03-01 19:01:35 +00:00
--prefix=/usr \
--sysconfdir=/etc \
2018-01-29 20:16:38 +00:00
--localstatedir=/var \
--sharedstatedir=/var/lib \
--libexecdir=/usr/lib/ruby \
2014-03-01 19:01:35 +00:00
--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'
2018-03-06 13:30:47 +00:00
depends=(gdbm openssl libffi libyaml gmp zlib rubygems)
2015-01-06 02:06:45 +00:00
optdepends=(
'ruby-docs: Ruby documentation'
'tk: for Ruby/TK'
)
2014-03-01 19:01:35 +00:00
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"
2018-01-29 20:16:38 +00:00
2018-03-06 13:30:47 +00:00
rubyver=${pkgver:0:3}.0
2019-01-11 19:43:42 +00:00
# remove rubygems as it shipped as a separate package
2018-03-06 13:30:47 +00:00
rm -r "${pkgdir}"/usr/lib/ruby/${rubyver}/{rubygems,rubygems.rb}
rm "${pkgdir}"/usr/bin/gem
2019-01-11 19:43:42 +00:00
# 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
2018-01-29 20:16:38 +00:00
# remove bundled rdoc gem
2019-01-11 19:43:42 +00:00
rm -r "${pkgdir}"/usr/lib/ruby/${rubyver}/{rdoc,rdoc.rb}
2018-03-06 13:30:47 +00:00
rm "${pkgdir}"/usr/bin/{rdoc,ri}
rm "${pkgdir}"/usr/lib/ruby/gems/${rubyver}/specifications/default/rdoc-*.gemspec
2019-01-11 19:43:42 +00:00
# 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/*
2014-03-01 19:01:35 +00:00
}
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"
}