From 798f9b9276b856864f6066f8287312cd7bc0c078 Mon Sep 17 00:00:00 2001 From: Jakub Jirutka Date: Wed, 29 Nov 2017 20:31:49 +0100 Subject: unmaintained/ruby2.2: move from community Ruby 2.2 is currently in "security maintenance" phase and EOL (end of life) is scheduled for 2018-03-31. This is less than support period for packages in the community repository (6 months). --- unmaintained/ruby2.2/APKBUILD | 191 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 unmaintained/ruby2.2/APKBUILD (limited to 'unmaintained') diff --git a/unmaintained/ruby2.2/APKBUILD b/unmaintained/ruby2.2/APKBUILD new file mode 100644 index 0000000000..66a872a049 --- /dev/null +++ b/unmaintained/ruby2.2/APKBUILD @@ -0,0 +1,191 @@ +# Contributor: Carlo Landmeter +# Maintainer: Jakub Jirutka +# +# secfixes: +# 2.2.8-r0: +# - CVE-2017-0898 +# - CVE-2017-10784 +# - CVE-2017-14033 +# - CVE-2017-14064 +# - CVE-2017-0899 +# - CVE-2017-0900 +# - CVE-2017-0901 +# - CVE-2017-0902 +# +pkgname=ruby2.2 +_pkgname=ruby +_majorver=${pkgname#ruby} +pkgver="$_majorver.8" +_pkgver=${pkgver/_/-} +_abiver="$_majorver.0" +pkgrel=1 +pkgdesc="An object-oriented language for quick and easy programming" +url="http://www.ruby-lang.org/en/" +arch="all" +license="Ruby" +depends="" +depends_dev="gmp-dev" +makedepends="$depends_dev zlib-dev libressl-dev gdbm-dev db-dev readline-dev + libffi-dev coreutils yaml-dev autoconf" +subpackages="$pkgname-doc $pkgname-dev $pkgname-irb::noarch + $pkgname-rdoc::noarch $pkgname-rake::noarch $pkgname-bigdecimal::noarch + $pkgname-io-console:io_console $pkgname-minitest::noarch + $pkgname-json $pkgname-libs + " +source="ftp://ftp.ruby-lang.org/pub/ruby/${pkgver%.*}/$_pkgname-$_pkgver.tar.bz2" +options="!fhs" +builddir="$srcdir/$_pkgname-$_pkgver" + +_gemdir="/usr/lib/ruby/gems/$_abiver" +_rubydir="/usr/lib/ruby/$_abiver" +_chost="${CHOST/-alpine-/-}" + +case "$CARCH" in + x86) _arch="i386";; + *) _arch="$CARCH";; +esac + +prepare() { + default_prepare || return 1 + + cd "$builddir" + autoconf +} + +build() { + cd "$builddir" + + # -fomit-frame-pointer makes ruby segfault, see gentoo bug #150413 + # In many places aliasing rules are broken; play it safe + # as it's risky with newer compilers to leave it as it is. + export CFLAGS="$CFLAGS -fno-omit-frame-pointer -fno-strict-aliasing" + export CPPFLAGS="$CPPFLAGS -fno-omit-frame-pointer -fno-strict-aliasing" + + # ruby saves path to install. we want use $PATH + export INSTALL=install + + # the configure script does not detect isnan/isinf as macros + export ac_cv_func_isnan=yes + export ac_cv_func_isinf=yes + + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --with-sitedir='/usr/local/lib/site_ruby' \ + --with-search-path="/usr/lib/site_ruby/\$(ruby_ver)/$_arch-linux" \ + --enable-pthread \ + --disable-rpath \ + --enable-shared \ + --with-mantype=man \ + --program-suffix=$_majorver \ + --with-soname=$pkgname \ + || return 1 + make || return 1 + make test +} + +package() { + cd "$builddir" + + make DESTDIR="$pkgdir" install || return 1 + + if [ -d "$pkgdir"/usr/local ]; then + local f=$(cd "$pkgdir" ; find usr/local -type f) + if [ -n "$f" ]; then + error "Found files in /usr/local:" + echo "$f" + return 1 + fi + fi + install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING +} + +rake() { + pkgdesc="Ruby based make-like utility" + depends="$pkgname" + + _mvgem rake || return 1 + _mv usr/bin/rake$_majorver +} + +irb() { + pkgdesc="The Interactive Ruby" + replaces="$pkgname" + depends="$pkgname" + + cd "$pkgdir" + _mv usr/bin/irb$_majorver \ + usr/lib/ruby/$_abiver/irb* +} + +rdoc() { + pkgdesc="Ruby documentation tool" + depends="$pkgname $pkgname-json $pkgname-io-console" + + _mvgem rdoc || return 1 + _mv usr/bin/ri$_majorver \ + usr/bin/rdoc$_majorver +} + +bigdecimal() { + pkgdesc="Ruby arbitrary-precision floating point decimal arithmetic" + depends="$pkgname" + + _mvgem bigdecimal +} + +io_console() { + pkgdesc="Ruby simple console IO library" + depends="$pkgname" + _mvgem io-console + + _mv $_rubydir/io \ + $_rubydir/$_chost/io/console.so +} + +minitest() { + pkgdesc="Ruby suite of testing facilities" + depends="$pkgname" + + _mvgem minitest +} + +json() { + pkgdesc="JSON implementation as a Ruby extension in C" + depends="$pkgname" + + _mvgem json +} + +libs() { + pkgdesc="Libraries necessary to run Ruby" + depends="" + + mkdir -p "$subpkgdir"/usr + mv "$pkgdir"/usr/lib "$subpkgdir"/usr/ +} + +_mv() { + local i; for i in "$@"; do + mkdir -p "$subpkgdir"/${i%/*} + mv "$pkgdir"/${i} "$subpkgdir"/${i%/*}/ || return 1 + done +} + +_mvgem() { + cd "$pkgdir" + local path; for path in ./$_rubydir/${1}.rb \ + ./$_rubydir/${1} \ + ./$_rubydir/$_chost/${1} \ + ./$_gemdir/gems/${1}-* \ + ./$_gemdir/specifications/${1}-* \ + ./$_gemdir/specifications/default/${1}-* ; do + [ ! -e "$pkgdir/$path" ] || _mv "$path" + done +} + +sha512sums="aa1c65f76a51a57d9059a38a13a823112b53850a9e7d6f72c3f3e38d381412014521049f7065c1b00877501b3b554235135d0f308045c2a9da133c766f5b9e46 ruby-2.2.8.tar.bz2" -- cgit v1.2.3