commit:     f05cc0db4473e05d408574c23a494ce903173e8d
Author:     Guillaume Seren <guillaumeseren <AT> gmail <DOT> com>
AuthorDate: Wed Mar 10 20:43:28 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Sep 28 01:00:37 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f05cc0db

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 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-ruby/eventmachine/eventmachine-1.2.7-r1.ebuild | 71 +++++++++-------------
 1 file 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 7128a0f86c4..1954db7ace0 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
 }

Reply via email to