RSpec is a Behaviour Definition Framework intended for use in Behaviour
Driven Development. RSpec plays the same role that a unit testing framework
would play in a Test Driven Development environment, but does so using
words and structures that better support BDD.
Moose is built on top of Class::MOP, which is a metaclass system
for Perl 5. This means that Moose not only makes building normal
Perl 5 objects better, but it also provides the power of metaclass
programming.
This module is an attempt to create a meta object protocol for the
Perl 5 object system. It makes no attempt to change the behavior
or characteristics of the Perl 5 object system, only to create a
protocol for its manipulation and introspection.
Data::Dumper::Simple is actually a source filter that replaces all
instances of Dumper($some, @args) in your code with a call to
Data::Dumper->Dump(). You can use the one function provided to make
dumping variables for debugging a trivial task.
ok simon@
lack of stdin availability when built indirectly as a depend of another
port. Instead of interactive license verification solely use the
ACCEPT_JRL_LICENSE var. If it's not correctly set error out and let the
user know what to do. Cluestick and okay espie@
rules, including regular expressions for targets and anonymous subs for
targets, dependencies, and actions.
This allows you to tightly integrate a make engine in an application and
to exercise a large amount of control over the make process, taking full
advantage of Perl code at any point in the make cycle.
From Okan Demirmen
ok simon@
when stdin is redirected someplace unanticipated. This fixes the infinite
prompt loop when the port is built as a build depend of another port
(reported by Martin Toft <mt at martintoft.dk>). Still to do is fix
bsd.port.mk to not redirect stdin for build depends...
Tie::Hash::Indexed is very similar to Tie::IxHash. However, it is
written completely in XS and usually about twice as fast as Tie::IxHash.
It's quite a lot faster when it comes to clearing or deleting entries
from large hashes.
by Okan Demirmen (MAINTAINER) with some tweaks by me
This class is an implementation of the abstract POE::Queue interface.
It implements a priority queue using C, with an XS interface supplied.
The current implementation could use some optimization, especially
for large queues.
Please see the POE::Queue documentation, which explains this one's
functions, features, and behavior.
ok simon@
Bidirectional Hebrew support based on code from the Unicode Consortium.
The charset on their code was bogus, therefore this module had to
work the real charset from scratch. There might have some mistakes,
though.
ok simon@
This module provides functions for handling unicode byte order
marks, which are to be found at the beginning of some files and
streams.
The intention of File::BOM is for files with BOMs to be readable
as seamlessly as possible, regardless of the encoding used.
ok simon@
Version Strings (v-strings) in base Perl have been deprecated and
will not be available after Perl 5.8.
This module revives them as a simple module implementation.
Version strings are well suited in many version "numbering" schemes
and straightforward (if you always remember they are not numbers).
ok simon@
This module provides a convenient way to perform cleanup or other forms
of resource management at the end of a scope. It is particularly useful
when dealing with exceptions: the Scope::Guard constructor takes a
reference to a subroutine that is guaranteed to be called even if the
thread of execution is aborted prematurely. This effectively allows
lexically-scoped "promises" to be made that are automatically honoured
by perl's garbage collector.
ok jasper@, tested by espie@
The "mro" namespace provides several utilities for dealing with method
resolution order and method caching in general in Perl 5.9.5 and higher.
ok jasper@, tested by espie@
http://java.sun.com/j2se/1.5.0/ReleaseNotes.html#150_13
- Do a better job respecting Sun's JRL license by using interactive
license verification, installing the correct license and include a
license blurb in the pkg MESSAGEs. (Interactive license verification
script from FreeBSD/Greg Lewis)
- fix a packing problem with the no_web FLAVOR.
NOTE: This port is now IS_INTERACTIVE=Yes. After agreeing to the JRL
license, users can put ACCEPT_JRL_LICENSE=Yes into /etc/mk.conf to
automatically accept the license and make the port IS_INTERACTIVE=No.
Bulk builders will need to do this so things like OpenOffice get built.
okay naddy@
notification-daemon-xfce if they want to use libnotify, it makes much
more sense to put MESSAGE directly in this port instead of in each port
using libnotify.
suggested by ajacoutot@, ok jasper@
REAL SLOPPY WORK by initial porter.
If you see error messages in the configure output, you DEAL WITH THEM.
you don't just expect them to not mean anything.
Class related functionality in Perl is broken up into a variety of
different modules. Class::Handle attempts to provide a convenient
object wrapper around the various different types of functions that can
be performed on a class.
ok pyr@
Class::Default provides a mechanism to allow your class to take static
method calls and apply it to a default instantiation of an object. It
provides a flexibility to an API that allows it to be used more
comfortably in different situations.
ok pyr@
Many applications require that a large set of results be broken down
into a smaller set of 'windows', or 'pages' in web language.
Array::Window implements an algorithm specifically for dealing with
these windows. It is very flexible and permissive, making adjustments
to the window as needed.
ok pyr@
Major changes compared to Horde 3.1.4 are:
* Improved webroot detection.
* Fixed language selection in login screen.
* Updated Czech, Estonian, German, Polish, Spanish, and Simplified
Chinese translations.
* Small bug fixes and improvements.
The full list of changes (from version 3.1.4) can be viewed here:
http://cvs.horde.org/diff.php/horde/docs/CHANGES?r1=1.515.2.298&r2=1.515.2.306&ty=h
OpenSync is a synchronization framework that is platform and
distribution independent. It consists of a powerful sync-engine and
several plugins that can be used to connect to devices.
OpenSync is very flexible and capable of synchronizing any type of data,
including contacts, calendar, tasks, notes and files.
Note that it is still a development version. But it's better to have
this in-tree now so that one can port the different sync plugins as they
come out. Also it will ease integration with other apps (i.e kdepim).
"as long as it doesn't break kdepim" espie@
A code coverage tool for Ruby featuring fast execution, multiple
analysis modes, cross-referenced XHTML and several kinds of text
reports, easy automation with Rake and Rant.
Submitted and maintained by markus@.
ok sturm@
UUIDTools was designed to be a simple library for generating any of the
various types of UUIDs (or GUIDs if you prefer to call them that).
It conforms to RFC 4122 whenever possible.
through a tie interface. Any time data is stored in the tied hash, that
key/value pair has an entry time associated with it, and as the cache
fills up, those members of the cache that are the oldest are removed to
make room for new entries.
So, the cache only "remembers" the last written entries, up to the size
of the cache. This can be especially useful if you access great amounts
of data, but only access a minority of the data a majority of the time.
ok simon@
files. This file format is more compact and more readable than XML. And
unlike XML, it is type-aware, so it is not necessary to do string
parsing in application code.
Libconfig is very compact - just 25K for the stripped C shared library
(one-fifth the size of the expat XML parser library) and 39K for the
stripped C++ shared library. This makes it well-suited for
memory-constrained systems like handheld devices.
From Will Maier (MAINTAINER)
tweaks and ok sturm@ and kili@
Test::Expect is a module for automated driving and testing of
terminal-based programs. It is handy for testing interactive programs
which have a prompt, and is based on the same concepts as the Tcl Expect
tool. As in Expect::Simple, the Expect object is made available for
tweaking.
Expect::Simple is a wrapper around the Expect module which should
suffice for simple applications. It hides most of the Expect machinery;
the Expect object is available for tweaking if need be.
Test::Group allows for grouping together related tests in a standard
Test::More-style script. It provides a bunch of maintainability and
scalability advantages to large test suites.
feedback & ok merdely@
* cdecl and cundecl - decode and encode C type declarations
* cobfusc - make a C source file unreadable but compilable
* chilight - highlight C source files
* cunloop - unloop C loops
* yyextract - extract grammar rules from yacc grammar
* yyref - yacc grammar reference program
ok steven@
GOffice is a library of document-centric objects and utilities building
on top of GLib and Gtk+.
- fix cairo for gnucash, asked by todd@
tweaks/ok jasper@, todd@, alek@
This is an expiring LRU cache, using Tie::Cache::LRU. Each entry
in this cache expires after 'EXPIRES' seconds (default 3600).
The cache is in RAM (see Tie::Cache::LRU).
ok merdely@
This is a base class for implementing virtual base classes (what
some people call an abstract class). Kinda kooky. It allows you to
explicitly declare what methods are virtual and that must be
implemented by subclasses. This might seem silly, since your program
will halt and catch fire when an unimplemented virtual method is
hit anyway, but there's some benefits.
The error message is more informative. Instead of the usual "Can't
locate object method" error, you'll get one explaining that a virtual
method was left unimplemented.
Subclass authors can explicitly check to make sure they've implemented
all the necessary virtual methods. When used as part of a regression
test, it will shield against the virtual method requirements changing
out from under the subclass.
Finally, subclass authors can get an explicit list of everything
they're expected to implement.
ok merdely@
Defines a set of symbolic constants with ordered numeric values ala
C enum types. What are they good for? Typical uses would be for giving
mnemonic names to indexes of arrays.
This not only reads easier, but can also be typo-checked at compile
time when run under use strict. That is, if you misspell Days_Fri
as Days_Fry, you'll generate a compile error.
Also capable of creating ordered bitmask constants, allowing the
easy creation of bitmask constants, allowing you to efficiently store
many true/false options within a single integer.
ok merdely@
This class implements an ordered hash-like object. It's a cross
between a Perl hash and a linked list. Use it whenever you want the
speed and structure of a Perl hash, but the orderedness of a list.
ok merdely@
This module provides an interface to concisely yet expressively create
classes Class::Meta. The intent is to provide a simpler, more meaningful
interface for creating Class::Meta classes while preserving the power
and flexibility of Class::Meta.
This module exports a number of functions that are useful for validating
and converting data types. It is intended for use in applications where
data types are more important than they typically are in Perl -- e.g.,
database applications.
IPC::Shareable allows you to tie a variable to shared memory making it
easy to share the contents of that variable with other Perl processes.
Scalars, arrays, and hashes can be tied. The variable being tied may
contain arbitrarily complex data structures - including references to
arrays, hashes of hashes, etc.
ok jasper@
hotspot and j2se). The j2se patches are from the bsd java repositories
1.5 -> 1.6 (performed by Greg Lewis) -> 1.7 by myself. j2se patches are
in sync with 1.6 patchset 1 plus the Runtime.exec fix from Michiel Boland
via FreeBSD PR http://www.freebsd.org/cgi/query-pr.cgi?pr=115557.
Also from FreeBSD: interactive JRL license verification. By default the
port is IS_INTERACTIVE=Yes. Add ACCEPT_JRL_LICENSE=Yes to /etc/mk.conf
to permanently accept the JRL license.
At some point in the future I will work on switching this back to
OpenJDK/GPLv2 src. That largely depends on Sun's progress at removing more
of the binary plug bits so that stubbing out the remainder is less
cumbersome and time consuming.
Testing, comments and okay ian@
Parallel::Forker manages parallel processes that are either subroutines
or system commands. Forker supports most of the features in all the other
little packages out there, with the addition of being able to specify
complicated expressions to determine which processes run after others, or
run when others fail.
CLASS and $CLASS are both synonyms for __PACKAGE__. Easier to type.
$CLASS has the additional benefit of working in strings.
CLASS is a constant, not a subroutine call. $CLASS is a plain variable,
it is not tied. There is no performance loss for using CLASS over
__PACKAGE__ except the loading of the module.
ok simon@