non-blocking I/O programming. It tries to bring back the
simplicity of the declarative programming style, that is
only otherwise available when one employs threads,
coroutines, or co-processes.
PR: ports/128652
Submitted by: Vany Serezhkin <ivan@serezhkin.com>
fattr.rb supercedes attributes.rb as that library,
even though it added only one method to the global
namespace, collided too frequently with user code
in particular rails' code.
WWW: http://codeforpeople.com/lib/ruby/fattr/
PR: ports/128662
Submitted by: Wen Heping <wenheping at gmail.com>
arrayfields works by adding only a few methods to arrays,
namely #fields= and fields, but the #fields= method is
hooked to extend an array on a per object basis.In
otherwords __only__ those arrays whose fields are set
will have auto-magical keyword access bestowed on
them - all other arrays remain unaffected.arrays with
keyword access require much less memory when compared
to hashes/objects and yet still provide fast lookup and
preserve data order.
WWW: http://codeforpeople.com/lib/ruby/arrayfields/
PR: ports/128663
Submitted by: Wen Heping <wenheping at gmail.com>
- unification of option, argument, keyword, and environment
parameter parsing
- auto generation of usage and help messages
- support for mode/sub-commands
- io redirection support
- logging hooks using ruby's built-in logging mechanism
- intelligent error handling and exit codes
- use as dsl or library for building Main objects
- parsing user defined ARGV and ENV
- zero requirements for understanding the obtuse apis of any
command line option parsers
- leather pants
In short main.rb aims to drastically lower the barrier to writing
uniform command line applications.
WWW: http://codeforpeople.com/lib/ruby/main/
PR: ports/128664
Submitted by: Wen Heping <wenheping at gmail.com>
an object oriented manner. Grit gives you object model access to your git
repository. Once you have created a repository object, you can traverse it
to find parent commit(s), trees, blobs, etc.
WWW: http://grit.rubyforge.org/
PR: ports/128592
Submitted by: Daniel Roethlisberger <daniel at roe.ch>
an object oriented manner. Grit gives you object model access to your git
repository. Once you have created a repository object, you can traverse it
to find parent commit(s), trees, blobs, etc.
This is the GitHub version of the grit gem called mojombo-grit.
WWW: http://grit.rubyforge.org/
PR: ports/128736
Submitted by: Daniel Roethlisberger <daniel at roe.ch>
manipulate Git repositories. Currently it is a wrapper around
the git binary, but there are plans to switch to C bindings at
some point in the future.
WWW: http://jointheconversation.org/rubygit/
PR: ports/128734
Submitted by: Daniel Roethlisberger <daniel at roe.ch>
working with OLE2 structured storage files, such as those produced by
Microsoft Office - eg *.doc, *.msg etc.
WWW: http://rubyforge.org/projects/ruby-ole
PR: ports/128471
Submitted by: Alexander Logvinov <ports at logvinov.com>
popular open source revision control software. It can be used as both client
and server for repositories and provides granular access control over data
stored in the repository. It aims to be as compatible as possible with other
CVS implementations, except when particular features reduce the overall
security of the system.
WWW: http://www.opencvs.org/
This port was requested by rdivacky@, who created the dist patches for
OpenCVS.
documentation. Doxygen is quite a powerful code documentation system that
already has built-in support for multiple programming languages.
WWW: http://www.bigsister.ch/doxygenfilter/doxygenfilter.html
PR: 128432
Submitted by: Sergei Golyashov <svvord at spline-studio dot ru>
Getopt::Euclid uses your program's own documentation to create a
command-line argument parser. This ensures that your program's documented
interface and its actual interface always agree.
WWW: http://search.cpan.org/dist/Getopt-Euclid/
repository that resides on a remote server. All data is dumped in
the format that can be read an written by svnadmin dump, so the
data which is produced can easily be imported into a new Subversion
repository.
WWW: http://saubue.boolsoft.org/projects/rsvndump/
constructors "strict". If your constructor is called with an attribute
init argument that your class does not declare, then it calls
"Carp::confess()". This is a great way to catch small typos.
WWW: http://search.cpan.org/dist/MooseX-StrictConstructor/
watch variables, gdb command completion, assembly windows, etc.
Clewn is a program controlling vim through the netBeans socket interface,
it runs concurrently with vim and talks to vim.
Clewn can only be used with gvim, the graphical implementation of vim,
as vim on a terminal does not support netBeans.
WWW: http://clewn.sourceforge.net/index.html
PR: ports/128289
Submitted by: Giacomo Mariani <giacomomariani_at_yahoo_dot_it>
and a handler for Devel::Events, that facilitate leak checking.
There are two components of this module: Devel::Events::Generator::Objects,
and Devel::Events::Handler::ObjectTracker. The first one uses some
trickery to generate events for every object creation and destruction
in code loaded after it was loaded. The second one will listen on
these events, and track all currently living objects.
WWW: http://search.cpan.org/dist/Devel-Events-Objects/
structures and can be used to enumerate all the currently live SVs.
This can be used to hunt leaks and to profile memory usage.
WWW: http://search.cpan.org/dist/Devel-Gladiator/
* Performs per-line statement profiling for fine detail
* Performs per-subroutine statement profiling for overview
* Performs per-block statement profiling (the first profiler to do so)
* Accounts correctly for time spent after calls return
* Performs inclusive and exclusive timing of subroutines
* Subroutine times are per calling location (a powerful feature)
* Can profile compile-time activity, just run-time, or just END time
* Uses novel techniques for efficient profiling
* Sub-microsecond (100ns) resolution on systems with clock_gettime()
* Very fast - the fastest statement and subroutine profilers for perl
* Handles applications that fork, with no performance cost
* Immune from noise caused by profiling overheads and I/O
* Program being profiled can stop/start the profiler
* Generates richly annotated and cross-linked html reports
* Trivial to use with mod_perl - add one line to httpd.conf
* Includes an extensive test suite
* Tested on very large codebases
WWW: http://search.cpan.org/dist/Devel-NYTProf/
PR: 128255
Submitted by: Vladimir Timofeev <vovkasm at gmail dot com>
used in a debugger or a tool that works with sets
of Ruby source files.
WWW: http://rubyforge.org/projects/rocky-hacks/
PR: ports/128169
Submitted by: Wen Heping <wenheping at gmail.com>
The current features are:
Most of the svn action: add, blame, checkout, cleanup, commit, copy, delete,
export, import, lock, log, move, properties, relocate, resolved, revert, status,
switch, unlock, update.
Subversion info in file properties dialog.
WWW: http://goodies.xfce.org/projects/thunar-plugins/thunar-svn-plugin
PR: ports/128117
Submitted by: Sergey V. Dyatko <sergey.dyatko at gmail.com>
Module::Depends extracts module dependencies from an unpacked distribution
tree.
Module::Depends only evaluates the META.yml shipped with a distribution.
This won't be effective until all distributions ship META.yml files, so we
suggest you take your life in your hands and look at
Module::Depends::Intrusive.
WWW: http://search.cpan.org/dist/Module-Depends/
In addition to simple TCP sockets, it is moving towards transparent
support for additional abstractions in a seamless manner, such as
SSL and Socks5 proxies.
WWW: http://sourceforge.net/projects/kageki
PR: 128105
Submitted by: Matt Harris <mattdharris at users dot sourceforge dot net>
(Linux, Mac OS X, Windows, Cygwin, Windows CE, and Symbian).
Based on the xUnit architecture. Supports automatic test discovery,
a rich set of assertions, user-defined assertions, death tests,
fatal and non-fatal failures, type-parameterized tests, various options
for running the tests, and XML test report generation.
functionality for coroutines. For a definition of the term coroutine
see The Art of Computer Programming by Donald E. Knuth. Coroutines
are a very simple cooperative multitasking environment where the
switch from one task to another is done explicitly by a function
call.
WWW: http://www.xmailserver.org/libpcl.html
PR: 128066
Submitted by: Manuel Giraud <manuel dot giraud at gmail dot com>
This module provides functions for determining the pathname of the current
working directory. It is recommended that getcwd (or another *cwd() function)
be used in all code to ensure portability.
By default, it exports the functions cwd(), getcwd(), fastcwd(), and
fastgetcwd() (and, on Win32, getdcwd()) into the caller's namespace.
WWW: http://search.cpan.org/~kwilliams/Cwd-2.21/Cwd.pm
PR: ports/127881
Submitted by: Dennis Herrmann <adox at mcx2.org>
applications without having to think about most of the annoying
things usually involved.
For information on how to start using App::Cmd, see App::Cmd::Tutorial.
WWW: http://search.cpan.org/dist/App-Cmd
PR: ports/127935
Submitted by: George Hartzell <hartzell at alerce.com>
This module provides several functions to assist in testing whether a value
is an object, and if so asking about its class.
WWW: http://search.cpan.org/dist/Check-ISA/
MooseX::Storage is a serialization framework for Moose, it provides a very
flexible and highly pluggable way to serialize Moose classes to a number of
different formats and styles.
WWW: http://search.cpan.org/dist/MooseX-Storage/
of new Python stdlib modules (e.g. optparse) so that it is more useful
(and convenient) for implementing command-line scripts/shells.
WWW: http://code.google.com/p/cmdln/
PR: ports/127116
Submitted by: Yi-Jheng Lin <yzlin at cs.nctu.edu.tw>
Forest is intended to be a replacement for the Tree::Simple family of
modules, and fixes many of the issues that have always bothered me about
them. It is by no means a complete replacement yet, but should eventually
grow to become that.
WWW: http://search.cpan.org/dist/Forest/
Sub::Current makes available a function ROUTINE(), that returns a code
reference pointing at the currently executing subroutine.
In a special block (BEGIN, END, CHECK, INIT, and UNITCHECK in Perl 5.10)
this function will return undef.
Outside of a special block (that is, at the top level of a program)
ROUTINE() will return undef as well.
WWW: http://search.cpan.org/dist/Sub-Current/
When using Pod::Coverage in combination with Moose, it will report any
method imported from a Role. This is especially bad when used in combination
with Test::Pod::Coverage, since it takes away its ease of use.
WWW: http://search.cpan.org/dist/Pod-Coverage-Moose/
Out of the box Moose only provides very barebones cloning support in order
to maximize flexibility.
This role provides a clone method that makes use of the low level cloning
support already in Moose and adds selective deep cloning based on
introspection on top of that. Attributes with the Clone trait will handle
cloning of data within the object, typically delegating to the attribute
value's own clone method.
WWW: http://search.cpan.org/dist/MooseX-Clone/
depending on availability.
Under older perls this module provides a drop in compatible api to
Hash::Util::FieldHash using perltie. When Hash::Util::FieldHash is available
it will use that instead.
This way code requiring field hashes can benefit from fast, robust field
hashes on Perl 5.10 and newer, but still run on older perls that don't ship
with that module.
WWW: http://search.cpan.org/dist/Hash-Util-FieldHash-Compat/
the keys.
The Tie::RefHash module can be used to access hashes by reference. This is
useful when you index by object, for example.
The problem with Tie::RefHash, and cross indexing, is that sometimes the
index should not contain strong references to the objecs. Tie::RefHash's
internal structures contain strong references to the key, and provide no
convenient means to make those references weak.
This subclass of Tie::RefHash has weak keys, instead of strong ones. The
values are left unaltered, and you'll have to make sure there are no strong
references there yourself.
WWW: http://search.cpan.org/dist/Tie-RefHash-Weak/
Magic is Perl way of enhancing objects. This mechanism let the user add
extra data to any variable and overload syntaxical operations (such as
access, assignation or destruction) that can be applied to it. With this
module, you can add your own magic to any variable without the pain of the C
API.
WWW: http://search.cpan.org/dist/Variable-Magic/
- Remove graphics/openproducer, graphics/openthreads - those are now included in osg
- Remove obsolete bsd.osg.mk from graphics/osg
- Mark graphics/demeter BROKEN if it's being build WITH_OSG, as it won't compile now
for the libglade library. Used in conjunction with SLgtk,
it allows you to design your GUI with Glade (a GTK+ user interface builder),
save the interface description in a Glade XML file,
and then generate your S-Lang script's graphical interface
directly from the XML at runtime. This should reduce the time spent
developing SLgtk applications considerably, as it eliminates
the tedious job of writing interface-creation code by hand.
This is an update for Christopher Stawarz's SLglade module.
WWW: http://laurent.perez2.free.fr/comp/slang/modules/modules.html
PR: 126652
Submitted by: Alexey Shuvaev
Approved by: miwi (mentor)
for FreeBSD. The official KDE 4.1.0 release notes can be found at
http://www.kde.org/announcements/4.1/.
Some note:
* Prefix
KDE4 will be install into a custom prefixes namely ${LOCALBASE}/kde4.
KDE4 and KDE3 can co-exist
* Sound
For sound to work, it is necessary to have dbus and hal enabled
in your system. Please see the respective documentation on how
to enable these.
For more Informations see the HEADS UP at ports@ and kde-freebsd@
or our wiki page http://wiki.freebsd.org/KDE4/Install.
Have fun!
to provide a minimal, flexible, ruby-like way to bundle up all of your
application files for deployment to a Java application server.
Warbler provides a sane set of out-of-the box defaults that should allow
most Rails applications without external gem dependencies
(aside from Rails itself) to assemble and Just Work.
Warbler bundles JRuby and the JRuby-Rack servlet adapter for
dispatching requests to your application inside the java application server,
and assembles all jar files in WARBLER_HOME/lib/*.jar into your application.
No external dependencies are downloaded.
WWW: http://caldersphere.rubyforge.org/warbler/
PR: ports/126327
Submitted by: Alexander Logvinov <ports at logvinov,com>
non-JSON stuff, like allowing for comments in the files.
WWW: http://search.cpan.org/dist/Config-JSON/
PR: ports/126119
Submitted by: Tomoyuki Sakurai <cherry at trombik.org>
enough. This module offers to have streams from filehandles searched with
regexes and allows the global input record separator variable to contain
regexes.
Thus, readline() and the <> operator can now return records delimited by
regular expression matches.
WWW: http://search.cpan.org/dist/File-Stream/
PR: ports/125926
Submitted by: Tomoyuki Sakurai <cherry at trombik.org>
Note:
With this update several ports specific problems
have been fixed. Qt4 headers and libraries have
been moved to include/qt4 and lib/qt4. bsd.qt.mk
defines QT_INCDIR and QT_LIBDIR now, which could
be used in qt4-dependent ports if required.
Thanks to: Max Brazhnikov Danny Pansters
under environments where you have STDOUT and/or STDERR tied to something
else, such as under fastcgi.
The module adds safe-guarding code when you call IPC::Run or IPC::Run3
under such environment to make sure it always works.
If you intend to release your code to work under normal envionrment as
well as under fastcgi, simply use this module *after* the "IPC" modules
are loaded in your code.
WWW: http://search.cpan.org/dist/IPC-Run-SafeHandles/
Approved by: araujo (mentor)
microcontrollers. It includes patches from the WinAVR project to
support the ATmega32C1, ATmega32M1, ATmega32U4, and ATtiny167
controllers, and in particular the next generation AVRs ATxmega64A1
and ATxmega128A1.
The port has been carefully crafted to peacefully coexist with the
non-devel avr-gcc port. All executables installed have the suffix
"-43" added for that reason.
The legoctl library has been updated to support Vex robot
controllers as well as the Lego NXT. This new version also
has many enhancements to the NXT interface, and a command-line
utility for remote controlling NXT robots from FreeBSD via
a PC gamepad over bluetooth.
PR: ports/125874
Submitted by: Jason Bacon <jwbacon@tds.net>
Libgamepad is a portable, uniform API for joystick and
gamepad devices. It's meant to overlay platform-dependent
interfaces just as the BSD joy and uhid drivers, and the
user-space libhid. This will allow device and platform
dependencies to be left out of applications, making them
simpler and more portable.
PR: ports/125872
Submitted by: Jason Bacon <jwbacon@tds.net>
It is often used for exchanging data between a web
server and user agent. This module aims to produce
a library for serializing and deserializing JSON
that conforms strictly to RFC 4627.
WWW: http://pypi.python.org/pypi/jsonlib/
PR: ports/125827
Submitted by: Wen Heping <wenheping at gmail.com>