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

Comparing cvsroot/schmorpforge/genpage (file contents):
Revision 1.114 by root, Fri Jul 25 07:24:02 2014 UTC vs.
Revision 1.130 by root, Sun Jun 16 01:23:08 2019 UTC

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/id/M/ML/MLEHMANN/'>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") {
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+
669 incorporate into your own programs. The compression algorithm is very, 695 incorporate into your own programs. The compression algorithm is very,
670 very fast, yet still written in portable C. More info and the latest 696 very fast, yet still written in portable C. More info and the latest
671 release can be found at the <a href="http://liblzf.plan9.de">LibLZF 697 release can be found at the <a href="http://liblzf.plan9.de">LibLZF
672 Homepage</a>. 698 Homepage</a>.
673 699
674root-tail cvs-co(README) cvs-co(Changes) 700root-tail cvs-co(root-tail.man.html) cvs-co(Changes)
675 Full-featured program to print text directly to the X11 root window. 701 Full-featured program to print text directly to the X11 root window.
676 702
677 More info, screenshots, documentation and current releases can be found 703 More info, screenshots, documentation and current releases can be found
678 at the <a href="http://root-tail.plan9.de">root-tail homepage</a>. 704 at the <a href="http://root-tail.plan9.de">root-tail homepage</a>.
679 705
680xcb cvs-co(README) cvs-co(Changes) 706xcb cvs-co(README) cvs-co(Changes)
681 A fork of the unmaintained xcb (x cut buffers) program implementing better i18n. 707 A fork of the unmaintained xcb (x cut buffers) program implementing better i18n.
708
709root-tail cvs-co(README) dist
710 Root-tail displays log files in the screen background - basiclaly a graphical <tt>tail -f</tt>.
711
712 Root-tail displays log files in the X root window or another window. It
713 can use different colours for different files, match log entries by
714 regular expressions and more.
715
716 It has gone through many hands over the years, and despite not having the
717 quality normally expected by me, it was useful enough to publish.
682 718
683lmainit cvs-co(NEWS) 719lmainit cvs-co(NEWS)
684 A sysvinit replacement that can even be configured to be sysvinit-compliant. 720 A sysvinit replacement that can even be configured to be sysvinit-compliant.
685 721
686 See <a href="http://home.schmorp.de/marc/lmainit.html">its homepage</a> for more info. 722 See <a href="http://home.schmorp.de/marc/lmainit.html">its homepage</a> for more info.
753 A perl module implementing an AnyEvent client for the (pre-xml) GPSD protocol. 789 A perl module implementing an AnyEvent client for the (pre-xml) GPSD protocol.
754 790
755AnyEvent-Porttracker cpan cvs-pod(Porttracker.pm,) cvs-pod(Porttracker/protocol.pod,api-protocol) list(anyevent) irc(anyevent) 791AnyEvent-Porttracker cpan cvs-pod(Porttracker.pm,) cvs-pod(Porttracker/protocol.pod,api-protocol) list(anyevent) irc(anyevent)
756 A perl module implementing a client for the Porttracker/PortIQ API protocol. 792 A perl module implementing a client for the Porttracker/PortIQ API protocol.
757 793
794AnyEvent-ZabbixSender cpan cvs-pod(ZabbixSender.pm,) list(anyevent) irc(anyevent)
795 A perl module implementing an AnyEvent client for the zabbix_sender protocol, used to submit
796 monitoring data items to a zabbix server or proxy.
797
758AnyEvent-SNMP cpan cvs-pod(SNMP.pm,) list(anyevent) irc(anyevent) 798AnyEvent-SNMP cpan cvs-pod(SNMP.pm,) list(anyevent) irc(anyevent)
759 A perl module that transparently integrates Net::SNMP into AnyEvent. 799 A perl module that transparently integrates Net::SNMP into AnyEvent.
760 800
761 In addition to making Net::SNMP AnyEvent-aware, this module also 801 In addition to making Net::SNMP AnyEvent-aware, this module also
762 implements advanced rate-limiting that enables you to query many devices 802 implements advanced rate-limiting that enables you to query many devices
784 824
785 The caller is responsible for authentication management, cookies (if 825 The caller is responsible for authentication management, cookies (if
786 the simplistic implementation in this module doesn't suffice), referer 826 the simplistic implementation in this module doesn't suffice), referer
787 and other high-level protocol details for which this module offers only 827 and other high-level protocol details for which this module offers only
788 limited support. 828 limited support.
829
830AnyEvent-WebDriver cpan cvs-pod(WebDriver.pm,) cvs-co(Changes) list(anyevent) irc(anyevent)
831 A thin wrapper around the <a href="https://www.w3.org/TR/webdriver1/">W3C WebDriver</a> protocol
832 (<a href="https://www.seleniumhq.org/">"Selenium"</a> browser remote control)
833
834 This module implements a relatively thin but easy to use wrapper around the
835 raw <a href="https://www.w3.org/TR/webdriver1/">W3C WebDriver</a> protocol
836 (think <a href="https://www.seleniumhq.org/">"Selenium"</a>, that let's you remote control
837 popular browsers such as Firefox, Chromium, Safari, IE and the like.
789 838
790AnyEvent-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) 839AnyEvent-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)
791 This Perl module (-family) implements a simple message passing framework for Perl. 840 This Perl module (-family) implements a simple message passing framework for Perl.
792 841
793 Despite its simplicity, you can securely message other processes running 842 Despite its simplicity, you can securely message other processes running
840 allows easy decoding of multipart mime, uuencode and a whole lot of 889 allows easy decoding of multipart mime, uuencode and a whole lot of
841 differently encoded messages. You basically throw files at it, and 890 differently encoded messages. You basically throw files at it, and
842 it extracts the files in them. This module is used by the popular <a 891 it extracts the files in them. This module is used by the popular <a
843 href="www.amavis.org">amavis virus scanner</a>. 892 href="www.amavis.org">amavis virus scanner</a>.
844 893
894Convert-BER-XS cpan cvs-pod(XS.pm,) cvs-co(Changes)
895 A <em>very</em> low level BER/DER decoder and encoder library.
896
897 This BER en-/decoder is tuned for speed and low memory usage,
898 representing all BER values as tuples (perl-arrays) consisting of (class,
899 tag, constructed, data).
900
845Coro cpan cvs-co(Changes) cvs-pod(Coro.pm,) cvs-pod(Coro/AIO.pm,Coro::AIO) cvs-pod(Coro/AnyEvent.pm,Coro::AnyEvent) cvs-pod(Coro/BDB.pm,Coro::BDB) cvs-pod(Coro/Channel.pm,Coro::Channel) cvs-pod(Coro/Debug.pm,Coro::Debug) cvs-pod(Coro/EV.pm,Coro::EV) cvs-pod(Coro/Event.pm,Coro::Event) cvs-pod(Coro/Handle.pm,Coro::Handle) cvs-pod(Coro/LWP.pm,Coro::LWP) cvs-pod(Coro/MakeMaker.pm,Coro::MakeMaker) cvs-pod(Coro/RWLock.pm,Coro::RWLock) cvs-pod(Coro/Select.pm,Coro::Select) cvs-pod(Coro/Semaphore.pm,Coro::Semaphore) cvs-pod(Coro/SemaphoreSet.pm,Coro::SemaphoreSet) cvs-pod(Coro/Signal.pm,Coro::Signal) cvs-pod(Coro/Socket.pm,Coro::Socket) cvs-pod(Coro/Specific.pm,Coro::Specific) cvs-pod(Coro/State.pm,Coro::State) cvs-pod(Coro/Storable.pm,Coro::Storable) cvs-pod(Coro/Timer.pm,Coro::Timer) cvs-pod(Coro/Util.pm,Coro::Util) list(anyevent) irc(anyevent) 901Coro cpan cvs-co(Changes) cvs-pod(Coro.pm,) cvs-pod(Coro/AIO.pm,Coro::AIO) cvs-pod(Coro/AnyEvent.pm,Coro::AnyEvent) cvs-pod(Coro/BDB.pm,Coro::BDB) cvs-pod(Coro/Channel.pm,Coro::Channel) cvs-pod(Coro/Debug.pm,Coro::Debug) cvs-pod(Coro/EV.pm,Coro::EV) cvs-pod(Coro/Event.pm,Coro::Event) cvs-pod(Coro/Handle.pm,Coro::Handle) cvs-pod(Coro/LWP.pm,Coro::LWP) cvs-pod(Coro/MakeMaker.pm,Coro::MakeMaker) cvs-pod(Coro/RWLock.pm,Coro::RWLock) cvs-pod(Coro/Select.pm,Coro::Select) cvs-pod(Coro/Semaphore.pm,Coro::Semaphore) cvs-pod(Coro/SemaphoreSet.pm,Coro::SemaphoreSet) cvs-pod(Coro/Signal.pm,Coro::Signal) cvs-pod(Coro/Socket.pm,Coro::Socket) cvs-pod(Coro/Specific.pm,Coro::Specific) cvs-pod(Coro/State.pm,Coro::State) cvs-pod(Coro/Storable.pm,Coro::Storable) cvs-pod(Coro/Timer.pm,Coro::Timer) cvs-pod(Coro/Util.pm,Coro::Util) list(anyevent) irc(anyevent)
846 A large Perl module family that implements cooperative multitasking in 902 A large Perl module family that implements cooperative multitasking in
847 Perl. It supports filehandle and event abstraction and also implements 903 Perl. It supports filehandle and event abstraction and also implements
848 continuations as well as the necessary directives to implement a slightly 904 continuations as well as the necessary directives to implement a slightly
849 limited call/cc in Perl. 905 limited call/cc in Perl.
853 909
854 This perl module patches libmysqlclient/DBD::mysql at runtime to allow 910 This perl module patches libmysqlclient/DBD::mysql at runtime to allow
855 multiple Coro-based threads to make database accesses concurrently, 911 multiple Coro-based threads to make database accesses concurrently,
856 instead of blocking the whole process. 912 instead of blocking the whole process.
857 913
914Coro-Multicore cpan cvs-co(Changes) cvs-pod(Multicore.pm,) cvs-pod(perlmulticore.h) list(anyevent) irc(anyevent)
915 Runs XS functions transparently in their own XS level thread,
916 running other Coro threads in parallel.
917
918 This perl module allows XS functions that have been properly prepared
919 (see the <a href="http://perlmulticore.schmorp.de">Perl Multicore
920 Specification</a>) to run in parallel to other Coro threads, in their own
921 OS level thread.
922
923Crypt-Ed25519 cpan cvs-pod(Ed25519.pm,) cvs-co(Changes)
924 A Perl module implementing Ed25519 public key signing and verification.
925
926Crypt-Spritz cpan cvs-pod(Spritz.pm,) cvs-co(Changes)
927 A Perl module implementing the Spritz family of cryptographic algorithms,
928 giving you a stream cipher, a hash, a mac, authenticated encryption
929 with associated data (AEAD) and a cryptographically secure random
930 number generator, at reasonable speed and with very small code size, making
931 Spritz an attractive algorithm for resource-constrained environments
932 such as javascript in your browser, or microcontrollers.
933
858Crypt-Twofish2 cpan cvs-pod(Twofish2.pm,) cvs-co(Changes) 934Crypt-Twofish2 cpan cvs-pod(Twofish2.pm,) cvs-co(Changes)
859 A Perl module implementing the twofish encryption algorithm in Perl. It has 935 A Perl module implementing the twofish encryption algorithm in Perl. It has
860 mostly been superceded by the Crypt::Twofish module. However, it supports 936 mostly been superceded by the Crypt::Twofish module. However, it supports
861 an easy and fast CBC mode natively. 937 an easy and fast CBC mode natively.
862 938
863Digest-Hashcash cpan cvs-pod(Hashcash.pm,) cvs-co(Changes) 939Digest-Hashcash cpan cvs-pod(Hashcash.pm,) cvs-co(Changes)
864 Perl module to generate and parse <a href="http://www.hashcash.org">hashcashes</a>. 940 Perl module to generate and parse <a href="http://www.hashcash.org">hashcashes</a>.
865 Follow the link to learn more. This module is currently faster than 941 Follow the link to learn more. This module is currently faster than
866 the hashcash reference library. 942 the hashcash reference library.
943
944Digest-FNV-XS cpan cvs-pod(XS.pm,) cvs-co(Changes)
945 Perl module to generate FNV hashes (FNV-0, FNV-1, FNV-1a in 32 and 64 bit)
946 plus utiilities for xor folding and retry mapping. The main selling
947 point over Digest::FNV is that it works with binary data.
867 948
868EV cpan cvs-pod(EV.pm,) cvs-pod(../libev/ev.pod,libev-documentation) cvs-pod(EV/MakeMaker.pm) cvs-co(Changes) list(libev) 949EV cpan cvs-pod(EV.pm,) cvs-pod(../libev/ev.pod,libev-documentation) cvs-pod(EV/MakeMaker.pm) cvs-co(Changes) list(libev)
869 A thin wrapper around <a href="/pkg/libev.html">libev</a>, a 950 A thin wrapper around <a href="/pkg/libev.html">libev</a>, a
870 high-performance event loop. Intended as a faster and less buggy 951 high-performance event loop. Intended as a faster and less buggy
871 replacement for the Event perl module. Efficiently supports very high 952 replacement for the Event perl module. Efficiently supports very high
1257 users to manage their channels in a secure and efficient way and 1338 users to manage their channels in a secure and efficient way and
1258 allows operators to manage various things about their networks. 1339 allows operators to manage various things about their networks.
1259 Ermyth has been ported to C++ and goes its way using modern concepts 1340 Ermyth has been ported to C++ and goes its way using modern concepts
1260 and the object oriented paradigm. 1341 and the object oriented paradigm.
1261 1342
1343ExtUtils-CXX cpan cvs-pod(CXX.pm,) cvs-co(Changes) list(perl) irc(schmorp)
1344 Try to treat .xs files as C++ rather than C in your module.
1345
1346 This module can be used to compile C++ XS files. It might not be perfect,
1347 but is meant aa single point that needs patching, so other modules who rely on
1348 it do not have to be pqatched every single time.
1349

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines