aboutsummaryrefslogtreecommitdiff
path: root/devel/p5-Coro
diff options
context:
space:
mode:
authorMartin Wilke <miwi@FreeBSD.org>2006-12-09 13:35:41 +0000
committerMartin Wilke <miwi@FreeBSD.org>2006-12-09 13:35:41 +0000
commit72428dcd613ab70982d6bb2c7f573efa909b1c0b (patch)
tree75073e5b8334ded86c5338575cc9324a12e2ba29 /devel/p5-Coro
parentc980b28dbd02b16d0cd17c6ce00de9096305c57f (diff)
downloadports-72428dcd613ab70982d6bb2c7f573efa909b1c0b.tar.gz
ports-72428dcd613ab70982d6bb2c7f573efa909b1c0b.zip
Notes
Diffstat (limited to 'devel/p5-Coro')
-rw-r--r--devel/p5-Coro/Makefile51
-rw-r--r--devel/p5-Coro/distinfo6
-rw-r--r--devel/p5-Coro/files/patch-Coro-Makefile.PL136
-rw-r--r--devel/p5-Coro/pkg-plist59
4 files changed, 77 insertions, 175 deletions
diff --git a/devel/p5-Coro/Makefile b/devel/p5-Coro/Makefile
index 8dbb7dcf7611..9e698f6c9d15 100644
--- a/devel/p5-Coro/Makefile
+++ b/devel/p5-Coro/Makefile
@@ -6,34 +6,29 @@
#
PORTNAME= Coro
-PORTVERSION= 1.9
+PORTVERSION= 3.1.1
PORTEPOCH= 1
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_PERL_CPAN}
MASTER_SITE_SUBDIR= Coro
PKGNAMEPREFIX= p5-
+DISTNAME= ${PORTNAME}-3.11
MAINTAINER= perl@FreeBSD.org
COMMENT= Coro - coroutine process abstraction for perl
-BUILD_DEPENDS= p5-Event>=0.89:${PORTSDIR}/devel/p5-Event \
- ${SITE_PERL}/${PERL_ARCH}/Scalar/Util.pm:${PORTSDIR}/lang/p5-Scalar-List-Utils
-RUN_DEPENDS= ${BUILD_DEPENDS}
+RUN_DEPENDS= p5-Event>=0.89:${PORTSDIR}/devel/p5-Event \
+ ${SITE_PERL}/AnyEvent.pm:${PORTSDIR}/devel/p5-AnyEvent \
+ ${SITE_PERL}/${PERL_ARCH}/IO/AIO.pm:${PORTSDIR}/devel/p5-IO-AIO
+BUILD_DEPENDS= ${RUN_DEPENDS}
PERL_CONFIGURE= yes
-.if !defined(NOPORTDOCS)
-PORTDOCS= Changes
-EXAMPLES= eg/attributes eg/bench eg/cont eg/dns eg/event eg/lwp eg/myhttpd eg/prodcons1 eg/prodcons2 eg/prodcons3 eg/readline
-
-post-install:
- @${MKDIR} ${DOCSDIR}
- @${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${DOCSDIR}
- @${ECHO_MSG} "===> Documentation installed in ${DOCSDIR}."
- @${MKDIR} ${EXAMPLESDIR}
- @${INSTALL_DATA} ${EXAMPLES:S|^|${WRKSRC}/|} ${EXAMPLESDIR}
- @${ECHO_MSG} "===> Examples installed in ${EXAMPLESDIR}."
-.endif
+MAN3= Coro.3 Coro::AIO.3 Coro::Channel.3 Coro::Handle.3 \
+ Coro::LWP.3 Coro::MakeMaker.3 Coro::RWLock.3 Coro::Select.3 \
+ Coro::Semaphore.3 Coro::SemaphoreSet.3 Coro::Signal.3 \
+ Coro::Socket.3 Coro::Specific.3 Coro::State.3 Coro::Timer.3 \
+ Coro::Util.3
.include <bsd.port.pre.mk>
@@ -41,22 +36,12 @@ post-install:
IGNORE= requires perl 5.6.0 or later. Install lang/perl5.8 and try again
.endif
-MAN3= Coro.3 \
- Coro::AIO.3 \
- Coro::Channel.3 \
- Coro::Cont.3 \
- Coro::Event.3 \
- Coro::Handle.3 \
- Coro::MakeMaker.3 \
- Coro::RWLock.3 \
- Coro::Select.3 \
- Coro::Semaphore.3 \
- Coro::SemaphoreSet.3 \
- Coro::Signal.3 \
- Coro::Socket.3 \
- Coro::Specific.3 \
- Coro::State.3 \
- Coro::Timer.3 \
- Coro::Util.3
+post-install:
+ ${MKDIR} ${EXAMPLESDIR}
+ ${INSTALL_SCRIPT} ${WRKSRC}/eg/* ${EXAMPLESDIR}
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/doc/cede-vs-schedule ${DOCSDIR}
+.endif
.include <bsd.port.post.mk>
diff --git a/devel/p5-Coro/distinfo b/devel/p5-Coro/distinfo
index 6813388a9d8c..da5fbfe981f6 100644
--- a/devel/p5-Coro/distinfo
+++ b/devel/p5-Coro/distinfo
@@ -1,3 +1,3 @@
-MD5 (Coro-1.9.tar.gz) = 63efa9fb31ded80f2c7d1fb900163824
-SHA256 (Coro-1.9.tar.gz) = c94d584e07e0433909157277194112807077ed97446943995ecc2634595b8d7f
-SIZE (Coro-1.9.tar.gz) = 55882
+MD5 (Coro-3.11.tar.gz) = b5e2accd75fbb4aaa83e7216e92e6a3d
+SHA256 (Coro-3.11.tar.gz) = 1ad4f9aa856b7b8d9add923d1cb5baf14064d4754d999090f6d402c7e5b7cd9d
+SIZE (Coro-3.11.tar.gz) = 62084
diff --git a/devel/p5-Coro/files/patch-Coro-Makefile.PL b/devel/p5-Coro/files/patch-Coro-Makefile.PL
index 288bd360b5dc..150e720a0835 100644
--- a/devel/p5-Coro/files/patch-Coro-Makefile.PL
+++ b/devel/p5-Coro/files/patch-Coro-Makefile.PL
@@ -1,120 +1,40 @@
---- Coro/Makefile.PL.orig Wed Jan 11 13:20:06 2006
-+++ Coro/Makefile.PL Wed Jan 11 13:22:18 2006
-@@ -31,77 +31,8 @@ if ($^O =~ /win32/i or $^O =~ /cygwin/ o
- $iface = "s";
- }
+--- Coro/Makefile.PL.orig Sat Dec 9 19:48:35 2006
++++ Coro/Makefile.PL Sat Dec 9 19:51:08 2006
+@@ -72,9 +72,7 @@
+
+ retry:
--print <<EOF;
--
--*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
--
--C context sharing: This option makes it possible to share the C stack and
--context between many coroutines, resulting in large memory savings and
--slight speed gains, at the cost of potential (but mostly theoretical)
--segfaults. On my Linux/x86 machine this decreased the size of a new
--coroutine from 9k to 5k, but the savings are much more apparent on
--machines without mmap or good memory management.
--
--The algorithm relies on the non-fact that the same machine stack pointer
--indicates the same function call nesting level, which usually works good
--enough (no known cases of it failing are known) but might fail in theory.
--
--The default (enabled) has been in use on productions servers for some
--time now, without any problem reports, so you are encouraged to use the
--default.
--
--EOF
--
--if (prompt ("Do you want to enable C context sharing (y/n)", "y") !~ /^\s*n/i) {
-- print "\nC context sharing enabled.\n\n";
-+$iface = "u";
- $DEFINE .= " -DCORO_LAZY_STACK";
--}
--
--if ($iface) {
-- print <<EOF;
--
--*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
--
--Coro can use a number of methods to implement coroutines at the C
--level. The default chosen is based on your current confguration and is
--correct in most cases, but you still can chose between these alternatives:
--
--u The unix 'ucontext.h' functions are relatively new and not implemented
-- or well-tested in older unices. They allow very fast coroutine creation
-- and reasonably fast switching, and, most importantly, are very stable.
--
--s If the ucontext functions are not working or you don't want
-- to use them for other reasons you can try a workaround using
-- setjmp/longjmp/sigaltstack (also standard unix functions). Coroutine
-- creation is rather slow, but switching is very fast as well (often much
-- faster than with the ucontext functions). Unfortunately, glibc-2.1 and
-- below don't even feature a working sigaltstack.
--
--l GNU/Linux. Very old GNU/Linux systems (glibc-2.1 and below) need
-- this hack. Since it is very linux-specific it is also quite fast and
-- recommended even for newer versions; when it works, that is (currently
-- x86 and a few others only. If it compiles, it's usually ok).
--
--i IRIX. For some reason, SGI really does not like to follow the single
-- unix specification (does that surprise you?), so this workaround might
-- be needed (it's fast), although [s] and [u] should also work now.
--
--w Microsoft Windows. Try this on Microsoft Windows, although, as there is
-- no standard on how to do this under windows, this might work only on
-- cygwin or specific versions of msvc. Your problem.
--
--For most systems, the default chosen should be OK. If you experience
--problems then you should experiment with this setting and/or turn off
--optimizations (make OPTIMIZE=-O0).
--
--EOF
--
--retry:
--
- my $r = prompt "Use which implementation,\n" .
- "<s>etjmp/longjump, <u>context, <i>rix, <l>inux or <w>indows?",
- $iface;
-- $iface = lc $1 if $r =~ /(\S)/;
++ my $r = 'u';
+ $iface = lc $1 if $r =~ /(\S)/;
if ($iface eq "u") {
- $DEFINE .= " -DCORO_UCONTEXT";
-@@ -122,37 +53,9 @@ retry:
- print "\nUsing windows-specific implementation\n\n";
- } else {
- print "\nUnknown implementation \"$iface\"\n";
-- goto retry;
- }
--} else {
-- print "\nUsing microsoft compatible coroutines\n\n";
--}
--
--print <<EOF;
--
--*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
--
--Per-context stack size factor: Depending on your settings, Coro tries to
--share the C stack as much as possible, but sometimes it needs to allocate
--a new one. This setting controls the maximum size that gets allocated,
--and should not be set too high, as memory and address space still is
--wasted even if it's not fully used. The value entered will be multiplied
--by sizeof(long), which is usually 4 on 32-bit systems, and 8 on 64-bit
--systems.
--
--A setting of 16384 (the default) therefore corresponds to a 64k..128k
--stack, which usually is ample space (you might even want to try 8192 or
--lower if your program creates many coroutines).
--
--Some perls (mostly threaded ones and perl compiled under linux 2.6) and
--some programs (inefficient regexes can use a lot of stack space) may
--need much, much more: If Coro segfaults with weird backtraces (e.g. in a
--function prologue) or in t/10_bugs.t, you might want to increase this to
--65536 or more.
--
--EOF
+@@ -132,7 +130,7 @@
+
+ EOF
-my $stacksize = prompt ("C stack size factor", "16384");
+my $stacksize = 65536;
$DEFINE .= " -DSTACKSIZE=$stacksize";
print "using a stacksize of $stacksize * sizeof(long)\n";
+@@ -159,7 +157,7 @@
+
+ EOF
+
+-my $stackguard = prompt ("Number of guard pages (0 disables)", "4");
++my $stackguard = 4;
+ $DEFINE .= " -DSTACKGUARD=$stackguard";
+
+ print <<EOF;
+@@ -177,7 +175,7 @@
+
+ EOF
+
+-my $valgrind = prompt ("Enable valgrind support (y/n)", "n");
++my $valgrind = 'n';
+ $DEFINE .= " -DUSE_VALGRIND=1" if $valgrind =~ /[yY]/;
+
+ print <<EOF;
diff --git a/devel/p5-Coro/pkg-plist b/devel/p5-Coro/pkg-plist
index eef1d9e4c9de..25fedcc579f4 100644
--- a/devel/p5-Coro/pkg-plist
+++ b/devel/p5-Coro/pkg-plist
@@ -1,40 +1,37 @@
@comment $FreeBSD$
-%%SITE_PERL%%/%%PERL_ARCH%%/auto/Coro/Event/Event.so
-%%SITE_PERL%%/%%PERL_ARCH%%/auto/Coro/Event/Event.bs
-%%SITE_PERL%%/%%PERL_ARCH%%/auto/Coro/State/State.so
-%%SITE_PERL%%/%%PERL_ARCH%%/auto/Coro/State/State.bs
-%%SITE_PERL%%/%%PERL_ARCH%%/auto/Coro/.packlist
+%%EXAMPLESDIR%%/attributes
+%%EXAMPLESDIR%%/bench
+%%EXAMPLESDIR%%/dns
+%%EXAMPLESDIR%%/event
+%%EXAMPLESDIR%%/lwp
+%%EXAMPLESDIR%%/myhttpd
+%%EXAMPLESDIR%%/prodcons1
+%%EXAMPLESDIR%%/prodcons2
+%%EXAMPLESDIR%%/prodcons3
+%%EXAMPLESDIR%%/readline
+%%PORTDOCS%%%%DOCSDIR%%/cede-vs-schedule
%%SITE_PERL%%/%%PERL_ARCH%%/Coro.pm
%%SITE_PERL%%/%%PERL_ARCH%%/Coro/AIO.pm
-%%SITE_PERL%%/%%PERL_ARCH%%/Coro/Cont.pm
-%%SITE_PERL%%/%%PERL_ARCH%%/Coro/State.pm
%%SITE_PERL%%/%%PERL_ARCH%%/Coro/Channel.pm
-%%SITE_PERL%%/%%PERL_ARCH%%/Coro/Semaphore.pm
-%%SITE_PERL%%/%%PERL_ARCH%%/Coro/SemaphoreSet.pm
-%%SITE_PERL%%/%%PERL_ARCH%%/Coro/RWLock.pm
%%SITE_PERL%%/%%PERL_ARCH%%/Coro/CoroAPI.h
-%%SITE_PERL%%/%%PERL_ARCH%%/Coro/Specific.pm
-%%SITE_PERL%%/%%PERL_ARCH%%/Coro/Timer.pm
+%%SITE_PERL%%/%%PERL_ARCH%%/Coro/Handle.pm
+%%SITE_PERL%%/%%PERL_ARCH%%/Coro/LWP.pm
%%SITE_PERL%%/%%PERL_ARCH%%/Coro/MakeMaker.pm
+%%SITE_PERL%%/%%PERL_ARCH%%/Coro/RWLock.pm
%%SITE_PERL%%/%%PERL_ARCH%%/Coro/Select.pm
+%%SITE_PERL%%/%%PERL_ARCH%%/Coro/Semaphore.pm
+%%SITE_PERL%%/%%PERL_ARCH%%/Coro/SemaphoreSet.pm
%%SITE_PERL%%/%%PERL_ARCH%%/Coro/Signal.pm
-%%SITE_PERL%%/%%PERL_ARCH%%/Coro/Handle.pm
-%%SITE_PERL%%/%%PERL_ARCH%%/Coro/Util.pm
-%%SITE_PERL%%/%%PERL_ARCH%%/Coro/Event.pm
%%SITE_PERL%%/%%PERL_ARCH%%/Coro/Socket.pm
-%%PORTDOCS%%%%EXAMPLESDIR%%/attributes
-%%PORTDOCS%%%%EXAMPLESDIR%%/bench
-%%PORTDOCS%%%%EXAMPLESDIR%%/cont
-%%PORTDOCS%%%%EXAMPLESDIR%%/dns
-%%PORTDOCS%%%%EXAMPLESDIR%%/event
-%%PORTDOCS%%%%EXAMPLESDIR%%/lwp
-%%PORTDOCS%%%%EXAMPLESDIR%%/myhttpd
-%%PORTDOCS%%%%EXAMPLESDIR%%/prodcons1
-%%PORTDOCS%%%%EXAMPLESDIR%%/prodcons2
-%%PORTDOCS%%%%EXAMPLESDIR%%/prodcons3
-%%PORTDOCS%%%%EXAMPLESDIR%%/readline
-%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%
-@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Coro/Event
-@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Coro/State
-@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Coro
-@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/Coro
+%%SITE_PERL%%/%%PERL_ARCH%%/Coro/Specific.pm
+%%SITE_PERL%%/%%PERL_ARCH%%/Coro/State.pm
+%%SITE_PERL%%/%%PERL_ARCH%%/Coro/Timer.pm
+%%SITE_PERL%%/%%PERL_ARCH%%/Coro/Util.pm
+%%SITE_PERL%%/%%PERL_ARCH%%/auto/Coro/.packlist
+%%SITE_PERL%%/%%PERL_ARCH%%/auto/Coro/State/State.bs
+%%SITE_PERL%%/%%PERL_ARCH%%/auto/Coro/State/State.so
+@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Coro/State
+@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Coro
+@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/Coro
+@dirrmtry %%EXAMPLESDIR%%
+%%PORTDOCS%%@dirrm %%DOCSDIR%%