diff options
Diffstat (limited to 'system/ruby')
-rw-r--r-- | system/ruby/APKBUILD | 34 | ||||
-rw-r--r-- | system/ruby/CVE-2020-8130.patch | 18 | ||||
-rw-r--r-- | system/ruby/fix-get_main_stack.patch | 4 | ||||
-rw-r--r-- | system/ruby/libedit-compat.patch | 4 | ||||
-rw-r--r-- | system/ruby/rubygems-avoid-platform-specific-gems.patch | 2 |
5 files changed, 18 insertions, 44 deletions
diff --git a/system/ruby/APKBUILD b/system/ruby/APKBUILD index 0cb185852..1f4eeafc2 100644 --- a/system/ruby/APKBUILD +++ b/system/ruby/APKBUILD @@ -42,21 +42,20 @@ # - CVE-2020-8130 # pkgname=ruby -pkgver=2.5.7 +pkgver=2.7.1 _abiver="${pkgver%.*}.0" -pkgrel=1 +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" +depends_dev="ruby=$pkgver-r$pkgrel gmp-dev libucontext-dev" makedepends="$depends_dev zlib-dev openssl-dev db-dev libedit-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 @@ -78,7 +77,6 @@ source="https://cache.ruby-lang.org/pub/ruby/${pkgver%.*}/$pkgname-$pkgver.tar.x test_insns-lower-recursion-depth.patch fix-get_main_stack.patch libedit-compat.patch - CVE-2020-8130.patch " replaces="ruby-etc ruby-gems" @@ -111,6 +109,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 @@ -147,7 +148,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" @@ -165,14 +166,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" @@ -298,7 +291,7 @@ full() { } _mv() { - local i; for i in "$@"; do + for i in "$@"; do mkdir -p "$subpkgdir"/${i%/*} mv "$pkgdir"/${i} "$subpkgdir"/${i%/*}/ done @@ -306,7 +299,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 \ @@ -317,9 +310,8 @@ _mvgem() { done } -sha512sums="63b7c75fab44cd1bd22f22ddec00c740cf379ac7240da0dfafcec54347766695faef47428ce1c433fd77fa96992e976c984697067fa526236d383b12adc9ce75 ruby-2.5.7.tar.xz -20e7e5ee9936a93872fe1ad836dd1fde001fe4a0e7ed54c26727ad83da3ceb0e6247681d9dd4f98a69e1b0250703ed8fc682d44075780d5f47faa1d5f58d2bdb rubygems-avoid-platform-specific-gems.patch +sha512sums="79f98b1ea98e0b10ec79da1883e8fc84d48ffe5c09ae945cbebde94365e35a589d919aac965f74d70ca7e21370ecee631ac5a8f9c4eac61d62f5aa629f27bf31 ruby-2.7.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 -50b3a2aca1c0d7a7b557e030fbf57049512730cd6516cb6b26624855c25a20e84eef7f84ec9eafb94200de067ec67790e5fe0902e69681ac4de9195240b318dc CVE-2020-8130.patch" +3ffc034c01110ee5531265333ca5ee8d61d08131843fe3004c5b34c88c9c1b32cb4ed89574f393177c8bd526e9c15da61ab344f93adf07b9148c561ee19e2eb5 fix-get_main_stack.patch +6cbeb9d05a3c028e6bd371deaeec6e97fa8ebd03f0dc9d406648a03b569bb44a148e2bd81998a2a973e91ded8a08af141bdebe3e324bdc32df5e74209a42b024 libedit-compat.patch" diff --git a/system/ruby/CVE-2020-8130.patch b/system/ruby/CVE-2020-8130.patch deleted file mode 100644 index 3cb6e4adf..000000000 --- a/system/ruby/CVE-2020-8130.patch +++ /dev/null @@ -1,18 +0,0 @@ -Note: adjusted paths since it's being vendored inside ruby. - -From 5b8f8fc41a5d7d7d6a5d767e48464c60884d3aee Mon Sep 17 00:00:00 2001 -From: Hiroshi SHIBATA <hsbt@ruby-lang.org> -Date: Mon, 22 Jul 2019 10:23:43 +0900 -Subject: [PATCH] Use File.open explicitly. - ---- ruby-2.5.7/gems/rake-12.3.0/lib/rake/file_list.rb -+++ ruby-2.5.7/gems/rake-12.3.0/lib/rake/file_list.rb -@@ -294,7 +294,7 @@ def egrep(pattern, *options) - matched = 0 - each do |fn| - begin -- open(fn, "r", *options) do |inf| -+ File.open(fn, "r", *options) do |inf| - count = 0 - inf.each do |line| - count += 1 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 index 601a9feea..670b16dc8 100644 --- a/system/ruby/libedit-compat.patch +++ b/system/ruby/libedit-compat.patch @@ -1,6 +1,6 @@ --- 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 @@ +@@ -572,6 +572,9 @@ rb_syserr_fail(save_errno, "fdopen"); } rl_instream = readline_rl_instream = f; @@ -10,7 +10,7 @@ readline_instream = input; } return input; -@@ -607,6 +610,9 @@ +@@ -608,6 +611,9 @@ rb_syserr_fail(save_errno, "fdopen"); } rl_outstream = readline_rl_outstream = f; 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? |