ODE is a free, industrial quality library for simulating articulated
rigid body dynamics - for example ground vehicles, legged creatures,
and moving objects in VR environments. It is fast, flexible, robust
and platform independent, with advanced joints, contact with friction,
and built-in collision detection.
WWW: http://www.ode.org/
Add CONFLICTS in devel/ode
PR: 88581
Submitted by: Jose Alonso Cardenas Marquez <acardenas@bsd.org.pe>
Repocopy by: marcus
from Canonical. The difference between this and bazaar-ng is that this is the
"mainline" version of bazaar, beeing faster and more stable, while bazaar-ng is
the somwhat future platform. I thought it would be nice to have this in ports
as well, this is a very good implemenation that is easy to use, much easier
than TLA.
PR: ports/88476
Submitted by: Ulf Lilleengen <lulf@kerneled.org>
There are common operations for document centric applications that are
conceptually simple, but complex to implement fully.
- plugins
- load/save documents
- undo/redo
Goffice provides a single library for performing such operations.
Subclipse is an Eclipse plugin that adds Subversion integration
to the Eclipse IDE.
WWW: http://subclipse.tigris.org/
At the moment, a part of subclipse is integrated into
phpeclipse, but a special port should be better.
PR: ports/86637
Submitted by: Gerrit Beine <tux@pinguru.net>
constructs. Although RakNet can be used for any networked application, it
was developed specifically for rapid development of online games and the
addition of multiplayer to single player games.
WWW: http://www.rakkarsoft.com/
PR: ports/87304
Submitted by: Andrew I Baznikin <dikiy@scn.ru>
Bazaar-NG is an implementation of GNU arch from Canonical written in Python.
Arch is a version control system, which allows you to keep old versions of
files and directories (usually source code), keep a log of who, when, and
why changes occurred, etc., like SVN, CVS, or RCS. Arch is distributed, which
gives it significant advantages and some disadvantages compared to SVN and
CVS. The bzr implementation is the next Bazaar version from Canonical called
Bazaar-NG.
WWW: http://www.bazaar-ng.org/
PR: ports/87849
Submitted by: Ulf Lilleengen <lulf@kerneled.org>
CMUNGE is a simple tool for encrypting and compacting C source code, while
leaving it syntactically and semantically unchanged. It does this by:
* Recursively in-lining `user-defined' #include files.
* Renaming C identifiers, except those in the C Standard Library, with names
like l1 (i.e. letter-l one), l2, l3, etc.
* Removing comments and blank lines, converting multiple consecutive whitespace
characters (including `\n') into single blanks, removing all unnecessary
whitespace between tokens.
* Outputting the transformed code in lines of least N characters long, where N
is a user-specified minimum line length.
It accepts ANSI and K & R C as its input language.
WWW: http://www.vcpc.univie.ac.at/~jhm/cmunge/
PR: ports/88066
Submitted by: Frerich Raabe <frerich.raabe@gmx.de>
multiple documents in one session and is portable to both Windows and
Unix-like platforms.
WWW: http://gobby.0x539.de
PR: ports/87687
Submitted by: Andreas Kohn <andreas@syndrom23.de>
flatzebra - A generic game engine for 2D double-buffering animation
WWW: http://www3.sympatico.ca/sarrazip/dev/
Needed for the upgrade of games/afternoonstalker
The Chain API models a computation as a series of "commands" that can be
combined into a "chain". The API for a command consists of a single method
(execute()), which is passed a "context" parameter containing the dynamic state
of the computation, and whose return value is a boolean that determines whether
or not processing for the current chain has been completed (true), or whether
processing should be delegated to the next command in the chain (false).
Given that command implementations are designed to conform with these
recommendations, it should be feasible to utilize the Chain of Responsibility
APIs in the "front controller" of a web application framework (such as Struts),
but also be able to use it in the business logic and persistence tiers to model
complex computational requirements via composition. In addition, separation of a
computation into discrete commands that operate on a general purpose context
allows easier creation of commands that are unit testable, because the impact of
executing a command can be directly measured by observing the corresponding
state changes in the context that is supplied.
WWW: http://jakarta.apache.org/commons/chain/
PR: 86800
Submitted by: Adam VanderHook <acidos@bandwidth-junkies.net>
- Repomove devel/libpreps to devel/prepstools since the project name
was changed.
- Give maintainership for devel/prepstools and devel/preps-gui to submitter
since the maintainer has been inactive for more than a year.
- Update devel/prepstools to 2.0.2.
- Update devel/preps-gui to 2.0.4.
PR: ports/84591
Submitted by: Jean Milanez Melo <jmelo@freebsdbrasil.com.br>
- By default this uses firefox for gecko but mozilla can be used with
WITH_MOZILLA=mozilla
Text editor widget based on Mozilla's editing functionality. This means top
notch HTML support as well as nice goodies like builtin undo.
WFUT allows the automatic updating of "channels" which are available on a
server. The channels are specified by an XML file (which also has an XSL file
associated with it for viewing in a web browser). Each channel has an
associated XML document listing the files available in the channel and the
current version number.WFUT compares this file list with a similar file on the
local machine to determine what files need updating.
WFUT performs a CRC32 check on each file downloaded before overwriting any
existing ones. WFUT keeps a list of files downloaded in a temporary file (which
will not be completely valid XML due to missing end tag) in something happens
during an update which does not allow the local list to be saved.
WWW: http://www.worldforge.org/dev/eng/tools/wfut
To enable interoperability between Portlets and Portals, this specification
defines a set of APIs for Portal computing addressing the areas of aggregation,
personalization, presentation and security.
WWW: http://www.jcp.org/en/jsr/detail?id=168/
useful for auto-detecting driver or plugin modules. You can differentiate
between looking in the category itself or in all subcategories.
Submitted by: Lars Balker Rasmussen <lars@balker.dk>
Notified by: dinoex
Add new port archivers/libunrar
"Library to work with RAR archivies"
PR: ports/86508
Submitted by: Alex Samorukov <samm@os2.kiev.ua>
Approved by: pav (mentor)
was developed to support the SFS distributed file system (see
http://www.fs.net). But because others use the toolkit for other
reasons, we're making SFS's libraries available as a separate,
lightweight package. sfslite compiles much faster and can be
installed as different non-conflicting build modes (such as
sfslite-dbg or sfslite-noopt) so might be better for some applications
that need the SFS libraries but not SFS.
PR: ports/86178
Submitted by: Maxwell Krohn <krohn@mit.edu>
Allegro dialogs in a very simple way. Its main purpose is to give as easy an
API as possible to people who want dialogs for editing many kinds of input
data.
PR: ports/85165
Submitted by: Alejandro Pulver <alejandro@varnet.biz>
This module provides a framework to produce sprite animations using
ASCII art. Each ASCII 'sprite' is given one or more frames, and placed
into the animation as an 'animation object'. An animation object can
have a callback routine that controls the position and frame of the
object.
If the constructor is passed no arguments, it assumes that it is
running full screen, and behaves accordingly. Alternatively, it can
accept a curses window (created with the Curses newwin call) as an
argument, and will draw into that window.
WWW: http://search.cpan.org/dist/Term-Animation/
Simple script that makes life a little easier with gnu-autotools
on FreeBSD. Configgen takes all the guess work out of figuring out
paths, gnu-autotools versions, and more. Configgen can simply be
run in a source directory and it will figure out which versions of
autotools to use and the best way to auto-generate a configure script
or you can specify a command below.
-gnu Create generic gnu configure script
-gnome Create gnome specific configure script
-bsd Use FreeBSD auto-tools
(versions: libtool15, automake15, autoconf253)
-bsd14 Use FreeBSD auto-tools
(versions: libtool13, automake14, autoconf213)
-bsd19 Use FreeBSD auto-tools
(versions: libtool15, automake19, autoconf259)
<config> Specify a auto-gen configure script
This program tries to reformat and beautify PHP source code files automatically.
The program is Open Source and distributed under the terms of GNU GPL.
It is written in PHP and has a web frontend.
Note: devel/pear-PHP_Beautifier is for PHP5 only, and this one for PHP4.
communication between Emacs Lisp and Python. Pymacs aims Python as an
extension language for Emacs rather than the other way around, and this
assymetry is reflected in some design choices. Within Emacs Lisp code, one
may load and use Python modules. Python functions may themselves use Emacs
services, and handle Emacs Lisp objects kept in Emacs Lisp space.
PR: ports/85995
Submitted by: Mike Meyer <mwm@mired.org>
* lose the bison175 port, it's not needed for now and will
only confuse matters
* clean up devel/Makefile, modules, and MOVED appropriately
* take maintainership of the bison* ports
Approved by: portmgr
Internet Communications Engine (Ice) is a modern alternative to object
middleware such as CORBA(TM) or COM/DCOM/COM+.
PR: ports/85546
Submitted by: Boris B. Samorodov <bsam@ipt.ru>
"complex" flag whenever the object being stored or retrieved isn't a plain
scalar. In that case, the Storable module is used to freeze and thaw the
value automatically going in and out of the memcached.
PR: ports/84739
Submitted by: Jacques Marneweck <jacques@powertrip.co.za>
The design of the library is much influenced by the Boost Graph
Library (BGL) which is written in C++ heavily using its template
mechanism. Refer to http://www.boost.org/libs/graph/doc for further
links and documentation on graph data structures and algorithms and
the design rationales of BGL.
PR: ports/84587
Submitted by: Ulrich Spoerlein <q@galgenberg.net>
BisonGen is a general-purpose parser generator that converts a grammar
description for an LALR(1) context-free grammar into a program to
parse that grammar.
WWW: http://www.4suite.org
PR: ports/84546
Submitted by: Frerich Raabe <frerich@hex.athame.co.uk>
You would like to use JavaSVN when you need to access or modify Subversion
repository from your Java application, be it a standalone program, plugin or
web application. Being a pure Java program, JavaSVN doesn't need any
additional configuration or native binaries to work on any OS that runs Java.
JavaSVN Features:
* No external binaries or libraries are needed.
* JavaSVN supports http, https, svn and svn+ssh connection protocols.
* Low level API allows effective direct Subversion repository access.
* Compatible with applications that already use native javahl bindings.
WWW: http://tmate.org/svn/
PR: 84613
Submitted by: Gerrit Beine <tux@pinguru.net>
User::Identity is a Perl module for abstracting information about a
physical person.
WWW: http://search.cpan.org/search?dist=User-Identity
PR: ports/83837
Submitted by: Max Campos <mcampos@bpsw.biz>
flexible 3D engine written in C++ designed to make it easier and more
intuitive for developers to produce games and demos utilising 3D
hardware. The class library abstracts all the details of using the
underlying system libraries like Direct3D and OpenGL and provides an
interface based on world objects and other intuitive classes.
PR: ports/83781
Submitted by: Janos Mohacsi <janos.mohacsi@bsd.hu>
Utility classes and extension to the standard library that
were required by Rails, but found of general use.
PR: ports/82397
Submitted by: Jonathan Weiss <jw@innerewut.de>
that lets you easily define your own protocols and adapters, and declare what
adapters should be used to adapt what types, objects, or protocols.
In addition to its own Interface type, PyProtocols can also use Twisted and
Zope's Interface types too.
PR: ports/83626
Submitted by: Nicola Vitale <nivit@email.it>
concept of a project object model (POM), Maven can manage a project's build,
reporting and documentation from a central piece of information.
Maven 2.0 is a rewrite of the popular Maven application to achieve a number of
goals, and to provide a stable basis to take it into the future.
WWW: http://maven.apache.org/maven2/index.html
The primary topic of the Fujaba Tool Suite project is to provide an easy to
extend UML and Java development platform with the ability to add plug-ins.
* Fujaba Tool Suite combines UML class diagrams and UML behaviour diagrams to
a powerful, easy to use, yet formal system design and specification language.
* Furthermore the Fujaba Tool Suite supports the generation of Java sourcecode
out of the whole design which results in an executable prototype, ideally.
* Moreover the way back is provided, too (to some extend so far), so that Java
sourcecode can be parsed and represented within UML.
WWW: http://wwwcs.uni-paderborn.de/cs/fujaba/index.html
PR: 83471
Submitted by: Gerrit Beine <tux@pinguru.net>
Algorithm::Bucketizer distributes items of a defined size into a number of
dynamically created buckets, each of them capable of holding items of a defined
total size.
WWW: http://search.cpan.org/search?dist=Algorithm-Bucketizer
PR: ports/83064
Submitted by: Christopher Boumenot <boumenot@gmail.com>
This extended sorting algorithm allows you to
a) sort an array by ANY field number, not only the first
b) find duplicates in your data-set and sort them out.
WWW: http://search.cpan.org/dist/Sort-Array/
PR: ports/82968
Submitted by: Emanuel Haupt <ehaupt@critical.ch>
-----------
NAnt is a .NET based build tool. In theory it is kind of like make without
make's wrinkles. In practice it's a lot like Ant.
If you are not familiar with Jakarta Ant you can get more information at the
Ant project web site (http://ant.apache.org/).
Why NAnt?
---------
Because Ant was too Java specific.
Because Ant needed the Java runtime. NAnt only needs the .NET
or Mono runtime.
WWW: http://nant.sourceforge.net/
Submitted by: apeiron (Christopher Nehren <apeiron@comcast.net>)
Maitnainer: ""
BSD# - Project by: http://www.mono-project.com/Mono:FreeBSD
It supports macro substitution from the environment or from the file
itself, config file inclusion, easy handling of XML like tags,
checking for required tags, and more.
PR: ports/83090
Submitted by: Mark Starovoytov <mark_sf@kikg.ifmo.ru>
This module calculates the Modulus 10 Double Add Double checksum, also known
as the LUHN Formula. This algorithm is used to verify credit card numbers and
Standard & Poor's security identifiers such as CUSIP and CSIN.
You can find plenty of information about the algorithm by searching the web
for "modulus 10 double add double".
WWW: http://search.cpan.org/dist/Algorithm-LUHN/
PR: ports/82650
Submitted by: Aaron Dalton <aaron@daltons.ca>
Data::Taxonomy::Tags will basically take care of easily managing tags for an
item. You provide it with a string of tags and it will allow you to call
methods to get all the tags and categories as well as add and delete tags
from the list.
WWW: http://search.cpan.org/dist/Data-Taxonomy-Tags/
PR: ports/82669
Submitted by: Aaron Dalton <aaron@daltons.ca>
An extremely memory-efficient hash_map implementation. 2 bits/entry overhead!
The Google SparseHash project contains several hash-map implementations in use
at Google, with different performance characteristics, including an
implementation that optimizes for space and one that optimizes for speed.
WWW: http://goog-sparsehash.sf.net
PR: ports/82696
Submitted by: Vasil Dimov <vd@datamax.bg>
OpenSync is a synchronization framework that is platform and distribution
independent. It consists of several plugins that can be used to connect to
devices, a powerfull sync-engine and the framework itself. The synchronization
framework is kept very flexible and is capable of synchronizing any type of
data, including contacts, calendar, tasks, notes and files.
Note: You may want to avoid extra dependencies from devel/swig13 by building with
the following SWIG_LANGUAGES="perl python"
generate code in C++, Java and Idl.
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 pre-defined plug-outs included in the BOUML distribution.
+ add devel/p5-PathTools, remove devel/p5-File-Spec
+ update dependencies for all affected ports (make them unconditional),
bump PORTREVISION for these ports
module was renamed
* reflect renaming on CPAN PodParser to Pod-Parser
+ add textproc/p5-Pod-Parser, remove textproc/p5-PodParser
+ update dependencies for all affected ports (make them unconditional),
bump PORTREVISION for these ports
* for all changed ports make dependencies on File::Temp, Digest::MD5,
Storable unconditional
* remove 'CONFIGURE_ARGS= INSTALLDIRS=site' from Makefile's
(this variable is forced by bsd.port.mk now)
* update Class-Autouse to 1.17
* update POE-API-Hooks to 1.05
* make portlint happy (clean IGNORE, convert spaces to tabs and so on)
modern alternative to object middleware such as CORBA.
PR: 64136
Submitted by: Stefan Ehmann <shoesoft@gmx.net>
Original submission by: Sergey Matveychuk <sem@ciam.ru>
Thanks to: flz for reviving the PR
The Xfce Foundation Classes (XFC) is a set of well integrated C++ classes
for developing Xfce applications on UNIX-like operating systems.
XFC combines the power of GTK+ and the power of C++ into a state-of-the-art
application development framework for the Xfce Desktop Environment. XFC
judiciously uses C++ language features to avoid layering on too much extra
C++ complexity. Its API is easy to understand and use, and should feel
immediately familiar to most GTK+ programmers.
The GIT itself is merely an extremely fast and flexible filesystem-based
database designed to store directory trees with regard to their history.
The top layer is a SCM-like tool Cogito which enables human beings to work
with the database in a manner to a degree similar to other SCM tools (like
CVS, BitKeeper or Monotone).
PR: ports/81698
Submitted by: Michael Seyfert <michaels@sdf.lonestar.org>
Approved by: erwin (mentor)
Smart comments provide an easy way to insert debugging and tracking code into
a program. They can report the value of a variable, track the progress of a
loop, and verify that particular assertions are true.
Best of all, when you're finished debugging, you don't have to remove them.
Simply commenting out the use Smart::Comments line turns them back into
regular comments. Leaving smart comments in your code is smart because if you
needed them once, you'll almost certainly need them again later.
Author: Damian Conway <DCONWAY@cpan.org>
WWW: http://search.cpan.org/dist/Smart-Comments/
PR: ports/81476
Submitted by: Aaron Dalton <aaron@daltons.ca>
PEAR::PEAR_PackageFileManager revolutionizes the maintenance of PEAR packages.
PR: ports/81398
Submitted by: Antonio Carlos Venancio Junior <antonio@php.net>
PEAR::HTML_CSS provides a simple interface for generating
a stylesheet declaration.
PR: ports/81132
Submitted by: Antonio Carlos Venancio Junior <antonio@php.net>
specify or shows to the screen. najitool is being developed in the ANSI C
standard so it should work and compile on any system that supports ANSI C,
which should be every system.
PR: ports/81204
Submitted by: <cokyazici@yahoo.co.uk>
access binary data streams in C++.
The library is hardware independent in the form that it transparently
converts between the different forms of machine-internal binary data
representation.
It further employs no special I/O protocol and can be used on arbitrary
binary data sources.
WWW: http://libbinio.sourceforge.net/
PR: ports/80727
Submitted by: Emanuel Haupt <ehaupt@critical.ch>
This is quite a simple library that provides an easy interface to the common
gateway interface, known as CGI. The purpose is to provide an easy to use
interface to CGI if you need to write your program in C instead of perl.
It is needed for modern rrdtool.
cvschk is a Perl program which allows you to see the status of your
own CVS directories, without access to the CVS repository. It shows
which files you changed, made locally, and which ones were deleted.
PR: ports/80279
Submitted by: Matthias Andree <matthias.andree@gmx.de>
libstatgrab is a library that provides a common interface for
retrieving a variety of system statistics on a number of *NIX like
systems.
This extension allows you to call the functions made available by
libstatgrab library.
PR: ports/79542
Submitted by: Tim Bishop <tim@bishnet.net>
used as a drop-in replacement for FAM. Gamin is designed to be more secure
than FAM as itdoes not require RPC, and runs a separate instance for each
user. While it is API and ABI compatible with FAM, it does not [yet]
support all of FAM's features.
This version of gamin comes with an optional (defaults to on) kqueue
backend for FreeBSD. This backend can only be used with UFS file
systems. If you need FAM-like support on non-UFS file systems, you
must build without the kqueue backend.
PEAR::XML_NITF provides a NITF XML parser. The parser was designed with NITF
version 3.1, but should be forward-compatible when new versions of the NITF DTD
are produced. Various methods for accessing the major elements of the document,
such as the hedline(s), byline, and lede are provided. This class was originally
tested against the Associated Press's (AP) XML data feed.
PR: ports/78992
Submitted by: Antonio Carlos Venancio Junior <antonio@php.net>
and extensions required
PEAR::PHP_CompatInfo will parse a file/folder/script/array to find out the
minimum version and extensions required for it to run. Features advanced
debug output which shows which functions require which version and CLI
output script.
PR: ports/78860
Submitted by: Antonio Carlos Venancio Junior <antonio@php.net>
The Event_Dispatcher acts as a notification dispatch table.
It is used to notify other objects of interesting things. This
information is encapsulated in Event_Notification objects. Client
objects register themselves with the Event_Dispatcher as observers of
specific notifications posted by other objects. When an event occurs,
an object posts an appropriate notification to the Event_Dispatcher.
The Event_Dispatcher dispatches a message to each registered
observer, passing the notification as the sole argument.
PR: ports/78889
Submitted by: Antonio Carlos Venancio Junior <antonio@php.net>
parameter checking in new constructor, that is to check for attributes
existence, and definedness. Since objects are built as hashes, this module
is suffixed by Hash.
PR: ports/76979
Submitted by: GomoR <netpkt@gomor.org>
instantiating a series of machine-generated contexts to serve as a means of
contrast. This makes it possible to identify text that is out of context using
a form of pattern consistency checking. BNR attempts to solve the problem
commonly referred to as "Bayesian Noise" which, in its simplest definition,
refers to irrelevant data present in a message being classified. Bayesian Noise
Reduction dubs irrelevant text in order to provide cleaner classification and
is implemented as a pre-filter to existing language classification functions.
PR: ports/78159
Submitted by: Ion-Mihai "IOnut" Tetcu <itetcu@people.tecnik93.com>
environment, it is quite fast and its stability is a main feature and goal.
WWW: http://jepp.sourceforge.net
PR: 78339
Submitted by: Choe, Cheng-Dae <whitekid@gmail.com>
This module uses the backend of CPANPLUS to run tests on modules recently
uploaded to CPAN and post results to the CPAN Testers list.
It will create a database file in the .cpanplus directory, which it uses
to track tested distributions. This information will be used to keep from
posting multiple reports for the same module, and to keep from testing
modules that use non-passing modules as prerequisites.
If it is given multiple versions of the same distribution to test, it will
test the most recent version only. If that version fails, then it will test
a previous version.
By default it uses CPANPLUS configuration settings.
File::HomeDir -- get home directory for self or other users
This module provides a function, home, and also ties the in-all-packages
variable %~.
WWW: http://search.cpan.org/dist/File-HomeDir/
Regexp::Assemble allows you to take a number of regular expressions and
assemble them into a single regular expression (or RE) that will match
everything that any of the individual REs match, only what they match
and nothing else.
WWW: http://search.cpan.org/dist/Regexp-Assemble/
CPAN++ (also referred to and pronounced as CPANPLUS) is a new and flexible
method of perl module management and installation using the Comprehensive
Perl Archive Network (CPAN). It aims to be a rewrite, and in time a
replacement to the current CPAN.pm. In addition to fixing some long-standing
problems, CPAN++ includes new features, such as module uninstall.
Note: CPANPLUS will become a part of core in perl 5.10
PR: 77012
Submitted by: Alex Kapranoff <kappa@rambler-co.ru>
gstreamer plugin (52 new ports).
- Chase changes to ports that used USE_GNOME=gstreamerplugisn
to use new USE_GSTREAMER= macro, Bump PORTREVISION's
--
Examples of new USE_GSTREAMER macro:
USE_GSTREAMER= dvd lame flac
.include <bsd.port.mk>
If you want to use USE_GSTREAMER after <bsd.port.pre.mk>
you must follow one of the examples listed below
WANT_GSTREAMER= yes
.include <bsd.port.pre.mk>
.if defined(WITH_VORBIS)
USE_GSTREAMER+= vorbis
.endif
or
USE_GSTREAMER= yes
.include <bsd.port.pre.mk>
.if defined(WITH_FAAD)
USE_GSTREAMER+= faad
.endif
Note: USE_GSTREAMER=yes will always add a dependency to
ports/multimedia/gstreamer-plugins
--
Thanks to krion for runing this on pointyhat
Thanks to kwm for helping with this, and many bug fixes , and updates.
manipulations. Although the author of the module has deprecated it and
asks to use File::Spec and Cwd instead, it apparently is still being
used (by freshports, for example).
version control than Tom's AVR Assembler (tavrasm), and to accept
more of the standard Atmel source files. This one also has an
enhanced macro facility.
development (and avoid duplicating effort) by providing a common framework to
deal with server communications.
PR: ports/77064
Submitted by: Jan Rochel <jannisan@t-online.de>
multiplayer online games and forms one of the WorldForge
(http://www.worldforge.org) core libraries.It is intended to be used as a
terrain library on both the client, and the server.
PR: ports/77085
Submitted by: Jan Rochel <jannisan@t-online.de>
the other wonderful logging products available from the Apache Software
Foundataion (eg. log4j, log4perl). Although not as powerful as the
others, it can make the task of adding advanced logging to shell scripts
easier. It has much more power than just using simple "echo" commands
throughout. In addition, it can be configured from a properties file so
that scripts in a production environment do not need to be altered to
change the amount of logging they produce.
WWW: http://forestent.com/products/log4sh/
PR: 76982
Submitted by: David Thiel <lx@redundancy.redundancy.org>
Running functions from the command line can be risky if the proper precautions
are not taken to escape the shell arguments and reaping the exit status
properly. This class provides a formal interface to both, so that you can run a
system command as comfortably as you would run a php function, with full pear
error handling as results on failure. It is important to note that this class,
unlike other implementations, distinguishes between output to stderr and output
to stdout. It also reports the exit status of the command. So in every sense of
the word, it gives php shell capabilities.
PR: ports/76749
Submitted by: Antonio Carlos Venancio Junior <antonio@php.net>
The PEAR::HTML_Page2 package provides a simple interface for generating an
XHTML compliant page:
* supports virtually all HTML doctypes, from HTML 2.0 through XHTML 1.1 and
XHTML Basic 1.0 plus preliminary support for XHTML 2.0
* namespace support
* global language declaration for the document
* line ending styles
* full META tag support
* support for stylesheet declaration in the head section
* support for script declaration in the head section
* support for linked stylesheets and scripts
* full support for header link tags
* body can be a string, object with toHtml or toString methods or an array
(can be combined)
Ideas for use:
* Use to validate the output of a class for XHTML compliance
* Quick prototyping using PEAR packages is now a breeze.
PR: ports/76532
Submitted by: Antonio Carlos Venancio Junior <antonio@php.net>
This program reformat and beautify PHP source code files
automatically.
The program is Open Source and distributed under the terms
of PHP Licence. It is written in PHP 5 and has a command
line tool.
PR: ports/76196
Submitted by: Antônio Carlos Venâncio Júnior <antonio@php.net>
This package offers a toolkit to render out a datagrid in
HTML format as well as many other formats such as an XML
Document, an Excel Spreadsheet, an XUL Document and more.
It also offers paging and sorting functionality to limit
the data that is presented and processed. This concept is
based on the .NET Framework DataGrid control and works very
well with database and XML result sets.
PR: ports/76165
Submitted by: Nick Hilliard <nick@foobar.org>
JSAP parses your command line and instantiates objects of types you specify
based upon that command line. If you configure JSAP to expect an Integer on the
command line, and the user does not provide a String that can be converted to
an Integer, JSAP will alert your program to the fact that there was a problem
with the command line. If JSAP indicates that your command line was
successfully parsed, you are guaranteed an Integer when you request that
parameter's value from your program. There's a pretty big (and growing) list of
return types supported by JSAP.
WWW: http://http://www.martiansoftware.com/jsap/index.html
cgprof helps to have a better understanding of program structure and execution.
It makes hot spots identification visual and intuitive. It is a shell script
using gnu awk, that should run on any Unix like system.
PR: ports/75173
Submitted by: Adam McLaurin <adam.freebsd@fastmail.fm>
The FSM package provides a simple class that implements a
Finite State Machine.
PR: ports/76043
Submitted by: Antônio Carlos Venâncio Júnior <antonio@php.net>
Tokenizer driven Template engine
HTML_Template_Flexy started it's life as a simplification of
HTML_Template_Xipe, however in Version 0.2, It became one of
the first template engine to use a real Lexer, rather than
regex'es, making it possible to do things like ASP.net or Cold
Fusion tags.
PR: ports/75818
Submitted by: Antônio Carlos Venâncio Júnior <antonio@php.net>