ports/171640: New port: devel/libivykis Asynchronous I/O readiness notification library
Gergely Nagy
algernon at madhouse-project.org
Fri Sep 14 12:20:07 UTC 2012
>Number: 171640
>Category: ports
>Synopsis: New port: devel/libivykis Asynchronous I/O readiness notification library
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Fri Sep 14 12:20:07 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Gergely Nagy
>Release: FreeBSD 9.0-RELEASE amd64
>Organization:
>Environment:
System: FreeBSD mazarbul 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan 3 07:46:30 UTC 2012 root at farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
The ivykis library is a thin, portable wrapper around OS-provided
mechanisms such as epoll(4), kqueue(2), poll(2) and select(2). It was
mainly designed for building high-performance network applications,
but can be used in any event-driver application that uses pollable
file descriptors as its event sources.
Programs written to the ivykis API are generally single-threaded (or
use only a small number of threads), and never block on I/O. All
input and output is done in a nonblocking fashion, with I/O readiness
notification delivered via callback functions.
WWW: http://libivykis.sourceforge.net/
>How-To-Repeat:
>Fix:
Patch attached with submission follows:
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# libivykis
# libivykis/Makefile
# libivykis/pkg-descr
# libivykis/distinfo
# libivykis/pkg-plist
# libivykis/files
# libivykis/files/patch-include-iv_tls.h
# libivykis/files/patch-lib-iv_tls.c
#
echo c - libivykis
mkdir -p libivykis > /dev/null 2>&1
echo x - libivykis/Makefile
sed 's/^X//' >libivykis/Makefile << 'aea38fcefa967e68aeabbffc32622fe3'
X# Ports collection makefile for: libivykis
X# Date created: 14 September 2012
X# Whom: Gergely Nagy <algernon at madhouse-project.org>
X#
X# $FreeBSD$
X#
X
XPORTNAME= libivykis
XPORTVERSION= 0.30.3
XCATEGORIES= devel
XMASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
XDISTNAME= ivykis-${PORTVERSION}
X
XMAINTAINER= algernon at madhouse-project.org
XCOMMENT= Asynchronous I/O readiness notification library
X
XUSE_LDCONFIG= yes
XGNU_CONFIGURE= yes
XUSE_GNOME= pkgconfig gnomehack
X
XMAN3= IV_EVENT_INIT.3 \
X IV_EVENT_RAW_INIT.3 \
X IV_FD_PUMP_INIT.3 \
X IV_POPEN_REQUEST_INIT.3 \
X IV_SIGNAL_INIT.3 \
X IV_WAIT_INTEREST_INIT.3 \
X IV_WORK_ITEM_INIT.3 \
X IV_WORK_POOL_INIT.3 \
X iv_deinit.3 \
X iv_event.3 \
X iv_event_post.3 \
X iv_event_raw.3 \
X iv_event_raw_post.3 \
X iv_event_raw_register.3 \
X iv_event_raw_unregister.3 \
X iv_event_register.3 \
X iv_event_unregister.3 \
X iv_examples.3 \
X iv_fatal.3 \
X iv_fd.3 \
X iv_fd_pump.3 \
X iv_fd_pump_destroy.3 \
X iv_fd_pump_init.3 \
X iv_fd_pump_is_done.3 \
X iv_fd_pump_pump.3 \
X iv_fd_register.3 \
X iv_fd_register_try.3 \
X iv_fd_set_handler_err.3 \
X iv_fd_set_handler_in.3 \
X iv_fd_set_handler_out.3 \
X iv_fd_unregister.3 \
X iv_init.3 \
X iv_inited.3 \
X iv_invalidate_now.3 \
X iv_main.3 \
X iv_popen.3 \
X iv_popen_request_close.3 \
X iv_popen_request_submit.3 \
X iv_quit.3 \
X iv_set_fatal_msg_handler.3 \
X iv_signal.3 \
X iv_signal_register.3 \
X iv_signal_unregister.3 \
X iv_task.3 \
X iv_task_register.3 \
X iv_task_unregister.3 \
X iv_thread.3 \
X iv_thread_create.3 \
X iv_thread_set_debug_state.3 \
X iv_time.3 \
X iv_timer.3 \
X iv_timer_register.3 \
X iv_timer_unregister.3 \
X iv_tls.3 \
X iv_tls_user_ptr.3 \
X iv_tls_user_register.3 \
X iv_validate_now.3 \
X iv_wait.3 \
X iv_wait_interest_register.3 \
X iv_wait_interest_register_spawn.3 \
X iv_wait_interest_unregister.3 \
X iv_work.3 \
X iv_work_pool_create.3 \
X iv_work_pool_put.3 \
X iv_work_pool_submit_work.3 \
X ivykis.3
X
X.include <bsd.port.mk>
aea38fcefa967e68aeabbffc32622fe3
echo x - libivykis/pkg-descr
sed 's/^X//' >libivykis/pkg-descr << '6023c19486f3e9a10b87f8149f39dfa8'
XThe ivykis library is a thin, portable wrapper around OS-provided
Xmechanisms such as epoll(4), kqueue(2), poll(2) and select(2). It was
Xmainly designed for building high-performance network applications,
Xbut can be used in any event-driver application that uses pollable
Xfile descriptors as its event sources.
X
XPrograms written to the ivykis API are generally single-threaded (or
Xuse only a small number of threads), and never block on I/O. All
Xinput and output is done in a nonblocking fashion, with I/O readiness
Xnotification delivered via callback functions.
X
XWWW: http://libivykis.sourceforge.net/
6023c19486f3e9a10b87f8149f39dfa8
echo x - libivykis/distinfo
sed 's/^X//' >libivykis/distinfo << '7825ca66059a971f63a90fd9df0b4b68'
XSHA256 (ivykis-0.30.3.tar.gz) = 64ab3b92a1ec5ad87e35590c7f50c96462b3f4b0d9e10d79252ca1f410131eb2
XSIZE (ivykis-0.30.3.tar.gz) = 406373
7825ca66059a971f63a90fd9df0b4b68
echo x - libivykis/pkg-plist
sed 's/^X//' >libivykis/pkg-plist << 'e3658f1ebcd8edf5fdbee3f2d5653838'
Xinclude/iv.h
Xinclude/iv_avl.h
Xinclude/iv_event.h
Xinclude/iv_event_raw.h
Xinclude/iv_fd_pump.h
Xinclude/iv_list.h
Xinclude/iv_popen.h
Xinclude/iv_signal.h
Xinclude/iv_thread.h
Xinclude/iv_tls.h
Xinclude/iv_wait.h
Xinclude/iv_work.h
Xlib/libivykis.a
Xlib/libivykis.la
Xlib/libivykis.so
Xlib/libivykis.so.1
Xlibdata/pkgconfig/ivykis.pc
e3658f1ebcd8edf5fdbee3f2d5653838
echo c - libivykis/files
mkdir -p libivykis/files > /dev/null 2>&1
echo x - libivykis/files/patch-include-iv_tls.h
sed 's/^X//' >libivykis/files/patch-include-iv_tls.h << '1d98af0c419d98fce69e09af28cfb2f6'
X--- lib/include/iv_tls.h.old
X+++ lib/include/iv_tls.h
X@@ -33,7 +33,7 @@ struct iv_tls_user {
X void (*deinit_thread)(void *st);
X
X struct iv_list_head list;
X- off_t state_offset;
X+ int state_offset;
X };
X
X void iv_tls_user_register(struct iv_tls_user *);
1d98af0c419d98fce69e09af28cfb2f6
echo x - libivykis/files/patch-lib-iv_tls.c
sed 's/^X//' >libivykis/files/patch-lib-iv_tls.c << '95f710d2115ad026df9ee5729506012f'
X--- lib/iv_tls.c.old
X+++ lib/iv_tls.c
X@@ -25,7 +25,7 @@
X #include "iv_private.h"
X
X static int inited;
X-static off_t last_offset = (sizeof(struct iv_state) + 15) & ~15;
X+static int last_offset = (sizeof(struct iv_state) + 15) & ~15;
X static struct iv_list_head iv_tls_users = IV_LIST_HEAD_INIT(iv_tls_users);
X
X void iv_tls_user_register(struct iv_tls_user *itu)
95f710d2115ad026df9ee5729506012f
exit
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list