compiler.mk/gcc.mk: Add support for USE_LANGUAGES+= ada

All recent packages featuring Ada code have a hard dependency on the
lang/gnat-aux compiler package.  The valid values for USE_LANGUAGES
are c, c99, c++, fortran, fortran77, java, objc, so specifying a
specific compiler was necessary up into now.

One problem with lang/gnat-aux is that it is installed at ${LOCALBASE}
where the lang/gccXX compilers are installed at ${LOCALBASE}/gccXX.
The latter compilers have no possibility of sharing conflicting files
unlike lang/gnat-aux.  Rather than fundamentally update the GCC 4.6-based
lang/gnat-aux to avoid these conflicts, a new Ada-capable compiler
based on GCC 4.7 was created with the intent of being supported by
mk/compiler.mk and mk/compiler/gcc.mk.

The Ada packages will be effectively migrated from lang/gnat-aux to the
new lang/gcc-aux compiler, but lang/gcc-aux will remain as a standalone
package as it is the only GCC 4.6-based compiler that builds on
DragonFly and serves it as a world and kernel compile option.

In addition to the current language wrappers, lang/gcc-aux adds
wrappers for "ada" (unique to gcc-aux, hardlinked to gcc driver),
and the gnat, gnatmake, gnatbind, gnatlink, gnatchop, gnatprep, 
and gnatls programs.  Supporting all of these allows the wrapper
system to be used with Ada packages; currently wrappers are mostly
disabled on them.

The lang/gcc47 implicitly adds support for the "objc-c++" language by
adding it to the USE_LANGUAGES list, but it wasn't really supported.
An attempt was made to better support objc-c++, but this new enumeration
probably still needs work or needs to be removed completely.

Logic for Ada support:
1) All lang/gccXX compilers have version numbers ranging from 2.8.1 to 9.
2) lang/gcc-aux uses the release date as its version number in the form of
   YYYYMMDD with a minimum value of 20120614, so there is no version
   overlap.
3) When at least one element of USE_LANGUAGES is "ada", the value of
   20120614 is added to the set of GCC_REQD which selects lang/gcc-aux.
4) The _NEED_NEWER_GCC check is disabled.  It fails and isn't relevant;
   unless a package sets GCC_REQD over 20120614, the only way to select
   lang/gcc-aux is to specify the Ada language and only one compiler
   known to gcc.mk can support it.
textproc/xmlada: Build with USE_LANGUAGES+= ada

1) Remove lang/gnat-aux dependency
2) USE_LANGUAGES+= ada (invokes lang/gcc-aux dependency)
3) Improve shared library rpath definition required when built by compiler
   not installed at ${LOCALBASE}
4) Restore use of pkgsrc wrappers
devel/gprbuild-aux: Upgrade to version GPL 2012

1) Replace custom tarball with Adacore's GPL 2012 release
2) Update license to GPLv3
3) Remove lang/gnat-aux dependency
4) USE_LANGUAGES+= ada (invokes lang/gcc-aux dependency)
5) Update buildlink3.mk to require GPL 2012 version
6) Restore use of pkgsrc wrappers
7) Add Library_Option "-R" support which ignores all automatically
   generated rpaths* which point to the WRKOBJDIR.  DESTDIR isn't
   supported by GPRBuild, so this rpath disabling is necessary to
   avoid references to work directories.
   * gcc and adalib rpaths are excluded with -R option.
8) This Library_Option "-R" matches the same modification added to
   lang/gcc-aux and lang/gnat-aux's project handler.
9) This modification is required to fix www/aws rpath issues which
   appears with recent changes to PKG_DEVELOPER=yes checks.
devel/gprbuild-aux: Remove old patches

CVS mistake; These two patches should have been removed with previous
commit.
www/aws: Build with USE_LANGUAGES+= ada

1) Remove lang/gnat-aux dependency
2) USE_LANGUAGES+= ada (invokes lang/gcc-aux dependency)
3) Restore use of pkgsrc wrappers
4) Utilize custom capability of devel/gprbuild-aux Library_Options ("-R"
   and "-Wl,-R" to redefine rpaths of shared libraries to remove
   references to the work directory.  This error was highlighted by new
   updates to the PKG_DEVELOPER=yes checks.
5) Fix for Ada 2012 binding interpretation that prevented build on
   lang/gcc-aux.  (AI05-0115, aggregates with invisible components)
6) GPRBuild-based packages require USE_LANGUAGES+= c++ fortran in addition
   to "c" and "ada" because GPRBUILD probes for these languages.  If they
   aren't on the language list, pkgsrc comes back with a warning message
   that causes gprbuild to throw an unhandled exception due to a regex
   failure.  www/aws doesn't contain c++ or fortran despite the value of
   USE_LANGUAGES.
www/aws-demos: Build with USE_LANGUAGES+= ada

1) Remove lang/gnat-aux dependency
2) USE_LANGUAGES+= ada (invokes lang/gcc-aux dependency)
3) Restore use of pkgsrc wrappers
4) USE_TOOLS+= gawk (remove gawk dependency)
5) Add several CONFIGURE_ARGS
6) Add python dependency
7) Update 1-line description
8) Update long description


Given the number of changes requires to build using lang/gcc-aux, it's
doubtful that this package built correctly with lang/gnat-aux.
Originally www/aws contained the demos and they were split out into
a second package after submission, but this split package may not have
been properly tested afterwards.
x11/gtkada: Build with USE_LANGUAGES+= ada

1) Remove lang/gnat-aux dependency
2) USE_LANGUAGES+= ada (invokes lang/gcc-aux dependency)
3) USE_TOOLS+= pkg-config (remove hardcoded PATH)
4) Restore use of pkgsrc wrappers
5) Fix bad paths of bin/gate (discovered by updated PKG_DEVELOPER=yes)
6) Use @pkgdir for required empty directory instead of .IGNOREME
7) Add -lgnat for shared libraries, required in this build configuration
devel/gps: Build with USE_LANGUAGES+= ada

1) Remove lang/gnat-aux dependency
2) USE_LANGUAGES+= ada (invokes lang/gcc-aux dependency)
3) Restore use of pkgsrc wrappers
4) Unreferenced pragma added, required to build with lang/gcc-aux
5) Ada 2012 binding interpretation fixes added, required to build with
   lang/gcc-aux
6) GPRBuild-based packages require USE_LANGUAGES+= c++ fortran in addition
   to "c" and "ada" because GPRBUILD probes for these languages.  If they
   aren't on the language list, pkgsrc comes back with a warning message
   that causes gprbuild to throw an unhandled exception due to a regex
   failure.  devel/gps doesn't contain c++ or fortran despite the value of
   USE_LANGUAGES.
rsvg_get_file_path is an externally visible function.
Fixes NetBSD-5.1/amd64 build.

Patch from Rhialto on pkgsrc-users.
Fix off-by-one which broke Time::HiRes::usleep(1000000).
From Michai Ramakers in PR 46673. Bump PKGREVISION.
Updated time/p5-Time-HiRes to 1.9724nb1
Some more OSX improvements:

 - Add mount for /usr/X11.
 - Add support for mounting read-write directories, adding the postfix data
   directory so that bulk builds can send mail.
 - Use $kernel rather than rolling our own copy.
Add upstream bug report.