diff options
Diffstat (limited to 'system/ruby')
-rw-r--r-- | system/ruby/APKBUILD | 80 | ||||
-rw-r--r-- | system/ruby/fix-get_main_stack.patch | 4 | ||||
-rw-r--r-- | system/ruby/libedit-compat.patch | 22 | ||||
-rw-r--r-- | system/ruby/rubygems-avoid-platform-specific-gems.patch | 2 |
4 files changed, 26 insertions, 82 deletions
diff --git a/system/ruby/APKBUILD b/system/ruby/APKBUILD index e608e4637..c01d0fec0 100644 --- a/system/ruby/APKBUILD +++ b/system/ruby/APKBUILD @@ -31,36 +31,40 @@ # - CVE-2019-8323 # - CVE-2019-8324 # - CVE-2019-8325 +# 2.5.7-r0: +# - CVE-2012-6708 +# - CVE-2015-9251 +# - CVE-2019-15845 +# - CVE-2019-16201 +# - CVE-2019-16254 +# - CVE-2019-16255 +# 2.5.7-r1: +# - CVE-2020-8130 # pkgname=ruby -pkgver=2.5.5 +pkgver=3.4.1 _abiver="${pkgver%.*}.0" -pkgrel=2 +pkgrel=0 pkgdesc="An object-oriented language for quick and easy programming" url="https://www.ruby-lang.org/" arch="all" license="Ruby AND BSD-2-Clause" depends="ca-certificates" -depends_dev="ruby=$pkgver-r$pkgrel gmp-dev" -makedepends="$depends_dev zlib-dev openssl-dev db-dev libedit-dev +depends_dev="ruby=$pkgver-r$pkgrel gmp-dev libucontext-dev" +makedepends="$depends_dev zlib-dev openssl-dev db-dev libffi-dev coreutils yaml-dev linux-headers autoconf" install="$pkgname.post-upgrade" subpackages="$pkgname-doc $pkgname-dev $pkgname-bigdecimal - $pkgname-did_you_mean::noarch $pkgname-fiddle $pkgname-io-console:io_console $pkgname-irb::noarch $pkgname-json $pkgname-minitest::noarch - $pkgname-net-telnet:net_telnet:noarch $pkgname-power_assert::noarch $pkgname-rake::noarch $pkgname-rdoc::noarch - $pkgname-sdbm $pkgname-test-unit:test_unit:noarch - $pkgname-webrick::noarch - $pkgname-xmlrpc::noarch $pkgname-libs $pkgname-full::noarch " @@ -68,13 +72,12 @@ source="https://cache.ruby-lang.org/pub/ruby/${pkgver%.*}/$pkgname-$pkgver.tar.x rubygems-avoid-platform-specific-gems.patch test_insns-lower-recursion-depth.patch fix-get_main_stack.patch - libedit-compat.patch " replaces="ruby-etc ruby-gems" _gemdir="/usr/lib/ruby/gems/$_abiver" _rubydir="/usr/lib/ruby/$_abiver" -_chost="$(printf '%s' "$CHOST" | sed 's/-foxkit-/-/')" +_chost="$(printf '%s' "$CHOST" | sed 's/-.*-linux-musl/-linux-musl/')" case "$CARCH" in x86 | pmmx) _arch="i386";; @@ -101,6 +104,9 @@ build() { export CFLAGS="$CFLAGS -fno-omit-frame-pointer -fno-strict-aliasing" export CPPFLAGS="$CPPFLAGS -fno-omit-frame-pointer -fno-strict-aliasing" + # Needed for coroutine stuff + export LIBS="-lucontext" + # ruby saves path to install. we want use $PATH export INSTALL=install @@ -137,7 +143,7 @@ package() { rm -R "$pkgdir"$_gemdir/cache/* if [ -d "$pkgdir"/usr/local ]; then - local f="$(cd "$pkgdir" ; find usr/local -type f)" + f="$(cd "$pkgdir" ; find usr/local -type f)" if [ -n "$f" ]; then error "Found files in /usr/local:" echo "$f" @@ -155,14 +161,6 @@ bigdecimal() { _mvgem bigdecimal } -did_you_mean() { - pkgdesc="Did you mean? experience in Ruby" - license="MIT" - depends="$pkgname-libs" - - _mvgem did_you_mean -} - fiddle() { pkgdesc="A libffi wrapper for Ruby" license="BSD-2-Clause" @@ -207,13 +205,6 @@ minitest() { _mvgem minitest } -net_telnet() { - pkgdesc="Telnet client functionality for Ruby" - depends="$pkgname-libs" - - _mvgem net-telnet -} - power_assert() { pkgdesc="Power Assert for Ruby" depends="$pkgname-libs" @@ -240,14 +231,6 @@ rdoc() { usr/bin/rdoc } -sdbm() { - pkgdesc="A simple file-based key-value store with String keys and values for Ruby" - license="BSD-2-Clause" - depends="" - - _mvgem sdbm -} - test_unit() { pkgdesc="An xUnit family unit testing framework for Ruby" license="Ruby PSFL" @@ -256,22 +239,6 @@ test_unit() { _mvgem test-unit } -webrick() { - pkgdesc="HTTP server toolkit for Ruby" - license="BSD-2-Clause" - depends="$pkgname" - - _mvgem webrick -} - -xmlrpc() { - pkgdesc="XMLRPC library for Ruby" - license="Ruby" - depends="$pkgname-libs" - - _mvgem xmlrpc -} - libs() { pkgdesc="Libraries necessary to run Ruby" depends="" @@ -288,7 +255,7 @@ full() { } _mv() { - local i; for i in "$@"; do + for i in "$@"; do mkdir -p "$subpkgdir"/${i%/*} mv "$pkgdir"/${i} "$subpkgdir"/${i%/*}/ done @@ -296,7 +263,7 @@ _mv() { _mvgem() { cd "$pkgdir" - local path; for path in ./$_rubydir/${1}.rb \ + for path in ./$_rubydir/${1}.rb \ ./$_rubydir/${1} \ ./$_rubydir/$_chost/${1} \ ./$_rubydir/$_chost/${1}.so \ @@ -307,8 +274,7 @@ _mvgem() { done } -sha512sums="06b1d58536ebfacb7b56c1e6ed4b8ab816fadc4f48c845a452554cd262e7908199a30e5793f3cbaec2db56a8803aa5c6089abf7bf06c8fc47867e97870b7dfec ruby-2.5.5.tar.xz -20e7e5ee9936a93872fe1ad836dd1fde001fe4a0e7ed54c26727ad83da3ceb0e6247681d9dd4f98a69e1b0250703ed8fc682d44075780d5f47faa1d5f58d2bdb rubygems-avoid-platform-specific-gems.patch +sha512sums="8d2e34117696f9debf463ae1eed288fdbb5c1a12e32800e901b69218e3b7302a0066052077e2ebca851e3a635296199bd5a10437eea1d6f787f69a77bb865680 ruby-3.4.1.tar.xz +a142199140fa711a64717429e9069fd2082319abaf4b129f561db374b3bc16e2a90cc4c849b5d28334505d1c71fed242aef3c44d983da3513d239dcb778673a5 rubygems-avoid-platform-specific-gems.patch 814fe6359505b70d8ff680adf22f20a74b4dbd3fecc9a63a6c2456ee9824257815929917b6df5394ed069a6869511b8c6dce5b95b4acbbb7867c1f3a975a0150 test_insns-lower-recursion-depth.patch -e99b36940fa8fdd445d82738c70b8fc042cab042a4662cab156578aad2dac9673a96da22b6676aa36beac08070e92a7798c60d6f36eeb169216c4c51864ce2fe fix-get_main_stack.patch -6b88fccce164db1d8beb16adeffdd7effd077e9842b7f61deddebeb39afcf9b839192b68a43ce66a1ff0c9aeaacc4f13a0ee56184c22e822cd8b10a07a1c87b2 libedit-compat.patch" +3ffc034c01110ee5531265333ca5ee8d61d08131843fe3004c5b34c88c9c1b32cb4ed89574f393177c8bd526e9c15da61ab344f93adf07b9148c561ee19e2eb5 fix-get_main_stack.patch" diff --git a/system/ruby/fix-get_main_stack.patch b/system/ruby/fix-get_main_stack.patch index 4b1a101ab..b56bc114b 100644 --- a/system/ruby/fix-get_main_stack.patch +++ b/system/ruby/fix-get_main_stack.patch @@ -2,7 +2,7 @@ diff --git a/thread_pthread.c b/thread_pthread.c index 951885ffa0..cf90321d1d 100644 --- a/thread_pthread.c +++ b/thread_pthread.c -@@ -552,9 +552,6 @@ hpux_attr_getstackaddr(const pthread_attr_t *attr, void **addr) +@@ -656,9 +656,6 @@ hpux_attr_getstackaddr(const pthread_attr_t *attr, void **addr) # define MAINSTACKADDR_AVAILABLE 0 # endif #endif @@ -12,7 +12,7 @@ index 951885ffa0..cf90321d1d 100644 #ifdef STACKADDR_AVAILABLE /* -@@ -632,6 +629,55 @@ get_stack(void **addr, size_t *size) +@@ -740,6 +737,55 @@ get_stack(void **addr, size_t *size) return 0; #undef CHECK_ERR } diff --git a/system/ruby/libedit-compat.patch b/system/ruby/libedit-compat.patch deleted file mode 100644 index 601a9feea..000000000 --- a/system/ruby/libedit-compat.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- ruby-2.5.5/ext/readline/readline.c.old 2017-09-30 08:35:23.000000000 +0000 -+++ ruby-2.5.5/ext/readline/readline.c 2019-09-09 06:12:00.300098741 +0000 -@@ -571,6 +571,9 @@ - rb_syserr_fail(save_errno, "fdopen"); - } - rl_instream = readline_rl_instream = f; -+#ifdef HAVE_EDITLINE_READLINE_H -+ rl_initialize(); -+#endif - readline_instream = input; - } - return input; -@@ -607,6 +610,9 @@ - rb_syserr_fail(save_errno, "fdopen"); - } - rl_outstream = readline_rl_outstream = f; -+#ifdef HAVE_EDITLINE_READLINE_H -+ rl_initialize(); -+#endif - readline_outstream = output; - } - return output; diff --git a/system/ruby/rubygems-avoid-platform-specific-gems.patch b/system/ruby/rubygems-avoid-platform-specific-gems.patch index da6884d09..4eb26a63f 100644 --- a/system/ruby/rubygems-avoid-platform-specific-gems.patch +++ b/system/ruby/rubygems-avoid-platform-specific-gems.patch @@ -17,7 +17,7 @@ a platform-agnostic (source) gem. Users can override it using --- a/lib/rubygems.rb +++ b/lib/rubygems.rb -@@ -764,7 +764,10 @@ +@@ -759,7 +759,10 @@ def self.platforms @platforms ||= [] if @platforms.empty? |