A weak reference is just like an ordinary Perl reference except that it
isn't included in the reference count of the thing referred to. This
means that once all references to a particular piece of data are weak,
the piece of data is freed and all the weak references are set to undef.
This is particularly useful for implementing circular data structures
without memory leaks or caches of objects.
ok simon@
Waf is a Python-based framework for configuring, compiling and
installing applications. It is a replacement for other tools such as
Autotools, Scons, CMake or Ant.
The port provides a devel/waf MODULE for use by third-party ports.
with tweaks, lots of python-fu and ok wcmaier@, ok jasper@
Cdk stands for 'Curses Development Kit' and it currently contains 21
ready to use widgets which facilitate the speedy development of full
screen curses programs.
from Pierre-Emmanuel Andre with some tweaks
BOUML is a free UML tool box (under development) allowing you to specify and
generate code in C++, Java, Idl, PHP and Python.
BOUML is extensible, and the external tools (named plug-outs) may be developed
in C++ or Java, using BOUML for their definition as any other program. The code
generators and reverses are ones of the predefined plug-outs included in the
BOUML distribution.
feedback and ok ajacoutot@
JavaScript Object Notation (JSON) is a lightweight data interchange
format. Test::JSON makes it easy to verify that you have built valid
JSON and that it matches your expected output.
Test::Assertions provides a convenient set of tools for constructing
tests, such as unit tests or run-time assertion checks (like C's ASSERT
macro). Unlike some of the Test:: modules available on CPAN,
Test::Assertions is not limited to unit test scripts; for example it can
be used to check output is as expected within a benchmarking script.
When it is used for unit tests, it generates output in the standard form
for CPAN unit testing (under Test::Harness).
File::Attributes is a wrapper around modules in the File::Attributes
hierarchy. If you use this module directly (instead of one of the
aforementioned decendants), then your attribute manipulations will Just
Work, regardless of the underlying filesystem.
The Class:Multimethod module exports a subroutine (&multimethod) that
can be used to declare other subroutines that are dispatched using a
algorithm different from the normal Perl subroutine or method dispatch
mechanism.
- add -fPIC unconditionally (requested by naddy@) by adding it to
unix.mak (in pwlib) which get sourced by the other ports
feedback from and ok naddy@, thanks!
p5-Catalyst-Plugin-Cache-Store-FastMmap,
p5-Catalyst-Plugin-ConfigLoader-Environment,
p5-Catalyst-Plugin-LogWarnings, p5-Catalyst-Component-ACCEPT_CONTEXT,
p5-HTML-SBC and p5-XML-Atom-SimpleFeed to www/
This module provides code coverage metrics for Perl. Code coverage
metrics describe how thoroughly tests exercise code. By using
Devel::Cover you can discover areas of code not exercised by your tests
and determine which tests to create to increase coverage. Code coverage
can be considered as an indirect measure of quality.
When writing test suites for modules that operate on files, it's often
inconvenient to correctly create a platform-independent temporary
storage space, manipulate files inside it, then clean it up when the
test exits. The inconvenience usually results in tests that don't work
everwhere, or worse, no tests at all.
This module aims to eliminate that problem by making it easy to do
things right.
POE::Component::Pluggable is a base class for creating plugin enabled
POE Components. It is a generic port of POE::Component::IRC's plugin
system.
If your component dispatches events to registered POE sessions, then
POE::Component::Pluggable may be a good fit for you.
Users of your component can then load plugins using the plugin methods
provided to handle events generated by the component.
CUnit is a lightweight system for writing, administering, and running
unit tests in C. It provides C programmers a basic testing
functionality with a flexible variety of user interfaces. It uses a
simple framework for building test structures, and provides a rich set
of assertions for testing common data types. In addition, several
different interfaces are provided for running tests and reporting
results.
from maintainer Markus Bergkvist, thanks!
and mark RPATH xulrunner location. this fixes apps such as
py-gnome-extras. w/ help from kurt@
- install libxpcomglue{,_s} XPCOM glue, and libxul-embedding
pkg-config so that apps can use it, which is a proper way to get
xulrunner libs loaded
looks ok kurt@
Guichan is a small, efficient C++ GUI library designed for games. It
comes with a standard set of widgets and can use several different
back-ends for displaying graphics and grabbing user input.
based on a submission by Jonathan Armani <dbd@asystant.net>, MAINTAINER
This collection of modules started out as modules which perform things
(debatably) in a safer and taint-safe manner. Since then it's also
grown to include functionality that fit into the same framework and
conventions of the original modules, including keeping the debug hooks
for command-line debugging.
The namespace::clean pragma removes all previously declared or imported
symbols at the end of the current packages compile cycle. Functions
called in the package itself will still be bound by their name, but they
won't show up as methods on the class or its instances.
Moose is wonderful but unfortunately, a little slow. Though significant
progress has been made over the years, the compile time penalty is a
non-starter for some applications.
Mouse aims to alleviate this by providing a subset of Moose's
functionality, faster. In particular, "has" in Moose is missing only a
few expert-level features.
Method modifiers are a powerful feature from the CLOS (Common Lisp
Object System) world.
Class::Method::Modifiers provides three modifiers: before, around, and
after. before and after are run just before and after the method they
modify, but can not really affect that original method. around is run
in place of the original method, with a hook to easily call that
original method.
Data::Alias is a module that allows you to apply "aliasing semantics" to
a section of code, causing aliases to be made whereever Perl would
normally make copies instead. You can use this to improve efficiency
and readability, when compared to using references.
- recognize all available audio devices
- the audio device is always opened read-write. this results in
full-duplex operation for most OSS implementations, but full-dupplex
needs to be explicitly enabled on OpenBSD.
- don't error out if SNDCTL_DSP_SPEED returns an error. instead
resample based on the returned sample rate.
- the resampling factor was not properly initilized and was returning
random values.
- simply skip samples to down-sample. the average method it uses
sounds horrible.
now ekiga's softphone works for me when using the OSS audio backend
ok ajacoutot
The accessors pragma lets you create simple accessors at compile-time.
This saves you from writing them by hand, which tends to result in
cut-n-paste errors and a mess of duplicated code. It can also help you
reduce the ammount of unwanted direct-variable access that may creep
into your codebase when you're feeling lazy. accessors was designed with
laziness in mind.
modes for header files in the install target, so that the resulting
package is right, and non-root/wheel users are able to build apps
depending on nspr
ok kurt@, naddy@, pval@
before this change it wasn't possible to add mandatory settings without
tweaking gconf
- while here, rework the way we build this port so we can drop some
patching
Hudson can run standalone (has own tiny web server) or in a
Java-capable web server or application server.
ok sthen@, kurt@ after considerable cluesticking (by them)
then no wonder the patch removes further regression tests...
this is not needed now that that archs have proper INFINITY and NAN
definitions
ok phessler@
to the CVE-number, mentioned in the commit. brad got confused and thought
the update fixed that issue, because of a confusing changelog entry.
roll in a fix from gentoo that fixes the actuall issue.
The latter contains libatomic_ops-1.2, which is developed inside boehm-gc,
as stated on libatomic_ops homepage. No change on -main subpackage.
libatomic_ops may be used by a future eventual pulseaudio port, which is
being worked on.
Feedback, tweaks and ok kurt@
or near eol, and bulk build time. This removes the limited Java support we
had on arm, powerpc and sparc until such time OpenJDK/IcedTea can replace
it. 1.3 and 1.4 ports directories will be removed next release to avoid
bit rot. Requested by espie@ and okay by many with no objections.
WANTLIB sync. The package still built because gnome.port.mk overrode
DISTNAME, so the end result of this mistake was that the PKGNAME
didn't get bumped - missed because my test machine wasn't using
PLIST_DB.
Pointed out by naddy, thanks!
This module provide an object interface to tempdir() from File::Temp.
This allows to destroy the temporary directory as soon you don't need it
anymore using the magic DESTROY() function automatically call be perl
when the object is no longer reference.
If a value is passed to at object creation, it become only a container
allowing to keep same code in your function.
This is for an update to another port coming soon.
ok simon@ who had a similar version in his tree.