summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Seren <guillaumeseren@gmail.com>2021-03-10 21:43:28 +0100
committerSam James <sam@gentoo.org>2021-09-28 02:00:37 +0100
commitf05cc0db4473e05d408574c23a494ce903173e8d (patch)
tree11b369119bb8f0b893b51dde2fd240ed3b0eb067 /dev-ruby/eventmachine
parentdev-ruby/roadie-rails: update to 2.2.0 (diff)
downloadgentoo-f05cc0db4473e05d408574c23a494ce903173e8d.tar.gz
gentoo-f05cc0db4473e05d408574c23a494ce903173e8d.tar.bz2
gentoo-f05cc0db4473e05d408574c23a494ce903173e8d.zip
dev-ruby/eventmachine: Add ruby27 + tests support
Closes: https://bugs.gentoo.org/765253 Package-Manager: Portage-3.0.13, Repoman-3.0.2 Signed-off-by: Guillaume Seren <guillaumeseren@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-ruby/eventmachine')
-rw-r--r--dev-ruby/eventmachine/eventmachine-1.2.7-r1.ebuild71
1 files changed, 29 insertions, 42 deletions
diff --git a/dev-ruby/eventmachine/eventmachine-1.2.7-r1.ebuild b/dev-ruby/eventmachine/eventmachine-1.2.7-r1.ebuild
index 7128a0f86c49..1954db7ace03 100644
--- a/dev-ruby/eventmachine/eventmachine-1.2.7-r1.ebuild
+++ b/dev-ruby/eventmachine/eventmachine-1.2.7-r1.ebuild
@@ -1,15 +1,20 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-USE_RUBY="ruby23 ruby24 ruby25 ruby26"
+USE_RUBY="ruby25 ruby26 ruby27"
RUBY_FAKEGEM_RECIPE_DOC="rdoc"
RUBY_FAKEGEM_DOCDIR="rdoc"
-RUBY_FAKEGEM_EXTRADOC="docs/*.md README.md"
+RUBY_FAKEGEM_EXTRADOC="docs/*.md CHANGELOG.md README.md"
-inherit ruby-fakegem
+RUBY_FAKEGEM_GEMSPEC="eventmachine.gemspec"
+
+RUBY_FAKEGEM_EXTENSIONS=(ext/extconf.rb ext/fastfilereader/extconf.rb)
+RUBY_FAKEGEM_EXTRAINSTALL=(examples)
+
+inherit multilib ruby-fakegem
DESCRIPTION="EventMachine is a fast, simple event-processing library for Ruby programs"
HOMEPAGE="https://github.com/eventmachine/eventmachine"
@@ -17,8 +22,9 @@ SRC_URI="https://github.com/eventmachine/eventmachine/archive/v${PV}.tar.gz -> $
LICENSE="|| ( GPL-2 Ruby )"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
-IUSE=""
+KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
DEPEND="${DEPEND}
dev-libs/openssl:0"
@@ -31,6 +37,7 @@ all_ruby_prepare() {
# Remove package tasks to avoid dependency on rake-compiler.
rm rakelib/package.rake || die
+ sed -i -e '/git ls-files/d' ${RUBY_FAKEGEM_GEMSPEC} || die
# Remove the resolver tests since they require network access and
# the localhost test fails with an IPv6 localhost.
rm tests/test_resolver.rb || die
@@ -39,45 +46,28 @@ all_ruby_prepare() {
rm tests/test_kb.rb || die
# Avoid tests that require network access
- sed -i -e '/test_bind_connect/,/^ end/ s:^:#:' \
- tests/test_basic.rb || die
- sed -i -e '/test_\(cookie\|http_client\|version_1_0\)/,/^ end/ s:^:#:' \
- tests/test_httpclient.rb || die
- sed -i -e '/test_\(get\|https_get\)/,/^ end/ s:^:#:' \
- tests/test_httpclient2.rb || die
- sed -i -e '/test_connect_timeout/,/^ end/ s:^:#:' \
- tests/test_unbind_reason.rb || die
- sed -i -e '/test_for_real/,/^ end/ s:^:#:' \
- tests/test_pending_connect_timeout.rb || die
- rm -f tests/test_{get_sock_opt,set_sock_opt,idle_connection}.rb || die
-
+ sed -e '/test_bind_connect/,/^ end/ s:^:#:' \
+ -e '/test_invalid_address_bind_connect_src/,/^ end/ s:^:#:' \
+ -e '/test_invalid_address_bind_connect_dst/,/^ end/ s:^:#:' \
+ -i tests/test_basic.rb || die
# Avoid tests for insecure SSL versions that may not be available
- sed -i -e '/test_any_to_v3/,/^ end/ s:^:#:' \
+ sed -e '/test_any_to_v3/,/^ end/ s:^:#:' \
-e '/test_v3_/,/^ end/ s:^:#:' \
-e '/test_tlsv1_required_with_external_client/aomit "sslv3"' \
- tests/test_ssl_protocols.rb || die
+ -e '/test_any_to_any/,/^ end/ s:^:#:' \
+ -e '/test_case_insensitivity/,/^ end/ s:^:#:' \
+ -e '/test_default_to_default/,/^ end/ s:^:#:' \
+ -i tests/test_ssl_protocols.rb || die
+ # Those also want network
+ sed -e '/test_ipv6_udp_local_server/,/^ end/ s:^:#:' \
+ -e '/test_ipv6_tcp_local_server/,/^ end/ s:^:#:' \
+ -i tests/test_ipv6.rb || die
+
+ rm tests/test_{sock_opt,ssl_verify,ssl_methods,ssl_dhparam,ssl_ecdh_curve,idle_connection}.rb || die
# Avoid test that deliberately triggers a C++ exception which causes
# a SEGFAULT. This does not appear to happen upstream (on travis).
- rm -f tests/test_exc.rb || die
-}
-
-each_ruby_configure() {
- for extdir in ext ext/fastfilereader; do
- pushd $extdir
- ${RUBY} extconf.rb || die "extconf.rb failed for ${extdir}"
- popd
- done
-}
-
-each_ruby_compile() {
- for extdir in ext ext/fastfilereader; do
- pushd $extdir
- # both extensions use C++, so use the CXXFLAGS not the CFLAGS
- emake V=1 CFLAGS="${CXXFLAGS} -fPIC" archflag="${LDFLAGS}"
- popd
- cp $extdir/*.so lib/ || die "Unable to copy extensions for ${extdir}"
- done
+ rm tests/test_exc.rb || die
}
each_ruby_test() {
@@ -86,7 +76,4 @@ each_ruby_test() {
all_ruby_install() {
all_fakegem_install
-
- insinto /usr/share/doc/${PF}/
- doins -r examples
}