diff options
Diffstat (limited to 'dev-ruby/coolio')
-rw-r--r-- | dev-ruby/coolio/coolio-1.7.1-r2.ebuild | 48 | ||||
-rw-r--r-- | dev-ruby/coolio/files/coolio-1.7.1-fix-build-clang16.patch | 13 |
2 files changed, 61 insertions, 0 deletions
diff --git a/dev-ruby/coolio/coolio-1.7.1-r2.ebuild b/dev-ruby/coolio/coolio-1.7.1-r2.ebuild new file mode 100644 index 000000000000..538c9aad48f1 --- /dev/null +++ b/dev-ruby/coolio/coolio-1.7.1-r2.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby27 ruby30 ruby31 ruby32" + +RUBY_FAKEGEM_RECIPE_TEST="rspec3" +RUBY_FAKEGEM_EXTRADOC="CHANGES.md README.md" +RUBY_FAKEGEM_NAME="cool.io" + +RUBY_FAKEGEM_GEMSPEC="cool.io.gemspec" + +RUBY_FAKEGEM_EXTENSIONS=(ext/cool.io/extconf.rb ext/iobuffer/extconf.rb) + +inherit ruby-fakegem + +DESCRIPTION="A high performance event framework for Ruby which uses the libev C library" +HOMEPAGE="https://coolio.github.io/" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +PATCHES=( + "${FILESDIR}"/${PN}-1.7.1-fix-build-clang16.patch +) + +# cool.io includes a bundled version of libev that is patched to work correctly with ruby. + +all_ruby_prepare() { + rm -r Gemfile* lib/.gitignore || die + + sed -i -e '/[Bb]undler/d' Rakefile || die + sed -i -e '28i s.add_dependency "iobuffer"' ${RUBY_FAKEGEM_GEMSPEC} || die + sed -i -e '/git ls-files/d' ${RUBY_FAKEGEM_GEMSPEC} || die + + # Avoid dependency on rake-compiler + sed -i -e '/extensiontask/ s:^:#:' \ + -e '/ExtensionTask/,/^end/ s:^:#:' Rakefile || die + + # Remove specs that require network connectivity + rm -f spec/dns_spec.rb || die + + # Use one address consistently + sed -i -e 's/localhost/127.0.0.1/' spec/{udp_socket,tcp_server,iobuffer}_spec.rb || die +} diff --git a/dev-ruby/coolio/files/coolio-1.7.1-fix-build-clang16.patch b/dev-ruby/coolio/files/coolio-1.7.1-fix-build-clang16.patch new file mode 100644 index 000000000000..909988fda7c3 --- /dev/null +++ b/dev-ruby/coolio/files/coolio-1.7.1-fix-build-clang16.patch @@ -0,0 +1,13 @@ +Bug: https://bugs.gentoo.org/883147 +Upstream PR: https://github.com/tarcieri/cool.io/pull/78 +--- a/ext/libev/ev.c ++++ b/ext/libev/ev.c +@@ -3768,7 +3768,7 @@ rb_thread_unsafe_dangerous_crazy_blocking_region_end(...); + #if defined(HAVE_RB_THREAD_BLOCKING_REGION) || defined(HAVE_RB_THREAD_CALL_WITHOUT_GVL) + poll_args.loop = loop; + poll_args.waittime = waittime; +- rb_thread_call_without_gvl(ev_backend_poll, (void *)&poll_args, RUBY_UBF_IO, 0); ++ rb_thread_call_without_gvl((void *)ev_backend_poll, (void *)&poll_args, RUBY_UBF_IO, 0); + #else + backend_poll (EV_A_ waittime); + #endif |