or versioning. You can see how a model looked at any stage in its lifecycle,
revert it to any version, and even undelete it after it's been destroyed.
OK jeremy@ jasper@
working with OLE2 structured storage files, such as those produced by
Microsoft Office - eg *.doc, *.msg etc.
Dependency for ruby-spreadsheet.
OK jeremy@
Perl extension for Munkres' solution to classical Assignment problem for
square and rectangular matrices This module extends the solution of
Assignment problem for square matrices to rectangular matrices by
padding zeros. Thus a rectangular matrix is converted to square matrix
by padding necessary zeros.
ok sthen@
Class::Std::Fast allows you to use the beautiful API of Class::Std in a
faster way than Class::Std does. You can get the object's ident via
scalarifiyng your object. Getting the objects ident is still possible
via the ident method, but it's faster to scalarify your object.
ok sthen@
This module provides both a C and pure ruby simple subset sum problem
solver. The subset sum problem is, given a set of numbers, can the sum
of any subset of those numbers equal a given number. This problem is
NP-complete.
Both the C and pure ruby versions implement a fairly simple
meet-in-the-middle algorithm. The C version uses an AVL tree to store
the data, while the pure ruby version uses a ruby hash. For the C
version to be used, the sum of the positive numbers and the sum of the
negative numbers in the set, as well as the wanted number, must all be
Fixnums. Additionally, max_seconds should be nil or a Fixnum.
ruby-prof is a fast code profiler for Ruby. Its features include:
* Speed - it is a C extension and therefore many times faster than the
standard Ruby profiler.
* Modes - Ruby prof can measure a number of different parameters,
including call times, memory usage and object allocations.
* Reports - can generate text and cross-referenced html reports
o Flat Profiles - similar to the reports generated by the standard
Ruby profiler
o Graph profiles - similar to GProf, these show how long a method
runs, which methods call it and which methods it calls.
o Call tree profiles - outputs results in the calltree format
suitable for the KCacheGrind profiling tool.
* Threads - supports profiling multiple threads simultaneously
* Recursive calls - supports profiling recursive method calls
home_run is an implementation of ruby's Date/DateTime classes in C, with
much better performance (20-200x) than the version in the standard
library, while being almost completely compatible.
MSpec is a specialized framework that is syntax-compatible with RSpec
for basic things like describe, it blocks and before, after actions.
MSpec contains additional features that assist in writing the RubySpecs
used by multiple Ruby implementations. Also, MSpec attempts to use the
simplest Ruby language features so that beginning Ruby implementations
can run it.
With ffi-inliner you can run C code within your ruby script:
* Mix C snippets in your Ruby code and gulp it on the fly!
* It's based on Ruby-FFI so the C code you inject is portable across
Ruby implementations!
* Yep, it means that you can run it on JRuby too!
* Fast compilation through tcc
* But it can use the system's compiler (e.g. gcc) on those platforms
that don't support tcc (e.g. OSX) or that don't have it installed
Ruby-FFI is a ruby extension for programmatically loading dynamic
libraries, binding functions within them, and calling those functions
from Ruby code. Moreover, a Ruby-FFI extension works without changes on
Ruby and JRuby.
* It has a very intuitive DSL
* It supports all C native types
* It supports C structs (also nested), enums and global variables
* It supports callbacks
* It has smart methods to handle memory management of pointers and
structs
rake-compiler aims to help Gem developers deal with Ruby extensions,
simplifying code and reducing duplication.
It follows convention over configuration and sets a standardized
structure to build and package both C and Java extensions in your gems.
This is the result of experiences dealing with several Gems that
required native extensions across platforms and different user
configurations where details like portability and clarity of code were
lacking.
allow keyword access to array instances. 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.
Bustle draws sequence diagrams of D-Bus activity, showing signal
emissions, method calls and their corresponding returns, with timestamps
for each individual event and the duration of each method call. This can
help you check for unwanted D-Bus traffic, and pinpoint why your
D-Bus-based application isn't performing as well as you like.
<...>
ok kili@ jasper@
This library provides an abstraction of buffered output of byte streams
and several convenience functions to exploit it. For example, it allows
to efficiently serialize Haskell values to lazy bytestrings with a large
average chunk size. The large average chunk size allows to make good use
of cache prefetching in later processing steps (e.g. compression) and
reduces the sytem call overhead when writing the resulting lazy
bytestring to a file or sending it over the network.
ok kili@
vector arrays. Needed by the upcoming update of www/hs-snap-server.
Not yet wired to the build; I'll do this after updating a couple of
other Haskell libraries (and after jasper@ updated devel/hs-text).
libguess employs discrete-finite automata to deduce the character set of
the input buffer. The advantage of this is that all character sets can
be checked in parallel, and quickly. Right now, libguess passes a byte
to each DFA on the same pass, meaning that the winning character set can
be deduced as efficiently as possible.
ok jasper@
Test::SharedFork is utility module for Test::Builder. This module makes
forking test!
This module merges test count with parent process & child process.
From Abel Abraham Camarillo Ojeda on ports@
Test::Requires checks to see if the module can be loaded.
If this fails rather than failing tests this skips all tests.
From Abel Abraham Camarillo Ojeda on ports@
Devel::StackTrace::AsHTML adds as_html method to Devel::StackTrace which
displays the stack trace in beautiful HTML, with code snippet context
and function parameters. If you call it on an instance of
Devel::StackTrace::WithLexicals, you even get to see the lexical
variables of each stack frame.
From Abel Abraham Camarillo Ojeda on ports@
Hash::MultiValue is an object (and a plain hash reference) that may
contain multiple values per key, inspired by MultiDict of WebOb.
From Abel Abraham Camarillo Ojeda on ports@
CICPHash has the exact same interface as Hash, but is case insensitive
and case preserving. Any value can be used as a key. However, you cannot
have two keys in the same CICPHash that would be the same if when
converted to strings would be equal or differing only in case.
ok landry
kgio provides non-blocking I/O methods for Ruby without raising
exceptions on EAGAIN and EINPROGRESS. It is intended for use with the
Unicorn and Rainbows! Rack servers, but may be used by other
applications.
ok landry
Some [hopefully] useful extensions to Ruby.s String class. Stringex is
made up of three libraries: ActsAsUrl [permalink solution with better
character translation], Unidecoder [Unicode to Ascii transliteration],
and StringExtensions [miscellaneous helper methods for the String
class].
ok landry
A toolkit for building modeling frameworks like Active Record and Active
Resource. Rich support for attributes, callbacks, validations,
observers, serialization, internationalization, and testing.
ok landry
Monad classes using type families, with instances for various monad
transformers, inspired by the paper "Functional Programming with
Overloading and Higher-Order Polymorphism", by Mark P Jones.
ok kili@
Enumerators and Iteratees are an abstraction discovered by Oleg
Kiselyov, which provide a performant, predictable, and safe alternative
to lazy I/O. This library is a simplified, reorganized version of
Oleg's original code.
ok kili@
MSPDebug is a free debugger for use with MSP430 MCUs. It supports
FET430UIF, eZ430, RF2500 and Olimex MSP-JTAG-TINY programmers. It can be
used as a proxy for gdb or as an independent debugger with support for
programming, disassembly and reverse engineering.
With a patch from jakemsr@ to work around a ugen/libusb issue where
usb_bulk_read return 0 on timeout, which isn't deal with properly.
ok ajacoutot@
with additional patches for msp430 support.
One will need an upcoming umodem.c commit by jakemsr@, and an upcoming
mspdebug port in order to actually program the devices though.
feedback/ok aja@
Add O_NONBLOCK inusb_interrupt_read to to fix communication with UPS.
Fix return value of usb_control_msg.
All from FreeBSD.
Add missing WANTLIB while here.
ok sthen@ jakemsr@
which can be triggered by clients. Please update your servers (it doesn't
matter whether you use svnserve or mod_dav_svn, you need to update).
A corresponding update for -stable ports will follow.
ok jasper sthen dcoppa
Previously, we were using ruby->=1.8,<=1.9, instead of
ruby->=1.8,<1.9. While this wouldn't cause an issue, since
our ruby-1.9.2 package isn't included in ruby->=1.8,<=1.9,
it's still wrong and should be fixed. This also fixes the
following minor issues:
Switch from using FLAVOR to MODRUBY_FLAVOR for *_DEPENDS.
Currently we don't have a ruby port that uses FLAVORs that
would differ from MODRUBY_FLAVOR, but it's possible we will
in the future.
Switch from BASE_PKGPATH to BUILD_PKGPATH in a few cases in
REGRESS_DEPENDS. This probably is not strictly necessary, but
BUILD_PKGPATH is used in more cases, so it is good for
consistency.
Switch to new style *_DEPENDS, with the version specification
at the end. The remaining cases where this is not done is
because a specific version is used.
Some FULLPKGNAME added to REGRESS_DEPENDS, to make sure that if
the old version is installed when you run a regress test, it
will install the new version first.
Some conversion of spaces to tabs for consistency.
OK landry@