Merge multiarch patchset to 2012Q4.

Convert first set of packages to multiarch.

XXX: security/openssl is currently not working correctly due to
an ABI mis-match.

Convert to multiarch.

Convert to multiarch.

Convert to multiarch.

Add @link support to pkg_install.

This allows a @link directive in a plist, e.g.:

  @link bin/src bin/dst

and will create a hard link at pkg_add time using the supplied
arguments.  Flags are not supported, and the usual caveats for
hard links apply.

Import isaexec-1.0

This is a direct copy of isaexec.c from illumos, and will be used for
multiarch binaries.  We need this in pkgsrc because we rely on hard
links, and cannot guarantee that binary packages will be on the same
file system as /usr/lib/isaexec.

Simplify.

Add infrastructure support for isaexec.

When building multi-arch binaries, put 32-bit binaries inside bin/i86,
64-bit inside bin/amd64, add a dependency on isaexec, then use the new
@link support in pkg_install to create links to isaexec from the original
binary in bin/.

Convert digest to multiarch.

Mostly just for simple testing and verification of isaexec support.

Convert a bunch more packages to multiarch.

XXX: curl installs ABI-specific headers, this currently isn't handled.

Update to isaexec-1.1

Add support for the 'ABI' environment variable, and if it is set,
look in the ABI-specific subdirectory before falling back to the
usual isaexec(3C) routine.

Clean up ABI support.

Convert archivers/lzo to multiarch.

Convert archivers/xz to multiarch

Convert devel/flex to multiarch

Convert devel/apr-util to multiarch

Convert devel/apr to multiarch

Convert databases/sqlite3 to multiarch

Convert devel/pcre to multiarch

Convert x11/libX11 to multiarch

Support --sbindir for multiarch too.

Add support for INCARCHSUFFIX.

This is not meant to be used much, headers should be architecture
neutral.  However, there are some packages such as www/curl which
does ABI-specific things, and in those cases we need to separate
those headers and install wrapper headers ourselves.

Use the new multiarch support for includes.

Install a wrapper header for curlbuild.h and put the ABI-specific
versions into their own directories.

Convert x11/libXau x11/libXdmcp x11/libxcb to multiarch.

Convert textproc/libxml2 textproc/libxslt to multiarch.

Apply a multiarch fix for textproc/xmlrpc-c

Convert textproc/aspell to multiarch.

Duh, move curlbuild.h to the correct directory.

Convert devel/fossil to multiarch.

Convert devel/glib2 to multiarch.

Convert devel/libatomic_ops to multiarch.

Convert devel/libelf to multiarch.

Convert devel/libffi to multiarch.

Convert devel/libmemcache to multiarch.

Convert devel/librsync to multiarch.

Convert devel/memcached to multiarch.

Convert devel/ncursesw to multiarch.

Convert security/heimdal to multiarch.

Convert security/libgcrypt to multiarch.

Convert security/libgpg-error to multiarch.

Convert www/neon to multiarch.

Start converting postgresql91 to multiarch.

Start converting subversion to multiarch.

Fix whitespace, some of which is important.

Fix bad copy.

Greatly simplify PLIST handling.

Rather than having to manually update each PLIST to support multiarch,
let's be a bit more programatic.  Introduce a couple of new variables:

  MULTIARCH_DIRS.bin	# default is 'bin'
  MULTIARCH_DIRS.lib	# default is 'lib'

and teach the plist code to substitute matches with the appropriate
*ARCHSUFFIX variable.

Individual packages can then change or append to these variables to
support additional directories which require multiarch support.

Retain support for the old way of putting the various *ARCHSUFFIX
variables directly into the PLIST as we still need to support
INCARCHSUFFIX this way anyway.

Add 'sbin' to list of default BINARCHSUFFIX dirs.

Remove all custom bin/lib PLIST modifications.

Actually switch devel/glib2 to multiarch.

Fix libtool to handle new dynamic multiarch PLIST.

Bound the directory match.

Previously 'lib' would match libexec, for example.

Multiarch fixes.

Switch to using gcc47-compiler

Only make binutils a full dependency for compilers.

Multiarch fixes.

Convert devel/cppunit to multiarch.

Convert www/apache22 and modules to multiarch.

There is an ABI-specific header which is not yet handled, but modules
which use apxs work as expected.

Don't override MULTIARCH_DIRS unconditionally.

Enable USE_MULTIARCH=lib for devel/libltdl.

Forcibly symlink, fixes multiarch.

Convert devel/libevent to multiarch.

Convert devel/popt to multiarch.

Convert devel/ossp-uuid to multiarch.

Support multiarch for USE_BSD_MAKEFILE packages.

Turn on multiarch for all gettext packages.

Fix merge botch.

Convert fonts/fontconfig to multiarch.

Convert graphics/freetype-lib to multiarch.

Convert graphics/freetype2 to multiarch.

Convert graphics/jasper to multiarch.

Convert graphics/jpeg to multiarch.

Convert graphics/netpbm to multiarch.

Convert graphics/png to multiarch.

Convert graphics/tiff to multiarch.

Convert net/libfetch to multiarch.

Convert print/ghostscript to multiarch.

Convert print/libpaper to multiarch.

Convert textproc/libyaml to multiarch.

Convert x11/libICE to multiarch.

Convert x11/libSM to multiarch.

Convert x11/libXaw to multiarch.

Convert x11/libXext to multiarch.

Convert x11/libXmu to multiarch.

Convert x11/libXpm to multiarch.

Convert x11/libXt to multiarch.

Convert net/libpcap to multiarch.

Put back ordering of MULTIARCH_ABIS.

Not all packages will enable USE_MULTIARCH=bin and we should retain a
default of 32-bit.

Convert fonts/libfontenc to multiarch.

Convert graphics/gd to multiarch.

Convert x11/libXcomposite to multiarch.

Convert x11/libXcursor to multiarch.

Convert x11/libXfixes to multiarch.

Convert x11/libXfont to multiarch.

Convert x11/libXft to multiarch.

Convert x11/libXi to multiarch.

Convert x11/libXinerama to multiarch.

Convert x11/libXrandr to multiarch.

Convert x11/libXrender to multiarch.

Convert x11/libXtst to multiarch.

Convert x11/libXv to multiarch.

Convert x11/libXxf86misc to multiarch.

Convert x11/libXxf86vm to multiarch.

Only move WRKSRC if it exists, fixes META_PACKAGE.

Support NO_MULTIARCH_LIBDIR.

This allows packages to specify their own --libdir.

Convert graphics/MesaLib to multiarch.

Convert devel/pkg-config to multiarch.

Convert devel/pango to multiarch.

USE_MULTIARCH+=bin for *-config.

Convert lang/python27 to multiarch.

Move LIBARCHSUFFIX into shared Makefile.lib

Convert x11/fltk to multiarch.

Convert security/libgnome-keyring to multiarch.

Convert textproc/openjade to multiarch.

Convert textproc/opensp to multiarch.

Convert textproc/py-cElementTree to multiarch.

Convert misc/dialog to multiarch.

Use LIBARCHSUFFIX in one more place.

Ordinarily this isn't necessary as packages can find the correct libdir
anyway, however at least misc/dialog requires this.

Convert archivers/bzip2 to multiarch.

Fix .la file for multiarch.

Convert devel/boost-libs to multiarch.

First cut at multiarch gcc.

Should just need to ensure that the correct library directories are
searched depending on -m32 or -m64.

Centralise adding *ARCHSUFFIX to make environment.

Make the GCC multiarch stuff actually work.

Remove gtexinfo dependency, doesn't appear needed.

Fixes bootstrap problems with the runtime package.

Finish converting security/openssl to multiarch.

Convert graphics/lcms to multiarch.

Convert print/poppler to multiarch.

Convert graphics/ilmbase to multiarch.

Convert textproc/rarian to multiarch.

Convert devel/libgetopt to multiarch.

Convert devel/netcdf to multiarch.

Convert devel/rudiments to multiarch.

Convert geography/geos to multiarch.

Convert graphics/plotutils to multiarch.

Convert devel/libuuid to multiarch.

Convert graphics/jbigkit to multiarch.

Convert graphics/GraphicsMagick to multiarch.

Convert graphics/ocrad to multiarch.

Convert security/libassuan to multiarch.

Convert databases/freetds to multiarch.

Convert devel/boehm-gc to multiarch.

Convert multimedia/libdvdread to multiarch.

Convert net/libIDL to multiarch.

Convert multimedia/libdvdnav to multiarch.

Convert textproc/hunspell to multiarch.

Add USE_MULTIARCH += lib.

This is needed to ensure pkgconfig paths are searched correctly.

Convert tools infrastructure to multiarch.

The only reason this is required thus far is for pkg-config, as pkgsrc
sets a manual PKG_CONFIG_PATH, and we need to ensure that we look in the
correct directory.

However, it's simpler to just convert them all and avoid any possible
issues in the future.

This fixes a bunch of issues with 64-bit packages pulling in 32-bit
headers, most notable glib2 (which keeps ABI-specific headers in libdir)

Convert sysutils/dbus to multiarch.

Convert sysutils/dbus-glib to multiarch.

Convert net/ORBit2 to multiarch.

Convert textproc/enchant to multiarch.

Convert devel/atk to multiarch.

Convert devel/libdaemon to multiarch.

Convert graphics/gdk-pixbuf2 to multiarch.

Convert x11/xcb-proto to multiarch.

Convert x11/xproto to multiarch.

Convert x11/pixman to multiarch.

Convert graphics/cairo to multiarch.

Convert x11/renderproto to multiarch.

Convert x11/compositeproto to multiarch.

Convert x11/fixesproto to multiarch.

Convert x11/inputproto to multiarch.

Convert x11/kbproto to multiarch.

Convert x11/randrproto to multiarch.

Convert x11/xextproto to multiarch.

Convert x11/xineramaproto to multiarch.

Convert x11/gtk2 to multiarch.

Convert x11/fontsproto to multiarch.

Convert net/avahi to multiarch.

Convert devel/gmp to multiarch.

Convert graphics/openexr to multiarch.

Convert x11/xf86vidmodeproto to multiarch.

Convert x11/qt4-libs to multiarch.

Convert multimedia/libvdpau to multiarch.

Convert x11/xf86miscproto to multiarch.

Convert security/gnutls to multiarch.

Convert x11/recordproto to multiarch.

Convert devel/xorg-util-macros to multiarch.

Convert textproc/py-expat to multiarch.

Convert lang/tcl to multiarch.

Convert x11/tk to multiarch.

Additional multiarch changes.

Convert lang/perl5 to multiarch.

Just 'lib' for now for a multiarch libperl.so.  Eventually we will want
to do a full multiarch for binaries too, however that is more involved.

Convert security/nettle to multiarch.

Disable MULTIARCH for inplace builds.

Fix work-directory checks.

Add USE_MULTIARCH+=bin to lang/perl5

This is very ugly, but necessary for now.

Move definition of _MULTIARCH into bsd.prefs.mk

It can now be used by makevars.

Some multiarch improvements:

 - Create per-ABI makevars files, required by perl.

 - Use _MULTIARCH consistently.

 - Standardise MULTIARCH sections.

Support multiarch perl modules by default.

Initial conversion of graphics/graphviz to multiarch.

Doesn't actually work yet..

Convert lang/lua to multiarch.

Move options to after USE_* logic.

Enable USE_MULTIARCH=lib only on per-module basis.

Convert security/p5-Crypt-Eksblowfish to multiarch.

Convert security/p5-Crypt-OpenSSL-Bignum to multiarch.

Convert security/p5-Crypt-OpenSSL-RSA to multiarch.

Convert security/p5-Crypt-OpenSSL-Random to multiarch.

Convert devel/p5-Curses to multiarch.

Convert databases/p5-DB_File to multiarch.

Convert misc/p5-Locale-libintl to multiarch.

Convert net/p5-Net-LibIDN to multiarch.

Convert devel/p5-Params-Classify to multiarch.

Convert net/p5-Socket6 to multiarch.

Convert devel/p5-gettext to multiarch.

Convert x11/libxkbfile to multiarch.

Convert x11/libxkbui to multiarch.

Fix gcc runtime path in multiarch case.

The default is to use MACHINE_GNU_ARCH, however when running with
multiarch this will change depending upon ABI, and we can no longer find
the runtime libraries.

'startperl' requires a hashbang, fixes pod2man etc.

Convert graphics/lcms2 to multiarch.

Revert location of _MULTIARCH setup.

Doing it in bsd.prefs.mk isn't going to work, as there are too many
packages which include it before being able to set USE_MULTIARCH.

bsd.makevars.mk is, I think, the only place where it might be loaded
too early, so just test against MULTIARCH there.

Fix multiarch library paths.

Convert security/p5-GSSAPI to multiarch.

Fix the non-multiarch case.

Must yesno compare MULTIARCH, it's always defined.

Retire diff from upstream to remove makeinfo.

We will fix this differently by using an external gtexinfo when building
gcc.

Fix dependencies for USE_PKGSRC_GCC_RUNTIME.

We need to explicitly depend upon gcc47-libs only, to avoid gcc47 being
pulled in if available, when using USE_PKGSRC_GCC_RUNTIME as the RPATH
will depend upon the gcc47-libs layout.  Plus gcc47 is way too big! :)

Fix GCC_TARGET_MACHINE.

Rather than override it in the buildlink3.mk (which was incomplete
anyway), do it in gcc.mk based upon running multiarch.  Cleaner patch
and should hopefully actually work too.

Convert x11/libdrm to multiarch.

Update multiarch for recent version bump.

Convert sysutils/libpciaccess to multiarch.

Convert x11/damageproto to multiarch.

Convert x11/libXdamage to multiarch.

Expand @PREFIX@ correctly.

Expand LIBARCHSUFFIX.

Fix merge botch.

Fix merge botch.

Apply some multiarch fixes for perl.

Ensure the correct library paths are used.

Fix PATH environment for multiarch.

We should not use the direct path to BINARCHSUFFIX as we want to rely on
ABI picking the correct binary for the build, and also doing this caused
failures with binaries which weren't multiarched when LOCALBASE/bin
was not in PATH by default.

Expand LIBARCHSUFFIX correctly.

Convert textproc/py-libxml2 to multiarch.

Convert textproc/gnome-doc-utils to multiarch.

Manually define PLIST entries to fix perl bits.

Convert textproc/p5-XML-LibXML to multiarch.

Add ABI to configure environment.

Convert math/blas to multiarch.

Convert math/lapack to multiarch.

Forgot to commit this with math/blas conversion.

Convert multimedia/gstreamer0.10 to multiarch.

Convert textproc/xerces-c to multiarch.

Convert math/p5-Math-BigInt-GMP to multiarch.

Convert databases/p5-DBI to multiarch.

Convert net/gupnp to multiarch.

Convert net/gupnp-igd to multiarch.

Convert www/fcgi to multiarch.

Convert mail/libspf2 to multiarch.

Convert graphics/ImageMagick to multiarch.

Convert chat/gloox to multiarch.

Convert x11/videoproto to multiarch.

Convert databases/rrdtool to multiarch.

Convert textproc/p5-XML-LibXSLT to multiarch.

Convert databases/p5-DBD-SQLite2 to multiarch.

Convert databases/p5-DBD-SQLite to multiarch.

Convert databases/p5-DBD-postgresql to multiarch.

Convert net/gssdp to multiarch.

Convert net/libsoup24 to multiarch.

Convert net/glib-networking to multiarch.

Convert devel/py-gobject to multiarch.

Convert multimedia/gst-plugins to multiarch.

Convert www/libproxy to multiarch.

Convert graphics/py-cairo to multiarch.

Perform SPECIAL_PERMS on the correct files.

Manually define LIBARCHSUFFIX PLIST entries.

Convert time/p5-Time-HiRes to multiarch.

Enable p5-* multiarch based on USE_LANGUAGES.

This will hopefully end up easier than maintaining USE_MULTIARCH entries
in lots of packages, and any packages which do not yet have
USE_LANGUAGES set correctly can be added and upstreamed to avoid extra
diffs.

Detect USE_LANGUAGES after including bsd.prefs.mk

Need to include compiler.mk to check USE_LANGUAGES.

Convert math/pari to multiarch.

Convert databases/mysql51-* to multiarch.

This likely won't work, but gets us started.

Fix math/pari multiarch conversion.

Convert devel/libglade to multiarch.

Provide correct path to libmysql for multiarch.

Convert net/libnice to multiarch.

Convert security/clamav to multiarch.

Set LIBPOSTFIX to look for multiarch libraries.

Fix LOCALBASE=/usr/local handling.

Support MULTIARCH checks.

Hack to support multiarch perllocal.pod files.

Hack to skip over multiarch perllocal.pod files.

Convert security/libssh2 to multiarch.

Convert security/cyrus-sasl to multiarch.

Convert devel/ldapsdk to multiarch.

Convert databases/openldap to multiarch.

Fix textproc/libxml2 merge botch.

Update lang/perl5 PLIST.

Fix merge botch in devel/glib2

Convert fonts/harfbuzz to multiarch.

Fix merge botch for x11/tk

Convert security/tcp_wrappers to multiarch.

Fix merge botch in devel/gobject-introspection.

This package needs USE_MULTIARCH=bin.

Fix multiarch interpreter check.

Convert graphics/cairo-gobject to multiarch.

Convert x11/dri2proto to multiarch.

Convert x11/glproto to multiarch.

Convert x11/xf86driproto to multiarch.

Explicitly enable multiarch for net/net-snmp.

Fix multiarch module handling for lang/perl5.

Packages which include this fragment for bundling a perl module should
set their own USE_MULTIARCH so that the default MULTIARCH_DIRS values
are used.

Add support for MULTIARCH_SKIP_DIRS.{bin,lib}.

The primary use-case for these is perl, where the multiarch
directories are under PERL5_INSTALLVENDORARCH rather than "lib".

To handle packages which build both shared libraries and perl
modules, for example net/net-snmp, we need to ensure that "lib" is
correctly expanded, while "lib/perl5" is left alone, and in this
case we can add "lib/perl5" to MULTIARCH_SKIP_DIRS.lib.

Use MULTIARCH_SKIP_DIRS.lib support in lang/perl5.

Remove multiarch from net/net-snmp, it is enabled via lang/perl5.

Convert lang/python26 to multiarch.

Convert lang/python31 to multiarch.

Fix lang/python31 multiarch conversion.

Forgot to update distinfo for lang/python31.

Convert lang/python32 to multiarch.

Convert lang/python33 to multiarch.

Convert devel/poco to multiarch.

Convert net/GeoIP to multiarch.

Convert multimedia/libass to multiarch.

Convert net/bind99 to multiarch.

Convert audio/libcddb to multiarch.

Convert devel/libcfg+ to multiarch.

Convert sysutils/consolekit to multiarch.

Convert devel/confuse to multiarch.

Convert multimedia/libdvdplay to multiarch.

Convert textproc/enca to multiarch.

Convert textproc/hyperestraier to multiarch.

Convert sysutils/eventlog to multiarch.

Convert audio/faad2 to multiarch.

Convert math/fftw to multiarch.

Convert converters/fribidi to multiarch.

Convert devel/GConf to multiarch.

Convert databases/gdbm to multiarch.

Convert graphics/gdchart to multiarch.

Convert sysutils/hal to multiarch.

Convert textproc/icu to multiarch.

Convert textproc/json-c to multiarch.

Convert security/mhash to multiarch.

Convert multimedia/ming to multiarch.

Convert audio/lame to multiarch.

Convert audio/libmpcdec to multiarch.

Convert multimedia/libmpeg2 to multiarch.

Convert databases/unixodbc to multiarch.

Convert devel/liboil to multiarch.

Convert sysutils/libol to multiarch.

Convert devel/orc to multiarch.

Convert security/policykit to multiarch.

Convert geography/proj to multiarch.

Convert audio/pulseaudio to multiarch.

Convert chat/libpurple to multiarch.

Convert audio/libsamplerate to multiarch.

Convert lang/see to multiarch.

Convert devel/libslang to multiarch.

Convert devel/libsmi to multiarch.

Convert audio/libsndfile to multiarch.

Convert databases/sqlite to multiarch.

Convert fonts/t1lib to multiarch.

Convert audio/taglib to multiarch.

Convert multimedia/libtheora to multiarch.

Convert www/tidy to multiarch.

Convert databases/tokyocabinet to multiarch.

Convert databases/tokyotyrant to multiarch.

Convert multimedia/libvpx to multiarch.

Convert graphics/libwebp to multiarch.

Convert net/wireshark to multiarch.

Convert x11/wxGTK28 to multiarch.

Convert multimedia/x264-devel to multiarch.

Convert multimedia/xvidcore to multiarch.

Multiarch fix for textproc/enca

Multiarch fix for multimedia/x264-devel

Multiarch fixes for devel/poco

Multiarch fix for multimedia/libvpx

Multiarch fix for sysutils/consolekit
Convert databases/poco-data to multiarch.
Multiarch fix for geography/proj
Multiarch fixes for audio/taglib
Convert devel/libebml to multiarch.
Multiarch fixes for x11/tk
Convert devel/snappy to multiarch.
Convert databases/poco-data-sqlite to multiarch.
Convert audio/id3lib to multiarch.
Convert misc/libcdio to multiarch.
Convert multimedia/libmatroska to multiarch.
Convert graphics/giflib to multiarch.
Multiarch fix for lang/perl5
Multiarch fix for www/apache2{2,4}.

The suexec link was being modified instead of the real binary, causing
isaexec to become broken.
Convert www/p5-libapreq2 to multiarch.
Pull in trunk version of databases/sqlite.

These changes are required for correct multiarch support.
Convert devel/apr0 to multiarch
Convert multimedia/libdvbpsi to multiarch
Convert mail/gmime to multiarch.
Convert security/libmcrypt to multiarch.