aboutsummaryrefslogtreecommitdiffstats
path: root/unmaintained
diff options
context:
space:
mode:
authorJakub Jirutka <jakub@jirutka.cz>2017-11-29 20:31:49 +0100
committerJakub Jirutka <jakub@jirutka.cz>2017-11-29 20:31:49 +0100
commit798f9b9276b856864f6066f8287312cd7bc0c078 (patch)
tree13c95ba88588528c4be46b2d44b551a0ed3d4666 /unmaintained
parent4539b39afe1b8aef4a7982ea7a7521ad24b0e3f6 (diff)
downloadaports-798f9b9276b856864f6066f8287312cd7bc0c078.tar.bz2
aports-798f9b9276b856864f6066f8287312cd7bc0c078.tar.xz
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).
Diffstat (limited to 'unmaintained')
-rw-r--r--unmaintained/ruby2.2/APKBUILD191
1 files changed, 191 insertions, 0 deletions
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 <clandmeter@gmail.com>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+#
+# 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"