From 2276e7b88d23ae9730008c78155273eff07e28de Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Fri, 27 Dec 2019 03:49:04 +0000 Subject: [PATCH] added community/ruby2.6 --- ...e-only-unsigned-long-for-rb_serial_t.patch | 36 ++++++++++ community/ruby2.6/PKGBUILD | 72 +++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 community/ruby2.6/0001-Use-only-unsigned-long-for-rb_serial_t.patch create mode 100644 community/ruby2.6/PKGBUILD diff --git a/community/ruby2.6/0001-Use-only-unsigned-long-for-rb_serial_t.patch b/community/ruby2.6/0001-Use-only-unsigned-long-for-rb_serial_t.patch new file mode 100644 index 000000000..3e4066d3a --- /dev/null +++ b/community/ruby2.6/0001-Use-only-unsigned-long-for-rb_serial_t.patch @@ -0,0 +1,36 @@ +From 058bf8ae8686bd441188a62e950227e50214056b Mon Sep 17 00:00:00 2001 +From: Kevin Mihelich +Date: Mon, 14 Jan 2019 21:34:02 -0700 +Subject: [PATCH] Use only unsigned long for rb_serial_t + +--- + internal.h | 10 ---------- + 1 file changed, 10 deletions(-) + +diff --git a/internal.h b/internal.h +index 28a2f74..8c16c5a 100644 +--- a/internal.h ++++ b/internal.h +@@ -941,19 +941,9 @@ struct rb_subclass_entry { + rb_subclass_entry_t *next; + }; + +-#if defined(HAVE_LONG_LONG) +-typedef unsigned LONG_LONG rb_serial_t; +-#define SERIALT2NUM ULL2NUM +-#define PRI_SERIALT_PREFIX PRI_LL_PREFIX +-#elif defined(HAVE_UINT64_T) +-typedef uint64_t rb_serial_t; +-#define SERIALT2NUM SIZET2NUM +-#define PRI_SERIALT_PREFIX PRI_64_PREFIX +-#else + typedef unsigned long rb_serial_t; + #define SERIALT2NUM ULONG2NUM + #define PRI_SERIALT_PREFIX PRI_LONG_PREFIX +-#endif + + struct rb_classext_struct { + struct st_table *iv_index_tbl; +-- +2.20.1 + diff --git a/community/ruby2.6/PKGBUILD b/community/ruby2.6/PKGBUILD new file mode 100644 index 000000000..33a95f454 --- /dev/null +++ b/community/ruby2.6/PKGBUILD @@ -0,0 +1,72 @@ +# Contributor: Thomas Dziedzic +# Contributor: Allan McRae +# Contributor: John Proctor +# Contributor: Jeramy Rutley + +# ALARM: Kevin Mihelich +# - patch to fix running ruby on 32-bit ARM + +_rubyver=2.6 +pkgname=ruby2.6 +pkgver=2.6.5 +pkgdesc='An object-oriented language for quick and easy programming (version 2.6)' +pkgrel=1 +arch=(x86_64) +url='http://www.ruby-lang.org/en/' +license=(BSD custom) +depends=(gdbm openssl libffi libyaml gmp zlib) +optdepends=('tk: for Ruby/TK') +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=('e8ae3b5d4d23a93d0ef6057235ad0e573665a8b4b6544e1c70b4cce9c4d2fb9094e5c8fe8a9ab7b9996efe3ada603f9b4ef1fd08fb5a83253c1ae2b5e3f202db' + 'e832b64ee46721b4a8be4c44cc62a4ae3ca25e1a9fa9803e5001757d6ce11565bfa82d87182029b6d054f45bb556d4a1b515047edec8932c31dab4d0f3ad060c') + +prepare() { + cd ruby-${pkgver} + # 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=/opt/ruby${_rubyver} \ + --program-suffix=-${_rubyver} \ + --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() { + cd ruby-${pkgver} + + make DESTDIR="${pkgdir}" install-nodoc + + install -dm755 $pkgdir/usr/bin + install -dm755 $pkgdir/usr/lib + + for i in erb irb rdoc ri ruby testrb rake gem; do + ln -s /opt/$pkgname/bin/$i-${_rubyver} $pkgdir/usr/bin/$i-${_rubyver} + ln -s /opt/$pkgname/bin/$i-${_rubyver} $pkgdir/opt/$pkgname/bin/$i + done + + ln -s /opt/$pkgname/lib/libruby.so.${_rubyver} $pkgdir/usr/lib/libruby.so.${_rubyver} + + install -D -m644 COPYING "${pkgdir}/usr/share/licenses/$pkgname/LICENSE" + install -D -m644 BSDL "${pkgdir}/usr/share/licenses/$pkgname/BSDL" +}