1 |
commit: 5dd88defd7f4a8482ad22e71e72ebd7740b85fd2 |
2 |
Author: Sam James <sam <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue Sep 28 19:30:32 2021 +0000 |
4 |
Commit: Sam James <sam <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Sep 28 19:34:24 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5dd88def |
7 |
|
8 |
dev-ruby/eventmachine: skip fewer tests, backport OpenSSL 1.1.1 fixes |
9 |
|
10 |
While I'd prefer to not mess with SSL patches where possible, |
11 |
on balance, it's worth using these here: |
12 |
- They're upstream patches; |
13 |
- They're being used in production by Fedora and Debian (in stable too); |
14 |
- This is the lesser evil given that tests fail with latest OpenSSL |
15 |
(hence we can't really judge if things are working) and, in the best case, |
16 |
at runtime, this will fallback to older SSL/TLS versions. |
17 |
|
18 |
Bug: https://bugs.gentoo.org/765253 |
19 |
Closes: https://bugs.gentoo.org/723818 |
20 |
Closes: https://bugs.gentoo.org/759250 |
21 |
Fixes: f05cc0db4473e05d408574c23a494ce903173e8d |
22 |
Signed-off-by: Sam James <sam <AT> gentoo.org> |
23 |
|
24 |
dev-ruby/eventmachine/Manifest | 1 + |
25 |
....2.7-r2.ebuild => eventmachine-1.2.7-r3.ebuild} | 30 +++++++++++++--------- |
26 |
2 files changed, 19 insertions(+), 12 deletions(-) |
27 |
|
28 |
diff --git a/dev-ruby/eventmachine/Manifest b/dev-ruby/eventmachine/Manifest |
29 |
index bcec3e811ea..81c0d1ad05a 100644 |
30 |
--- a/dev-ruby/eventmachine/Manifest |
31 |
+++ b/dev-ruby/eventmachine/Manifest |
32 |
@@ -1 +1,2 @@ |
33 |
+DIST eventmachine-1.2.7-openssl-patches.tar.bz2 14837 BLAKE2B 5f3280c053bd67c97db53814db3bbfd9bb3047d0fdae3972494a88bc9062e0f20b5684da8ba4264299a4fd5b0c159ad0d006fe78f6f1e8c0e9cdb531d98e3017 SHA512 9294ae918a51c2e7db098add3e793a2a57e40b223b7ee7113664245b5584af7b7bb180cf1dd83d0c30a316b6598a0a4507b953603c95482c42738099d33419d0 |
34 |
DIST eventmachine-1.2.7.tar.gz 246402 BLAKE2B 3eee1e5fbb367c03e3d801cb705a0f95b7bbb461885f04820f57421019a3d61eecabe71309981eec35168395eb6d98a8c675bd0fb225497de511f2ce09a5df92 SHA512 768ec084903dce4c737cf564fce7886a3e7e5b7d4a89c2baea3e998130c53dc00488eaa2d8e9b0133d9e4d8fffbde80c3025403881486a7968c2d84425cc1f50 |
35 |
|
36 |
diff --git a/dev-ruby/eventmachine/eventmachine-1.2.7-r2.ebuild b/dev-ruby/eventmachine/eventmachine-1.2.7-r3.ebuild |
37 |
similarity index 71% |
38 |
rename from dev-ruby/eventmachine/eventmachine-1.2.7-r2.ebuild |
39 |
rename to dev-ruby/eventmachine/eventmachine-1.2.7-r3.ebuild |
40 |
index d3b2c9b344d..ce7cdf3ce6a 100644 |
41 |
--- a/dev-ruby/eventmachine/eventmachine-1.2.7-r2.ebuild |
42 |
+++ b/dev-ruby/eventmachine/eventmachine-1.2.7-r3.ebuild |
43 |
@@ -19,6 +19,8 @@ inherit ruby-fakegem |
44 |
DESCRIPTION="EventMachine is a fast, simple event-processing library for Ruby programs" |
45 |
HOMEPAGE="https://github.com/eventmachine/eventmachine" |
46 |
SRC_URI="https://github.com/eventmachine/eventmachine/archive/v${PV}.tar.gz -> ${P}.tar.gz" |
47 |
+# Collection of upstream patches to fix compatibility with newer OpenSSL |
48 |
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-openssl-patches.tar.bz2" |
49 |
|
50 |
LICENSE="|| ( GPL-2 Ruby )" |
51 |
SLOT="0" |
52 |
@@ -27,12 +29,18 @@ IUSE="test" |
53 |
RESTRICT="!test? ( test )" |
54 |
|
55 |
DEPEND="${DEPEND} |
56 |
- dev-libs/openssl:0" |
57 |
+ dev-libs/openssl:0=" |
58 |
RDEPEND="${RDEPEND} |
59 |
dev-libs/openssl:0=" |
60 |
|
61 |
ruby_add_bdepend "test? ( dev-ruby/test-unit:2 )" |
62 |
|
63 |
+PATCHES=( |
64 |
+ # Collection of upstream patches (rebased by Fedora, thanks!) to |
65 |
+ # fix (mostly test) compatibility with >= OpenSSL 1.1.1. |
66 |
+ "${WORKDIR}"/all/patches/ |
67 |
+) |
68 |
+ |
69 |
all_ruby_prepare() { |
70 |
# Remove package tasks to avoid dependency on rake-compiler. |
71 |
rm rakelib/package.rake || die |
72 |
@@ -50,20 +58,18 @@ all_ruby_prepare() { |
73 |
-e '/test_invalid_address_bind_connect_src/,/^ end/ s:^:#:' \ |
74 |
-e '/test_invalid_address_bind_connect_dst/,/^ end/ s:^:#:' \ |
75 |
-i tests/test_basic.rb || die |
76 |
- # Avoid tests for insecure SSL versions that may not be available |
77 |
- sed -e '/test_any_to_v3/,/^ end/ s:^:#:' \ |
78 |
- -e '/test_v3_/,/^ end/ s:^:#:' \ |
79 |
- -e '/test_tlsv1_required_with_external_client/aomit "sslv3"' \ |
80 |
- -e '/test_any_to_any/,/^ end/ s:^:#:' \ |
81 |
- -e '/test_case_insensitivity/,/^ end/ s:^:#:' \ |
82 |
- -e '/test_default_to_default/,/^ end/ s:^:#:' \ |
83 |
- -i tests/test_ssl_protocols.rb || die |
84 |
- # Those also want network |
85 |
sed -e '/test_ipv6_udp_local_server/,/^ end/ s:^:#:' \ |
86 |
-e '/test_ipv6_tcp_local_server/,/^ end/ s:^:#:' \ |
87 |
-i tests/test_ipv6.rb || die |
88 |
- |
89 |
- rm tests/test_{sock_opt,ssl_verify,ssl_methods,ssl_dhparam,ssl_ecdh_curve,idle_connection}.rb || die |
90 |
+ sed -e '/test_for_real/,/^ end/ s:^:#:' -i tests/test_pending_connect_timeout.rb || die |
91 |
+ sed -e '/test_connect_timeout/,/^ end/ s:^:#:' -i tests/test_unbind_reason.rb || die |
92 |
+ sed -e '/test_cookie/,/^ end/ s:^:#:' \ |
93 |
+ -e '/test_http_client/,/^ end/ s:^:#:' \ |
94 |
+ -e '/test_version_1_0/,/^ end/ s:^:#:' \ |
95 |
+ -i tests/test_httpclient.rb || die |
96 |
+ sed -e '/test_get/,/^ end/ s:^:#:' \ |
97 |
+ -e '/test_https_get/,/^ end/ s:^:#:' \ |
98 |
+ -i tests/test_httpclient2.rb || die |
99 |
|
100 |
# Avoid test that deliberately triggers a C++ exception which causes |
101 |
# a SEGFAULT. This does not appear to happen upstream (on travis). |