pyparsing is an alternative approach to creating and executing simple
grammars, vs. the traditional lex/yacc approach, or the use of regular
expressions. The parsing module provides a library of classes that
client code uses to construct the grammar directly in Python code.
As a result, this recognition must happen when we know the files
exist, e.g., at find time.
Adjust the auto-migration of shared objects to PFRAG.shared so that
it doesn't migrate subpackage files to the main package.
Simplify info handling slightly by just writing @info thingy.info.
XXX note that some info files will have to be patched to have proper
category/direntry tags.
okay naddy@
If LOCK_CMD, UNLOCK_CMD and LOCK_DIR are defined, those are used to
perform `big-lock' style locking on top-level targets, such as
extract, patch, build.
The internals of the ports tree do not use any finer grained locking.
Those top-level targets now redirect to _internal-targets, without
any behavioral change.
Any dependency computation will recurse to another directory, and
invoke a top-level target, thus triggering the locking of the dependency.
All locking is done using FULLPKGNAME, except for fetch with uses
the DISTFILES names for independent files.
If no locking is desired, the top-level targets simply redirect to
the _internal-targets. The cost is close to zero: make just needs to
handle an extra ~20 phony targets.
Much testing and approval by brad@, naddy@, pval@, fries@ and other
people. Thanks to niklas@ for some useful discussion.
PHP iCalendar is a php-based iCal file parser. Its based on v2.0 of the
IETF spec. It displays iCal files in a nice logical, clean manner with
day, week, month, and year navigation, printer view, RSS-enabled, and
searchable. It supports 12 languages, is fully theme-able, and has
complete timezone support.