# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= ruby-eventmachine VERSION= 1.2.7 KEYWORDS= ruby VARIANTS= v33 v34 v40 SDESC[v40]= Ruby/EventMachine library (v40) SDESC[v33]= Ruby/EventMachine library (v33) SDESC[v34]= Ruby/EventMachine library (v34) HOMEPAGE= none CONTACT= Ruby_Automaton[ruby@ironwolf.systems] DOWNLOAD_GROUPS= main SITES[main]= RUBYGEMS/ DISTFILE[1]= eventmachine-1.2.7.gem:main DIST_SUBDIR= ruby DF_INDEX= 1 SPKGS[v40]= single SPKGS[v33]= single SPKGS[v34]= single OPTIONS_AVAILABLE= RUBY33 RUBY34 RUBY40 OPTIONS_STANDARD= none VOPTS[v40]= RUBY33=OFF RUBY34=OFF RUBY40=ON VOPTS[v33]= RUBY33=ON RUBY34=OFF RUBY40=OFF VOPTS[v34]= RUBY33=OFF RUBY34=ON RUBY40=OFF DISTNAME= eventmachine-1.2.7 GENERATED= yes [RUBY40].USES_ON= gem:v40 [RUBY33].USES_ON= gem:v33 [RUBY34].USES_ON= gem:v34 [FILE:745:descriptions/desc.single] EventMachine implements a fast, single-threaded engine for arbitrary network communications. It's extremely easy to use in Ruby. EventMachine wraps all interactions with IP sockets, allowing programs to concentrate on the implementation of network protocols. It can be used to create both network servers and clients. To create a server or client, a Ruby program only needs to specify the IP address and port, and provide a Module that implements the communications protocol. Implementations of several standard network protocols are provided with the package, primarily to serve as examples. The real goal of EventMachine is to enable programs to easily interface with other programs using TCP/IP, especially if custom protocols are required. [FILE:106:distinfo] 994016e42aa041477ba9cff45cbe50de2047f25dd418eba003e84f0d16560972 247296 ruby/eventmachine-1.2.7.gem [FILE:2058:patches/patch-ext_em.cpp] $NetBSD: patch-ext_em.cpp,v 1.1 2019/10/08 14:06:43 ryoon Exp $ * Fix build with recent NetBSD 9.99 --- ext/em.cpp.orig 2024-08-01 18:44:05 UTC +++ ext/em.cpp @@ -20,6 +20,10 @@ See the file COPYING for complete licens // THIS ENTIRE FILE WILL EVENTUALLY BE FOR UNIX BUILDS ONLY. //#ifdef OS_UNIX +#if defined(__NetBSD__) +#include +#endif + #include "project.h" /* The numer of max outstanding timers was once a const enum defined in em.h. @@ -1507,7 +1511,7 @@ int EventMachine_t::DetachFD (EventableD if (Poller == Poller_Kqueue) { // remove any read/write events for this fd struct kevent k; -#ifdef __NetBSD__ +#if defined(__NetBSD__) && __NetBSD_Version__ < 999001500 EV_SET (&k, ed->GetSocket(), EVFILT_READ | EVFILT_WRITE, EV_DELETE, 0, 0, (intptr_t)ed); #else EV_SET (&k, ed->GetSocket(), EVFILT_READ | EVFILT_WRITE, EV_DELETE, 0, 0, ed); @@ -1703,7 +1707,7 @@ void EventMachine_t::ArmKqueueWriter (Ev if (!ed) throw std::runtime_error ("added bad descriptor"); struct kevent k; -#ifdef __NetBSD__ +#if defined(__NetBSD__) && __NetBSD_Version__ < 999001500 EV_SET (&k, ed->GetSocket(), EVFILT_WRITE, EV_ADD | EV_ONESHOT, 0, 0, (intptr_t)ed); #else EV_SET (&k, ed->GetSocket(), EVFILT_WRITE, EV_ADD | EV_ONESHOT, 0, 0, ed); @@ -1731,7 +1735,7 @@ void EventMachine_t::ArmKqueueReader (Ev if (!ed) throw std::runtime_error ("added bad descriptor"); struct kevent k; -#ifdef __NetBSD__ +#if defined(__NetBSD__) && __NetBSD_Version__ < 999001500 EV_SET (&k, ed->GetSocket(), EVFILT_READ, EV_ADD, 0, 0, (intptr_t)ed); #else EV_SET (&k, ed->GetSocket(), EVFILT_READ, EV_ADD, 0, 0, ed); @@ -1788,7 +1792,7 @@ void EventMachine_t::_AddNewDescriptors( // INCOMPLETE. Some descriptors don't want to be readable. assert (kqfd != -1); struct kevent k; -#ifdef __NetBSD__ +#if defined(__NetBSD__) && __NetBSD_Version__ < 999001500 EV_SET (&k, ed->GetSocket(), EVFILT_READ, EV_ADD, 0, 0, (intptr_t)ed); #else EV_SET (&k, ed->GetSocket(), EVFILT_READ, EV_ADD, 0, 0, ed);