diff options
author | Guillaume Seren <guillaumeseren@gmail.com> | 2021-03-10 21:43:28 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2021-09-28 02:00:37 +0100 |
commit | f05cc0db4473e05d408574c23a494ce903173e8d (patch) | |
tree | 11b369119bb8f0b893b51dde2fd240ed3b0eb067 /dev-ruby/eventmachine | |
parent | dev-ruby/roadie-rails: update to 2.2.0 (diff) | |
download | gentoo-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.ebuild | 71 |
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 } |