summaryrefslogtreecommitdiff
path: root/system/ruby
diff options
context:
space:
mode:
Diffstat (limited to 'system/ruby')
-rw-r--r--system/ruby/APKBUILD34
-rw-r--r--system/ruby/CVE-2020-8130.patch18
-rw-r--r--system/ruby/fix-get_main_stack.patch4
-rw-r--r--system/ruby/libedit-compat.patch4
-rw-r--r--system/ruby/rubygems-avoid-platform-specific-gems.patch2
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?