aboutsummaryrefslogtreecommitdiffstats
path: root/main/ruby
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2018-04-03 06:44:15 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2018-04-06 05:19:20 +0000
commit11635af091ae65c2ef176debc4db596966376f10 (patch)
treeed7b7602cdb4f4b2b0ca36372cfe255845031471 /main/ruby
parenta9e0e06d9e5116e23271a7052798a39abcf4c5b8 (diff)
downloadaports-11635af091ae65c2ef176debc4db596966376f10.tar.bz2
aports-11635af091ae65c2ef176debc4db596966376f10.tar.xz
main/ruby: rebuild against libressl-2.7
Diffstat (limited to 'main/ruby')
-rw-r--r--main/ruby/APKBUILD6
-rw-r--r--main/ruby/libressl-2.7.patch33
2 files changed, 37 insertions, 2 deletions
diff --git a/main/ruby/APKBUILD b/main/ruby/APKBUILD
index d56f092b78..072de7ff31 100644
--- a/main/ruby/APKBUILD
+++ b/main/ruby/APKBUILD
@@ -25,7 +25,7 @@
pkgname=ruby
pkgver=2.5.1
_abiver="${pkgver%.*}.0"
-pkgrel=0
+pkgrel=1
pkgdesc="An object-oriented language for quick and easy programming"
url="http://www.ruby-lang.org/en/"
arch="all"
@@ -61,6 +61,7 @@ source="ftp://ftp.ruby-lang.org/pub/ruby/${pkgver%.*}/$pkgname-$pkgver.tar.bz2
rubygems-avoid-platform-specific-gems.patch
test_insns-lower-recursion-depth.patch
fix-get_main_stack.patch
+ libressl-2.7.patch
"
replaces="ruby-gems"
builddir="$srcdir/$pkgname-$pkgver"
@@ -334,4 +335,5 @@ _mvgem() {
sha512sums="82e799ecf7257a9f5fe8691c50a478b0f91bd4bdca50341c839634b0da5cd76c5556965cb9437264b66438434c94210c949fe9dab88cbc5b3b7fa34b5382659b ruby-2.5.1.tar.bz2
cfdc5ea3b2e2ea69c51f38e8e2180cb1dc27008ca55cc6301f142ebafdbab31c3379b3b6bba9ff543153876dd98ed2ad194df3255b7ea77a62e931c935f80538 rubygems-avoid-platform-specific-gems.patch
814fe6359505b70d8ff680adf22f20a74b4dbd3fecc9a63a6c2456ee9824257815929917b6df5394ed069a6869511b8c6dce5b95b4acbbb7867c1f3a975a0150 test_insns-lower-recursion-depth.patch
-8d730f02f76e53799f1c220eb23e3d2305940bb31216a7ab1e42d3256149c0721c7d173cdbfe505023b1af2f5cb3faa233dcc1b5d560fa8f980c17c2d29a9d81 fix-get_main_stack.patch"
+8d730f02f76e53799f1c220eb23e3d2305940bb31216a7ab1e42d3256149c0721c7d173cdbfe505023b1af2f5cb3faa233dcc1b5d560fa8f980c17c2d29a9d81 fix-get_main_stack.patch
+fc789c840af7812ce1796470e77f71cb321e1d74b2bce97a11b5b63db7f6f0fd23576acfa193e425a51e52c0aef1ab9157e4e8a54eef7d59e02541e844055b28 libressl-2.7.patch"
diff --git a/main/ruby/libressl-2.7.patch b/main/ruby/libressl-2.7.patch
new file mode 100644
index 0000000000..dab23a7588
--- /dev/null
+++ b/main/ruby/libressl-2.7.patch
@@ -0,0 +1,33 @@
+From 75de15ddcdab6efe7faf3ca1f6b5c6e5b6ba57cc Mon Sep 17 00:00:00 2001
+From: Kazuki Yamaguchi <k@rhe.jp>
+Date: Sat, 24 Mar 2018 01:44:37 +0900
+Subject: [PATCH] extconf.rb: fix build with LibreSSL 2.7.0
+
+Our compat implementation of accessor functions that were introduced in
+OpenSSL 1.1.0 conflicts with those from LibreSSL 2.7.0. Use the
+HAVE_OPAQUE_OPENSSL code path when LibreSSL 2.7 or newer is detected.
+
+Fix suggested by Joel Sing.
+
+Fixes: https://github.com/ruby/openssl/issues/192
+---
+ ext/openssl/extconf.rb | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb
+index 75da65cd..998d9104 100644
+--- a/ext/openssl/extconf.rb
++++ b/ext/openssl/extconf.rb
+@@ -157,8 +157,11 @@ def find_openssl_library
+ have_func("SSL_is_server")
+
+ # added in 1.1.0
++if !have_struct_member("SSL", "ctx", "openssl/ssl.h") ||
++ try_static_assert("LIBRESSL_VERSION_NUMBER >= 0x2070000fL", "openssl/opensslv.h")
++ $defs.push("-DHAVE_OPAQUE_OPENSSL")
++end
+ have_func("CRYPTO_lock") || $defs.push("-DHAVE_OPENSSL_110_THREADING_API")
+-have_struct_member("SSL", "ctx", "openssl/ssl.h") || $defs.push("-DHAVE_OPAQUE_OPENSSL")
+ have_func("BN_GENCB_new")
+ have_func("BN_GENCB_free")
+ have_func("BN_GENCB_get_arg")