… | |
… | |
6 | mkdir "software.schmorp.de/pkg", 0755; |
6 | mkdir "software.schmorp.de/pkg", 0755; |
7 | mkdir "software.schmorp.de/img", 0755; |
7 | mkdir "software.schmorp.de/img", 0755; |
8 | system "rsync -av *.jpg software.schmorp.de/img/"; |
8 | system "rsync -av *.jpg software.schmorp.de/img/"; |
9 | |
9 | |
10 | our %IRC = ( |
10 | our %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 | |
18 | sub hdr($$) { |
19 | sub hdr($$) { |
… | |
… | |
105 | } |
106 | } |
106 | |
107 | |
107 | .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; } |
108 | .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; } |
109 | |
110 | |
110 | hr.footer { display: none; } |
111 | hr { display: none; } |
111 | .footer { font-size: 8pt; border-top: 1px solid red; } |
112 | .footer { font-size: 8pt; border-top: 1px solid red; } |
112 | |
113 | |
113 | .section { margin: 0 0 0 0; padding: 0.5em 4px 0.5em 4px; } |
114 | .section { margin: 0; padding: 0.5em 4px 0.5em 4px; } |
|
|
115 | .section-topnav { background: #f0ef8b; padding: 0px 4px 1px 4px; } |
114 | .section-header { background: white; } |
116 | .section-header { background: white ; padding-top: 0; } |
115 | .section-footer { background: white; } |
117 | .section-footer { background: #f0ef8b; } |
116 | .section-overview { background: white; } |
118 | .section-overview { background: white ; } |
117 | |
119 | |
118 | .section-short-desc { background: white; } |
120 | .section-short-desc { background: white ; } |
119 | .section-blurb { background: white; } |
121 | .section-blurb { background: white ; } |
120 | .section-resources { background: white; } |
122 | .section-resources { background: white ; } |
121 | .section-documents { background: white; } |
123 | .section-documents { background: white ; } |
122 | .section-about { background: white; } |
124 | .section-about { background: white ; } |
123 | |
125 | |
124 | </style> |
126 | </style> |
125 | </head> |
127 | </head> |
126 | <body> |
128 | <body> |
|
|
129 | <div class='section section-topnav'> |
|
|
130 | <p class='back'><a href='/'>Schmorpforge Ta-Sa Software Repository</a></p> |
|
|
131 | </div> |
127 | <div class='section section-header'> |
132 | <div class='section section-header'> |
128 | <p class='back'><a href='/'>Schmorpforge Ta-Sa Software Repository</a></p> |
|
|
129 | <h1 class="$_[1]">$_[0]</h1> |
133 | <h1 class="$_[1]">$_[0]</h1> |
130 | <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"> |
131 | <!-- |
135 | <!-- |
132 | <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"> |
133 | <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" /> |
134 | </a> |
138 | </a> |
135 | <br /> |
139 | <br /> |
136 | --> |
140 | --> |
137 | <a href="http://www.piratenpartei.de/navigation/politik/unsere-ziele"> |
141 | <a href="http://www.piratenpartei.de/unsere_ziele"> |
138 | <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" /> |
139 | </a> |
143 | </a> |
140 | <br /> |
144 | <br /> |
141 | <a href="http://www.deliantra.net/"> |
145 | <a href="http://www.deliantra.net/"> |
142 | <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"/> |
… | |
… | |
173 | or die "malformed desc in $name: $desc"; |
177 | or die "malformed desc in $name: $desc"; |
174 | |
178 | |
175 | my $short = $1; |
179 | my $short = $1; |
176 | |
180 | |
177 | (my $id = $name) =~ y%/%-%; |
181 | (my $id = $name) =~ y%/%-%; |
178 | $index{$name} = "<tr><th id='$id'><a href='pkg/$name.html'>$name</a></th><td>$short</td></tr>"; |
182 | $index{$name} = "<tr><th id='$id' style='white-space:nowrap'><a href='pkg/$name.html'>$name</a></th><td>$short</td></tr>"; |
179 | |
183 | |
180 | open STDOUT, ">", "software.schmorp.de/pkg/$name.html" |
184 | open STDOUT, ">", "software.schmorp.de/pkg/$name.html" |
181 | or die "software.schmorp.de/pkg/$name.html: $!"; |
185 | or die "software.schmorp.de/pkg/$name.html: $!"; |
182 | |
186 | |
183 | my $bg = (grep /cpan/, @args) ? "bg-perl" : "bg-ede"; |
187 | my $bg = (grep /cpan/, @args) ? "bg-perl" : "bg-ede"; |
… | |
… | |
258 | } |
262 | } |
259 | if (/irc\((.*?)\)/) { |
263 | if (/irc\((.*?)\)/) { |
260 | push @irc, $1; |
264 | push @irc, $1; |
261 | } |
265 | } |
262 | } |
266 | } |
263 | push @irc, "freenode" unless @irc; |
267 | push @irc, "schmorp" unless @irc; |
264 | for (@irc) { |
268 | for (@irc) { |
265 | my ($server, $channel, $url, $comment) = @{ $IRC{$_} or die }; |
269 | my ($server, $channel, $url, $comment) = @{ $IRC{$_} or die }; |
266 | 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"; |
267 | } |
271 | } |
268 | |
272 | |
… | |
… | |
470 | This module provides an alternative to the Net-IRC and Net-IRC2 |
474 | This module provides an alternative to the Net-IRC and Net-IRC2 |
471 | modules. Its design rationale is offering a 100% non-blocking |
475 | modules. Its design rationale is offering a 100% non-blocking |
472 | callback-based interface, RFC-compliant parsing and a lightweight |
476 | callback-based interface, RFC-compliant parsing and a lightweight |
473 | approach to modularity and reusability. |
477 | approach to modularity and reusability. |
474 | |
478 | |
|
|
479 | AnyEvent-ReadLine-Gnu cpan cvs-pod(Gnu.pm,) list(anyevent) irc(anyevent) |
|
|
480 | This is a small interface to Term::ReadLine::Gnu for event-based programs. |
|
|
481 | |
|
|
482 | This module has event-based readline, as well as asynchronous message printing |
|
|
483 | with readline figured out for you. |
|
|
484 | |
475 | Guard cpan cvs-pod(Guard.pm,) cvs-co(Changes) |
485 | Guard cpan cvs-pod(Guard.pm,) cvs-co(Changes) |
476 | This small module implements scope and object guards, that is, code blocks |
486 | This small module implements scope and object guards, that is, code blocks |
477 | that are executed when a scope is being exited (or an object is destroyed). |
487 | that are executed when a scope is being exited (or an object is destroyed). |
478 | |
488 | |
479 | Much effort was invested into these guards behaving "sensibly" in the |
489 | Much effort was invested into these guards behaving "sensibly" in the |
480 | presence of thrown exceptions, errors and other adverse conditions, as |
490 | presence of thrown exceptions, errors and other adverse conditions, as |
481 | well as into good performance. |
491 | well as into good performance. |
|
|
492 | |
|
|
493 | OpenCL cpan cvs-pod(OpenCL.pm,) cvs-co(Changes) |
|
|
494 | An interface to OpenCL (the Open Computing Language) for Perl. |
|
|
495 | |
|
|
496 | Perlized (not C-ish) OpenCL interface. |
482 | |
497 | |
483 | common-sense cpan cvs-pod(sense.pm,) cvs-co(Changes) |
498 | common-sense cpan cvs-pod(sense.pm,) cvs-co(Changes) |
484 | This module implements some sane defaults for Perl programs, as defined |
499 | This module implements some sane defaults for Perl programs, as defined |
485 | by two typical (or not so typical - use your common sense) specimens of |
500 | by two typical (or not so typical - use your common sense) specimens of |
486 | Perl coders. |
501 | Perl coders. |
… | |
… | |
604 | See <a href="http://home.schmorp.de/marc/lmainit.html">its homepage</a> for more info. |
619 | See <a href="http://home.schmorp.de/marc/lmainit.html">its homepage</a> for more info. |
605 | |
620 | |
606 | Algorithm-FEC cpan cvs-pod(FEC.pm,) cvs-co(README.fec) cvs-co(Changes) |
621 | Algorithm-FEC cpan cvs-pod(FEC.pm,) cvs-co(README.fec) cvs-co(Changes) |
607 | Perl module implementing forward error correction using Vandermonde matrices |
622 | Perl module implementing forward error correction using Vandermonde matrices |
608 | |
623 | |
609 | AnyEvent cpan cvs-pod(lib/AnyEvent.pm,) cvs-pod(lib/AnyEvent/Intro.pod,Introduction/Tutorial) cvs-pod(lib/AE.pm,AE) cvs-co(Changes) cvs-pod(lib/AnyEvent/Util.pm,AnyEvent::Util) cvs-pod(lib/AnyEvent/Handle.pm,AnyEvent::Handle) cvs-pod(lib/AnyEvent/Socket.pm,AnyEvent::Socket) cvs-pod(lib/AnyEvent/DNS.pm,AnyEvent::DNS) cvs-pod(lib/AnyEvent/Impl/EV.pm,AnyEvent::Impl::EV) cvs-pod(lib/AnyEvent/Impl/Event.pm,AnyEvent::Impl::Event) cvs-pod(lib/AnyEvent/Impl/Glib.pm,AnyEvent::Impl::Glib) cvs-pod(lib/AnyEvent/Impl/Tk.pm,AnyEvent::Impl::Tk) cvs-pod(lib/AnyEvent/Impl/Perl.pm,AnyEvent::Impl::Perl) cvs-pod(lib/AnyEvent/Impl/Qt.pm,AnyEvent::Impl::Qt) cvs-pod(lib/AnyEvent/Impl/EventLib.pm,AnyEvent::Impl::EventLib) cvs-pod(lib/AnyEvent/Impl/Irssi.pm,AnyEvent::Impl::Irssi) cvs-pod(lib/AnyEvent/Impl/IOAsync.pm,AnyEvent::Impl::IOAsync) cvs-pod(lib/AnyEvent/Impl/POE.pm,AnyEvent::Impl::POE) list(anyevent) irc(anyevent) |
624 | AnyEvent cpan cvs-pod(lib/AnyEvent.pm,) cvs-pod(lib/AnyEvent/Intro.pod,Introduction/Tutorial) cvs-pod(lib/AE.pm,AE) cvs-co(Changes) cvs-pod(lib/AnyEvent/IO.pm,AnyEvent::IO) cvs-pod(lib/AnyEvent/Util.pm,AnyEvent::Util) cvs-pod(lib/AnyEvent/Handle.pm,AnyEvent::Handle) cvs-pod(lib/AnyEvent/Socket.pm,AnyEvent::Socket) cvs-pod(lib/AnyEvent/DNS.pm,AnyEvent::DNS) cvs-pod(lib/AnyEvent/Impl/EV.pm,AnyEvent::Impl::EV) cvs-pod(lib/AnyEvent/Impl/Event.pm,AnyEvent::Impl::Event) cvs-pod(lib/AnyEvent/Impl/Glib.pm,AnyEvent::Impl::Glib) cvs-pod(lib/AnyEvent/Impl/Tk.pm,AnyEvent::Impl::Tk) cvs-pod(lib/AnyEvent/Impl/Perl.pm,AnyEvent::Impl::Perl) cvs-pod(lib/AnyEvent/Impl/Qt.pm,AnyEvent::Impl::Qt) cvs-pod(lib/AnyEvent/Impl/EventLib.pm,AnyEvent::Impl::EventLib) cvs-pod(lib/AnyEvent/Impl/Irssi.pm,AnyEvent::Impl::Irssi) cvs-pod(lib/AnyEvent/Impl/IOAsync.pm,AnyEvent::Impl::IOAsync) cvs-pod(lib/AnyEvent/Impl/POE.pm,AnyEvent::Impl::POE) list(anyevent) irc(anyevent) |
610 | This module offers a simple API for I/O, timer, signal, child process |
625 | This module offers a simple API for I/O, timer, signal, child process |
611 | and completion events, independent of a specific event loop. |
626 | and completion events, independent of a specific event loop. |
612 | |
627 | |
613 | <p>This module allows module authors to use those events internally |
628 | <p>This module allows module authors to use those events internally |
614 | without forcing users of the module to use a specific event loop, without |
629 | without forcing users of the module to use a specific event loop, without |
… | |
… | |
703 | The caller is responsible for authentication management, cookies (if |
718 | The caller is responsible for authentication management, cookies (if |
704 | the simplistic implementation in this module doesn't suffice), referer |
719 | the simplistic implementation in this module doesn't suffice), referer |
705 | and other high-level protocol details for which this module offers only |
720 | and other high-level protocol details for which this module offers only |
706 | limited support. |
721 | limited support. |
707 | |
722 | |
708 | AnyEvent-MP cpan cvs-pod(MP.pm,) cvs-pod(MP/Intro.pod,Introduction/Tutorial) cvs-co(Changes) list(anyevent) irc(anyevent) |
723 | AnyEvent-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) |
709 | This Perl module (-family) implements a simple message passing framework for Perl. |
724 | This Perl module (-family) implements a simple message passing framework for Perl. |
710 | |
725 | |
711 | Despite its simplicity, you can securely message other processes running |
726 | Despite its simplicity, you can securely message other processes running |
712 | on the same or other hosts. |
727 | on the same or other hosts. |
713 | |
728 | |
… | |
… | |
850 | An adaptor that integrates the Net-SNMP Perl module into the EV event loop. |
865 | An adaptor that integrates the Net-SNMP Perl module into the EV event loop. |
851 | Loading it suffices to make background requests in EV programs. |
866 | Loading it suffices to make background requests in EV programs. |
852 | |
867 | |
853 | libev cvs-co(README) cvs-pod(ev.pod) dist list(libev) |
868 | libev cvs-co(README) cvs-pod(ev.pod) dist list(libev) |
854 | A full-featured and high-performance (<a |
869 | A full-featured and high-performance (<a |
855 | href="http://libev.schmorp.de/bench.html">see benchmark</a>) event loop that |
870 | href="http://libev.schmorp.de/bench.html">see benchmark</a>) |
856 | is loosely modelled after libevent, but without its limitations and bugs. It is |
871 | event loop that is loosely modelled after libevent, but without |
857 | used, among others, in the <a href="gvpe.html">GNU Virtual Private Ethernet</a> and |
872 | its limitations and bugs. It is used in |
|
|
873 | <a href="/pkg/gvpe.html">GNU Virtual Private Ethernet</a>, |
858 | <a href="rxvt-unicode.html">rxvt-unicode</a> packages, and in |
874 | <a href="/pkg/rxvt-unicode.html">rxvt-unicode</a>, <a |
859 | the Deliantra MORPG Server and Client. |
875 | href="http://people.redhat.com/sgrubb/audit/">auditd</a>, the |
|
|
876 | <a href="http://www.deliantra.,net">Deliantra MORPG</a> Server and Client, |
|
|
877 | and many other programs. |
860 | |
878 | |
861 | Features include child/pid watchers, periodic timers based on wallclock |
879 | Features include child/pid watchers, periodic timers based on wallclock |
862 | (absolute) time (in addition to timers using relative timeouts), as well |
880 | (absolute) time (in addition to timers using relative timeouts), as well |
863 | as epoll/kqueue/event ports/inotify/eventfd/signalfd support, fast timer |
881 | as epoll/kqueue/event ports/inotify/eventfd/signalfd support, fast timer |
864 | management, time jump detection and correction, and ease-of-use. |
882 | management, time jump detection and correction, and ease-of-use. |
… | |
… | |
869 | configuration support. A full-featured and well-documented |
887 | configuration support. A full-featured and well-documented |
870 | <a href="EV.html">perl interface</a> is also available. |
888 | <a href="EV.html">perl interface</a> is also available. |
871 | <p /> |
889 | <p /> |
872 | A <a href="http://lists.schmorp.de/mailman/listinfo/libev">mailing |
890 | A <a href="http://lists.schmorp.de/mailman/listinfo/libev">mailing |
873 | list</a> for discussion and support is now available. |
891 | list</a> for discussion and support is now available. |
|
|
892 | |
|
|
893 | libecb cvs-co(README) cvs-pod(ecb.pod) cvs-co(ecb.h) dist list(libev) |
|
|
894 | The e compiler builtins header/library. |
|
|
895 | |
|
|
896 | This project delivers you many gcc builtins, attributes and a number of |
|
|
897 | generally useful low-level functions, such as popcount, expect, prefetch, |
|
|
898 | noinline, assume, unreachable and so on. |
874 | |
899 | |
875 | gvpe dist-gnu |
900 | gvpe dist-gnu |
876 | GVPE creates a virtual ethernet network with multiple nodes using a |
901 | GVPE creates a virtual ethernet network with multiple nodes using a |
877 | variety of transport protocols. Participating nodes do not need to trust |
902 | variety of transport protocols. Participating nodes do not need to trust |
878 | each other. |
903 | each other. |
… | |
… | |
1022 | Linux-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) |
1047 | Linux-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) |
1023 | A Perl module that helps implementing netblock block device servers and |
1048 | A Perl module that helps implementing netblock block device servers and |
1024 | set up NBD instances. A sample application allowing you to mount most CD |
1049 | set up NBD instances. A sample application allowing you to mount most CD |
1025 | images is included. |
1050 | images is included. |
1026 | |
1051 | |
|
|
1052 | Linux-Clone cpan cvs-pod(Clone.pm) cvs-co(Changes) |
|
|
1053 | A Perl interface to the clone(2) and unshare(2) syscalls. |
|
|
1054 | |
|
|
1055 | Urlader cpan cvs-pod(Urlader.pm) cvs-co(Changes) |
|
|
1056 | A self-unpacking archive that can be used for program deployment and upgrades. |
|
|
1057 | |
|
|
1058 | Much like PAR, this module provides a simple way to build (silently) self-extracting |
|
|
1059 | executables that can contain perl, modules and shared libraries. Unlike PAR it is not |
|
|
1060 | restricted to perl programs, works transparently, without any magic and can cache |
|
|
1061 | unpacked archives for extra speed. Also unlike PAR, it leaves you out in the cold |
|
|
1062 | on the problem of how to atcually gather your files into the distribution. |
|
|
1063 | |
1027 | Mozilla-Plugin |
1064 | Mozilla-Plugin |
1028 | Undocumented, unreleased and unfinished-but-somewhat-working Perl plug-in |
1065 | Undocumented, unreleased and unfinished-but-somewhat-working Perl plug-in |
1029 | for Mozilla (Netscape, Opera, IE...), that allows embedding Tk, Gtk etc. |
1066 | for Mozilla (Netscape, Opera, IE...), that allows embedding Tk, Gtk etc. |
1030 | plugins directly in the browser. |
1067 | plugins directly in the browser. |
1031 | |
1068 | |