BSD Ports

devel/p5-Coro 6.570,1 FreeBSD

Coroutine process abstraction for perl

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
License
ART10, GPLv1+
Categories
devel, perl5
Package size
193.5 KiB, 420.1 KiB installed

Description

Coro started as a simple module that implemented a specific form of first class continuations called Coroutines. These basically allow you to capture the current point execution and jump to another point, while allowing you to return at any time, as kind of non-local jump, not unlike C's setjmp/longjmp. This is nowadays known as a Coro::State.

One natural application for these is to include a scheduler, resulting in cooperative threads, which is the main use case for Coro today. Still, much of the documentation and custom refers to these threads as "coroutines" or often just "coros".

A thread is very much like a stripped-down perl interpreter, or a process: Unlike a full interpreter process, a thread doesn't have its own variable or code namespaces - everything is shared. That means that when one thread modifies a variable (or any value, e.g. through a reference), then other threads immediately see this change when they look at the same variable or location.

In the other systems

SystemPortVersion
FreeBSDdevel/p5-Coro6.570,1
OpenBSDdevel/p5-Coro6.570p0
NetBSDdevel/p5-Coro6.57nb8
DragonFlydevel/p5-Coro6.570,1
HardenedBSDdevel/p5-Coro6.570,1
GhostBSDdevel/p5-Coro6.570,1

Install

Binary package:

pkg install p5-Coro

From the ports tree:

cd /usr/ports/devel/p5-Coro/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	p5-Coro>0:devel/p5-Coro

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest6.570,16.570,16.570,16.570,16.570,1
FreeBSD:14:quarterly6.570,16.570,1n/a6.570,16.570,1
FreeBSD:15:latest6.570,16.570,1n/a6.570,16.570,1
FreeBSD:15:quarterly6.570,16.570,1n/an/an/a
FreeBSD:16:latest6.570,16.570,1n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

As this port's Makefile names them.

Build 7

Runtime 7

The full lists below include those, and their dependencies in turn.

Build dependencies 8
Run dependencies 8

Configuration

Options name: devel_Coro

OptionDefaultDescription
DOCSoffBuild and/or install documentation
EXAMPLESoffBuild and/or install examples
USES
perl5 shebangfix
Service scripts
none

Files

pkg-plist 62
  • %%SITE_ARCH%%/Coro.pm
  • %%SITE_ARCH%%/Coro/AIO.pm
  • %%SITE_ARCH%%/Coro/AnyEvent.pm
  • %%SITE_ARCH%%/Coro/BDB.pm
  • %%SITE_ARCH%%/Coro/Channel.pm
  • %%SITE_ARCH%%/Coro/CoroAPI.h
  • %%SITE_ARCH%%/Coro/Debug.pm
  • %%SITE_ARCH%%/Coro/EV.pm
  • %%SITE_ARCH%%/Coro/Event.pm
  • %%SITE_ARCH%%/Coro/Handle.pm
  • %%SITE_ARCH%%/Coro/Intro.pod
  • %%SITE_ARCH%%/Coro/LWP.pm
  • %%SITE_ARCH%%/Coro/MakeMaker.pm
  • %%SITE_ARCH%%/Coro/RWLock.pm
  • %%SITE_ARCH%%/Coro/Select.pm
  • %%SITE_ARCH%%/Coro/Semaphore.pm
  • %%SITE_ARCH%%/Coro/SemaphoreSet.pm
  • %%SITE_ARCH%%/Coro/Signal.pm
  • %%SITE_ARCH%%/Coro/Socket.pm
  • %%SITE_ARCH%%/Coro/Specific.pm
  • %%SITE_ARCH%%/Coro/State.pm
  • %%SITE_ARCH%%/Coro/Storable.pm
  • %%SITE_ARCH%%/Coro/Timer.pm
  • %%SITE_ARCH%%/Coro/Util.pm
  • %%SITE_ARCH%%/Coro/jit-amd64-unix.pl
  • %%SITE_ARCH%%/Coro/jit-x86-unix.pl
  • %%SITE_ARCH%%/auto/Coro/EV/EV.so
  • %%SITE_ARCH%%/auto/Coro/Event/Event.so
  • %%SITE_ARCH%%/auto/Coro/State/State.so
  • %%PERL5_MAN3%%/Coro.3.gz
  • %%PERL5_MAN3%%/Coro::AIO.3.gz
  • %%PERL5_MAN3%%/Coro::AnyEvent.3.gz
  • %%PERL5_MAN3%%/Coro::BDB.3.gz
  • %%PERL5_MAN3%%/Coro::Channel.3.gz
  • %%PERL5_MAN3%%/Coro::Debug.3.gz
  • %%PERL5_MAN3%%/Coro::EV.3.gz
  • %%PERL5_MAN3%%/Coro::Event.3.gz
  • %%PERL5_MAN3%%/Coro::Handle.3.gz
  • %%PERL5_MAN3%%/Coro::Intro.3.gz
  • %%PERL5_MAN3%%/Coro::LWP.3.gz
  • %%PERL5_MAN3%%/Coro::MakeMaker.3.gz
  • %%PERL5_MAN3%%/Coro::RWLock.3.gz
  • %%PERL5_MAN3%%/Coro::Select.3.gz
  • %%PERL5_MAN3%%/Coro::Semaphore.3.gz
  • %%PERL5_MAN3%%/Coro::SemaphoreSet.3.gz
  • %%PERL5_MAN3%%/Coro::Signal.3.gz
  • %%PERL5_MAN3%%/Coro::Socket.3.gz
  • %%PERL5_MAN3%%/Coro::Specific.3.gz
  • %%PERL5_MAN3%%/Coro::State.3.gz
  • %%PERL5_MAN3%%/Coro::Storable.3.gz
  • %%PERL5_MAN3%%/Coro::Timer.3.gz
  • %%PERL5_MAN3%%/Coro::Util.3.gz
  • share/doc/p5-Coro/cede-vs-schedule
  • share/examples/p5-Coro/bench
  • share/examples/p5-Coro/dns
  • share/examples/p5-Coro/event
  • share/examples/p5-Coro/lwp
  • share/examples/p5-Coro/myhttpd
  • share/examples/p5-Coro/prodcons1
  • share/examples/p5-Coro/prodcons2
  • share/examples/p5-Coro/prodcons3
  • share/examples/p5-Coro/readline
distinfo 1
FileSizeSHA256
Coro-6.57.tar.gz1981281928e48033540e11ebf5506986dd101af78d2421d210f96599223b15d51714c6
Master sites 1
  • CPAN

Commit history 0

No commits in the history this site was built from.