public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-ruby/coolio/, dev-ruby/coolio/files/
@ 2023-08-02 18:34 Sam James
  0 siblings, 0 replies; only message in thread
From: Sam James @ 2023-08-02 18:34 UTC (permalink / raw
  To: gentoo-commits

commit:     e66deed6bc6a86cd8ad9691476f5296a7a9a7f7b
Author:     Brahmajit Das <brahmajit.xyz <AT> gmail <DOT> com>
AuthorDate: Sat Jul 22 15:34:39 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug  2 18:34:01 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e66deed6

dev-ruby/coolio: Fix incompatible function pointer types passing

Closes: https://bugs.gentoo.org/883147
Signed-off-by: Brahmajit Das <brahmajit.xyz <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/32001
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-ruby/coolio/coolio-1.7.1-r2.ebuild             | 48 ++++++++++++++++++++++
 .../files/coolio-1.7.1-fix-build-clang16.patch     | 13 ++++++
 2 files changed, 61 insertions(+)

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


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2023-08-02 18:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-02 18:34 [gentoo-commits] repo/gentoo:master commit in: dev-ruby/coolio/, dev-ruby/coolio/files/ Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox