debian/0000755000000000000000000000000012255411051007162 5ustar debian/rules0000755000000000000000000000003612255411051010241 0ustar #!/usr/bin/make -f %: dh $@ debian/control0000644000000000000000000000400312255411051010562 0ustar Source: libcoro-perl Maintainer: Debian Perl Group Uploaders: Jonathan Yu , gregor herrmann , Krzysztof Krzyżaniak (eloy) , Alessandro Ghedini , Xavier Guimard Section: perl Priority: optional Build-Depends: debhelper (>= 9.20120312), libanyevent-perl, libcommon-sense-perl, libev-perl, libevent-perl, libguard-perl, perl Standards-Version: 3.9.5 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/libcoro-perl.git Vcs-Git: git://anonscm.debian.org/pkg-perl/packages/libcoro-perl.git Homepage: https://metacpan.org/release/Coro/ Package: libcoro-perl Architecture: any Depends: ${misc:Depends}, ${perl:Depends}, ${shlibs:Depends}, libanyevent-perl, libcommon-sense-perl, libguard-perl Recommends: libanyevent-perl (>= 7), libev-perl, libevent-perl, libio-aio-perl (>= 3.1) Description: Perl framework implementing coroutines Coro is a collection of modules which manages continuations in general, most often in the form of cooperative threads (also called coros, or simply "coro" in the documentation). They do not actually execute at the same time, even on machines with multiple processors. . The specific flavor of thread offered by this module also guarantees you that it will not switch between threads unless necessary. It switches at easily- identified points in your program, so locking and parallel access are rarely an issue, making threaded programming much safer and easier than using other threading models. . Coro provides a full shared address space, which makes communication between threads very easy. A parallel matrix multiplication benchmark runs over 300 times faster on a single core than perl's ithreads on a quad core using all four cores. debian/source/0000755000000000000000000000000012255411051010462 5ustar debian/source/format0000644000000000000000000000001412255411051011670 0ustar 3.0 (quilt) debian/changelog0000644000000000000000000001362312255411051011041 0ustar libcoro-perl (6.330-1) unstable; urgency=low * Imported Upstream version 6.330 * Update debian/copyright years * Bump Standards-Version to 3.9.5 -- Xavier Guimard Tue, 03 Dec 2013 20:30:17 +0100 libcoro-perl (6.310-1) unstable; urgency=low [ Salvatore Bonaccorso ] * Change Vcs-Git to canonical URI (git://anonscm.debian.org) * Change search.cpan.org based URIs to metacpan.org based URIs [ Xavier Guimard ] * Imported Upstream version 6.310 * Add libanyevent-perl (>= 7) in recommended dependencies and update libio-aio-perl dependency version * Update patches * Update debian/copyright years -- Xavier Guimard Sun, 12 May 2013 15:55:15 +0200 libcoro-perl (6.100-2) unstable; urgency=low * Add libev-perl and libevent-perl in build dependencies to build Core::EV and Coro::Event * Add libev-perl to Recommends -- Xavier Guimard Thu, 08 Nov 2012 06:54:49 +0100 libcoro-perl (6.100-1) unstable; urgency=low * New upstream release -- Alessandro Ghedini Tue, 16 Oct 2012 13:17:47 +0200 libcoro-perl (6.090-1) unstable; urgency=low * New upstream release * Update upstream copyright for ecb.h * Bump Standards-Version to 3.9.4 (no changes needed) -- Alessandro Ghedini Mon, 08 Oct 2012 09:52:17 +0200 libcoro-perl (6.080-3) unstable; urgency=low * Drop revert-exit-change.patch (didn't work as expected) * Add fix-ftbfs-with-longjmp.patch to actually fix FTBFS -- Alessandro Ghedini Thu, 28 Jun 2012 16:21:54 +0200 libcoro-perl (6.080-2) unstable; urgency=low * Add revert-exit-change.patch to fix multiple FTBFS -- Alessandro Ghedini Thu, 28 Jun 2012 12:33:44 +0200 libcoro-perl (6.080-1) unstable; urgency=low * New upstream release * Email change: Alessandro Ghedini -> ghedo@debian.org * Fix and update copyright to copyright-format 1.0 * Bump Standards-Version to 3.9.3 * Bump debhelper compat level to 9 -- Alessandro Ghedini Tue, 17 Apr 2012 15:01:01 +0200 libcoro-perl (6.070-1) unstable; urgency=low [ Salvatore Bonaccorso ] * debian/copyright: Replace DEP5 Format-Specification URL from svn.debian.org to anonscm.debian.org URL. [ Alessandro Ghedini ] * New upstream release -- Alessandro Ghedini Sat, 12 Nov 2011 17:54:25 +0100 libcoro-perl (6.050-1) unstable; urgency=low * New upstream release -- Alessandro Ghedini Fri, 05 Aug 2011 11:31:42 +0200 libcoro-perl (6.040-1) unstable; urgency=low [ Ansgar Burchardt ] * debian/control: Convert Vcs-* fields to Git. [ Alessandro Ghedini ] * New upstream release -- Alessandro Ghedini Thu, 04 Aug 2011 19:00:11 +0200 libcoro-perl (6.000-1) unstable; urgency=low * New upstream release * Refresh patches * Bump Standards-Version to 3.9.2 (no chenges needed) * Bump libcoro upstream copyright years * Add debian/NEWS with incompatible changes * Add fix-wrong-path-for-interpreter patch * Add Coro/ecb.h to debian/copyright -- Alessandro Ghedini Thu, 30 Jun 2011 20:42:21 +0200 libcoro-perl (5.372-1) unstable; urgency=low [ Jonathan Yu ] * New upstream release 5.250 [ Alessandro Ghedini ] * New upstream release * Refresh patches * Bump to debhelper 8 * Add myself to Uploaders and debian/copyright * Recommends libevent-perl and libio-aio-perl [ gregor herrmann ] * Remove version from libanyevent-perl (build) dependency, nothing older in the archive. -- Alessandro Ghedini Sun, 27 Feb 2011 18:03:54 +0100 libcoro-perl (5.240-1) unstable; urgency=low * New upstream release * debian/control: added me to Uploaders * debian/copyright: added me -- Krzysztof Krzyżaniak (eloy) Thu, 28 Oct 2010 12:58:00 +0200 libcoro-perl (5.230-4) unstable; urgency=low * debian/rules: remove architecture-specific backend selection; potentially buggy and not the cause of the problems; thanks to Niko Tyni for the hints! (Cf. #578458) * debian/control: bump (build) dependency on libanyevent-perl to 5.271-2 accordingly. * debian/copyright: refresh License stanzas. -- gregor herrmann Mon, 13 Sep 2010 21:49:35 +0200 libcoro-perl (5.230-3) unstable; urgency=low * Remove override for tests. * Build with pthread backend on some acrchitectures (cf. #578458). * Set Standards-Version to 3.9.1 (no changes). * debian/copyright: point to /usr/share/common-licenses/GPL-1. -- gregor herrmann Tue, 03 Aug 2010 17:34:03 -0400 libcoro-perl (5.230-2) unstable; urgency=low * Remove temporary test patch. -- gregor herrmann Fri, 18 Jun 2010 15:04:31 +0200 libcoro-perl (5.230-1) unstable; urgency=low * New upstream release. * Update years of copyright for libcoro. * Make test suite verbose in order to track down #578458. Add a temporary patch to the test to get values in case of failures. -- gregor herrmann Wed, 19 May 2010 20:18:51 +0200 libcoro-perl (5.220-1) unstable; urgency=low * New upstream release. * Convert to source format "3.0 (quilt)". Remove quilt framework. * debian/copyrigh: update formatting. * Add /me to Uploaders. * Set Standards-Version to 3.8.4 (no changes). * Add patch spelling.patch to fix a spelling mistake. -- gregor herrmann Fri, 16 Apr 2010 21:56:17 +0200 libcoro-perl (5.210-1) unstable; urgency=low * New upstream release -- Jonathan Yu Wed, 16 Dec 2009 20:21:48 -0500 libcoro-perl (5.200-1) unstable; urgency=low * New upstream release + Now depends on common::sense -- Jonathan Yu Tue, 13 Oct 2009 14:21:05 -0400 libcoro-perl (5.170-1) unstable; urgency=low * Initial Release. (Closes: #536551) -- Jonathan Yu Wed, 02 Sep 2009 05:35:59 -0400 debian/NEWS0000644000000000000000000000037412255411051007665 0ustar libcoro-perl (6.000-1) unstable; urgency=low INCOMPATIBLE CHANGE: unreferenced coro objects will now be destroyed and cleaned up automatically (e.g. async { schedule }). -- Alessandro Ghedini Thu, 30 Jun 2011 15:02:32 +0200 debian/compat0000644000000000000000000000000212255411051010360 0ustar 9 debian/libcoro-perl.docs0000644000000000000000000000004712255411051012426 0ustar README.linux-glibc Coro/libcoro/README debian/patches/0000755000000000000000000000000012255411051010611 5ustar debian/patches/spelling.patch0000644000000000000000000000561312255411051013454 0ustar Description: fix a spelling mistake Origin: vendor Bug: https://rt.cpan.org/Ticket/Display.html?id=82392 Forwarded: https://rt.cpan.org/Ticket/Display.html?id=82392 Author: gregor herrmann Reviewed-by: Xavier Guimard Last-Update: 2013-05-12 --- a/Coro.pm +++ b/Coro.pm @@ -755,7 +755,7 @@ Returns true iff this Coro object is "new", i.e. has never been run yet. Those states basically consist of only the code reference to call and the arguments, but consumes very little other resources. New states will -automatically get assigned a perl interpreter when they are transfered to. +automatically get assigned a perl interpreter when they are transferred to. =item $state->is_zombie @@ -1258,7 +1258,7 @@ by the forks module, which gives you the (i-) threads API, just much faster). -Sharing data is in the i-threads model is done by transfering data +Sharing data is in the i-threads model is done by transferring data structures between threads using copying semantics, which is very slow - shared data simply does not exist. Benchmarks using i-threads which are communication-intensive show extremely bad behaviour with i-threads (in --- a/Coro/State.pm +++ b/Coro/State.pm @@ -178,7 +178,7 @@ everywhere. If the coderef is omitted this function will create a new "empty" -thread, i.e. a thread that cannot be transfered to but can be used +thread, i.e. a thread that cannot be transferred to but can be used to save the current thread state in (note that this is dangerous, as no reference is taken to ensure that the "current thread state" survives, the caller is responsible to ensure that the cloned state does not go @@ -247,7 +247,7 @@ Forcefully destructs the given Coro::State. While you can keep the reference, and some memory is still allocated, the Coro::State object is -effectively dead, destructors have been freed, it cannot be transfered to +effectively dead, destructors have been freed, it cannot be transferred to anymore, it's pushing up the daisies. =item $state->call ($coderef) @@ -336,7 +336,7 @@ =head3 METHODS FOR C CONTEXTS -Most coros only consist of some Perl data structures - transfering to a +Most coros only consist of some Perl data structures - transferring to a coro just reconfigures the interpreter to continue somewhere else. However. this is not always possible: For example, when Perl calls a C/XS function --- a/README +++ b/README @@ -1033,7 +1033,7 @@ evidenced by the forks module, which gives you the (i-) threads API, just much faster). - Sharing data is in the i-threads model is done by transfering data + Sharing data is in the i-threads model is done by transferring data structures between threads using copying semantics, which is very slow - shared data simply does not exist. Benchmarks using i-threads which are communication-intensive show extremely bad behaviour with i-threads (in debian/patches/fix-ftbfs-with-longjmp.patch0000644000000000000000000000106012255411051016134 0ustar Description: Disable FORTIFY_SOURCE flag when using long jump implementation Origin: vendor Forwarded: not-needed Author: Alessandro Ghedini Reviewed-by: Xavier Guimard Last-Update: 2012-12-10 --- a/Coro/Makefile.PL +++ b/Coro/Makefile.PL @@ -216,6 +216,7 @@ conftest ("TEST_makecontext"); } elsif ($iface eq "s") { $DEFINE .= " -DCORO_SJLJ"; + $DEFINE .= " -D_FORTIFY_SOURCE=0"; print "\nUsing setjmp/longjmp/sigaltstack implementation\n\n"; conftest ("TEST_sigaltstack"); } elsif ($iface eq "l") { debian/patches/whatis.patch0000644000000000000000000000075612255411051013141 0ustar Description: Add a whatis entry Origin: vendor Bug: https://rt.cpan.org/Ticket/Display.html?id=82393 Forwarded: https://rt.cpan.org/Ticket/Display.html?id=82393 Author: Jonathan Yu Reviewed-By: Xavier Guimard Last-Update: 2013-01-04 --- a/Coro/Intro.pod +++ b/Coro/Intro.pod @@ -1,3 +1,7 @@ +=head1 NAME + +Coro::Intro - An introduction to Coro + =head1 Introduction to Coro This tutorial will introduce you to the main features of the Coro module debian/patches/series0000644000000000000000000000013612255411051012026 0ustar fix-wrong-path-for-interpreter.patch whatis.patch spelling.patch fix-ftbfs-with-longjmp.patch debian/patches/fix-wrong-path-for-interpreter.patch0000644000000000000000000000072412255411051017634 0ustar Description: This patch fixes the two wrong-path-for-interpreter errors reported by lintian. Origin: vendor Forwarded: no Author: Alessandro Ghedini Last-Update: 2011-06-30 --- a/Coro/jit-amd64-unix.pl +++ b/Coro/jit-amd64-unix.pl @@ -1,4 +1,4 @@ -#!/opt/bin/perl +#!/usr/bin/perl { package Coro::State; --- a/Coro/jit-x86-unix.pl +++ b/Coro/jit-x86-unix.pl @@ -1,4 +1,4 @@ -#!/opt/bin/perl +#!/usr/bin/perl { package Coro::State; debian/copyright0000644000000000000000000001531412255411051011121 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: Coro Upstream-Contact: Marc Lehmann Source: https://metacpan.org/release/Coro/ Files: * Copyright: 2001-2013, Marc Alexander Lehmann License: Artistic or GPL-1+ Comment: Because the upstream Coro package does not include a proper copyright statement, the upstream author was contacted via private e-mail. . Delivered-To: jonathan.i.yu@gmail.com Received: by 10.204.79.82 with SMTP id o18cs454176bkk; Sat, 11 Jul 2009 07:41:29 -0700 (PDT) Received: by 10.204.57.13 with SMTP id a13mr3083366bkh.205.1247323289167; Sat, 11 Jul 2009 07:41:29 -0700 (PDT) Return-Path: Received: from mail.nethype.de (mail.nethype.de [78.47.73.129]) by mx.google.com with ESMTP id 26si4485612fxm.94.2009.07.11.07.41.28; Sat, 11 Jul 2009 07:41:29 -0700 (PDT) Received-SPF: pass (google.com: domain of root@schmorp.de designates 78.47.73.129 as permitted sender) client-ip=78.47.73.129; Authentication-Results: mx.google.com; spf=pass (google.com: domain of root@schmorp.de designates 78.47.73.129 as permitted sender) smtp.mail=root@schmorp.de Received: from [10.0.0.5] (helo=doom.schmorp.de) by mail.nethype.de with esmtp (Exim 4.69) (envelope-from ) id 1MPdlY-00067t-Ck; Sat, 11 Jul 2009 14:41:28 +0000 Received: from [10.0.0.1] (helo=cerebro.laendle) by doom.schmorp.de with esmtp (Exim 4.69) (envelope-from ) id 1MPdlY-0007MR-2u; Sat, 11 Jul 2009 14:41:28 +0000 Received: from root by cerebro.laendle with local (Exim 4.69) (envelope-from ) id 1MPdlY-0001ot-1c; Sat, 11 Jul 2009 16:41:28 +0200 Date: Sat, 11 Jul 2009 16:41:28 +0200 From: Marc Lehmann To: Jonathan Yu Cc: Debian Perl List Subject: Re: Coro and Guard Copyright Information Message-ID: <20090711144127.GC5477@schmorp.de> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-PGP: "1024D/DA743396 1999-01-26 Marc Alexander Lehmann Key fingerprint = 475A FE9B D1D4 039E 01AC C217 A1E8 0270 DA74 3396" . On Fri, Jul 10, 2009 at 11:54:36PM -0400, Jonathan Yu wrote: > I'm packaging your Perl modules Coro (and thus Guard) for Debian and . Fascinating! . > was wondering if you could give us a copyright statement for both of > these. As you might remember from my previous bug reports (don't > worry, I won't bother you with one this time), Debian needs both a > copyright and license statement to redistribute modules. . To the best of my knowledge, and unless otherwise stated, all the files are Copyright Marc Alexander Lehmann , 2001-2009 for Coro, 2008-2009 for Guard. . (see also conftest.c, which is lgpl 2.1 or later) . > I have noted libcoro's copyright (per Coro/libcoro/LICENSE), but Coro . The actual files have been under a slightly different license for a while - I updated the LICENSE file to be consistent, thanks for reminding me :) Files: Coro/libcoro/* Copyright: 2000-2012, Marc Alexander Lehmann License: BSD-2-Clause or GPL-2+ Files: Coro/ecb.h Copyright: 2009-2013 Marc Alexander Lehmann 2011 Emanuele Giaquinta License: BSD-2-Clause Files: Coro/libcoro/conftest.c Copyright: 1999-2001, Ralf S. Engelschall License: LGPL-2.1+ Files: debian/* Copyright: 2009, Jonathan Yu 2010, gregor herrmann 2010, Krzysztof Krzyżaniak (eloy) 2011-2012, Alessandro Ghedini 2012-2013, Xavier Guimard License: Artistic or GPL-1+ License: Artistic This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License, which comes with Perl. . On Debian systems, the complete text of the Artistic License can be found in `/usr/share/common-licenses/Artistic'. License: BSD-2-Clause This program is free software; you can redistribute it and/or modify Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: . 1. Redistributions of source code must retain the above copyright not- ice, this list of conditions and the following disclaimer. . 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. . THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANT- IES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLA- IMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. License: GPL-1+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. . On Debian systems, the complete text of version 1 of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-1'. License: GPL-2+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. . On Debian systems, the complete text of version 2 of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'. License: LGPL-2.1+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1, or (at your option) any later version. . On Debian systems, the complete text of version 2.1 of the the GNU Lesser General Public License can be found in `/usr/share/common-licenses/LGPL-2.1'. debian/watch0000644000000000000000000000023412255411051010212 0ustar version=3 opts="uversionmangle=s/\.\d\d$/$&0/;s/\.\d$/$&00/" \ https://metacpan.org/release/Coro/ .*/Coro-v?(\d[\d.-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$ debian/libcoro-perl.examples0000644000000000000000000000000512255411051013306 0ustar eg/*