aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--devel/Makefile1
-rw-r--r--devel/p5-IO-AIO/Makefile31
-rw-r--r--devel/p5-IO-AIO/distinfo3
-rw-r--r--devel/p5-IO-AIO/pkg-descr21
-rw-r--r--devel/p5-IO-AIO/pkg-plist9
5 files changed, 65 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index a3655c4f3d4b..125f34c34e72 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -1138,6 +1138,7 @@
SUBDIR += p5-Heap-Simple-XS
SUBDIR += p5-Hook-LexWrap
SUBDIR += p5-IO
+ SUBDIR += p5-IO-AIO
SUBDIR += p5-IO-All
SUBDIR += p5-IO-Capture
SUBDIR += p5-IO-CaptureOutput
diff --git a/devel/p5-IO-AIO/Makefile b/devel/p5-IO-AIO/Makefile
new file mode 100644
index 000000000000..c317c995c6cf
--- /dev/null
+++ b/devel/p5-IO-AIO/Makefile
@@ -0,0 +1,31 @@
+# New ports collection makefile for: p5-IO-AIO
+# Date created: 2006-12-09
+# Whom: Gea-Suan Lin <gslin@gslin.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= IO-AIO
+PORTVERSION= 2.2
+CATEGORIES= devel perl5
+MASTER_SITES= CPAN
+MASTER_SITE_SUBDIR= IO
+PKGNAMEPREFIX= p5-
+
+MAINTAINER= gslin@gslin.org
+COMMENT= Asynchronous Input/Output
+
+PERL_CONFIGURE= yes
+
+MAN3= IO::AIO.3
+
+.include <bsd.port.pre.mk>
+
+.if ${PERL_LEVEL} < 500600
+IGNORE= requires perl 5.6.0 or later. Install lang/perl5.8 and try again
+.endif
+
+post-patch:
+ ${PERL} -e 's,-lpthreads?,${PTHREAD_LIBS},g' ${WRKSRC}/Makefile.PL
+
+.include <bsd.port.post.mk>
diff --git a/devel/p5-IO-AIO/distinfo b/devel/p5-IO-AIO/distinfo
new file mode 100644
index 000000000000..2f65d488852d
--- /dev/null
+++ b/devel/p5-IO-AIO/distinfo
@@ -0,0 +1,3 @@
+MD5 (IO-AIO-2.2.tar.gz) = 373af7475b9097a16aebcc82242cabae
+SHA256 (IO-AIO-2.2.tar.gz) = cecdc7332f7c8272ec26364ba4c4cfd1ded9ad098623928ef45950fedb7450c9
+SIZE (IO-AIO-2.2.tar.gz) = 66607
diff --git a/devel/p5-IO-AIO/pkg-descr b/devel/p5-IO-AIO/pkg-descr
new file mode 100644
index 000000000000..2034f71ee05e
--- /dev/null
+++ b/devel/p5-IO-AIO/pkg-descr
@@ -0,0 +1,21 @@
+This module implements asynchronous I/O using whatever means your
+operating system supports.
+
+Asynchronous means that operations that can normally block your
+program (e.g. reading from disk) will be done asynchronously: the
+operation will still block, but you can do something else in the
+meantime. This is extremely useful for programs that need to stay
+interactive even when doing heavy I/O (GUI programs, high performance
+network servers etc.), but can also be used to easily do operations in
+parallel that are normally done sequentially, e.g. stat'ing many files,
+which is much faster on a RAID volume or over NFS when you do a number
+of stat operations concurrently.
+
+While most of this works on all types of file descriptors (for example
+sockets), using these functions on file descriptors that support
+nonblocking operation (again, sockets, pipes etc.) is very inefficient
+or might not work (aio_read fails on sockets/pipes/fifos). Use an
+event loop for that (such as the Event module): IO::AIO will naturally
+fit into such an event loop itself.
+
+WWW: http://search.cpan.org/dist/IO-AIO/
diff --git a/devel/p5-IO-AIO/pkg-plist b/devel/p5-IO-AIO/pkg-plist
new file mode 100644
index 000000000000..0369cdbaf381
--- /dev/null
+++ b/devel/p5-IO-AIO/pkg-plist
@@ -0,0 +1,9 @@
+@comment $FreeBSD$
+%%SITE_PERL%%/%%PERL_ARCH%%/IO/AIO.pm
+%%SITE_PERL%%/%%PERL_ARCH%%/IO/autoconf.pm
+%%SITE_PERL%%/%%PERL_ARCH%%/auto/IO/AIO/.packlist
+%%SITE_PERL%%/%%PERL_ARCH%%/auto/IO/AIO/AIO.bs
+%%SITE_PERL%%/%%PERL_ARCH%%/auto/IO/AIO/AIO.so
+@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/IO/AIO
+@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/IO
+@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/IO