pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/ruby-io-event devel/ruby-io-event: add package v...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/173665a1996e
branches:  trunk
changeset: 387975:173665a1996e
user:      taca <taca%pkgsrc.org@localhost>
date:      Fri Nov 11 13:37:40 2022 +0000

description:
devel/ruby-io-event: add package version 1.1.2

Required by ruby-async package.

IO::Event

Provides low level cross-platform primitives for constructing event loops,
with support for select, kqueue, epoll and io_uring.

Motivation

The initial proof-of-concept Async was built on NIO4r.  It was perfectly
acceptable and well tested in production, however being built on libev was a
little bit limiting.  I wanted to directly built my fiber scheduler into the
fabric of the event loop, which is what this gem exposes - it is
specifically implemented to support building event loops beneath the fiber
scheduler interface, providing an efficient C implementation of all the core
operations.

diffstat:

 devel/ruby-io-event/DESCR                        |  14 ++++++++++
 devel/ruby-io-event/Makefile                     |  12 +++++++++
 devel/ruby-io-event/PLIST                        |  31 ++++++++++++++++++++++++
 devel/ruby-io-event/distinfo                     |   6 ++++
 devel/ruby-io-event/patches/patch-ext_extconf.rb |  17 +++++++++++++
 5 files changed, 80 insertions(+), 0 deletions(-)

diffs (100 lines):

diff -r ec07aed147c9 -r 173665a1996e devel/ruby-io-event/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/ruby-io-event/DESCR Fri Nov 11 13:37:40 2022 +0000
@@ -0,0 +1,14 @@
+IO::Event
+
+Provides low level cross-platform primitives for constructing event loops,
+with support for select, kqueue, epoll and io_uring.
+
+Motivation
+
+The initial proof-of-concept Async was built on NIO4r.  It was perfectly
+acceptable and well tested in production, however being built on libev was a
+little bit limiting.  I wanted to directly built my fiber scheduler into the
+fabric of the event loop, which is what this gem exposes - it is
+specifically implemented to support building event loops beneath the fiber
+scheduler interface, providing an efficient C implementation of all the core
+operations.
diff -r ec07aed147c9 -r 173665a1996e devel/ruby-io-event/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/ruby-io-event/Makefile      Fri Nov 11 13:37:40 2022 +0000
@@ -0,0 +1,12 @@
+# $NetBSD: Makefile,v 1.1 2022/11/11 13:37:40 taca Exp $
+
+DISTNAME=      io-event-1.1.2
+CATEGORIES=    devel
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=      https://github.com/socketry/io-event
+COMMENT=       Provides low level cross-platform primitives
+LICENSE=       mit
+
+.include "../../lang/ruby/gem.mk"
+.include "../../mk/bsd.pkg.mk"
diff -r ec07aed147c9 -r 173665a1996e devel/ruby-io-event/PLIST
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/ruby-io-event/PLIST Fri Nov 11 13:37:40 2022 +0000
@@ -0,0 +1,31 @@
+@comment $NetBSD: PLIST,v 1.1 2022/11/11 13:37:40 taca Exp $
+${GEM_HOME}/cache/${GEM_NAME}.gem
+${GEM_EXTSDIR}/IO_Event.${RUBY_DLEXT}
+${GEM_EXTSDIR}/gem.build_complete
+${GEM_LIBDIR}/design.md
+${GEM_LIBDIR}/ext/extconf.rb
+${GEM_LIBDIR}/ext/io/event/event.c
+${GEM_LIBDIR}/ext/io/event/event.h
+${GEM_LIBDIR}/ext/io/event/interrupt.c
+${GEM_LIBDIR}/ext/io/event/interrupt.h
+${GEM_LIBDIR}/ext/io/event/selector/epoll.c
+${GEM_LIBDIR}/ext/io/event/selector/epoll.h
+${GEM_LIBDIR}/ext/io/event/selector/kqueue.c
+${GEM_LIBDIR}/ext/io/event/selector/kqueue.h
+${GEM_LIBDIR}/ext/io/event/selector/pidfd.c
+${GEM_LIBDIR}/ext/io/event/selector/selector.c
+${GEM_LIBDIR}/ext/io/event/selector/selector.h
+${GEM_LIBDIR}/ext/io/event/selector/uring.c
+${GEM_LIBDIR}/ext/io/event/selector/uring.h
+${GEM_LIBDIR}/lib/IO_Event.${RUBY_DLEXT}
+${GEM_LIBDIR}/lib/io/event.rb
+${GEM_LIBDIR}/lib/io/event/debug/selector.rb
+${GEM_LIBDIR}/lib/io/event/interrupt.rb
+${GEM_LIBDIR}/lib/io/event/selector.rb
+${GEM_LIBDIR}/lib/io/event/selector/nonblock.rb
+${GEM_LIBDIR}/lib/io/event/selector/select.rb
+${GEM_LIBDIR}/lib/io/event/support.rb
+${GEM_LIBDIR}/lib/io/event/version.rb
+${GEM_LIBDIR}/license.md
+${GEM_LIBDIR}/readme.md
+${GEM_HOME}/specifications/${GEM_NAME}.gemspec
diff -r ec07aed147c9 -r 173665a1996e devel/ruby-io-event/distinfo
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/ruby-io-event/distinfo      Fri Nov 11 13:37:40 2022 +0000
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1 2022/11/11 13:37:40 taca Exp $
+
+BLAKE2s (io-event-1.1.2.gem) = c63c252a541909b2a27e484a226a3db78866ab214ab7abab1618400767bd37a7
+SHA512 (io-event-1.1.2.gem) = 140804c217cf4f04c2c43e7b905c9ad2e3be4efdab8a4ad37716787a59f7717be9affb62a18dd63f8f6d62f28c1bb7543bfcd6ee6dd20abfd25c16820e19dd98
+Size (io-event-1.1.2.gem) = 27648 bytes
+SHA1 (patch-ext_extconf.rb) = 6c887fe68915720471d6ec71f40743f9b47968d5
diff -r ec07aed147c9 -r 173665a1996e devel/ruby-io-event/patches/patch-ext_extconf.rb
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/ruby-io-event/patches/patch-ext_extconf.rb  Fri Nov 11 13:37:40 2022 +0000
@@ -0,0 +1,17 @@
+$NetBSD: patch-ext_extconf.rb,v 1.1 2022/11/11 13:37:40 taca Exp $
+
+Check existence of EV_UDATA_SPECIFIC.
+
+--- ext/extconf.rb.orig        2022-11-04 16:36:30.481849167 +0000
++++ ext/extconf.rb
+@@ -49,7 +49,9 @@ if have_header('sys/epoll.h')
+ end
+ 
+ if have_header('sys/event.h')
+-      $srcs << "io/event/selector/kqueue.c"
++  if have_macro('EV_UDATA_SPECIFIC', 'sys/event.h')
++    $srcs << "io/event/selector/kqueue.c"
++  end
+ end
+ 
+ have_header('sys/eventfd.h')



Home | Main Index | Thread Index | Old Index