The gettext module permits access from perl to the gettext() family of
functions for retrieving message strings from databases constructed to
internationalize software.
by Waldemar Brodkorb with some small corrections for more recent package
system changes
ok xsa@
Locale::Maketext::Gettext joins the GNU gettext and Maketext frameworks.
It is a subclass of Locale::Maketext(3) that follows the way GNU gettext
works. It works seamlessly, both in the sense of GNU gettext and
Maketext. As a result, you enjoy both their advantages, and get rid of
both their problems, too.
See what modules are shipped with versions of Perl.
Module::CoreList contains the hash of hashes %Module::CoreList::version,
this is keyed on Perl version as indicated in $]. The second level hash
is module => version pairs.
It also contains %Module::CoreList::released hash, which has ISO
formatted versions of the release dates, as gleaned from perlhist.
ok msf@.
It is a common feature of applications (whether run directly, or via the
Web) for them to be "localized" -- i.e., for them to a present an
English interface to an English-speaker, a German interface to a
German-speaker, and so on for all languages it's programmed with.
Locale::Maketext is a framework for software localization; it provides
you with the tools for organizing and accessing the bits of text and
text-processing code that you need for producing localized applications.
Log::Dispatch is a suite of OO modules for logging messages to
multiple outputs, each of which can have a minimum and maximum log
level. It is designed to be easily subclassed, both for creating a
new dispatcher object and particularly for creating new outputs.
It also allows both global (dispatcher level) and local (logging
object) message formatting callbacks which allows greater flexibility
and should reduce the need for subclassing.
More importantly, pull out the NetBSD diff that dealt with
*BSDesque dlopen issues and, now that we have a working
RTLD_DEFAULT, go with the FreeBSD hack^H^H^H^H method which works
better.
This module provides a clone() method which makes recursive copies
of nested hash, array, scalar and reference types, including tied
variables and objects.
Subversion is a free/open-source version control system. That is,
Subversion manages files and directories over time. A tree of files
is placed into a central repository. The repository is much like an
ordinary file server, except that it remembers every change ever made
to your files and directories. This allows you to recover older versions
of your data, or examine the history of how your data changed.
In this regard, many people think of a version control system as a
sort of time machine.
Joint work with msf@, Sigfred H?versen, Alex Holst and Steven Mestdagh
ok naddy@, go ahead msf@
The Apache Portable Run-time mission is to provide a library of
routines that allows programmers to write a program once and be
able to compile it anywhere.
ok naddy@
The dateutil module provides powerful extensions to the standard
datetime module, available in Python 2.3+. It features computing of
relative deltas (next month, next year, next monday, last week of month,
etc), computing of dates based on very flexible recurrence rules, using
a superset of the [FTP]iCalendar specification and generic parsing of
dates in almost any string format.
feedback and ok xsa@
pytz brings the Olson tz database into Python. This library allows
accurate and cross platform timezone calculations using Python 2.3 or
higher. It also solves the issue of ambiguous times at the end of
daylight savings, which you can read more about in the Python Library
Reference (datetime.tzinfo).
feedback and ok xsa@ alek@
Although Smarty is known as a "Template Engine", it would be more
accurately described as a "Template/Presentation Framework." That is, it
provides the programmer and template designer with a wealth of tools to
automate tasks commonly dealt with at the presentation layer of an
application.
ok robert@ sturm@
SCons is an Open Source software construction tool--that is, a
next-generation build tool. Think of SCons as an improved,
cross-platform substitute for the classic Make utility with integrated
functionality similar to autoconf/automake and compiler caches such as
ccache. In short, SCons is an easier, more reliable and faster way to
build software.
Submitted and maintained by Andrew Dalgleish <openbsd at ajd.net.au>
conflicts with JRE and future JDKs.
- Add flavor descriptions to DESCR*.
- Add missing lib depend via MODULES devel/gettext.
- Comment the native_threads dir creation that was added in a recent commit.
From: Kurt Miller <truk@optonline.net>
version number bump. Yeah, well, it took me a bit to even get it
to compile, one of those, "Hey, let's change the entire build
infrastructure for a minor bugfix!" things...
But hey now we're fully in-sync with Gnome 2.6.2.
former nino@ that has been a part of this port for some time.
Updates to the internal API finally broke it, but a huge thanks
to Nils for his work there (thanks Nils!).
Now we use the Free/NetBSD support as a base and patch from there :).
pyparsing is an alternative approach to creating and executing simple
grammars, vs. the traditional lex/yacc approach, or the use of regular
expressions. The parsing module provides a library of classes that
client code uses to construct the grammar directly in Python code.
This class encapsulates/makes/manipulates objects that represent nodes
in a tree structure. The tree structure is not an object itself, but is
emergent from the linkages you create between nodes. This class provides
the methods for making linkages that can be used to build up a tree,
while preventing you from ever making any kinds of linkages which are
not allowed in a tree (such as having a node be its own mother or
ancestor, or having a node have two mothers).
This module provides a few convenience methods for testing exception
based code. It is built with Test::Builder and plays happily with
Test::Simple, Test::More and friends.
Like Tcl's uplevel() function, but not quite so dangerous. The idea is
just to fool caller(). All the really naughty bits of Tcl's uplevel()
are avoided.
Test::MockObject allows you to create objects that conform to particular
interfaces with very little code. You don't have to reimplement the
behavior, just the input and the output.
requested by xsa@
giblib is an utility library that incorporates doubly linked lists,
some string functions, and a wrapper for imlib2.
from Victor Sahlstedt <cvss@home.se>; ok naddy@
The Event module provides a central facility to watch for
various types of events and invoke a callback when these
events occur. The idea is to delay the handling of events
so that they may be dispatched in priority order when it
is safe for callbacks to execute.
from Waldemar Brodkorb <wbx at openbsd.de>
--
CIL (C Intermediate Language) is a high-level representation along
with a set of tools that permit easy analysis and source-to-source
transformation of C programs.
CIL is both lower-level than abstract-syntax trees, by clarifying
ambiguous constructs and removing redundant ones, and also higher-level
than typical intermediate languages designed for compilation, by
maintaining types and a close relationship with the source program.
The main advantage of CIL is that it compiles all valid C programs
into a few core constructs with a very clean semantics. Also CIL
has a syntax-directed type system that makes it easy to analyze and
manipulate C programs. Furthermore, the CIL front-end is able to
process not only ANSI-C programs but also those using Microsoft C
or GNU C extensions.
tla is an Arch CLI written in C.
Arch is a revision control system, i.e. a system that makes it easy to
track changes to computer files, mostly the source code to complex
software systems.
It has the following features that set it apart from other revision
control systems, such as CVS, Subversion or Bitkeeper:
- distributed repositories
- advanced merging capabilities
- low barrier of entry : everybody can easily publish their changes to
others projects. Repositories can be hosted on HTTP, FTP SFTP and
WebDav server.
- renames handled
- archive signing and integrity checking : a facility by which the
integrity of a publicly accessible archive can be verified.
Submitted and maintained by Laurent Cheylus <foxy ta free tod fr>
Embedding tests allows tests to be placed near the code its testing.
This is a nice supplement to the traditional .t files. It's like XUnit,
Perl-style.
This is a simple developer's tool for finding circular references in
objects and other types of references. Because of Perl's reference-count
based memory management, circular references will cause memory leaks.
Assertions are the explict expressions of your assumptions about the
reality your program is expected to deal with, and a declaration of
those which it is not. They are used to prevent your program from
blissfully processing garbage inputs (garbage in, garbage out becomes
garbage in, error out) and to tell you when you've produced garbage
output.
When you're writing unit tests for code that deals with tainted data,
you'll want to have a way to provide tainted data for your routines to
handle, and easy ways to check and report on the taintedness of your
data, in standard Test::More style.
When the code you're testing returns multiple lines, records or data
structures and they're just plain wrong, an equivalent to the Unix
"diff" utility may be just what's needed.
ok sturm@
"Module::Build" is a system for building, testing, and installing Perl
modules. It is meant to be a replacement for "ExtUtils::MakeMaker".
Developers may alter the behavior of the module through subclassing in a
much more straightforward way than with "MakeMaker". It also does not
require a "make" on your system, most of the "Module::Build" code is
pure-perl and written in a very cross-platform way.
ok sturm@
"ExtUtils::ParseXS" will compile XS code into C code by embedding the
constructs necessary to let C functions manipulate Perl values and
creates the glue necessary to let Perl access those functions.
ok sturm@
This module can build the C portions of Perl modules by invoking the
appropriate compilers and linkers in a cross-platform manner. It was
motivated by the "Module::Build" project, but may be useful for other
purposes as well. However, it is not intended as a general
cross-platform interface to all your C building needs.
ok sturm@
Class names in Perl often don't sound great when spoken, or look good
when written in prose. For this reason, we tend to say things like
"customer" or "basket" when we are referring to
"My::Site::User::Customer" or "My::Site::Shop::Basket". We thought it
would be nice if our classes knew what we would prefer to call them.
This module will add a "moniker" (and "plural_moniker") method to
"UNIVERSAL", and so to every class or module.
ok sturm@