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

Comparing cvsroot/schmorpforge/genpage (file contents):
Revision 1.80 by root, Fri Dec 10 20:21:06 2010 UTC vs.
Revision 1.96 by root, Sat Mar 24 22:19:09 2012 UTC

6mkdir "software.schmorp.de/pkg", 0755; 6mkdir "software.schmorp.de/pkg", 0755;
7mkdir "software.schmorp.de/img", 0755; 7mkdir "software.schmorp.de/img", 0755;
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 freenode => ["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", ", users <tt>schmorp</tt> and <tt>elmex</tt>"],
14 schmorp => ["irc.schmorp.de", "#schmorpforge", "http://chat.schmorp.de/?channels=schmorpforge", ", users <tt>schmorp</tt> and <tt>elmex</tt>"],
14 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", ""],
15 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>"],
16); 17);
17 18
18sub hdr($$) { 19sub hdr($$) {
26 body { 27 body {
27 background: white; 28 background: white;
28 color: black; 29 color: black;
29 font-family: Arial, Helvetica, sans-serif; 30 font-family: Arial, Helvetica, sans-serif;
30 font-size: 12pt; 31 font-size: 12pt;
32 margin: 0;
33 padding: 0;
31 } 34 }
32 35
33 .bg-ede { background: url(/img/ede.jpg) no-repeat; padding: 20px; width: 100%; height: 82px; } 36 .bg-ede { background: url(/img/ede.jpg) no-repeat; padding: 20px; width: 100%; height: 82px; }
34 .bg-perl { background: url(/img/perl.jpg) no-repeat; padding: 20px; width: 100%; height: 194px; } 37 .bg-perl { background: url(/img/perl.jpg) no-repeat; padding: 20px; width: 100%; height: 194px; }
35 .bg-bluete { background: url(/img/bluete.jpg) no-repeat; padding: 20px; width: 100%; height: 148px; } 38 .bg-bluete { background: url(/img/bluete.jpg) no-repeat; padding: 20px; width: 100%; height: 148px; }
48 color: #034; 51 color: #034;
49 } 52 }
50 .short-desc { 53 .short-desc {
51 font-weight: bold; 54 font-weight: bold;
52 padding: 3px 3px 3px 8px; 55 padding: 3px 3px 3px 8px;
53 margin: 1em 1px 1px 13px; 56 margin: 0 1px 0 13px;
54 } 57 }
55 h2 { 58 h2 {
56 color: #069; 59 color: #069;
57 font-weight: bold; 60 font-weight: bold;
58 border: solid red; 61 border: solid red;
59 border-width: 0 0 0 12px; 62 border-width: 0 0 0 12px;
60 padding: 3px 3px 3px 8px; 63 padding: 3px 3px 3px 8px;
61 margin: 1em 1px 1px 1px; 64 margin: 0 1px 0 1px;
62 } 65 }
63 p { 66 p {
64 padding: 3px 3px 3px 8px; 67 padding: 3px 3px 3px 8px;
65 margin: 1em 1px 1px 13px; 68 margin: 0 1px 0 13px;
66 } 69 }
67 h3 { color: #034; } 70 h3 { color: #034; }
68 h4 { color: #034; } 71 h4 { color: #034; }
69 72
70 img { display: block; } 73 img { display: block; }
103 } 106 }
104 107
105 .overview th { border-top: 1px dashed #aaa; vertical-align: top; text-align: left; padding: 0.2ex; } 108 .overview th { border-top: 1px dashed #aaa; vertical-align: top; text-align: left; padding: 0.2ex; }
106 .overview td { border-top: 1px dashed #aaa; vertical-align: top; text-align: left; padding: 0.2ex; } 109 .overview td { border-top: 1px dashed #aaa; vertical-align: top; text-align: left; padding: 0.2ex; }
107 110
108 hr.footer { display: none; } 111 hr { display: none; }
109 .footer { font-size: 8pt; border-top: 1px solid red; } 112 .footer { font-size: 8pt; border-top: 1px solid red; }
113
114 .section { margin: 0; padding: 0.5em 4px 0.5em 4px; }
115 .section-topnav { background: #f0ef8b; padding: 0px 4px 1px 4px; }
116 .section-header { background: white ; padding-top: 0; }
117 .section-footer { background: #f0ef8b; }
118 .section-overview { background: white ; }
119
120 .section-short-desc { background: white ; }
121 .section-blurb { background: white ; }
122 .section-resources { background: white ; }
123 .section-documents { background: white ; }
124 .section-about { background: white ; }
125
110 </style> 126 </style>
111</head> 127</head>
112<body> 128<body>
129<div class='section section-topnav'>
113<p class='back'><a href='/'>Schmorpforge Ta-Sa Software Repository</a></p> 130<p class='back'><a href='/'>Schmorpforge Ta-Sa Software Repository</a></p>
131</div>
132<div class='section section-header'>
114<h1 class="$_[1]">$_[0]</h1> 133<h1 class="$_[1]">$_[0]</h1>
115<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">
116<!-- 135<!--
117 <a title="Mach mit!" href="http://www.piratenpartei.de/navigation/politik/unsere-ziele"> 136 <a title="Mach mit!" href="http://www.piratenpartei.de/unsere_ziele">
118 <img src="http://res.tst.eu/denke_selbst.gif" alt="Werde Pirat!" width="468" height="60" border="0" /> 137 <img src="http://res.tst.eu/denke_selbst.gif" alt="Werde Pirat!" width="468" height="60" border="0" />
119 </a> 138 </a>
120 <br /> 139 <br />
121--> 140-->
122 <a href="http://www.piratenpartei.de/navigation/politik/unsere-ziele"> 141 <a href="http://www.http://www.piratenpartei.de/unsere_ziele">
123 <img src="http://res.tst.eu/piraten1.png" alt="Piratenpartei" width="468" height="60" border="0" /> 142 <img src="http://res.tst.eu/piraten1.png" alt="Piratenpartei" width="468" height="60" border="0" />
124 </a> 143 </a>
125 <br /> 144 <br />
126 <a href="http://www.deliantra.net/"> 145 <a href="http://www.deliantra.net/">
127 <img src="http://www.deliantra.net/images/deliantra.png" border="0" alt="Deliantra Free MMORPG" style="display: inline"/> 146 <img src="http://www.deliantra.net/images/deliantra.png" border="0" alt="Deliantra Free MMORPG" style="display: inline"/>
128 <br /> 147 <br />
129 The free as in beer, liberal, code &amp; content retro-style graphical MMORPG :) 148 The free as in beer, liberal, code &amp; content retro-style graphical MMORPG :)
130 </a> 149 </a>
131</div> 150</div>
151</div>
132EOF 152EOF
133} 153}
134 154
135sub ftr { 155sub ftr {
136 print <<EOF; 156 print <<EOF;
157<div class='section section-footer'>
137<hr class='footer'/> 158<hr class='footer'/>
138<p class='footer'> 159<p class='footer'>
139 Contact for this page: <a href="mailto:schmorpforge\@schmorp.de">Marc Lehmann &lt;schmorpforge\@schmorp.de&gt;</a>. 160 Contact for this page: <a href="mailto:schmorpforge\@schmorp.de">Marc Lehmann &lt;schmorpforge\@schmorp.de&gt;</a>.
140</p> 161</p>
162</div>
141</body> 163</body>
142</html> 164</html>
143EOF 165EOF
144} 166}
145 167
154 $desc =~ s/^(.*?)\n\s*\n//s 176 $desc =~ s/^(.*?)\n\s*\n//s
155 or die "malformed desc in $name: $desc"; 177 or die "malformed desc in $name: $desc";
156 178
157 my $short = $1; 179 my $short = $1;
158 180
181 (my $id = $name) =~ y%/%-%;
159 $index{$name} = "<tr><th id='$name'><a href='pkg/$name.html'>$name</a></th><td>$short</td></tr>"; 182 $index{$name} = "<tr><th id='$id'><a href='pkg/$name.html'>$name</a></th><td>$short</td></tr>";
160 183
161 open STDOUT, ">", "software.schmorp.de/pkg/$name.html" 184 open STDOUT, ">", "software.schmorp.de/pkg/$name.html"
162 or die "software.schmorp.de/pkg/$name.html: $!"; 185 or die "software.schmorp.de/pkg/$name.html: $!";
163 186
164 my $bg = (grep /cpan/, @args) ? "bg-perl" : "bg-ede"; 187 my $bg = (grep /cpan/, @args) ? "bg-perl" : "bg-ede";
165 hdr $name, $bg; 188 hdr $name, $bg;
166 189
167 print <<EOF; 190 print <<EOF;
191<div class='section section-short-desc'>
168<h2>$name</h1> 192<h2>$name</h2>
169<p class='short-desc'>$short</p> 193<p class='short-desc'>$short</p>
194</div>
170 195
196<div class='section section-blurb'>
171<h2>Blurb</h2> 197<h2>Blurb</h2>
172<p class='blurb'>$desc</p> 198<p class='blurb'>$desc</p>
199</div>
200
201<div class='section section-resources'>
173<h2>Resources</h2> 202<h2>Resources</h2>
174<table class='resources'> 203<table class='resources'>
175EOF 204EOF
176 if (grep /git/, @args) { 205 if (grep /git/, @args) {
177 print <<EOF; 206 print <<EOF;
233 } 262 }
234 if (/irc\((.*?)\)/) { 263 if (/irc\((.*?)\)/) {
235 push @irc, $1; 264 push @irc, $1;
236 } 265 }
237 } 266 }
238 push @irc, "freenode" unless @irc; 267 push @irc, "schmorp" unless @irc;
239 for (@irc) { 268 for (@irc) {
240 my ($server, $channel, $url, $comment) = @{ $IRC{$_} or die }; 269 my ($server, $channel, $url, $comment) = @{ $IRC{$_} or die };
241 print "<tr><td><tt class='icon'>IRC</tt></td><td class='rr'>Server <a href='$url'><tt><b>$server</b></tt>, channel <tt>$channel</tt></a>$comment <b>(say hi and <i>wait a few minutes or hours</i>)</b></td></tr>\n"; 270 print "<tr><td><tt class='icon'>IRC</tt></td><td class='rr'>Server <a href='$url'><tt><b>$server</b></tt>, channel <tt>$channel</tt></a>$comment <b>(say hi and <i>wait a few minutes or hours</i>)</b></td></tr>\n";
242 } 271 }
243 272
244 print "</table>"; 273 print "</table>";
245 274
246 if (my @files = grep $_, map /(cvs-co|cvs-pod|git-pod|git-co)\((\S+)\)/ && [$1, $2], @args) { 275 if (my @files = grep $_, map /(cvs-co|cvs-pod|git-pod|git-co)\((\S+)\)/ && [$1, $2], @args) {
247 print "<h2>Additional Documents</h2><table class='resources'>"; 276 print "</div><div class='section section-documents'><h2>Additional Documents</h2><table class='resources'>";
248 277
249 for (@files) { 278 for (@files) {
250 my ($type, $arg) = @$_; 279 my ($type, $arg) = @$_;
251 280
252 if ($type eq "cvs-co") { 281 if ($type eq "cvs-co") {
268 } 297 }
269 } 298 }
270 299
271 print "</table>"; 300 print "</table>";
272 } 301 }
302 print "</div>";
273 303
274 ftr; 304 ftr;
275} 305}
276 306
277open STDOUT, ">software.schmorp.de/index.html"; 307open STDOUT, ">software.schmorp.de/index.html";
278 308
279hdr "Project List", "bg-bluete"; 309hdr "Project List", "bg-bluete";
280 310
281print <<EOF; 311print <<EOF;
282 312
313<div class='section section-about'>
283<h2>About</h2> 314<h2>About</h2>
284<p class='blurb'>This page briefly documents the Schmorpforge Ta-Sa Software Repository and 315<p class='blurb'>This page briefly documents the Schmorpforge Ta-Sa Software Repository and
285lists all projects available here.</p> 316lists all projects available here.</p>
317</div>
286 318
319<div class='section section-resources'>
287<table class='resources'> 320<table class='resources'>
288<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> 321<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>
289<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> 322<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>
290<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> 323<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>
291<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> 324<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>
292<!--<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>--> 325<!--<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>-->
293 326
294<!--<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>--> 327<!--<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>-->
295<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> 328<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>
296EOF
297
298print <<EOF;
299</table> 329</table>
330</div>
300 331
332<div class='section section-overview'>
301<h2>Project List</h2> 333<h2>Project List</h2>
302<table class='overview'> 334<table class='overview'>
303EOF 335EOF
304 336
305print $index{$_} for sort { (lc $a) cmp (lc $b) } keys %index; 337print $index{$_} for sort { (lc $a) cmp (lc $b) } keys %index;
306 338
307print "</table>"; 339print "</table></div>";
308ftr; 340ftr;
309 341
310__DATA__ 342__DATA__
311rxvt-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) 343rxvt-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)
312 rxvt-unicode is a fork of the well known terminal emulator rxvt. 344 rxvt-unicode is a fork of the well known terminal emulator rxvt.
408 your own clients, bots and so on. It also contains Gtk2 modules for 440 your own clients, bots and so on. It also contains Gtk2 modules for
409 KGS-independent rendering of beautiful Go boards. For a introduction to 441 KGS-independent rendering of beautiful Go boards. For a introduction to
410 the game of go, look <a href="http://playgo.to/interactive/">here</a>. 442 the game of go, look <a href="http://playgo.to/interactive/">here</a>.
411 443
412App-Staticperl cpan cvs-pod(bin/staticperl,) cvs-co(Changes) 444App-Staticperl cpan cvs-pod(bin/staticperl,) cvs-co(Changes)
413 Perl, libc, 50 modules - all in one self-contained 500kb executable. 445 Perl, libc, 100 modules - all in one self-contained 500kb executable.
414 446
415 App::Staticperl installs a helper script that allows you to install a 447 App::Staticperl installs a helper script that allows you to install a
416 statically linked (or linkable) perl distribution, install additional 448 statically linked (or linkable) perl distribution, install additional
417 modules, and create new perl interpreters with just the selection of 449 modules, and create new perl interpreters with just the selection of
418 modules you need. It is also possible to just create the C source files 450 modules you need. It is also possible to just create the C source files
419 needed to embed this custom interpreter into your own programs.<p /> 451 needed to embed this custom interpreter into your own programs.<p />
420 452
421 Two pre-built perl binaries which include some highly subjective 453 Two pre-built perl binaries (for Linux on x86 or amd64) which
422 package selection are available as 454 include some highly subjective package selections are available as
423 <a href="http://staticperl.schmorp.de/smallperl.html">smallperl</a> 455 <a href="http://staticperl.schmorp.de/smallperl.html">smallperl</a>
424 and 456 and
425 <a href="http://staticperl.schmorp.de/bigperl.html">bigperl</a>. 457 <a href="http://staticperl.schmorp.de/bigperl.html">bigperl</a>.
426 458
427Net-Knuddels cvs-pod(Net/Knuddels.pm,) 459Net-Knuddels cvs-pod(Net/Knuddels.pm,)
450 482
451 Much effort was invested into these guards behaving "sensibly" in the 483 Much effort was invested into these guards behaving "sensibly" in the
452 presence of thrown exceptions, errors and other adverse conditions, as 484 presence of thrown exceptions, errors and other adverse conditions, as
453 well as into good performance. 485 well as into good performance.
454 486
487OpenCL cpan cvs-pod(OpenCL.pm,) cvs-co(Changes)
488 An interface to OpenCL (the Open Computing Language) for Perl.
489
490 Perlized (not C-ish) OpenCL interface.
491
455common-sense cpan cvs-pod(sense.pm,) cvs-co(Changes) 492common-sense cpan cvs-pod(sense.pm,) cvs-co(Changes)
456 This module implements some sane defaults for Perl programs, as defined 493 This module implements some sane defaults for Perl programs, as defined
457 by two typical (or not so typical - use your common sense) specimens of 494 by two typical (or not so typical - use your common sense) specimens of
458 Perl coders. 495 Perl coders.
459 496
675 The caller is responsible for authentication management, cookies (if 712 The caller is responsible for authentication management, cookies (if
676 the simplistic implementation in this module doesn't suffice), referer 713 the simplistic implementation in this module doesn't suffice), referer
677 and other high-level protocol details for which this module offers only 714 and other high-level protocol details for which this module offers only
678 limited support. 715 limited support.
679 716
680AnyEvent-MP cpan cvs-pod(MP.pm,) cvs-pod(MP/Intro.pod,Introduction/Tutorial) cvs-co(Changes) list(anyevent) irc(anyevent) 717AnyEvent-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)
681 This Perl module (-family) implements a simple message passing framework for Perl. 718 This Perl module (-family) implements a simple message passing framework for Perl.
682 719
683 Despite its simplicity, you can securely message other processes running 720 Despite its simplicity, you can securely message other processes running
684 on the same or other hosts. 721 on the same or other hosts.
685 722
822 An adaptor that integrates the Net-SNMP Perl module into the EV event loop. 859 An adaptor that integrates the Net-SNMP Perl module into the EV event loop.
823 Loading it suffices to make background requests in EV programs. 860 Loading it suffices to make background requests in EV programs.
824 861
825libev cvs-co(README) cvs-pod(ev.pod) dist list(libev) 862libev cvs-co(README) cvs-pod(ev.pod) dist list(libev)
826 A full-featured and high-performance (<a 863 A full-featured and high-performance (<a
827 href="http://libev.schmorp.de/bench.html">see benchmark</a>) event loop that 864 href="http://libev.schmorp.de/bench.html">see benchmark</a>)
828 is loosely modelled after libevent, but without its limitations and bugs. It is 865 event loop that is loosely modelled after libevent, but without
829 used, among others, in the <a href="gvpe.html">GNU Virtual Private Ethernet</a> and 866 its limitations and bugs. It is used in
867 <a href="/pkg/gvpe.html">GNU Virtual Private Ethernet</a>,
830 <a href="rxvt-unicode.html">rxvt-unicode</a> packages, and in 868 <a href="/pkg/rxvt-unicode.html">rxvt-unicode</a>, <a
831 the Deliantra MORPG Server and Client. 869 href="http://people.redhat.com/sgrubb/audit/">auditd</a>, the
870 <a href="http://www.deliantra.,net">Deliantra MORPG</a> Server and Client,
871 and many other programs.
832 872
833 Features include child/pid watchers, periodic timers based on wallclock 873 Features include child/pid watchers, periodic timers based on wallclock
834 (absolute) time (in addition to timers using relative timeouts), as well 874 (absolute) time (in addition to timers using relative timeouts), as well
835 as epoll/kqueue/event ports/inotify/eventfd/signalfd support, fast timer 875 as epoll/kqueue/event ports/inotify/eventfd/signalfd support, fast timer
836 management, time jump detection and correction, and ease-of-use. 876 management, time jump detection and correction, and ease-of-use.
841 configuration support. A full-featured and well-documented 881 configuration support. A full-featured and well-documented
842 <a href="EV.html">perl interface</a> is also available. 882 <a href="EV.html">perl interface</a> is also available.
843 <p /> 883 <p />
844 A <a href="http://lists.schmorp.de/mailman/listinfo/libev">mailing 884 A <a href="http://lists.schmorp.de/mailman/listinfo/libev">mailing
845 list</a> for discussion and support is now available. 885 list</a> for discussion and support is now available.
886
887libecb cvs-co(README) cvs-pod(ecb.pod) cvs-co(ecb.h) dist list(libev)
888 The e compiler builtins header/library.
889
890 This project delivers you many gcc builtins, attributes and a number of
891 generally useful low-level functions, such as popcount, expect, prefetch,
892 noinline, assume, unreachable and so on.
846 893
847gvpe dist-gnu 894gvpe dist-gnu
848 GVPE creates a virtual ethernet network with multiple nodes using a 895 GVPE creates a virtual ethernet network with multiple nodes using a
849 variety of transport protocols. Participating nodes do not need to trust 896 variety of transport protocols. Participating nodes do not need to trust
850 each other. 897 each other.
994Linux-NBD cpan cvs-pod(lib/Linux/NBD.pm) cvs-pod(lib/Linux/NBD/Client.pm) cvs-pod(lib/Linux/NBD/Server.pm) cvs-co(Changes) 1041Linux-NBD cpan cvs-pod(lib/Linux/NBD.pm) cvs-pod(lib/Linux/NBD/Client.pm) cvs-pod(lib/Linux/NBD/Server.pm) cvs-co(Changes)
995 A Perl module that helps implementing netblock block device servers and 1042 A Perl module that helps implementing netblock block device servers and
996 set up NBD instances. A sample application allowing you to mount most CD 1043 set up NBD instances. A sample application allowing you to mount most CD
997 images is included. 1044 images is included.
998 1045
1046Linux-Clone cpan cvs-pod(Clone.pm) cvs-co(Changes)
1047 A Perl interface to the clone(2) and unshare(2) syscalls.
1048
1049Urlader cpan cvs-pod(Urlader.pm) cvs-co(Changes)
1050 A self-unpacking archive that can be used for program deployment and upgrades.
1051
1052 Much like PAR, this module provides a simple way to build (silently) self-extracting
1053 executables that can contain perl, modules and shared libraries. Unlike PAR it is not
1054 restricted to perl programs, works transparently, without any magic and can cache
1055 unpacked archives for extra speed. Also unlike PAR, it leaves you out in the cold
1056 on the problem of how to atcually gather your files into the distribution.
1057
999Mozilla-Plugin 1058Mozilla-Plugin
1000 Undocumented, unreleased and unfinished-but-somewhat-working Perl plug-in 1059 Undocumented, unreleased and unfinished-but-somewhat-working Perl plug-in
1001 for Mozilla (Netscape, Opera, IE...), that allows embedding Tk, Gtk etc. 1060 for Mozilla (Netscape, Opera, IE...), that allows embedding Tk, Gtk etc.
1002 plugins directly in the browser. 1061 plugins directly in the browser.
1003 1062

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines