ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/schmorpforge/genpage
(Generate patch)

Comparing cvsroot/schmorpforge/genpage (file contents):
Revision 1.103 by root, Sat Apr 6 09:45:02 2013 UTC vs.
Revision 1.127 by root, Sat Oct 27 09:22:30 2018 UTC

8system "rsync -av *.jpg software.schmorp.de/img/"; 8system "rsync -av *.jpg software.schmorp.de/img/";
9 9
10our %IRC = ( 10our %IRC = (
11# anyevent => ["irc.perl.org", "#anyevent", "http://mibbit.com/chat/#anyevent\@irc.perl.org"], 11# anyevent => ["irc.perl.org", "#anyevent", "http://mibbit.com/chat/#anyevent\@irc.perl.org"],
12# freenode => ["irc.freenode.org", "#schmorp", "http://webchat.freenode.net/?randomnick=1&channels=schmorp&prompt=1", ", users <tt>schmorp</tt> and <tt>elmex</tt>"], 12# freenode => ["irc.freenode.org", "#schmorp", "http://webchat.freenode.net/?randomnick=1&channels=schmorp&prompt=1", ", users <tt>schmorp</tt> and <tt>elmex</tt>"],
13 anyevent => ["irc.schmorp.de", "#schmorpforge", "http://chat.schmorp.de/?channels=schmorpforge", ", users <tt>schmorp</tt> and <tt>elmex</tt>"], 13 anyevent => ["irc.schmorp.de", "#schmorpforge", "http://chat.schmorp.de/?channels=schmorpforge", ", user <tt>schmorp</tt>"],
14 schmorp => ["irc.schmorp.de", "#schmorpforge", "http://chat.schmorp.de/?channels=schmorpforge", ", users <tt>schmorp</tt> and <tt>elmex</tt>"], 14 schmorp => ["irc.schmorp.de", "#schmorpforge", "http://chat.schmorp.de/?channels=schmorpforge", ", user <tt>schmorp</tt>"],
15 rxvt => ["irc.freenode.org", "#rxvt-unicode", "http://webchat.freenode.net/?randomnick=1&channels=rxvt-unicode&prompt=1", ""], 15 rxvt => ["irc.freenode.org", "#rxvt-unicode", "http://webchat.freenode.net/?randomnick=1&channels=rxvt-unicode&prompt=1", ""],
16 rxvtdev => ["irc.freenode.org", "#rxvt-unicode-dev", "http://webchat.freenode.net/?randomnick=1&channels=rxvt-unicode-dev&prompt=1", " <b>(no support, development only)</b>"], 16 rxvtdev => ["irc.freenode.org", "#rxvt-unicode-dev", "http://webchat.freenode.net/?randomnick=1&channels=rxvt-unicode-dev&prompt=1", " <b>(no support, development only)</b>"],
17); 17);
18 18
19sub hdr($$) { 19sub hdr($$) {
125 125
126 </style> 126 </style>
127</head> 127</head>
128<body> 128<body>
129<div class='section section-topnav'> 129<div class='section section-topnav'>
130<p class='back'><a href='/'>Schmorpforge Ta-Sa Software Repository</a></p> 130<p class='back'><a href='/'>Schmorpforge Software Repository</a></p>
131</div> 131</div>
132<div class='section section-header'> 132<div class='section section-header'>
133<h1 class="$_[1]">$_[0]</h1> 133<h1 class="$_[1]">$_[0]</h1>
134<div style="text-align: center; float: right; margin-left: 1em; margin-bottom: 1em"> 134<div style="text-align: center; float: right; margin-left: 1em; margin-bottom: 1em">
135<!-- 135<!--
200 200
201<div class='section section-resources'> 201<div class='section section-resources'>
202<h2>Resources</h2> 202<h2>Resources</h2>
203<table class='resources'> 203<table class='resources'>
204EOF 204EOF
205
206 for (grep /^res/, @args) {
207 /^resource\(([^,]+),{{(.*?)}}\)$/ or die "$_: no resource\n";
208 print <<EOF;
209<tr><td><tt class="icon">$1</tt></td><td class='rr'>$2</li></tr>
210EOF
211 }
212
213 print "<tr><td><tt class='icon'>FILE</tt></td><td class='rr'><a href='https://ftpmirror.gnu.org/gnu/$name/'>File Releases (GNU)</a></td></tr>\n"
214 if grep /dist-gnu/, @args;
215 print "<tr><td><tt class='icon'>FILE</tt></td><td class='rr'><a href='http://dist.schmorp.de/$name/'>File Releases</a></td></tr>\n"
216 if grep /dist(?!-)/, @args;
217 print "<tr><td><tt class='icon'>CPAN</tt></td><td class='rr'><a href='http://www.cpan.org/modules/by-authors/id/M/ML/MLEHMANN/'>File Releases (CPAN)</a></td></tr>\n"
218 if grep /cpan$/, @args;
219
205 if (grep /git/, @args) { 220 if (grep /git/, @args) {
206 print <<EOF; 221 print <<EOF;
207<tr><td><tt class="icon">GIT</tt></td><td class='rr'><a href='http://git.ta-sa.org/git/$name/'>Browsable GIT repository '$name'</a></li></tr> 222<tr><td><tt class="icon">GIT</tt></td><td class='rr'><a href='http://git.ta-sa.org/git/$name/'>Browsable GIT repository '$name'</a></li></tr>
208<tr><td><tt class="icon">GIT</tt></td><td class='rr'>Read-only GIT checkout: <tt>&#160;git-clone http://git.ta-sa.org/$name.git</tt> 223<tr><td><tt class="icon">GIT</tt></td><td class='rr'>Read-only GIT checkout: <tt>&#160;git-clone http://git.ta-sa.org/$name.git</tt>
209</td></tr> 224</td></tr>
211 <tt>cvs -d ":ext;CVS_SERVER=git-cvsserver:USER\@ruth.plan9.de/gitroot/$name.git" co -d $name master</tt> 226 <tt>cvs -d ":ext;CVS_SERVER=git-cvsserver:USER\@ruth.plan9.de/gitroot/$name.git" co -d $name master</tt>
212</td></tr> --> 227</td></tr> -->
213EOF 228EOF
214 } else { 229 } else {
215 my $modules = $name; 230 my $modules = $name;
231
232 for (@args) {
216 $modules = "$1" if grep /modules\((.*)\)/, @args; 233 $modules = "$1" if /modules\((.*)\)/;
234 }
217 235
236 if (length $modules) {
218 print <<EOF; 237 print <<EOF;
219<tr><td><tt class="icon">CVS</tt></td><td class='rr'><a href='http://cvs.schmorp.de/$name'>Browsable CVS module '$name'</a></td></tr> 238<tr><td><tt class="icon">CVS</tt></td><td class='rr'><a href='http://cvs.schmorp.de/$name'>Browsable CVS module '$name'</a></td></tr>
220<tr><td><tt class="icon">CVS</tt></td><td class='rr'>Anonymous CVS: 239<tr><td><tt class="icon">CVS</tt></td><td class='rr'>Anonymous CVS:
221 <tt>&#160;cvs -z3 -d :pserver:anonymous\@cvs.schmorp.de/schmorpforge co $modules</tt> 240 <tt>&#160;cvs -z3 -d :pserver:anonymous\@cvs.schmorp.de/schmorpforge co $modules</tt>
222 241
223 <small>
224
225<!--
226 <p>The warning
227 <b>cvs checkout: warning: cannot write to history file /schmorpforge/CVSROOT/history: Permission denied</b>
228 is expected and harmless, just ignore it. It simply means you have no write access to the repository.
229 </p>
230-->
231
232<!--
233 <p>The CVS server moved again on 2008-02-21, you can use the following
234 (untested) snippet to update your CVS checkout. Run it in the top level
235 checked out directory:</ br>
236
237 <pre>
238find . -name CVS | xargs -I% find % -name Root |
239 xargs perl -i -pe 's%:pserver:anonymous\\\@cvs.schmorp.de:636/schmorpforge%:pserver:anonymous\\\@cvs.schmorp.de:/schmorpforge%'</pre>
240 </p>
241-->
242
243 </small>
244
245</td></tr> 242</td></tr>
246EOF 243EOF
244 }
247 } 245 }
248 246
249 my @irc; 247 my @irc;
250 248
251 print "<tr><td><tt class='icon'>FILE</tt></td><td class='rr'><a href='http://dist.schmorp.de/$name/'>File Releases</a></td></tr>\n" 249 my $perlname = $name =~ s/-/::/gr;
252 if grep /dist(?!-)/, @args; 250
253 print "<tr><td><tt class='icon'>FILE</tt></td><td class='rr'><a href='http://ftp.gnu.org/gnu/$name/'>File Releases</a></td></tr>\n" 251 print "<tr><td><tt class='icon'>METACPAN</tt></td><td class='rr'><a href='https://metacpan.org/pod/$perlname'>MetaCPAN page</a></td></tr>\n"
254 if grep /dist-gnu/, @args;
255 print "<tr><td><tt class='icon'>CPAN</tt></td><td class='rr'><a href='http://www.cpan.org/modules/by-authors/Marc_Lehmann/'>File Releases (CPAN)</a></td></tr>\n"
256 if grep /cpan$/, @args; 252 if grep /cpan$/, @args;
257 print "<tr><td><tt class='icon'>CPAN</tt></td><td class='rr'><a href='http://www.cpan.org/modules/by-authors/id/E/EL/ELMEX/'>File Releases (CPAN)</a></td></tr>\n"
258 if grep /cpan-elmex/, @args;
259 for (@args) { 253 for (@args) {
260 if (/list\((.*?)\)/) { 254 if (/list\((.*?)\)/) {
261 print "<tr><td><tt class='icon'>LIST</tt></td><td class='rr'><a href='http://lists.schmorp.de/mailman/listinfo/" . ($1 || $name) . "'>Mailing List '" . ($1 || $name) . "'</a></td></tr>\n"; 255 print "<tr><td><tt class='icon'>LIST</tt></td><td class='rr'><a href='http://lists.schmorp.de/mailman/listinfo/" . ($1 || $name) . "'>Mailing List '" . ($1 || $name) . "'</a></td></tr>\n";
262 } 256 }
263 if (/irc\((.*?)\)/) { 257 if (/irc\((.*?)\)/) {
271 } 265 }
272 266
273 print "</table>"; 267 print "</table>";
274 268
275 if (my @files = grep $_, map /(cvs-co|cvs-pod|git-pod|git-co)\((\S+)\)/ && [$1, $2], @args) { 269 if (my @files = grep $_, map /(cvs-co|cvs-pod|git-pod|git-co)\((\S+)\)/ && [$1, $2], @args) {
276 print "</div><div class='section section-documents'><h2>Additional Documents</h2><table class='resources'>"; 270 print "</div><div class='section section-documents'><h2>Package Documention</h2><table class='resources'>";
277 271
278 for (@files) { 272 for (@files) {
279 my ($type, $arg) = @$_; 273 my ($type, $arg) = @$_;
280 274
281 if ($type eq "cvs-co") { 275 if ($type eq "cvs-co") {
310 304
311print <<EOF; 305print <<EOF;
312 306
313<div class='section section-about'> 307<div class='section section-about'>
314<h2>About</h2> 308<h2>About</h2>
315<p class='blurb'>This page briefly documents the Schmorpforge Ta-Sa Software Repository and 309<p class='blurb'>This page briefly documents the Schmorpforge Software Repository and
316lists all projects available here.</p> 310lists all projects available here.</p>
317</div> 311</div>
318 312
319<div class='section section-resources'> 313<div class='section section-resources'>
320<table class='resources'> 314<table class='resources'>
321<tr><td><tt class='icon'>BUGS</tt></td><td class='rr'>Do not use rt.cpan.org to report bugs, use an appropriate mailinglist or mail the author directly.</td></tr> 315<tr><td><tt class='icon'>BUGS</tt></td><td class='rr'>Do not use rt.cpan.org to report bugs, use an appropriate mailinglist or mail the author directly.</td></tr>
322<tr><td><tt class='icon'>CVS</tt></td><td class='rr'>All CVS modules can be browsed <a href="http://cvs.schmorp.de/">here</a></td></tr> 316<tr><td><tt class='icon'>CVS</tt></td><td class='rr'>All CVS modules can be browsed <a href="http://cvs.schmorp.de/">here</a></td></tr>
323<tr><td><tt class='icon'>GIT</tt></td><td class='rr'>All GIT repositories can be found <a href="http://git.ta-sa.org/">here</a></td></tr> 317<!--<tr><td><tt class='icon'>GIT</tt></td><td class='rr'>All GIT repositories can be found <a href="http://git.ta-sa.org/">here</a></td></tr>-->
324<tr><td><tt class='icon'>FILE</tt></td><td class='rr'>Most file releases can be found <a href="http://dist.schmorp.de/">here</a> or on CPAN (for Perl modules)</td></tr> 318<tr><td><tt class='icon'>FILE</tt></td><td class='rr'>Most file releases can be found <a href="http://dist.schmorp.de/">here</a> or on CPAN (for Perl modules)</td></tr>
325<tr><td><tt class='icon'>LIST</tt></td><td class='rr'>All mailinglists can be found <a href="http://lists.schmorp.de/mailman/listinfo">here</a></td></tr> 319<tr><td><tt class='icon'>LIST</tt></td><td class='rr'>All mailinglists can be found <a href="http://lists.schmorp.de/mailman/listinfo">here</a></td></tr>
326<!--<tr><td><tt class='icon'>WIKI</tt></td><td class='rr'>The Wiki can be found <a href="http://wiki.schmorp.de/">here</a></td></tr>--> 320<!--<tr><td><tt class='icon'>WIKI</tt></td><td class='rr'>The Wiki can be found <a href="http://wiki.schmorp.de/">here</a></td></tr>-->
327 321
328<!--<tr><td><tt class='icon'>IRC</tt></td><td class='rr'>Server <a href='http://webchat.freenode.net/?randomnick=1&amp;channels=schmorp&amp;prompt=1'><tt><b>irc.freenode.net</b></tt>, channel <tt>#schmorp</tt></a>, users <tt>schmorp</tt> and <tt>elmex</tt> <b>(say hi and <i>wait a few minutes or hours</i>)</b><br/>Other project-specific IRC servers are listed on their respective project page.</td></tr>--> 322<!--<tr><td><tt class='icon'>IRC</tt></td><td class='rr'>Server <a href='http://webchat.freenode.net/?randomnick=1&amp;channels=schmorp&amp;prompt=1'><tt><b>irc.freenode.net</b></tt>, channel <tt>#schmorp</tt></a>, user <tt>schmorp</tt> <b>(say hi and <i>wait a few minutes or hours</i>)</b><br/>Other project-specific IRC servers are listed on their respective project page.</td></tr>-->
329<tr><td><tt class='icon'>IRC</tt></td><td class='rr'>Server <a href='http://chat.schmorp.de/?channels=schmorpforge'><tt><b>irc.schmorp.de</b></tt>, channel <tt>#schmorpforge</tt></a>, users <tt>schmorp</tt> and <tt>elmex</tt> <b>(say hi and <i>wait a few minutes or hours</i>)</b><br/>Other project-specific IRC servers are listed on their respective project page.</td></tr> 323<tr><td><tt class='icon'>IRC</tt></td><td class='rr'>Server <a href='http://chat.schmorp.de/?channels=schmorpforge'><tt><b>irc.schmorp.de</b></tt>, channel <tt>#schmorpforge</tt></a>, user <tt>schmorp</tt> <b>(say hi and <i>wait a few minutes or hours</i>)</b><br/>Other project-specific IRC servers are listed on their respective project page.</td></tr>
330</table> 324</table>
331</div> 325</div>
332 326
333<div class='section section-overview'> 327<div class='section section-overview'>
334<h2>Project List</h2> 328<h2>Project List</h2>
339 333
340print "</table></div>"; 334print "</table></div>";
341ftr; 335ftr;
342 336
343__DATA__ 337__DATA__
338stableperl list(perl) modules()
339 Stableperl is a fork, or a branch, of the official perl with the goal
340 of providing stability and compatibility. See <a
341 href="http://stableperl.schmorp.de/">stableperl.schmorp.de</a> for
342 details.
343
344 You can also look at the <a href="http://schplog.schmorp.de/2015-06-06-stableperl-faq.html">Canary::Stability and Stableperl FAQ</a>, and you can download
345 releases at <a href="http://stableperl.schmorp.de/dist/">http://stableperl.schmorp.de/dist/</a>.
346
347Canary-Stability cpan cvs-pod(Stability.pm,) cvs-co(Changes) list(perl)
348 A little bird that doubles as an early warning system.
349
350 Wasn't early but rather late, but at least it is warning now.
351
344rxvt-unicode dist list(rxvt-unicode) cvs-pod(doc/rxvt.1.pod,) cvs-pod(doc/rxvt.7.pod,FAQ) cvs-pod(src/urxvt.pm,Perl) cvs-co(Changes) irc(rxvt) irc(rxvtdev) 352rxvt-unicode dist list(rxvt-unicode) cvs-pod(doc/rxvt.1.pod,) cvs-pod(doc/rxvt.7.pod,FAQ) cvs-pod(src/urxvt.pm,Perl) cvs-co(Changes) irc(rxvt) irc(rxvtdev)
345 rxvt-unicode is a fork of the well known terminal emulator rxvt. 353 rxvt-unicode is a fork of the well known terminal emulator rxvt.
346 354
347 <p>If you have a problem, please have a look at the 355 <p>If you have a problem, please have a look at the
348 <a href="http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.html">FAQ</a> 356 <a href="http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.html">FAQ</a>
349 <em>first</em>.</p> 357 <em>first</em>.</p>
388 <br /> 396 <br />
389 And its main <em>missing</em> features (which users request but are not (yet?) implemented) are: 397 And its main <em>missing</em> features (which users request but are not (yet?) implemented) are:
390 398
391 <ul> 399 <ul>
392 <li>Complex script support, such as arabic or tibetian - more info is needed. (use mlterm)</li> 400 <li>Complex script support, such as arabic or tibetian - more info is needed. (use mlterm)</li>
393 <li>Right-to-Left rendering - more info is needed. (use mlterm)</li> 401 <li>Right-to-Left rendering - more info is needed. (use mlterm)</li>
394 <li>IIIMF (Intranet/Internet Input Method Framework) support. (use scim)</li> 402 <li>IIIMF (Intranet/Internet Input Method Framework) support. (use scim)</li>
395 </ul> 403 </ul>
396 404
397 <br /> 405 <br />
398 406
401 #rxvt-unicode</tt></a>. 409 #rxvt-unicode</tt></a>.
402 410
403libptytty dist list(rxvt-unicode) cvs-pod(doc/libptytty.3.pod) cvs-co(Changes) 411libptytty dist list(rxvt-unicode) cvs-pod(doc/libptytty.3.pod) cvs-co(Changes)
404 libptytty is an offspring of rxvt-unicode that handles pty/tty/utmp/wtmp/lastlog handling 412 libptytty is an offspring of rxvt-unicode that handles pty/tty/utmp/wtmp/lastlog handling
405 in mostly OS-independent ways, so it's less of a hassle for you :) 413 in mostly OS-independent ways, so it's less of a hassle for you :)
414
415vt102 list(perl) cvs-co(vt102)
416 <code>vt102</code> is a vt100/102/131 hardware simulator, implementing
417 practical and 100% compatible DEC VT terminal "emulation".
418
419 Most terminal emulators nowadays strive to emulate a DEC VT102
420 terminal (even those claiming to emulate a VT100 usually mean
421 VT102). Unfortunately, even though there are some VT100 simulators,
422 there haven't been any DEC VT102 ones, so it was very hard to test
423 compatibility with the real device.
424
425 Thanks to this simulator, one can now test how the "real" VT102 behaves,
426 and as free extra, it also simulates DEC VT100 and DEC VT131 terminals.
427
428 ROMs are included - a standard Perl 5.10+ installation, the
429 <code>stty</code> utility and the <code>IO::Pty</code> module are
430 required to run the script, and rxvt-unicode, xterm or a similar terminal
431 emulation is required to have display/keyboard support.
406 432
407gtkbfc cvs-pod(README) 433gtkbfc cvs-pod(README)
408 Gtk+ bash file chooser replacement. 434 Gtk+ bash file chooser replacement.
409 435
410 <b>gtkbfc</b> is a hack that replaces the dreaded, slow and hard-to-use GTK+ 436 <b>gtkbfc</b> is a hack that replaces the dreaded, slow and hard-to-use GTK+
469 It could be used to write Knuddels clients, bots and even servers 495 It could be used to write Knuddels clients, bots and even servers
470 (although the latter doesn't make much sense, the protocol is rather 496 (although the latter doesn't make much sense, the protocol is rather
471 ugly. If you want to implement your own group communication server, use 497 ugly. If you want to implement your own group communication server, use
472 IRC instead). 498 IRC instead).
473 499
474AnyEvent-IRC cpan-elmex git-pod(lib/AnyEvent/IRC.pm,) git-co(Changes) git-co(samples/anyeventirccl) git-co(samples/anyeventirc) list(anyevent) irc(anyevent)
475 This module provides an alternative to the Net-IRC and Net-IRC2
476 modules. Its design rationale is offering a 100% non-blocking
477 callback-based interface, RFC-compliant parsing and a lightweight
478 approach to modularity and reusability.
479
480AnyEvent-ReadLine-Gnu cpan cvs-pod(Gnu.pm,) list(anyevent) irc(anyevent) 500AnyEvent-ReadLine-Gnu cpan cvs-pod(Gnu.pm,) list(anyevent) irc(anyevent)
481 This is a small interface to Term::ReadLine::Gnu for event-based programs. 501 This is a small interface to Term::ReadLine::Gnu for event-based programs.
482 502
483 This module has event-based readline, as well as asynchronous message printing 503 This module has event-based readline, as well as asynchronous message printing
484 with readline figured out for you. 504 with readline figured out for you.
502 programs when otherwise you couldn't - for example, when you use POSIX 522 programs when otherwise you couldn't - for example, when you use POSIX
503 threads in your perl process then it generally isn't safe to call 523 threads in your perl process then it generally isn't safe to call
504 fork from perl, but it is safe to use this module to execute external 524 fork from perl, but it is safe to use this module to execute external
505 processes. 525 processes.
506 526
507AnyEvent-Fork cpan cvs-pod(Fork.pm,) cvs-pod(Fork/Early.pm) cvs-pod(Fork/Template) cvs-co(Changes) 527AnyEvent-Fork cpan cvs-pod(Fork.pm,) cvs-pod(Fork/Early.pm) cvs-pod(Fork/Template.pm) cvs-co(Changes) list(anyevent) irc(anyevent)
508 Everything you wanted to use fork() for, but couldn't. 528 Everything you wanted to use fork() for, but couldn't.
509 529
510 This module allows you to create new processes, without actually forking 530 This module allows you to create new processes, without actually forking
511 them from your current process (avoiding the problems of forking), but 531 them from your current process (avoiding the problems of forking), but
512 preserving most of the advantages of fork. 532 preserving most of the advantages of fork.
514 It can be used to create new worker processes or new independent 534 It can be used to create new worker processes or new independent
515 subprocesses for short- and long-running jobs, process pools (e.g. for 535 subprocesses for short- and long-running jobs, process pools (e.g. for
516 use in pre-forked servers) but also to spawn new external processes (such 536 use in pre-forked servers) but also to spawn new external processes (such
517 as CGI scripts from a webserver), which can be faster (and more well 537 as CGI scripts from a webserver), which can be faster (and more well
518 behaved) than using fork+exec in big processes. 538 behaved) than using fork+exec in big processes.
539
540AnyEvent-Fork-Remote cpan cvs-pod(Remote.pm,) cvs-co(Changes) list(anyevent) irc(anyevent)
541 Remote processes with AnyEvent::Fork interface
542
543 Despite what the name of this module might suggest, it doesn't actually
544 create remote processes for you. But it does make it easy to use them,
545 once you have started them.
546
547 This module implements a very similar API as AnyEvent::Fork. In fact,
548 similar enough to require at most minor modifications to support both
549 at the same time. For example, it works with AnyEvent::Fork::RPC and
550 AnyEvent::Fork::Pool.
551
552AnyEvent-Fork-RPC cpan cvs-pod(RPC.pm,) cvs-co(Changes) list(anyevent) irc(anyevent)
553 Simple RPC extension for AnyEvent::Fork
554
555 This module implements a simple RPC protocol and backend for processes
556 created via AnyEvent::Fork, allowing you to call a function in the
557 child process and receive its return values (up to 4GB serialised).
558
559 It implements two different backends: a synchronous one that works like a
560 normal function call, and an asynchronous one that can run multiple jobs
561 concurrently in the child, using AnyEvent.
562
563 It also implements an asynchronous event mechanism from the child to the
564 parent, that could be used for progress indications or other information.
565
566AnyEvent-Fork-Pool cpan cvs-pod(Pool.pm,) cvs-co(Changes) list(anyevent) irc(anyevent)
567 Simple process pool manager on top of AnyEvent::Fork and AnyEvent::Fork::RPC.
568
569 This module uses processes created via AnyEvent::Fork and the RPC
570 protocol implement in AnyEvent::Fork::RPC to create a load-balanced pool
571 of processes that handles jobs.
572
573 Understanding of AnyEvent::Fork is helpful but not critical to be able
574 to use this module, but a thorough understanding of AnyEvent::Fork::RPC
575 is, as it defines the actual API that needs to be implemented in the
576 children.
519 577
520Guard cpan cvs-pod(Guard.pm,) cvs-co(Changes) 578Guard cpan cvs-pod(Guard.pm,) cvs-co(Changes)
521 This small module implements scope and object guards, that is, code blocks 579 This small module implements scope and object guards, that is, code blocks
522 that are executed when a scope is being exited (or an object is destroyed). 580 that are executed when a scope is being exited (or an object is destroyed).
523 581
721 A perl module implementing an AnyEvent client for the (pre-xml) GPSD protocol. 779 A perl module implementing an AnyEvent client for the (pre-xml) GPSD protocol.
722 780
723AnyEvent-Porttracker cpan cvs-pod(Porttracker.pm,) cvs-pod(Porttracker/protocol.pod,api-protocol) list(anyevent) irc(anyevent) 781AnyEvent-Porttracker cpan cvs-pod(Porttracker.pm,) cvs-pod(Porttracker/protocol.pod,api-protocol) list(anyevent) irc(anyevent)
724 A perl module implementing a client for the Porttracker/PortIQ API protocol. 782 A perl module implementing a client for the Porttracker/PortIQ API protocol.
725 783
784AnyEvent-ZabbixSender cpan cvs-pod(ZabbixSender.pm,) list(anyevent) irc(anyevent)
785 A perl module implementing an AnyEvent client for the zabbix_sender protocol, used to submit
786 monitoring data items to a zabbix server or proxy.
787
726AnyEvent-SNMP cpan cvs-pod(SNMP.pm,) list(anyevent) irc(anyevent) 788AnyEvent-SNMP cpan cvs-pod(SNMP.pm,) list(anyevent) irc(anyevent)
727 A perl module that transparently integrates Net::SNMP into AnyEvent. 789 A perl module that transparently integrates Net::SNMP into AnyEvent.
728 790
729 In addition to making Net::SNMP AnyEvent-aware, this module also 791 In addition to making Net::SNMP AnyEvent-aware, this module also
730 implements advanced rate-limiting that enables you to query many devices 792 implements advanced rate-limiting that enables you to query many devices
753 The caller is responsible for authentication management, cookies (if 815 The caller is responsible for authentication management, cookies (if
754 the simplistic implementation in this module doesn't suffice), referer 816 the simplistic implementation in this module doesn't suffice), referer
755 and other high-level protocol details for which this module offers only 817 and other high-level protocol details for which this module offers only
756 limited support. 818 limited support.
757 819
820AnyEvent-WebDriver cpan cvs-pod(WebDriver.pm,) cvs-co(Changes) list(anyevent) irc(anyevent)
821 A thin wrapper around the <a href="https://www.w3.org/TR/webdriver1/">W3C WebDriver</a> protocol
822 (<a href="https://www.seleniumhq.org/">"Selenium"</a> browser remote control)
823
824 This module implements a relatively thin but easy to use wrapper around the
825 raw <a href="https://www.w3.org/TR/webdriver1/">W3C WebDriver</a> protocol
826 (think <a href="https://www.seleniumhq.org/">"Selenium"</a>, that let's you remote control
827 popular browsers such as Firefox, Chromium, Safari, IE and the like.
828
758AnyEvent-MP cpan cvs-pod(MP.pm,) cvs-pod(MP/Intro.pod,Introduction/Tutorial) cvs-pod(bin/aemp,Config-Uility) cvs-pod(MP/Kernel.pm) cvs-pod(MP/Global.pm) cvs-pod(MP/Transport.pm) cvs-pod(MP/DataConn.pm) cvs-pod(MP/LogCatcher.pm) cvs-co(Changes) list(anyevent) irc(anyevent) 829AnyEvent-MP cpan cvs-pod(MP.pm,) cvs-pod(MP/Intro.pod,Introduction/Tutorial) cvs-pod(bin/aemp,Config-Uility) cvs-pod(MP/Kernel.pm) cvs-pod(MP/Global.pm) cvs-pod(MP/Transport.pm) cvs-pod(MP/DataConn.pm) cvs-pod(MP/LogCatcher.pm) cvs-co(Changes) list(anyevent) irc(anyevent)
759 This Perl module (-family) implements a simple message passing framework for Perl. 830 This Perl module (-family) implements a simple message passing framework for Perl.
760 831
761 Despite its simplicity, you can securely message other processes running 832 Despite its simplicity, you can securely message other processes running
762 on the same or other hosts. 833 on the same or other hosts.
780 This module implements asynchronous DBI access my forking or executing 851 This module implements asynchronous DBI access my forking or executing
781 separate "DBI-Server" processes and sending them requests. 852 separate "DBI-Server" processes and sending them requests.
782 853
783 It means that you can run DBI requests in parallel to other tasks. 854 It means that you can run DBI requests in parallel to other tasks.
784 855
785AnyEvent-HTTPD cpan-elmex git-pod(lib/AnyEvent/HTTPD.pm,) git-co(Changes) list(anyevent) irc(anyevent)
786 A simple and plain event based http web application server Perl module.
787
788 This is a very basic HTTP server that allows the user/programmer to install
789 hooks for URL paths to generate the output. It uses AnyEvent to be easily
790 embeddable into other applications. The main objective was to make it
791 easier to make simple HTTP frontends in Perl for Perl programs and Perl modules.
792
793AnyEvent-Feed cpan-elmex git-pod(lib/AnyEvent/Feed.pm,) git-co(Changes) list(anyevent) irc(anyevent)
794 A RSS/Atom Feed aggregator.
795
796 This module uses AnyEvent::HTTP and XML::Feed to fetch and parse RSS and Atom
797 feeds. It provides aggregation (detecting of new entries) to provide an easy
798 interface for simple feed readers.
799
800AnyEvent-Twitter cpan-elmex git-pod(lib/AnyEvent/Twitter.pm,) git-co(Changes) list(anyevent) irc(anyevent)
801 Implementation of the Twitter API for AnyEvent.
802
803 Provides a simple non-blocking API to access information (aka tweets) provided
804 by <a href="http://www.twitter.com">Twitter</a>.
805
806AnyEvent-IGS cpan-elmex git-pod(lib/AnyEvent/IGS.pm,) git-co(Changes) list(anyevent) irc(anyevent)
807 A Perl module that interfaces to the International Go Server.
808
809 This module is an AnyEvent-based interface to the International Go Server
810 protocol.
811
812AnyEvent-EditText cpan-elmex git-pod(lib/AnyEvent/EditText.pm,) git-co(Changes) list(anyevent) irc(anyevent)
813 A Perl module which allows editing any text via an editor in a separate process.
814
815 A utility Perl module that will start a terminal/editor for you and will
816 wait non-blocking for you to finish editing that file. Very useful to embed
817 content edititing in event based programs that have a AnyEvent compatible
818 event loop.
819
820Array-Heap cpan cvs-pod(Heap.pm,) cvs-co(Changes) 856Array-Heap cpan cvs-pod(Heap.pm,) cvs-co(Changes)
821 A Perl module that implements C++ STL-like binary heap operations. 857 A Perl module that implements C++ STL-like binary heap operations.
822 858
823Audio-Play-MPG123 cpan cvs-pod(MPG123.pm,) cvs-co(Changes) 859Audio-Play-MPG123 cpan cvs-pod(MPG123.pm,) cvs-co(Changes)
824 A Perl module implementing an interface to mpg123. 860 A Perl module implementing an interface to mpg123.
825
826BK git-pod(lib/BK.pm,) git-pod(lib/BK/News.pod,News) git-co(Changes) git-pod(lib/BK/Client.pm,BK::Client) git-pod(lib/BK/Backend.pm,BK::Backend)
827 Bummskraut is a distributed chat/messaging client framework written in Perl
828 using <a href="/pkg/AnyEvent-MP.html">AnyEvent::MP</a>.
829
830 For more documentation please consult the main manpage (see below). If you
831 want to check on the latest news proceed to the news or changelog (see also
832 below).
833 861
834Compress-LZV1 cpan cvs-pod(LZV1.pm,) cvs-co(Changes) 862Compress-LZV1 cpan cvs-pod(LZV1.pm,) cvs-co(Changes)
835 A Perl module implementing the LZV1 compression algorithm. See 863 A Perl module implementing the LZV1 compression algorithm. See
836 <tt>Compress::LZF</tt> for a better algorithm and module. 864 <tt>Compress::LZF</tt> for a better algorithm and module.
837 865
864 892
865 This perl module patches libmysqlclient/DBD::mysql at runtime to allow 893 This perl module patches libmysqlclient/DBD::mysql at runtime to allow
866 multiple Coro-based threads to make database accesses concurrently, 894 multiple Coro-based threads to make database accesses concurrently,
867 instead of blocking the whole process. 895 instead of blocking the whole process.
868 896
897Coro-Multicore cpan cvs-co(Changes) cvs-pod(Multicore.pm,) cvs-pod(perlmulticore.h) list(anyevent) irc(anyevent)
898 Runs XS functions transparently in their own XS level thread,
899 running other Coro threads in parallel.
900
901 This perl module allows XS functions that have been properly prepared
902 (see the <a href="http://perlmulticore.schmorp.de">Perl Multicore
903 Specification</a>) to run in parallel to other Coro threads, in their own
904 OS level thread.
905
906Crypt-Ed25519 cpan cvs-pod(Ed25519.pm,) cvs-co(Changes)
907 A Perl module implementing Ed25519 public key signing and verification.
908
909Crypt-Spritz cpan cvs-pod(Spritz.pm,) cvs-co(Changes)
910 A Perl module implementing the Spritz family of cryptographic algorithms,
911 giving you a stream cipher, a hash, a mac, authenticated encryption
912 with associated data (AEAD) and a cryptographically secure random
913 number generator, at reasonable speed and with very small code size, making
914 Spritz an attractive algorithm for resource-constrained environments
915 such as javascript in your browser, or microcontrollers.
916
869Crypt-Twofish2 cpan cvs-pod(Twofish2.pm,) cvs-co(Changes) 917Crypt-Twofish2 cpan cvs-pod(Twofish2.pm,) cvs-co(Changes)
870 A Perl module implementing the twofish encryption algorithm in Perl. It has 918 A Perl module implementing the twofish encryption algorithm in Perl. It has
871 mostly been superceded by the Crypt::Twofish module. However, it supports 919 mostly been superceded by the Crypt::Twofish module. However, it supports
872 an easy and fast CBC mode natively. 920 an easy and fast CBC mode natively.
873 921
874Digest-Hashcash cpan cvs-pod(Hashcash.pm,) cvs-co(Changes) 922Digest-Hashcash cpan cvs-pod(Hashcash.pm,) cvs-co(Changes)
875 Perl module to generate and parse <a href="http://www.hashcash.org">hashcashes</a>. 923 Perl module to generate and parse <a href="http://www.hashcash.org">hashcashes</a>.
876 Follow the link to learn more. This module is currently faster than 924 Follow the link to learn more. This module is currently faster than
877 the hashcash reference library. 925 the hashcash reference library.
926
927Digest-FNV-XS cpan cvs-pod(XS.pm,) cvs-co(Changes)
928 Perl module to generate FNV hashes (FNV-0, FNV-1, FNV-1a in 32 and 64 bit)
929 plus utiilities for xor folding and retry mapping. The main selling
930 point over Digest::FNV is that it works with binary data.
878 931
879EV cpan cvs-pod(EV.pm,) cvs-pod(../libev/ev.pod,libev-documentation) cvs-pod(EV/MakeMaker.pm) cvs-co(Changes) list(libev) 932EV cpan cvs-pod(EV.pm,) cvs-pod(../libev/ev.pod,libev-documentation) cvs-pod(EV/MakeMaker.pm) cvs-co(Changes) list(libev)
880 A thin wrapper around <a href="/pkg/libev.html">libev</a>, a 933 A thin wrapper around <a href="/pkg/libev.html">libev</a>, a
881 high-performance event loop. Intended as a faster and less buggy 934 high-performance event loop. Intended as a faster and less buggy
882 replacement for the Event perl module. Efficiently supports very high 935 replacement for the Event perl module. Efficiently supports very high
930 983
931 This project delivers you many gcc builtins, attributes and a number of 984 This project delivers you many gcc builtins, attributes and a number of
932 generally useful low-level functions, such as popcount, expect, prefetch, 985 generally useful low-level functions, such as popcount, expect, prefetch,
933 noinline, assume, unreachable and so on. 986 noinline, assume, unreachable and so on.
934 987
935gvpe dist-gnu 988gvpe dist-gnu cvs-pod(doc/gvpe.5.pod,) cvs-pod(doc/gvpe.conf.5.pod) cvs-pod(doc/gvpectrl.8.pod) cvs-pod(doc/gvpe.8.pod) cvs-pod(doc/gvpe.protocol.7.pod) cvs-pod(doc/gvpe.osdep.5.pod)
936 GVPE creates a virtual ethernet network with multiple nodes using a 989 GVPE creates a virtual ethernet network with multiple nodes using a
937 variety of transport protocols. Participating nodes do not need to trust 990 variety of transport protocols. Participating nodes do not need to trust
938 each other. 991 each other.
939 992
940 GVPE creates a virtual ethernet (broadcasts supported, any protocol that 993 GVPE creates a virtual ethernet (broadcasts supported, any protocol that
1044 JSON encoders available for Perl, it supports a variety of format options, 1097 JSON encoders available for Perl, it supports a variety of format options,
1045 such as single-line, ASCII-only or pretty-printed and can be tuned for 1098 such as single-line, ASCII-only or pretty-printed and can be tuned for
1046 speed or memory usage. It comes with a wealth of documentation describing 1099 speed or memory usage. It comes with a wealth of documentation describing
1047 usage and implementation details. 1100 usage and implementation details.
1048 1101
1102CBOR-XS cpan cvs-pod(XS.pm,) cvs-co(Changes)
1103 CBOR::XS implements the Concise Binary Object Representation (RFC 7049),
1104 which is a kind of "binary JSON" that also has the ability to cleanly
1105 serialise objects. Unlike other binary formats, CBOR is actually capable
1106 of representing all JSON texts, not just a subset of them.
1107
1108Types-Serialiser cpan cvs-pod(Serialiser.pm,) cvs-co(Changes)
1109 This module is an utility module that provides a few simple datatypes,
1110 constants and a serialisation protocol for CBOR::XS. It could be used
1111 for other, similar, serialisation modules (such as JSON::XS), and would
1112 improve interoperability between those modules.
1113
1049Games-Go-SimpleBoard cpan cvs-pod(SimpleBoard.pm,) cvs-co(Changes) 1114Games-Go-SimpleBoard cpan cvs-pod(SimpleBoard.pm,) cvs-co(Changes)
1050 A Perl module representing a go board. 1115 A Perl module representing a go board.
1051 1116
1052 This Perl module represents a Go game. It can check for valid moves, 1117 This Perl module represents a Go game. It can check for valid moves,
1053 capture stones, stores move history and can represent a variety of 1118 capture stones, stores move history and can represent a variety of
1153 1218
1154dhcpping cvs-pod(dhcping.pod,) 1219dhcpping cvs-pod(dhcping.pod,)
1155 A version of dhcpping enhanced by <a href="mailto:marco@nethype.de">Marco Maisenhelder</a> 1220 A version of dhcpping enhanced by <a href="mailto:marco@nethype.de">Marco Maisenhelder</a>
1156 to support passing dhcp options. Intended to test dhcp server implementations. 1221 to support passing dhcp options. Intended to test dhcp server implementations.
1157 1222
1158Object-Event cpan-elmex git-pod(lib/Object/Event.pm,) git-co(Changes)
1159 A simple event callback API for Perl.
1160
1161 This is just a very simple event callback registration and call API
1162 which new Perl classes can inherit. It's mainly used by AnyEvent::XMPP.
1163
1164psycpp git
1165 A project that was aimed to implement a PSYC server in C++.
1166
1167 This is a mostly abandoned project at the moment, however, the repository
1168 contains interesting C++ code that might be useful to someone, especially
1169 the C++ JSON implementation might be of interest. The project is mostly
1170 dead at the moment though...
1171
1172GT.M git-co(README)
1173 GT.M Database
1174
1175 <a href="http://sourceforge.net/projects/fis-gtm/">GT.M</a>
1176 is a a vetted, industrial strength, transaction
1177 processing application platform consisting of a
1178 database engine optimized for high TP throughput and
1179 a compiler for the M (aka MUMPS) programming language.
1180
1181fcrackzip cvs-co(fcrackzip.html) 1223fcrackzip cvs-co(fcrackzip.html)
1182 <b>fcrackzip</b> is a zip password cracker, similar to fzc, zipcrack and others. 1224 <b>fcrackzip</b> is a zip password cracker, similar to fzc, zipcrack and others.
1183 1225
1184 <h3>Why, the hell, another zip cracker?</h3> 1226 <h3>Why, the hell, another zip cracker?</h3>
1185 1227
1279 users to manage their channels in a secure and efficient way and 1321 users to manage their channels in a secure and efficient way and
1280 allows operators to manage various things about their networks. 1322 allows operators to manage various things about their networks.
1281 Ermyth has been ported to C++ and goes its way using modern concepts 1323 Ermyth has been ported to C++ and goes its way using modern concepts
1282 and the object oriented paradigm. 1324 and the object oriented paradigm.
1283 1325
1326ExtUtils-CXX cpan cvs-pod(CXX.pm,) cvs-co(Changes) list(perl) irc(schmorp)
1327 Try to treat .xs files as C++ rather than C in your module.
1328
1329 This module can be used to compile C++ XS files. It might not be perfect,
1330 but is meant aa single point that needs patching, so other modules who rely on
1331 it do not have to be pqatched every single time.
1332

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines