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