summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO25
-rw-r--r--PKGBUILD77
-rw-r--r--fix.patch22
3 files changed, 124 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..3040b682d3a5
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,25 @@
+pkgbase = ruby1.8
+ pkgdesc = The obsolete version of the ruby programming language. Consider 2.x instead.
+ pkgver = 1.8.7_p374
+ pkgrel = 2
+ url = http://www.ruby-lang.org/en/
+ arch = i686
+ arch = x86_64
+ arch = arm
+ license = custom
+ makedepends = tk
+ depends = gdbm
+ depends = db
+ depends = openssl
+ depends = zlib
+ depends = readline
+ optdepends = tk: for Ruby/TK
+ provides = ruby=1.8.7
+ options = !emptydirs
+ source = ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p374.tar.bz2
+ source = fix.patch
+ md5sums = 83c92e2b57ea08f31187060098b2200b
+ md5sums = f560402603b3dca36d4a6abfcb180cb9
+
+pkgname = ruby1.8
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..5efbd5e7f4b0
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,77 @@
+# Maintainer: Jesse R. Adams <jesse -at- techno -dash- geeks -dot- org>
+pkgname=ruby1.8
+_pkgname='ruby'
+pkgver=1.8.7_p374
+_pkgver="${pkgver/_/-}"
+pkgrel=2
+pkgdesc='The obsolete version of the ruby programming language. Consider 2.x instead.'
+arch=('i686' 'x86_64' 'arm')
+license=('custom')
+url='http://www.ruby-lang.org/en/'
+provides=('ruby=1.8.7')
+options=('!emptydirs')
+makedepends=('tk')
+depends=('gdbm' 'db' 'openssl' 'zlib' 'readline')
+optdepends=('tk: for Ruby/TK')
+
+source=("ftp://ftp.ruby-lang.org/pub/ruby/1.8/$_pkgname-$_pkgver.tar.bz2" "fix.patch")
+md5sums=('83c92e2b57ea08f31187060098b2200b' 'f560402603b3dca36d4a6abfcb180cb9')
+
+_optimal_make_jobs() {
+ if [ -r /proc/cpuinfo ]; then
+ local core_count=$(grep -Fc processor /proc/cpuinfo)
+ else
+ local core_count=0
+ fi
+
+ if [ $core_count -gt 1 ]; then
+ echo -n $[$core_count-1]
+ else
+ echo -n 1
+ fi
+}
+
+build() {
+ echo
+ echo
+ echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
+ echo "!!! WARNING !!! Ruby 1.8.7 is no longer supported."
+ echo "Please consider upgrading to ruby 2.x instead."
+ echo "This package will not be maintained for ArchLinux much longer."
+ echo "See https://www.ruby-lang.org/en/news/2013/06/30/we-retire-1-8-7/ for more info!"
+ echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
+ echo
+ echo
+ sleep 5
+
+ cd "${srcdir}/${_pkgname}-${_pkgver}"
+
+ msg 'Running configure...'
+ ./configure \
+ --prefix=/opt/ruby1.8 \
+ --disable-rpath \
+ --enable-shared \
+ --enable-pthread \
+ CFLAGS="-O2 -fno-tree-dce -fno-optimize-sibling-calls"
+
+ msg 'Applying patch...'
+ patch -Np1 < ${srcdir}/fix.patch
+
+ msg 'Running make...'
+ make -j$(_optimal_make_jobs)
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${_pkgver}"
+
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+
+ install -dm755 $pkgdir/usr/bin
+ install -dm755 $pkgdir/usr/lib
+ for i in erb irb rdoc ri ruby testrb; do
+ ln -s /opt/ruby1.8/bin/$i $pkgdir/usr/bin/$i-1.8
+ done
+ ln -s /opt/ruby1.8/lib/libruby.so.1.8 $pkgdir/usr/lib/libruby.so.1.8
+}
diff --git a/fix.patch b/fix.patch
new file mode 100644
index 000000000000..3a9a631e5028
--- /dev/null
+++ b/fix.patch
@@ -0,0 +1,22 @@
+diff -urB ruby-1.8.7-p352/ext/dl/depend ruby-1.8.7-p352.patched//ext/dl/depend
+--- ruby-1.8.7-p352/ext/dl/depend 2007-02-12 23:01:19.000000000 +0000
++++ ruby-1.8.7-p352.patched//ext/dl/depend 2011-07-26 18:25:12.512525291 +0100
+@@ -32,15 +32,15 @@
+
+ call.func: $(srcdir)/mkcall.rb ./dlconfig.rb
+ @echo "Generating call.func"
+- @$(RUBY) $(srcdir)/mkcall.rb > $@
++ @$(RUBY) $(srcdir)/mkcall.rb | cat > $@
+
+ callback.func: $(srcdir)/mkcallback.rb ./dlconfig.rb
+ @echo "Generating callback.func"
+- @$(RUBY) $(srcdir)/mkcallback.rb > $@
++ @$(RUBY) $(srcdir)/mkcallback.rb | cat > $@
+
+ cbtable.func: $(srcdir)/mkcbtable.rb ./dlconfig.rb
+ @echo "Generating cbtable.func"
+- @$(RUBY) $(srcdir)/mkcbtable.rb > $@
++ @$(RUBY) $(srcdir)/mkcbtable.rb | cat > $@
+
+ debug:
+ $(MAKE) CPPFLAGS="$(CPPFLAGS) -DDEBUG"